Repository: ranjithprabhuk/Angular-Bootstrap-Dashboard Branch: master Commit: b375f290a6fd Files: 64 Total size: 807.8 KB Directory structure: gitextract_8vakf7bq/ ├── .gitattributes ├── .gitignore ├── README.md ├── app/ │ ├── app.js │ ├── common/ │ │ ├── app.html │ │ ├── appCtrl.js │ │ └── config.js │ ├── factory/ │ │ └── apiCall.js │ ├── modules/ │ │ ├── dashboard/ │ │ │ ├── controllers/ │ │ │ │ ├── about.js │ │ │ │ ├── achievements.js │ │ │ │ ├── contact.js │ │ │ │ ├── education.js │ │ │ │ ├── experience.js │ │ │ │ ├── gallery.js │ │ │ │ ├── home.js │ │ │ │ ├── portfolio.js │ │ │ │ ├── recent.js │ │ │ │ ├── skills.js │ │ │ │ └── websites.js │ │ │ ├── dashboardApplication.js │ │ │ ├── dashboardService.js │ │ │ ├── index.html │ │ │ └── views/ │ │ │ ├── about.html │ │ │ ├── achievements.html │ │ │ ├── contact.html │ │ │ ├── contact.php │ │ │ ├── education.html │ │ │ ├── experience.html │ │ │ ├── gallery.html │ │ │ ├── home.html │ │ │ ├── portfolio.html │ │ │ ├── recent.html │ │ │ ├── search.html │ │ │ ├── skills.html │ │ │ └── websites.html │ │ └── login/ │ │ ├── index.html │ │ ├── loginCtrl.js │ │ ├── loginMgmt.js │ │ └── loginService.js │ └── services/ │ └── apiService.js ├── contact.php ├── css/ │ ├── _all-skins.css │ ├── bootstrap.css │ ├── dashboard.css │ ├── flexslider.css │ ├── site.css │ ├── style.css │ └── themes.css ├── fonts/ │ ├── FontAwesome.otf │ └── glyphicons-halflings-regular.otf ├── index.html ├── js/ │ ├── angular-flash.js │ ├── angular-resource.js │ ├── angular-sanitize.js │ ├── angular-translate-loader-partial.js │ └── angular-ui-router-min.js └── plugins/ ├── bootstrap-slider/ │ ├── bootstrap-slider.js │ └── slider.css ├── jquery.flexisel.js ├── knob/ │ └── jquery.knob.js └── owl-carousel/ ├── owl.carousel.css ├── owl.carousel.js ├── owl.theme.css └── owl.transitions.css ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitattributes ================================================ # Auto detect text files and perform LF normalization * text=auto # Custom for Visual Studio *.cs diff=csharp # Standard to msysgit *.doc diff=astextplain *.DOC diff=astextplain *.docx diff=astextplain *.DOCX diff=astextplain *.dot diff=astextplain *.DOT diff=astextplain *.pdf diff=astextplain *.PDF diff=astextplain *.rtf diff=astextplain *.RTF diff=astextplain ================================================ FILE: .gitignore ================================================ # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *.msp # Windows shortcuts *.lnk # ========================= # Operating System Files # ========================= # OSX # ========================= .DS_Store .AppleDouble .LSOverride # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk ================================================ FILE: README.md ================================================ # Angular Bootstrap Dashboard Angular Bootstrap Dashboard is a web dashboard application based on Bootstrap and AngularJS. All components included in this dashboard template has been developed to bring all the potential of HTML5 and Bootstrap plus a set of new features (JS and CSS) ideal for your next dashboard admin theme or admin web app project. Angular Bootstrap Dashboard can be used in any type of web applications dashboard. Angular Bootstrap Dashboard uses ui-router for routing purposes. ## Get The Dashboard * [Demo] (http://dashboard.ranjithprabhu.in) * [Download Source] (https://github.com/ranjithprabhuk/Angular-Bootstrap-Dashboard/archive/master.zip) * Username: admin * Password: admin ## Features * Multiple Themes * Multiple Layouts * Works in All Modern Browsers ## Plugins used * jQuery * jQuery Knob * Chart.js * Owl Carousel ## Usage * Download and customize the application as per your requirements. ## About Author * [Author URL] (http://ranjithprabhu.in) I am passionate in playing with pixels, creating attractive designs which interact well with the user and love developing web apps. Have a good background in web design and development. Also having wonderful working experience with various interesting projects and participated in the development of the products to provide end to end solutions. ## License Released under the MIT license. ================================================ FILE: app/app.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 24 Dec 2015 Description : main application base Change Log s.no date author description ===========================================================*/ var app = angular.module('app', ['ui.router', 'ui.bootstrap', 'flash', //main modules 'login', 'dashboard']); app.config(['$stateProvider', '$locationProvider', '$urlRouterProvider', function ($stateProvider, $locationProvider, $urlRouterProvider, $modalInstance) { //IdleScreenList $stateProvider .state('app', { url: '/app', templateUrl: 'app/common/app.html', controller: 'appCtrl', controllerAs: 'vm', data: { pageTitle: 'Login' } }); $urlRouterProvider.otherwise('login'); //$urlRouterProvider.otherwise('app/dashboard'); //$urlRouterProvider.otherwise('/app/dashboard'); }]); // set global configuration of application and it can be accessed by injecting appSettings in any modules app.constant('appSettings', appConfig); ================================================ FILE: app/common/app.html ================================================ 
================================================ FILE: app/common/appCtrl.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 24 Dec 2015 Description : Controller to handle main application Change Log s.no date author description ===========================================================*/ app.controller("appCtrl", ['$rootScope', '$scope', '$state', '$location', 'Flash','appSettings', function ($rootScope, $scope, $state, $location, Flash,appSettings) { $rootScope.theme = appSettings.theme; $rootScope.layout = appSettings.layout; var vm = this; //avalilable themes vm.themes = [ { theme: "black", color: "skin-black", title: "Dark - Black Skin", icon:"" }, { theme: "black", color: "skin-black-light", title: "Light - Black Skin", icon:"-o" }, { theme: "blue", color: "skin-blue", title: "Dark - Blue Skin", icon:"" }, { theme: "blue", color: "skin-blue-light", title: "Light - Blue Skin", icon:"-o" }, { theme: "green", color: "skin-green", title: "Dark - Green Skin", icon:"" }, { theme: "green", color: "skin-green-light", title: "Light - Green Skin", icon:"-o" }, { theme: "yellow", color: "skin-yellow", title: "Dark - Yellow Skin", icon:"" }, { theme: "yellow", color: "skin-yellow-light", title: "Light - Yellow Skin", icon:"-o" }, { theme: "red", color: "skin-red", title: "Dark - Red Skin", icon: "" }, { theme: "red", color: "skin-red-light", title: "Light - Red Skin", icon: "-o" }, { theme: "purple", color: "skin-purple", title: "Dark - Purple Skin", icon: "" }, { theme: "purple", color: "skin-purple-light", title: "Light - Purple Skin", icon: "-o" }, ]; //available layouts vm.layouts = [ { name: "Boxed", layout: "layout-boxed" }, { name: "Fixed", layout: "fixed" }, { name: "Sidebar Collapse", layout: "sidebar-collapse" }, ]; //Main menu items of the dashboard vm.menuItems = [ { title: "Dashboard", icon: "dashboard", state: "dashboard" }, { title: "Skills", icon: "gears", state: "skills" }, { title: "Education", icon: "graduation-cap", state: "education" }, { title: "Experience", icon: "suitcase", state: "experience" }, { title: "Recent Projects", icon: "file-code-o", state: "recent" }, { title: "Websites", icon: "globe", state: "websites" }, { title: "Portfolio", icon: "anchor", state: "portfolio" }, { title: "About Me", icon: "user-secret", state: "about" }, { title: "Contact", icon: "phone", state: "contact" } ]; //set the theme selected vm.setTheme = function (value) { $rootScope.theme = value; }; //set the Layout in normal view vm.setLayout = function (value) { $rootScope.layout = value; }; //controll sidebar open & close in mobile and normal view vm.sideBar = function (value) { if($(window).width()<=767){ if ($("body").hasClass('sidebar-open')) $("body").removeClass('sidebar-open'); else $("body").addClass('sidebar-open'); } else { if(value==1){ if ($("body").hasClass('sidebar-collapse')) $("body").removeClass('sidebar-collapse'); else $("body").addClass('sidebar-collapse'); } } }; //navigate to search page vm.search = function () { $state.go('app.search'); }; console.log('getting in to the app controller'); }]); ================================================ FILE: app/common/config.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 24 Dec 2015 Description : Global configuration defined here Change Log s.no date author description ===========================================================*/ var appConfig = { title: "Corporate Directory", lang: "en", dateFormat: "mm/dd/yy", apiBase: 'http://192.168.168.213:3000/api/', theme: 'skin-purple', layout:"" }; ================================================ FILE: app/factory/apiCall.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 27 Dec 2015 Description : This service is to communicate with server for CRUD Operaions Change Log s.no date author description ===========================================================*/ app.service('apiService', ['$http', '$q', 'appSettings', function ($http, $q, appSettings) { var apiService = {}; var apiBase = appSettings.apiBase; //===========================GET RESOURCE============================== var get = function (module, parameter) { var deferred = $q.defer(); $http.get(apiBase + module, { params: parameter }, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; //===========================CREATE RESOURCE============================== var create = function (module, parameter) { console.log("hitting Service============="); var deferred = $q.defer(); $http.post(apiBase + module, parameter, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; //===========================UPDATE RESOURCE============================== var update = function (module, parameter) { console.log("hitting Service============="); var deferred = $q.defer(); $http.post(apiBase + module + '/' + parameter.id, parameter, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; //===========================DELETE RESOURCE============================== var delet = function (module, parameter) { console.log("hitting Service============="); var deferred = $q.defer(); $http.post(apiBase + module + '/' + parameter.id, parameter, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; apiService.get = get; apiService.create = create; apiService.update = update; apiService.delet = delet; return apiService; }]); ================================================ FILE: app/modules/dashboard/controllers/about.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle About page Change Log s.no date author description ===========================================================*/ dashboard.controller("AboutController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; console.log("coming to About controller"); }]); ================================================ FILE: app/modules/dashboard/controllers/achievements.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Achievement page Change Log s.no date author description ===========================================================*/ dashboard.controller("AchievementController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; console.log("coming to Achievement controller"); }]); ================================================ FILE: app/modules/dashboard/controllers/contact.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Contact page Change Log s.no date author description ===========================================================*/ dashboard.controller("ContactController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', '$http', function ($rootScope, $scope, $state, $location, dashboardService, Flash, $http) { var vm = this; vm.message = {}; vm.submitForm = function () { console.log(vm.message); var request = $http({ method: "post", url: "contact.php", data: vm.message, headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }); /* Check whether the HTTP Request is successful or not. */ request.success(function (data) { console.log(data); if (data == "success") { Flash.create('success', 'Message Sent Succesfully', 'large-text'); vm.message = {}; vm.contactForm.$pristine(); vm.contactForm.$setUntouched(); } }); }; console.log("coming to Contact controller"); }]); ================================================ FILE: app/modules/dashboard/controllers/education.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Education page Change Log s.no date author description ===========================================================*/ dashboard.controller("EducationController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; vm.meMarks = false; vm.mscMarks = false; vm.hscMarks = false; vm.sslcMarks = false; vm.education = [ { course: "M.E", year:"2013 - 2015", title: "Computer Science & Engineering", institution: "PPG Institute of Technology, Coimbatore", board:"Anna University, Chennai", theme: "info", icon: "graduation‐cap ", mark: 8.2, max: 10 }, { course: "M.Sc", year: "2008 - 2013", title: "Software Systems", institution: "Kovai Kalaimagal College of Arts & Science, Coimbatore", board: "Bharathiar University, Coimbatore", theme: "warning", icon: "graduation‐cap ", mark: 8.3, max: 10 }, { course: "HSC", year: "2006 - 2008", title: "+2", institution: "S.N. Matric. Higher Sec. School, Coimbatore", board: "Stateboard", theme: "danger", icon: "pencil", mark: 62.7, max: 100 }, { course: "SSLC", year: "1996 - 2006", title: "10th", institution: "Govt. Higher Sec School, Coimbatore", board: "Stateboard", theme: "success", icon: "pencil", mark: 84.2, max: 100 } ]; vm.lineChartOptions = { scaleShowGridLines: !0, scaleGridLineColor: "rgba(0,0,0,.05)", scaleGridLineWidth: 1, scaleShowHorizontalLines: !0, scaleShowVerticalLines: !0, bezierCurve: !0, bezierCurveTension: .4, pointDot: !0, pointDotRadius: 4, pointDotStrokeWidth: 1, pointHitDetectionRadius: 20, datasetStroke: !0, datasetStrokeWidth: 2, datasetFill: !1, legendTemplate: '' }; vm.pieChartOptions = { segmentShowStroke: !0, segmentStrokeColor: "#fff", segmentStrokeWidth: 2, percentageInnerCutout: 50, animationSteps: 100, animationEasing: "easeOutBounce", animateRotate: !0, animateScale: !1, responsive: !0, maintainAspectRatio: !0, legendTemplate: '' }; vm.barChartOptions = { scaleBeginAtZero: !0, scaleShowGridLines: !0, scaleGridLineColor: "rgba(0,0,0,.05)", scaleGridLineWidth: 1, scaleShowHorizontalLines: !0, scaleShowVerticalLines: !0, barShowStroke: !0, barStrokeWidth: 2, barValueSpacing: 5, barDatasetSpacing: 1, legendTemplate: '', responsive: !0, maintainAspectRatio: !0 }; vm.areaChartOptions = { showScale: !0, scaleShowGridLines: !1, scaleGridLineColor: "rgba(0,0,0,.05)", scaleGridLineWidth: 1, scaleShowHorizontalLines: !0, scaleShowVerticalLines: !0, bezierCurve: !0, bezierCurveTension: .3, pointDot: !1, pointDotRadius: 4, pointDotStrokeWidth: 1, pointHitDetectionRadius: 20, datasetStroke: !0, datasetStrokeWidth: 2, datasetFill: !0, legendTemplate: '', maintainAspectRatio: !0, responsive: !0 }; vm.polarChartOptions = { scaleShowLabelBackdrop: !0, scaleBackdropColor: "rgba(255,255,255,0.75)", scaleBeginAtZero: !0, scaleBackdropPaddingY: 2, scaleBackdropPaddingX: 2, scaleShowLine: !0, segmentShowStroke: !0, segmentStrokeColor: "#fff", segmentStrokeWidth: 2, animationSteps: 100, animationEasing: "easeOutBounce", animateRotate: !0, animateScale: !1, legendTemplate: '' }; vm.radarChartOptions = { scaleShowLine: !0, angleShowLineOut: !0, scaleShowLabels: !1, scaleBeginAtZero: !0, angleLineColor: "rgba(0,0,0,.1)", angleLineWidth: 1, pointLabelFontFamily: "'Arial'", pointLabelFontStyle: "normal", pointLabelFontSize: 10, pointLabelFontColor: "#666", pointDot: !0, pointDotRadius: 3, pointDotStrokeWidth: 1, pointHitDetectionRadius: 20, datasetStroke: !0, datasetStrokeWidth: 2, datasetFill: !0, legendTemplate: '' }; var me = document.getElementById("meChart").getContext("2d"); var msc = document.getElementById("mscChart").getContext("2d"); var hsc = document.getElementById("hscChart").getContext("2d"); var sslc = document.getElementById("sslcChart").getContext("2d"); vm.meData = { labels: ["Sem 1", "Sem 2", "Sem 3", "Sem 4"], datasets: [ { label: "My ME Semester Marks", fillColor: "rgba(0,192,239,0.2)", strokeColor: "rgba(0,192,239,1)", pointColor: "rgba(0,151,188,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(220,220,220,1)", data: [7.5,8.4,7.6,10.0] } ] }; vm.mscData = { labels: ["Sem 1 & 2", "Sem 3", "Sem 4","Sem 5","Sem 6","Sem 7","Sem 8","Sem 9","Sem 10"], datasets: [ { label: "My MSC Semester Marks", fillColor: "rgba(243,156,18,0.2)", strokeColor: "rgba(243,156,18,1)", pointColor: "rgba(200,127,10,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(220,220,220,1)", data: [7.7, 7.8, 8.5, 8.1,8.1,10.0,7.8,8.3,10.0] } ] }; vm.hscData = { labels: ["Tamil", "English", "Maths", "Physics", "Chemistry", "Computer Science"], datasets: [ { label: "My HSC Marks", fillColor: "rgba(0,166,90,0.2)", strokeColor: "rgba(0,166,90,1)", pointColor: "rgba(0,115,62,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(220,220,220,1)", data: [157,140,114,091,137,114] } ] }; vm.sslcData = [ { value: 86, color: "#F7464A", highlight: "#FF5A5E", label: "Tamil" }, { value: 81, color: "#46BFBD", highlight: "#5AD3D1", label: "English" }, { value: 97, color: "#FDB45C", highlight: "#FFC870", label: "Maths" }, { value: 71, color: "#949FB1", highlight: "#A8B3C5", label: "Science" }, { value: 86, color: "#4D5360", highlight: "#616774", label: "Social Science" } ]; var meChart = new Chart(me).Line(vm.meData, vm.lineChartOptions); var mscChart = new Chart(msc).Bar(vm.mscData, vm.barChartOptions); var hscChart = new Chart(hsc).Radar(vm.hscData, vm.radarChartOptions); var sslcChart = new Chart(sslc).PolarArea(vm.sslcData, vm.polarChartOptions); //ME Chart vm.meAreaChart = function () { var meChart = new Chart(me).Line(vm.meData, vm.areaChartOptions); }; vm.meLineChart = function () { var meChart = new Chart(me).Line(vm.meData, vm.lineChartOptions); }; vm.meBarChart = function () { var meChart = new Chart(me).Bar(vm.meData, vm.barChartOptions); }; //MSC Chart vm.mscAreaChart = function () { var mscChart = new Chart(msc).Line(vm.mscData, vm.areaChartOptions); }; vm.mscLineChart = function () { var mscChart = new Chart(msc).Line(vm.mscData, vm.lineChartOptions); }; vm.mscBarChart = function () { var mscChart = new Chart(msc).Bar(vm.mscData, vm.barChartOptions); }; //HSC Chart vm.hscRadarChart = function () { var hscChart = new Chart(hsc).Radar(vm.hscData, vm.radarChartOptions); }; vm.hscBarChart = function () { var hscChart = new Chart(hsc).Bar(vm.hscData, vm.barChartOptions); }; //SSLC Chart vm.sslcPieChart = function () { var sslcChart = new Chart(sslc).PolarArea(vm.sslcData, vm.polarChartOptions); }; vm.sslcDoughNutChart = function () { var sslcChart = new Chart(sslc).Pie(vm.sslcData, vm.polarChartOptions); }; vm.sslcPolarChart = function () { var sslcChart = new Chart(sslc).Doughnut(vm.sslcData, vm.pieChartOptions); }; }]); ================================================ FILE: app/modules/dashboard/controllers/experience.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Experience page Change Log s.no date author description ===========================================================*/ dashboard.controller("ExperienceController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; console.log("coming to Experience controller"); }]); ================================================ FILE: app/modules/dashboard/controllers/gallery.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Gallery page Change Log s.no date author description ===========================================================*/ dashboard.controller("GalleryController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; console.log("coming to Gallery controller"); $(function () { /* ChartJS * ------- * Here we will create a few charts using ChartJS */ //-------------- //- AREA CHART - //-------------- // Get context with jQuery - using jQuery's .get() method. var areaChartCanvas = $("#areaChart").get(0).getContext("2d"); // This will get the first returned node in the jQuery collection. var areaChart = new Chart(areaChartCanvas); var areaChartData = { labels: ["January", "February", "March", "April", "May", "June", "July"], datasets: [ { label: "Electronics", fillColor: "rgba(210, 214, 222, 1)", strokeColor: "rgba(210, 214, 222, 1)", pointColor: "rgba(210, 214, 222, 1)", pointStrokeColor: "#c1c7d1", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(220,220,220,1)", data: [65, 59, 80, 81, 56, 55, 40] }, { label: "Digital Goods", fillColor: "rgba(60,141,188,0.9)", strokeColor: "rgba(60,141,188,0.8)", pointColor: "#3b8bba", pointStrokeColor: "rgba(60,141,188,1)", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(60,141,188,1)", data: [28, 48, 40, 19, 86, 27, 90] } ] }; var areaChartOptions = { //Boolean - If we should show the scale at all showScale: true, //Boolean - Whether grid lines are shown across the chart scaleShowGridLines: false, //String - Colour of the grid lines scaleGridLineColor: "rgba(0,0,0,.05)", //Number - Width of the grid lines scaleGridLineWidth: 1, //Boolean - Whether to show horizontal lines (except X axis) scaleShowHorizontalLines: true, //Boolean - Whether to show vertical lines (except Y axis) scaleShowVerticalLines: true, //Boolean - Whether the line is curved between points bezierCurve: true, //Number - Tension of the bezier curve between points bezierCurveTension: 0.3, //Boolean - Whether to show a dot for each point pointDot: false, //Number - Radius of each point dot in pixels pointDotRadius: 4, //Number - Pixel width of point dot stroke pointDotStrokeWidth: 1, //Number - amount extra to add to the radius to cater for hit detection outside the drawn point pointHitDetectionRadius: 20, //Boolean - Whether to show a stroke for datasets datasetStroke: true, //Number - Pixel width of dataset stroke datasetStrokeWidth: 2, //Boolean - Whether to fill the dataset with a color datasetFill: true, //String - A legend template legendTemplate: "", //Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container maintainAspectRatio: true, //Boolean - whether to make the chart responsive to window resizing responsive: true }; //Create the line chart areaChart.Line(areaChartData, areaChartOptions); //------------- //- LINE CHART - //-------------- var lineChartCanvas = $("#lineChart").get(0).getContext("2d"); var lineChart = new Chart(lineChartCanvas); var lineChartOptions = areaChartOptions; lineChartOptions.datasetFill = false; lineChart.Line(areaChartData, lineChartOptions); //------------- //- PIE CHART - //------------- // Get context with jQuery - using jQuery's .get() method. var pieChartCanvas = $("#pieChart").get(0).getContext("2d"); var pieChart = new Chart(pieChartCanvas); var PieData = [ { value: 700, color: "#f56954", highlight: "#f56954", label: "Chrome" }, { value: 500, color: "#00a65a", highlight: "#00a65a", label: "IE" }, { value: 400, color: "#f39c12", highlight: "#f39c12", label: "FireFox" }, { value: 600, color: "#00c0ef", highlight: "#00c0ef", label: "Safari" }, { value: 300, color: "#3c8dbc", highlight: "#3c8dbc", label: "Opera" }, { value: 100, color: "#d2d6de", highlight: "#d2d6de", label: "Navigator" } ]; var pieOptions = { //Boolean - Whether we should show a stroke on each segment segmentShowStroke: true, //String - The colour of each segment stroke segmentStrokeColor: "#fff", //Number - The width of each segment stroke segmentStrokeWidth: 2, //Number - The percentage of the chart that we cut out of the middle percentageInnerCutout: 50, // This is 0 for Pie charts //Number - Amount of animation steps animationSteps: 100, //String - Animation easing effect animationEasing: "easeOutBounce", //Boolean - Whether we animate the rotation of the Doughnut animateRotate: true, //Boolean - Whether we animate scaling the Doughnut from the centre animateScale: false, //Boolean - whether to make the chart responsive to window resizing responsive: true, // Boolean - whether to maintain the starting aspect ratio or not when responsive, if set to false, will take up entire container maintainAspectRatio: true, //String - A legend template legendTemplate: "" }; //Create pie or douhnut chart // You can switch between pie and douhnut using the method below. pieChart.Doughnut(PieData, pieOptions); //------------- //- BAR CHART - //------------- var barChartCanvas = $("#barChart").get(0).getContext("2d"); var barChart = new Chart(barChartCanvas); var barChartData = areaChartData; barChartData.datasets[1].fillColor = "#00a65a"; barChartData.datasets[1].strokeColor = "#00a65a"; barChartData.datasets[1].pointColor = "#00a65a"; var barChartOptions = { //Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value scaleBeginAtZero: true, //Boolean - Whether grid lines are shown across the chart scaleShowGridLines: true, //String - Colour of the grid lines scaleGridLineColor: "rgba(0,0,0,.05)", //Number - Width of the grid lines scaleGridLineWidth: 1, //Boolean - Whether to show horizontal lines (except X axis) scaleShowHorizontalLines: true, //Boolean - Whether to show vertical lines (except Y axis) scaleShowVerticalLines: true, //Boolean - If there is a stroke on each bar barShowStroke: true, //Number - Pixel width of the bar stroke barStrokeWidth: 2, //Number - Spacing between each of the X value sets barValueSpacing: 5, //Number - Spacing between data sets within X values barDatasetSpacing: 1, //String - A legend template legendTemplate: "", //Boolean - whether to make the chart responsive responsive: true, maintainAspectRatio: true }; barChartOptions.datasetFill = false; barChart.Bar(barChartData, barChartOptions); }); }]); ================================================ FILE: app/modules/dashboard/controllers/home.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Home page Change Log s.no date author description ===========================================================*/ dashboard.controller("HomeController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; vm.showDetails = true; vm.home = {}; vm.home.mainData = [ { title: "Projects", value: "30+", theme: "aqua", icon: "puzzle-piece" }, { title: "Designs", value: "250+", theme: "red", icon: "paint-brush" }, { title: "Awards", value: "50+", theme: "green", icon: "trophy" }, { title: "Cups of Beer", value: "0", theme: "yellow", icon: "glass" }, ]; //skills progress bar vm.home.skills = [ { title: "Design & Development", theme: "aqua", percentage:80 }, { title: "Communication", theme: "red", percentage: 83 }, { title: "Planning & Progressing", theme: "green", percentage: 75 }, { title: "Problem Solving & Decision Making", theme: "yellow", percentage: 85 }, { title: "Loyal & Dedication", theme: "aqua", percentage: 100 }, { title: "Fun & Friendly", theme: "green", percentage: 95 }, { title: "Lazy & Sleepy", theme: "red", percentage: 40 } ]; vm.home.tools = [ { Software: "Mongo DB", Percentage: "80", theme: "yellow", image: "mongodb" }, { Software: "Express JS", Percentage: "75", theme: "aqua", image: "express", progressbar: "blue" }, { Software: "Angular JS", Percentage: "85", theme: "green", image: "angular", progressbar: "blue" }, { Software: "Node JS", Percentage: "83", theme: "lime", image: "node", progressbar: "blue" }, { Software: "Javascript", Percentage: "80", theme: "maroon", image: "javascript", progressbar: "blue" }, { Software: "Type Script", Percentage: "70", theme: "Gray", image: "typescript", progressbar: "blue" }, { Software: "jQuery & AJAX", Percentage: "80", theme: "yellow", image: "jquery", progressbar: "blue" }, { Software: "Joomla", Percentage: "85", theme: "red", image: "joomla", progressbar: "blue" }, { Software: "HTML 5", Percentage: "90", theme: "yellow", image: "html5" }, { Software: "CSS 3", Percentage: "83", theme: "aqua", image: "css3", progressbar: "blue" }, { Software: "SAAS", Percentage: "72", theme: "green", image: "saas-css", progressbar: "blue" }, { Software: "Bootstrap", Percentage: "85", theme: "lime", image: "bootstrap", progressbar: "blue" }, { Software: "Photo Shop", Percentage: "90", theme: "maroon", image: "photoshop", progressbar: "blue" }, { Software: "Corel Draw", Percentage: "95", theme: "Gray", image: "coreldraw", progressbar: "blue" }, { Software: "Flash", Percentage: "65", theme: "yellow", image: "flash", progressbar: "blue" } ]; //Tools I use Carousel $("#owl-demo").owlCarousel({ items: 8, //10 items above 1000px browser width itemsDesktop: [1000, 5], //5 items between 1000px and 901px itemsDesktopSmall: [900, 3], // betweem 900px and 601px itemsTablet: [600, 2], //2 items between 600 and 0 itemsMobile: false, // itemsMobile disabled - inherit from itemsTablet option }); $("#owl-demo").trigger('owl.play', 2000); // Custom Navigation Events $(".next").click(function () { $("#owl-demo").trigger('owl.next'); }) $(".prev").click(function () { $("#owl-demo").trigger('owl.prev'); }) $(".play").click(function () { $("#owl-demo").trigger('owl.play', 1000); //owl.play event accept autoPlay speed as second parameter }) $(".stop").click(function () { $("#owl-demo").trigger('owl.stop'); }) //cartoon photo slider carosusel $("#owl-single").owlCarousel({ navigation: true, // Show next and prev buttons slideSpeed: 300, paginationSpeed: 400, singleItem: true, autoPlay: 5000, //Set AutoPlay to 3 seconds }); }]); ================================================ FILE: app/modules/dashboard/controllers/portfolio.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Portfolio page Change Log s.no date author description ===========================================================*/ dashboard.controller("PortfolioController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; vm.portfolioData = [ { image: "alpha-tech-logo", title: "Alpha Logo" }, { image: "zplus", title: "Z+ Plus Logo" }, { image: "thenthirupathi", title: "Thenthirupathi Logo" }, { image: "thepremierresidency", title: "The Premier Residency" }, { image: "jayam", title: "Jayam Real Estates Logo" }, { image: "icescoops", title: "Ice Scoops" }, { image: "sekarindustries", title: "Sekar Industries Logo" }, { image: "logic-softlogo", title: "Logic Soft Logo" }, { image: "evergreen", title: "Evergreen Card" }, { image: "logicsoft", title: "Logic Soft Card" }, { image: "alpha", title: "Alpha Tech Card" }, { image: "tariffcard", title: "Premier Tariff Card" }, { image: "uidesign", title: "Mobile UI Deign" }, { image: "ui-login", title: "Mobile UI Login" }, { image: "uimenu", title: "UI List Menu" }, { image: "ui-roundmenu", title: "UI Round Menu" }, { image: "map1", title: "Route Map" }, { image: "map2", title: "Route Map" } ]; console.log("coming to Portfolio controller"); }]); ================================================ FILE: app/modules/dashboard/controllers/recent.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Recent Projects page Change Log s.no date author description ===========================================================*/ dashboard.controller("RecentController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; vm.recents = [ { id: 1, heading: "e - POS", title: "Focus Point e-POS", description: "Web application to handle Point of Sale and Venue management", image: "e-pos", theme: "warning", url:"fp360.us:830", roles: [ { theme: "success", myRole:"UI Design" }, { theme: "info", myRole: "UI Development" }, { theme: "warning", myRole: "Service Integration" }, { theme: "red", myRole: "UX Consultant" } ] }, { id: 2, heading: "e - Commerce", title: "Focus Point New E- Comm", description: "E-Comm sites for various Attractions, Zoos and Amusement Parks", image: "e-comm", theme:"info", url: "fp360.us:459", roles: [ { theme: "success", myRole: "UI Design" }, { theme: "info", myRole: "UI Development" }, { theme: "warning", myRole: "Service Integration" }, { theme: "danger", myRole: "UX Consultant" }, { theme: "primary", myRole: "Version Control" } ] }, { id: 3, heading: "Dashboard", title: "Angular Bootstrap Dashboard", description: "Angular Bootstrap Dashboard is a web dashboard application based on Bootstrap and AngularJS.", image: "dashboard", theme: "success", url: "dashboard.ranjithprabhu.in", roles: [ { theme: "success", myRole: "Individually Developed by Me" } ] }, { id: 4, heading: "Reporting Tool", title: "Focus Point Advanced Reporting", description: "Web application to view all the Reports of the Sales", image: "active-reports", theme: "danger", url: "fp360.us:202", roles: [ { theme: "success", myRole: "UI Design" }, { theme: "info", myRole: "UI Development" }, { theme: "danger", myRole: "jQuery Plugin Development" } ] }, { id: 5, heading: "Kiosk", title: "Ticket Kiosk", description: "Web application developed for Ticket vending machine to use it inside the zoos", image: "kiosk", theme: "primary", url: "fp360.us:7077", roles: [ { theme: "success", myRole: "UI Design" }, { theme: "info", myRole: "UI Development" }, { theme: "warning", myRole: "Service Integration" }, { theme: "red", myRole: "UX Consultant" } ] } ]; console.log("coming to Recent controller"); }]); ================================================ FILE: app/modules/dashboard/controllers/skills.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Skills page Change Log s.no date author description ===========================================================*/ dashboard.controller("SkillController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; vm.skills = {}; //development stack vm.skills.development = [ { Software: "Mongo DB", Percentage: "80", theme: "yellow", image: "mongodb" }, { Software: "Express JS", Percentage: "75", theme: "aqua", image: "express" }, { Software: "Angular JS", Percentage: "85", theme: "green", image: "angular" }, { Software: "Node JS", Percentage: "83", theme: "purple", image: "node" }, { Software: "Javascript", Percentage: "80", theme: "maroon", image: "javascript" }, { Software: "Type Script", Percentage: "70", theme: "teal", image: "typescript" }, { Software: "jQuery & AJAX", Percentage: "80", theme: "yellow", image: "jquery" }, { Software: "Joomla", Percentage: "85", theme: "red", image: "joomla" } ]; //Design Stack vm.skills.design = [ { Software: "HTML 5", Percentage: "90", theme: "yellow", image: "html5" }, { Software: "CSS 3", Percentage: "83", theme: "aqua", image: "css3" }, { Software: "SAAS", Percentage: "72", theme: "green", image: "saas-css" }, { Software: "Bootstrap", Percentage: "85", theme: "purple", image: "bootstrap" }, { Software: "Photo Shop", Percentage: "90", theme: "maroon", image: "Photoshop" }, { Software: "Corel Draw", Percentage: "95", theme: "teal", image: "coreldraw" }, { Software: "Flash", Percentage: "65", theme: "yellow", image: "flash" } ]; //Other Stack vm.skills.others = [ { Software: "Java", Percentage: "60", theme: "aqua", image: "java", }, { Software: "SQL", Percentage: "70", theme: "purple", image: "sql" }, { Software: "Hardware", Percentage: "87", theme: "maroon", image: "hardware" }, { Software: "Cloud Computing", Percentage: "72", theme: "yellow", image: "cloud" } ]; }]); ================================================ FILE: app/modules/dashboard/controllers/websites.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 13 Jan 2016 Description : Controller to handle Websites page Change Log s.no date author description ===========================================================*/ dashboard.controller("WebsitesController", ['$rootScope', '$scope', '$state', '$location', 'dashboardService', 'Flash', function ($rootScope, $scope, $state, $location, dashboardService, Flash) { var vm = this; vm.websites = [ { title: "KMIT Solutions", image: "kmit", link:"http://kmitsoltions.com" }, { title: "Parallax Site", image: "whatsnew", link: "http://kmitsoltions.com/whatsnew" }, { title: "Palamalai Temple Site", image: "palamalai", link: "http://palamalairanganathar.org" }, { title: "Pastor Jabez Christie", image: "jabez", link: "http://pastorjabezchristie.org" }, { title: "My Personal Site", image: "ranjith", link: "http://ranjithprabhu.in" }, { title: "Jayam Real Estates", image: "jayam", link: "http://jayamrealestates.com" }, { title: "Rescue Mission", image: "rescue", link: "http://rescue.ranjithprabhu.in" }, { title: "The Chennai Opticals", image: "chennaiopticals", link: "http://thechennaiopticals.com" }, { title: "KMIT Solutions", image: "mytour", link: "http://mytour.ranjithprabhu.in" }, { title: "ME - CSE", image: "mecse", link: "http://mecse.ranjithprabhu.in" }, { title: "LogicSoft Software Solutions", image: "logicsoft", link: "http://logicsoft.net.in" }, { title: "Lord Jesus Ministries", image: "ljm", link: "http://ljm.ranjithprabhu.in" }, { title: "Karpagam University Symposium", image: "kite", link: "http://kite.ranjithprabhu.in" }, { title: "Curriculam Vitae", image: "cv", link: "http://cv.ranjithprabhu.in" }, { title: "Kode Work", image: "kodework", link: "http://mockup.ranjithprabhu.in" }, { title: "Garments Today", image: "garment", link: "http://garmenttoday.in" } ]; console.log("coming to Websites controller"); }]); ================================================ FILE: app/modules/dashboard/dashboardApplication.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 24 Dec 2015 Description : Base for Dashboard Application module Change Log s.no date author description ===========================================================*/ var dashboard = angular.module('dashboard', ['ui.router', 'ngAnimate','ngMaterial']); dashboard.config(["$stateProvider", function ($stateProvider) { //dashboard home page state $stateProvider.state('app.dashboard', { url: '/dashboard', templateUrl: 'app/modules/dashboard/views/home.html', controller: 'HomeController', controllerAs: 'vm', data: { pageTitle: 'Home' } }); //skills page state $stateProvider.state('app.skills', { url: '/skills', templateUrl: 'app/modules/dashboard/views/skills.html', controller: 'SkillController', controllerAs: 'vm', data: { pageTitle: 'Skills' } }); //education page state $stateProvider.state('app.education', { url: '/education', templateUrl: 'app/modules/dashboard/views/education.html', controller: 'EducationController', controllerAs: 'vm', data: { pageTitle: 'Dashboard Home' } }); //Achievements page state $stateProvider.state('app.achievements', { url: '/achievements', templateUrl: 'app/modules/dashboard/views/achievements.html', controller: 'AchievementsController', controllerAs: 'vm', data: { pageTitle: 'Achievements' } }); //Recent Projects page state $stateProvider.state('app.recent', { url: '/recent-projects', templateUrl: 'app/modules/dashboard/views/recent.html', controller: 'RecentController', controllerAs: 'vm', data: { pageTitle: 'Recent Projects' } }); //Experience page state $stateProvider.state('app.experience', { url: '/experience', templateUrl: 'app/modules/dashboard/views/experience.html', controller: 'ExperienceController', controllerAs: 'vm', data: { pageTitle: 'Experience' } }); // Portfolio page state $stateProvider.state('app.portfolio', { url: '/portfolio', templateUrl: 'app/modules/dashboard/views/portfolio.html', controller: 'PortfolioController', controllerAs: 'vm', data: { pageTitle: 'Portfolio' } }); //About Me page state $stateProvider.state('app.about', { url: '/about-me', templateUrl: 'app/modules/dashboard/views/about.html', controller: 'AboutController', controllerAs: 'vm', data: { pageTitle: 'About Me' } }); //Contact page state $stateProvider.state('app.contact', { url: '/contact', templateUrl: 'app/modules/dashboard/views/contact.html', controller: 'ContactController', controllerAs: 'vm', data: { pageTitle: 'Contact Me' } }); //Websites page state $stateProvider.state('app.websites', { url: '/websites', templateUrl: 'app/modules/dashboard/views/websites.html', controller: 'WebsitesController', controllerAs: 'vm', data: { pageTitle: 'Websites' } }); //Gallery page state $stateProvider.state('app.gallery', { url: '/gallery', templateUrl: 'app/modules/dashboard/views/gallery.html', controller: 'GalleryController', controllerAs: 'vm', data: { pageTitle: 'Gallery' } }); //Search page state $stateProvider.state('app.search', { url: '/search', templateUrl: 'app/modules/dashboard/views/search.html', controller: 'appCtrl', controllerAs: 'vm', data: { pageTitle: 'Search' } }); }]); ================================================ FILE: app/modules/dashboard/dashboardService.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 05 Jan 2016 Description : To handle the service for Dashboard module Change Log s.no date author description ===========================================================*/ dashboard.service('dashboardService', ['$http', '$q', 'Flash', 'apiService', function ($http, $q, Flash, apiService) { var dashboardService = {}; //service to communicate with users model to verify login credentials var accessLogin = function (parameters) { var deferred = $q.defer(); apiService.get("users", parameters).then(function (response) { if (response) deferred.resolve(response); else deferred.reject("Something went wrong while processing your request. Please Contact Administrator."); }, function (response) { deferred.reject(response); }); return deferred.promise; }; //service to communicate with users to include a new user var registerUser = function (parameters) { var deferred = $q.defer(); apiService.create("users", parameters).then(function (response) { if (response) deferred.resolve(response); else deferred.reject("Something went wrong while processing your request. Please Contact Administrator."); }, function (response) { deferred.reject(response); }); return deferred.promise; }; dashboardService.accessLogin = accessLogin; dashboardService.registerUser = registerUser; return dashboardService; }]); ================================================ FILE: app/modules/dashboard/index.html ================================================ 

KMIT Solutions

Clients 45
POS 350
Open Tickets 30
Employees 40

Sales: 1 Jan, 2014 - 30 Jul, 2014

Goal Completion

Add Products to Cart 160/200
Complete Purchase 310/400
Visit Premium Page 480/800
Send Inquiries 250/500

Visitors Report

90,70,90,70,75,80,70
8390
Visits
90,50,90,70,61,83,63
30%
Referrals
90,50,90,70,61,83,63
70%
Organic

Direct Chat

3
Ranjith Prabhu 23 Jan 2:00 pm
message user image
Is this template really for free? That's unbelievable!
Sarah Bullock 23 Jan 2:05 pm
message user image
You better believe it!
Ranjith Prabhu 23 Jan 5:37 pm
message user image
Working with AdminLTE on a great new app! Wanna join?
Sarah Bullock 23 Jan 6:10 pm
message user image
I would love to.

Latest Members

8 New Members

Latest Orders

Order ID Item Status Popularity
OR9842 Call of Duty IV Shipped
90,80,90,-70,61,-83,63
OR1848 Samsung Smart TV Pending
90,80,-90,70,61,-83,68
OR7429 iPhone 6 Plus Delivered
90,-80,90,70,-61,83,63
OR7429 Samsung Smart TV Processing
90,80,-90,70,-61,83,63
OR1848 Samsung Smart TV Pending
90,80,-90,70,61,-83,68
OR7429 iPhone 6 Plus Delivered
90,-80,90,70,-61,83,63
OR9842 Call of Duty IV Shipped
90,80,90,-70,61,-83,63
Inventory 5,200
50% Increase in 30 Days
Mentions 92,050
20% Increase in 30 Days
Downloads 114,381
70% Increase in 30 Days
Direct Messages 163,921
40% Increase in 30 Days

Browser Usage

  • Chrome
  • IE
  • FireFox
  • Safari
  • Opera
  • Navigator

Recently Added Products

================================================ FILE: app/modules/dashboard/views/about.html ================================================ 

About Me

Ranjithprabhu K

Ranjithprabhu K

Software Engineer


Education

M.E. Computer Science Engineering

M.Sc. Software Systems


Location

Coimbatore, Tamilnadu, India


Specialist in

UI Development UX Design Software Consultant Web Apps Building & Deployment

Contact Me

I Love to

Watch Movies with Friends
Listen Music When Alone
Play Cricket in Weekend
Go in Cycle to Office
Go for a Long Ride in Bike
SightSee All Hill Stations
Group Chat Friends

Languages

English


Tamil


Kannadam


Hindi


Telugu


Malayalam


================================================ FILE: app/modules/dashboard/views/achievements.html ================================================ 

KMIT Solutions

Clients 45
POS 350
Open Tickets 30
Employees 40

Sales: 1 Jan, 2014 - 30 Jul, 2014

Goal Completion

Add Products to Cart 160/200
Complete Purchase 310/400
Visit Premium Page 480/800
Send Inquiries 250/500

Visitors Report

90,70,90,70,75,80,70
8390
Visits
90,50,90,70,61,83,63
30%
Referrals
90,50,90,70,61,83,63
70%
Organic

Direct Chat

3
Ranjith Prabhu 23 Jan 2:00 pm
message user image
Is this template really for free? That's unbelievable!
Sarah Bullock 23 Jan 2:05 pm
message user image
You better believe it!
Ranjith Prabhu 23 Jan 5:37 pm
message user image
Working with AdminLTE on a great new app! Wanna join?
Sarah Bullock 23 Jan 6:10 pm
message user image
I would love to.

Latest Members

8 New Members

Latest Orders

Order ID Item Status Popularity
OR9842 Call of Duty IV Shipped
90,80,90,-70,61,-83,63
OR1848 Samsung Smart TV Pending
90,80,-90,70,61,-83,68
OR7429 iPhone 6 Plus Delivered
90,-80,90,70,-61,83,63
OR7429 Samsung Smart TV Processing
90,80,-90,70,-61,83,63
OR1848 Samsung Smart TV Pending
90,80,-90,70,61,-83,68
OR7429 iPhone 6 Plus Delivered
90,-80,90,70,-61,83,63
OR9842 Call of Duty IV Shipped
90,80,90,-70,61,-83,63
Inventory 5,200
50% Increase in 30 Days
Mentions 92,050
20% Increase in 30 Days
Downloads 114,381
70% Increase in 30 Days
Direct Messages 163,921
40% Increase in 30 Days

Browser Usage

  • Chrome
  • IE
  • FireFox
  • Safari
  • Opera
  • Navigator

Recently Added Products

================================================ FILE: app/modules/dashboard/views/contact.html ================================================ 

Contact Me

Send me a Message
Send Clear
================================================ FILE: app/modules/dashboard/views/contact.php ================================================  ================================================ FILE: app/modules/dashboard/views/education.html ================================================ 

Academic Profile

================================================ FILE: app/modules/dashboard/views/experience.html ================================================ 

Professional Experience

================================================ FILE: app/modules/dashboard/views/gallery.html ================================================ 

ChartJS Preview sample

Area Chart

Donut Chart

Line Chart

Bar Chart

================================================ FILE: app/modules/dashboard/views/home.html ================================================ 

My Home Page

{{data.title}} {{data.value}}

Am Casual but not Usual

Know About Me

{{skill.title}} {{skill.percentage}}/100
================================================ FILE: app/modules/dashboard/views/portfolio.html ================================================ 

My Design Portfolio

================================================ FILE: app/modules/dashboard/views/recent.html ================================================ 

Recent Projects

{{recent.heading}}

Title

{{recent.title}}


Description

{{recent.description}}


My Role

{{role.myRole}}

================================================ FILE: app/modules/dashboard/views/search.html ================================================ 

Search

Oops!

Search Content Not Found

Sorry, the searched phrase not found in this application
================================================ FILE: app/modules/dashboard/views/skills.html ================================================ 

Development Stack

{{skill.Percentage}}%

{{skill.Software}}

Design Stack

{{skill.Percentage}}%

{{skill.Software}}

Others

{{skill.Percentage}}%

{{skill.Software}}

================================================ FILE: app/modules/dashboard/views/websites.html ================================================ 

Websites

{{web.title}}

================================================ FILE: app/modules/login/index.html ================================================ 
Sign In
Remember me Forgot Password?
Sign Up
================================================ FILE: app/modules/login/loginCtrl.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 24 Dec 2015 Description : Controller to handle Login module Change Log s.no date author description ===========================================================*/ login.controller("loginCtrl", ['$rootScope', '$scope', '$state', '$location', 'loginService', 'Flash','apiService', function ($rootScope, $scope, $state, $location, loginService, Flash, apiService) { var vm = this; vm.getUser = {}; vm.setUser = {}; vm.signIn = true; //access login vm.login = function (data) { if (data.Username == "admin") { if (data.Password == "admin") { $state.go('app.dashboard'); } else Flash.create('danger', 'Invalid Password', 'large-text'); } else Flash.create('danger', 'Invalid Username', 'large-text'); }; //get registration details vm.register = function () { if (vm.setUser.confirmPassword == vm.setUser.Password){ loginService.registerUser(vm.setUser).then(function (response) { if (response.message == 'success') console.log('after post>>',response); //if (response.length > 0) // $state.go('app'); //else // Flash.create('danger', 'Invalid Credentials', 'large-text'); }); } }; }]); ================================================ FILE: app/modules/login/loginMgmt.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 24 Dec 2015 Description : Base for Login module Change Log s.no date author description ===========================================================*/ var login = angular.module('login', ['ui.router', 'ngResource', 'ngAnimate']); login.config(["$stateProvider", function ($stateProvider) { //login page state $stateProvider.state('login', { url: '/login', templateUrl: 'app/modules/login/index.html', controller: 'loginCtrl', controllerAs: 'vm', data: { pageTitle: 'Login' } }); }]); ================================================ FILE: app/modules/login/loginService.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 24 Dec 2015 Description : To handle the service for Login module Change Log s.no date author description ===========================================================*/ login.service('loginService', ['$http', '$q', 'Flash', 'apiService', function ($http, $q, Flash, apiService) { var loginService = {}; //service to communicate with users model to verify login credentials var accessLogin = function (parameters) { var deferred = $q.defer(); apiService.get("users", parameters).then(function (response) { if (response) deferred.resolve(response); else deferred.reject("Something went wrong while processing your request. Please Contact Administrator."); }, function (response) { deferred.reject(response); }); return deferred.promise; }; //service to communicate with users to include a new user var registerUser = function (parameters) { var deferred = $q.defer(); apiService.create("users", parameters).then(function (response) { if (response) deferred.resolve(response); else deferred.reject("Something went wrong while processing your request. Please Contact Administrator."); }, function (response) { deferred.reject(response); }); return deferred.promise; }; loginService.accessLogin = accessLogin; loginService.registerUser = registerUser; return loginService; }]); ================================================ FILE: app/services/apiService.js ================================================ /*========================================================== Author : Ranjithprabhu K Date Created: 27 Dec 2015 Description : This service is to communicate with server for CRUD Operaions Change Log s.no date author description ===========================================================*/ app.service('apiService', ['$http', '$q', 'appSettings', function ($http, $q, appSettings) { var apiService = {}; var apiBase = appSettings.apiBase; //===========================GET RESOURCE============================== var get = function (module, parameter) { var deferred = $q.defer(); $http.get(apiBase + module, { params: parameter }, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; //===========================CREATE RESOURCE============================== var create = function (module, parameter) { console.log("hitting Service============="); var deferred = $q.defer(); $http.post(apiBase + module, parameter, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; //===========================UPDATE RESOURCE============================== var update = function (module, parameter) { console.log("hitting Service============="); var deferred = $q.defer(); $http.post(apiBase + module + '/' + parameter.id, parameter, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; //===========================DELETE RESOURCE============================== var delet = function (module, parameter) { console.log("hitting Service============="); var deferred = $q.defer(); $http.post(apiBase + module + '/' + parameter.id, parameter, { headers: { 'Content-Type': 'application/json' } }).success(function (response) { deferred.resolve(response); }).catch(function (data, status, headers, config) { // <--- catch instead error deferred.reject(data.statusText); }); return deferred.promise; }; apiService.get = get; apiService.create = create; apiService.update = update; apiService.delet = delet; return apiService; }]); ================================================ FILE: contact.php ================================================ name; $phone = $request->phone; $email = $request->email; $message = $request->message; /* Set e-mail recipient */ $myemail = "ranjithprabhu.k@gmail.com"; $subject="Message From your Dashboard"; /* Let's prepare the message for the e-mail */ $message = "Hello Boss, You got a message from your Dashboard Site... Name: $name Phone: $phone E-mail: $email Message: $message Thank you, Have a nice day Boss... End of message "; /* Send the message using mail() function */ mail($myemail, $subject, $message); echo 'success'; //this will go back under "data" of angular call. /* * You can use $email and $pass for further work. Such as Database calls. */ ?> ================================================ FILE: css/_all-skins.css ================================================ /* * Skin: Blue * ---------- */ .skin-blue .main-header .navbar { background-color: #3c8dbc; } .skin-blue .main-header .navbar .nav > li > a { color: #ffffff; } .skin-blue .main-header .navbar .nav > li > a:hover, .skin-blue .main-header .navbar .nav > li > a:active, .skin-blue .main-header .navbar .nav > li > a:focus, .skin-blue .main-header .navbar .nav .open > a, .skin-blue .main-header .navbar .nav .open > a:hover, .skin-blue .main-header .navbar .nav .open > a:focus, .skin-blue .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-blue .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-blue .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-blue .main-header .navbar .sidebar-toggle { color: #fff; } .skin-blue .main-header .navbar .sidebar-toggle:hover { background-color: #367fa9; } @media (max-width: 767px) { .skin-blue .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-blue .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-blue .main-header .navbar .dropdown-menu li a:hover { background: #367fa9; } } .skin-blue .main-header .logo { background-color: #367fa9; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue .main-header .logo:hover { background-color: #357ca5; } .skin-blue .main-header li.user-header { background-color: #3c8dbc; } .skin-blue .content-header { background: transparent; } .skin-blue .wrapper, .skin-blue .main-sidebar, .skin-blue .left-side { background-color: #222d32; } .skin-blue .user-panel > .info, .skin-blue .user-panel > .info > a { color: #fff; } .skin-blue .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-blue .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-blue .sidebar-menu > li:hover > a, .skin-blue .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #3c8dbc; } .skin-blue .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-blue .sidebar a { color: #b8c7ce; } .skin-blue .sidebar a:hover { text-decoration: none; } .skin-blue .treeview-menu > li > a { color: #8aa4af; } .skin-blue .treeview-menu > li.active > a, .skin-blue .treeview-menu > li > a:hover { color: #ffffff; } .skin-blue .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-blue .sidebar-form input[type="text"], .skin-blue .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-blue .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-blue .sidebar-form input[type="text"]:focus, .skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-blue .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } .skin-blue.layout-top-nav .main-header > .logo { background-color: #3c8dbc; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue.layout-top-nav .main-header > .logo:hover { background-color: #3b8ab8; } /* * Skin: Blue * ---------- */ .skin-blue-light .main-header .navbar { background-color: #3c8dbc; } .skin-blue-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-blue-light .main-header .navbar .nav > li > a:hover, .skin-blue-light .main-header .navbar .nav > li > a:active, .skin-blue-light .main-header .navbar .nav > li > a:focus, .skin-blue-light .main-header .navbar .nav .open > a, .skin-blue-light .main-header .navbar .nav .open > a:hover, .skin-blue-light .main-header .navbar .nav .open > a:focus, .skin-blue-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-blue-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-blue-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-blue-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-blue-light .main-header .navbar .sidebar-toggle:hover { background-color: #367fa9; } @media (max-width: 767px) { .skin-blue-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-blue-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-blue-light .main-header .navbar .dropdown-menu li a:hover { background: #367fa9; } } .skin-blue-light .main-header .logo { background-color: #3c8dbc; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue-light .main-header .logo:hover { background-color: #3b8ab8; } .skin-blue-light .main-header li.user-header { background-color: #3c8dbc; } .skin-blue-light .content-header { background: transparent; } .skin-blue-light .wrapper, .skin-blue-light .main-sidebar, .skin-blue-light .left-side { background-color: #f9fafc; } .skin-blue-light .content-wrapper, .skin-blue-light .main-footer { border-left: 1px solid #d2d6de; } .skin-blue-light .user-panel > .info, .skin-blue-light .user-panel > .info > a { color: #444444; } .skin-blue-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-blue-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-blue-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-blue-light .sidebar-menu > li:hover > a, .skin-blue-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-blue-light .sidebar-menu > li.active { border-left-color: #3c8dbc; } .skin-blue-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-blue-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-blue-light .sidebar a { color: #444444; } .skin-blue-light .sidebar a:hover { text-decoration: none; } .skin-blue-light .treeview-menu > li > a { color: #777777; } .skin-blue-light .treeview-menu > li.active > a, .skin-blue-light .treeview-menu > li > a:hover { color: #000000; } .skin-blue-light .treeview-menu > li.active > a { font-weight: 600; } .skin-blue-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-blue-light .sidebar-form input[type="text"], .skin-blue-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-blue-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-blue-light .sidebar-form input[type="text"]:focus, .skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-blue-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } .skin-blue-light .main-footer { border-top-color: #d2d6de; } .skin-blue.layout-top-nav .main-header > .logo { background-color: #3c8dbc; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue.layout-top-nav .main-header > .logo:hover { background-color: #3b8ab8; } /* * Skin: Black * ----------- */ /* skin-black navbar */ .skin-black .main-header { -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); } .skin-black .main-header .navbar-toggle { color: #333; } .skin-black .main-header .navbar-brand { color: #333; border-right: 1px solid #eee; } .skin-black .main-header > .navbar { background-color: #ffffff; } .skin-black .main-header > .navbar .nav > li > a { color: #333333; } .skin-black .main-header > .navbar .nav > li > a:hover, .skin-black .main-header > .navbar .nav > li > a:active, .skin-black .main-header > .navbar .nav > li > a:focus, .skin-black .main-header > .navbar .nav .open > a, .skin-black .main-header > .navbar .nav .open > a:hover, .skin-black .main-header > .navbar .nav .open > a:focus, .skin-black .main-header > .navbar .nav > .active > a { background: #ffffff; color: #999999; } .skin-black .main-header > .navbar .sidebar-toggle { color: #333333; } .skin-black .main-header > .navbar .sidebar-toggle:hover { color: #999999; background: #ffffff; } .skin-black .main-header > .navbar > .sidebar-toggle { color: #333; border-right: 1px solid #eee; } .skin-black .main-header > .navbar .navbar-nav > li > a { border-right: 1px solid #eee; } .skin-black .main-header > .navbar .navbar-custom-menu .navbar-nav > li > a, .skin-black .main-header > .navbar .navbar-right > li > a { border-left: 1px solid #eee; border-right-width: 0; } .skin-black .main-header > .logo { background-color: #ffffff; color: #333333; border-bottom: 0 solid transparent; border-right: 1px solid #eee; } .skin-black .main-header > .logo:hover { background-color: #fcfcfc; } @media (max-width: 767px) { .skin-black .main-header > .logo { background-color: #222222; color: #ffffff; border-bottom: 0 solid transparent; border-right: none; } .skin-black .main-header > .logo:hover { background-color: #1f1f1f; } } .skin-black .main-header li.user-header { background-color: #222; } .skin-black .content-header { background: transparent; box-shadow: none; } .skin-black .wrapper, .skin-black .main-sidebar, .skin-black .left-side { background-color: #222d32; } .skin-black .user-panel > .info, .skin-black .user-panel > .info > a { color: #fff; } .skin-black .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-black .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-black .sidebar-menu > li:hover > a, .skin-black .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #ffffff; } .skin-black .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-black .sidebar a { color: #b8c7ce; } .skin-black .sidebar a:hover { text-decoration: none; } .skin-black .treeview-menu > li > a { color: #8aa4af; } .skin-black .treeview-menu > li.active > a, .skin-black .treeview-menu > li > a:hover { color: #ffffff; } .skin-black .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-black .sidebar-form input[type="text"], .skin-black .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-black .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-black .sidebar-form input[type="text"]:focus, .skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-black .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Black * ----------- */ /* skin-black navbar */ .skin-black-light .main-header { -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); } .skin-black-light .main-header .navbar-toggle { color: #333; } .skin-black-light .main-header .navbar-brand { color: #333; border-right: 1px solid #eee; } .skin-black-light .main-header > .navbar { background-color: #ffffff; } .skin-black-light .main-header > .navbar .nav > li > a { color: #333333; } .skin-black-light .main-header > .navbar .nav > li > a:hover, .skin-black-light .main-header > .navbar .nav > li > a:active, .skin-black-light .main-header > .navbar .nav > li > a:focus, .skin-black-light .main-header > .navbar .nav .open > a, .skin-black-light .main-header > .navbar .nav .open > a:hover, .skin-black-light .main-header > .navbar .nav .open > a:focus, .skin-black-light .main-header > .navbar .nav > .active > a { background: #ffffff; color: #999999; } .skin-black-light .main-header > .navbar .sidebar-toggle { color: #333333; } .skin-black-light .main-header > .navbar .sidebar-toggle:hover { color: #999999; background: #ffffff; } .skin-black-light .main-header > .navbar > .sidebar-toggle { color: #333; border-right: 1px solid #eee; } .skin-black-light .main-header > .navbar .navbar-nav > li > a { border-right: 1px solid #eee; } .skin-black-light .main-header > .navbar .navbar-custom-menu .navbar-nav > li > a, .skin-black-light .main-header > .navbar .navbar-right > li > a { border-left: 1px solid #eee; border-right-width: 0; } .skin-black-light .main-header > .logo { background-color: #ffffff; color: #333333; border-bottom: 0 solid transparent; border-right: 1px solid #eee; } .skin-black-light .main-header > .logo:hover { background-color: #fcfcfc; } @media (max-width: 767px) { .skin-black-light .main-header > .logo { background-color: #222222; color: #ffffff; border-bottom: 0 solid transparent; border-right: none; } .skin-black-light .main-header > .logo:hover { background-color: #1f1f1f; } } .skin-black-light .main-header li.user-header { background-color: #222; } .skin-black-light .content-header { background: transparent; box-shadow: none; } .skin-black-light .wrapper, .skin-black-light .main-sidebar, .skin-black-light .left-side { background-color: #f9fafc; } .skin-black-light .content-wrapper, .skin-black-light .main-footer { border-left: 1px solid #d2d6de; } .skin-black-light .user-panel > .info, .skin-black-light .user-panel > .info > a { color: #444444; } .skin-black-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-black-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-black-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-black-light .sidebar-menu > li:hover > a, .skin-black-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-black-light .sidebar-menu > li.active { border-left-color: #ffffff; } .skin-black-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-black-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-black-light .sidebar a { color: #444444; } .skin-black-light .sidebar a:hover { text-decoration: none; } .skin-black-light .treeview-menu > li > a { color: #777777; } .skin-black-light .treeview-menu > li.active > a, .skin-black-light .treeview-menu > li > a:hover { color: #000000; } .skin-black-light .treeview-menu > li.active > a { font-weight: 600; } .skin-black-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-black-light .sidebar-form input[type="text"], .skin-black-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-black-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-black-light .sidebar-form input[type="text"]:focus, .skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-black-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Green * ----------- */ .skin-green .main-header .navbar { background-color: #00a65a; } .skin-green .main-header .navbar .nav > li > a { color: #ffffff; } .skin-green .main-header .navbar .nav > li > a:hover, .skin-green .main-header .navbar .nav > li > a:active, .skin-green .main-header .navbar .nav > li > a:focus, .skin-green .main-header .navbar .nav .open > a, .skin-green .main-header .navbar .nav .open > a:hover, .skin-green .main-header .navbar .nav .open > a:focus, .skin-green .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-green .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-green .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-green .main-header .navbar .sidebar-toggle { color: #fff; } .skin-green .main-header .navbar .sidebar-toggle:hover { background-color: #008d4c; } @media (max-width: 767px) { .skin-green .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-green .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-green .main-header .navbar .dropdown-menu li a:hover { background: #008d4c; } } .skin-green .main-header .logo { background-color: #008d4c; color: #ffffff; border-bottom: 0 solid transparent; } .skin-green .main-header .logo:hover { background-color: #008749; } .skin-green .main-header li.user-header { background-color: #00a65a; } .skin-green .content-header { background: transparent; } .skin-green .wrapper, .skin-green .main-sidebar, .skin-green .left-side { background-color: #222d32; } .skin-green .user-panel > .info, .skin-green .user-panel > .info > a { color: #fff; } .skin-green .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-green .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-green .sidebar-menu > li:hover > a, .skin-green .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #00a65a; } .skin-green .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-green .sidebar a { color: #b8c7ce; } .skin-green .sidebar a:hover { text-decoration: none; } .skin-green .treeview-menu > li > a { color: #8aa4af; } .skin-green .treeview-menu > li.active > a, .skin-green .treeview-menu > li > a:hover { color: #ffffff; } .skin-green .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-green .sidebar-form input[type="text"], .skin-green .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-green .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-green .sidebar-form input[type="text"]:focus, .skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-green .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Green * ----------- */ .skin-green-light .main-header .navbar { background-color: #00a65a; } .skin-green-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-green-light .main-header .navbar .nav > li > a:hover, .skin-green-light .main-header .navbar .nav > li > a:active, .skin-green-light .main-header .navbar .nav > li > a:focus, .skin-green-light .main-header .navbar .nav .open > a, .skin-green-light .main-header .navbar .nav .open > a:hover, .skin-green-light .main-header .navbar .nav .open > a:focus, .skin-green-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-green-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-green-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-green-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-green-light .main-header .navbar .sidebar-toggle:hover { background-color: #008d4c; } @media (max-width: 767px) { .skin-green-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-green-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-green-light .main-header .navbar .dropdown-menu li a:hover { background: #008d4c; } } .skin-green-light .main-header .logo { background-color: #00a65a; color: #ffffff; border-bottom: 0 solid transparent; } .skin-green-light .main-header .logo:hover { background-color: #00a157; } .skin-green-light .main-header li.user-header { background-color: #00a65a; } .skin-green-light .content-header { background: transparent; } .skin-green-light .wrapper, .skin-green-light .main-sidebar, .skin-green-light .left-side { background-color: #f9fafc; } .skin-green-light .content-wrapper, .skin-green-light .main-footer { border-left: 1px solid #d2d6de; } .skin-green-light .user-panel > .info, .skin-green-light .user-panel > .info > a { color: #444444; } .skin-green-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-green-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-green-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-green-light .sidebar-menu > li:hover > a, .skin-green-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-green-light .sidebar-menu > li.active { border-left-color: #00a65a; } .skin-green-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-green-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-green-light .sidebar a { color: #444444; } .skin-green-light .sidebar a:hover { text-decoration: none; } .skin-green-light .treeview-menu > li > a { color: #777777; } .skin-green-light .treeview-menu > li.active > a, .skin-green-light .treeview-menu > li > a:hover { color: #000000; } .skin-green-light .treeview-menu > li.active > a { font-weight: 600; } .skin-green-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-green-light .sidebar-form input[type="text"], .skin-green-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-green-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-green-light .sidebar-form input[type="text"]:focus, .skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-green-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-green-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Red * --------- */ .skin-red .main-header .navbar { background-color: #dd4b39; } .skin-red .main-header .navbar .nav > li > a { color: #ffffff; } .skin-red .main-header .navbar .nav > li > a:hover, .skin-red .main-header .navbar .nav > li > a:active, .skin-red .main-header .navbar .nav > li > a:focus, .skin-red .main-header .navbar .nav .open > a, .skin-red .main-header .navbar .nav .open > a:hover, .skin-red .main-header .navbar .nav .open > a:focus, .skin-red .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-red .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-red .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-red .main-header .navbar .sidebar-toggle { color: #fff; } .skin-red .main-header .navbar .sidebar-toggle:hover { background-color: #d73925; } @media (max-width: 767px) { .skin-red .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-red .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-red .main-header .navbar .dropdown-menu li a:hover { background: #d73925; } } .skin-red .main-header .logo { background-color: #d73925; color: #ffffff; border-bottom: 0 solid transparent; } .skin-red .main-header .logo:hover { background-color: #d33724; } .skin-red .main-header li.user-header { background-color: #dd4b39; } .skin-red .content-header { background: transparent; } .skin-red .wrapper, .skin-red .main-sidebar, .skin-red .left-side { background-color: #222d32; } .skin-red .user-panel > .info, .skin-red .user-panel > .info > a { color: #fff; } .skin-red .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-red .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-red .sidebar-menu > li:hover > a, .skin-red .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #dd4b39; } .skin-red .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-red .sidebar a { color: #b8c7ce; } .skin-red .sidebar a:hover { text-decoration: none; } .skin-red .treeview-menu > li > a { color: #8aa4af; } .skin-red .treeview-menu > li.active > a, .skin-red .treeview-menu > li > a:hover { color: #ffffff; } .skin-red .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-red .sidebar-form input[type="text"], .skin-red .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-red .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-red .sidebar-form input[type="text"]:focus, .skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-red .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Red * --------- */ .skin-red-light .main-header .navbar { background-color: #dd4b39; } .skin-red-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-red-light .main-header .navbar .nav > li > a:hover, .skin-red-light .main-header .navbar .nav > li > a:active, .skin-red-light .main-header .navbar .nav > li > a:focus, .skin-red-light .main-header .navbar .nav .open > a, .skin-red-light .main-header .navbar .nav .open > a:hover, .skin-red-light .main-header .navbar .nav .open > a:focus, .skin-red-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-red-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-red-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-red-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-red-light .main-header .navbar .sidebar-toggle:hover { background-color: #d73925; } @media (max-width: 767px) { .skin-red-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-red-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-red-light .main-header .navbar .dropdown-menu li a:hover { background: #d73925; } } .skin-red-light .main-header .logo { background-color: #dd4b39; color: #ffffff; border-bottom: 0 solid transparent; } .skin-red-light .main-header .logo:hover { background-color: #dc4735; } .skin-red-light .main-header li.user-header { background-color: #dd4b39; } .skin-red-light .content-header { background: transparent; } .skin-red-light .wrapper, .skin-red-light .main-sidebar, .skin-red-light .left-side { background-color: #f9fafc; } .skin-red-light .content-wrapper, .skin-red-light .main-footer { border-left: 1px solid #d2d6de; } .skin-red-light .user-panel > .info, .skin-red-light .user-panel > .info > a { color: #444444; } .skin-red-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-red-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-red-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-red-light .sidebar-menu > li:hover > a, .skin-red-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-red-light .sidebar-menu > li.active { border-left-color: #dd4b39; } .skin-red-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-red-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-red-light .sidebar a { color: #444444; } .skin-red-light .sidebar a:hover { text-decoration: none; } .skin-red-light .treeview-menu > li > a { color: #777777; } .skin-red-light .treeview-menu > li.active > a, .skin-red-light .treeview-menu > li > a:hover { color: #000000; } .skin-red-light .treeview-menu > li.active > a { font-weight: 600; } .skin-red-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-red-light .sidebar-form input[type="text"], .skin-red-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-red-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-red-light .sidebar-form input[type="text"]:focus, .skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-red-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-red-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Yellow * ------------ */ .skin-yellow .main-header .navbar { background-color: #f39c12; } .skin-yellow .main-header .navbar .nav > li > a { color: #ffffff; } .skin-yellow .main-header .navbar .nav > li > a:hover, .skin-yellow .main-header .navbar .nav > li > a:active, .skin-yellow .main-header .navbar .nav > li > a:focus, .skin-yellow .main-header .navbar .nav .open > a, .skin-yellow .main-header .navbar .nav .open > a:hover, .skin-yellow .main-header .navbar .nav .open > a:focus, .skin-yellow .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-yellow .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-yellow .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-yellow .main-header .navbar .sidebar-toggle { color: #fff; } .skin-yellow .main-header .navbar .sidebar-toggle:hover { background-color: #e08e0b; } @media (max-width: 767px) { .skin-yellow .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-yellow .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-yellow .main-header .navbar .dropdown-menu li a:hover { background: #e08e0b; } } .skin-yellow .main-header .logo { background-color: #e08e0b; color: #ffffff; border-bottom: 0 solid transparent; } .skin-yellow .main-header .logo:hover { background-color: #db8b0b; } .skin-yellow .main-header li.user-header { background-color: #f39c12; } .skin-yellow .content-header { background: transparent; } .skin-yellow .wrapper, .skin-yellow .main-sidebar, .skin-yellow .left-side { background-color: #222d32; } .skin-yellow .user-panel > .info, .skin-yellow .user-panel > .info > a { color: #fff; } .skin-yellow .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-yellow .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-yellow .sidebar-menu > li:hover > a, .skin-yellow .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #f39c12; } .skin-yellow .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-yellow .sidebar a { color: #b8c7ce; } .skin-yellow .sidebar a:hover { text-decoration: none; } .skin-yellow .treeview-menu > li > a { color: #8aa4af; } .skin-yellow .treeview-menu > li.active > a, .skin-yellow .treeview-menu > li > a:hover { color: #ffffff; } .skin-yellow .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-yellow .sidebar-form input[type="text"], .skin-yellow .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-yellow .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-yellow .sidebar-form input[type="text"]:focus, .skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-yellow .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Yellow * ------------ */ .skin-yellow-light .main-header .navbar { background-color: #f39c12; } .skin-yellow-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-yellow-light .main-header .navbar .nav > li > a:hover, .skin-yellow-light .main-header .navbar .nav > li > a:active, .skin-yellow-light .main-header .navbar .nav > li > a:focus, .skin-yellow-light .main-header .navbar .nav .open > a, .skin-yellow-light .main-header .navbar .nav .open > a:hover, .skin-yellow-light .main-header .navbar .nav .open > a:focus, .skin-yellow-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-yellow-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-yellow-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-yellow-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-yellow-light .main-header .navbar .sidebar-toggle:hover { background-color: #e08e0b; } @media (max-width: 767px) { .skin-yellow-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-yellow-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-yellow-light .main-header .navbar .dropdown-menu li a:hover { background: #e08e0b; } } .skin-yellow-light .main-header .logo { background-color: #f39c12; color: #ffffff; border-bottom: 0 solid transparent; } .skin-yellow-light .main-header .logo:hover { background-color: #f39a0d; } .skin-yellow-light .main-header li.user-header { background-color: #f39c12; } .skin-yellow-light .content-header { background: transparent; } .skin-yellow-light .wrapper, .skin-yellow-light .main-sidebar, .skin-yellow-light .left-side { background-color: #f9fafc; } .skin-yellow-light .content-wrapper, .skin-yellow-light .main-footer { border-left: 1px solid #d2d6de; } .skin-yellow-light .user-panel > .info, .skin-yellow-light .user-panel > .info > a { color: #444444; } .skin-yellow-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-yellow-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-yellow-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-yellow-light .sidebar-menu > li:hover > a, .skin-yellow-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-yellow-light .sidebar-menu > li.active { border-left-color: #f39c12; } .skin-yellow-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-yellow-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-yellow-light .sidebar a { color: #444444; } .skin-yellow-light .sidebar a:hover { text-decoration: none; } .skin-yellow-light .treeview-menu > li > a { color: #777777; } .skin-yellow-light .treeview-menu > li.active > a, .skin-yellow-light .treeview-menu > li > a:hover { color: #000000; } .skin-yellow-light .treeview-menu > li.active > a { font-weight: 600; } .skin-yellow-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-yellow-light .sidebar-form input[type="text"], .skin-yellow-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-yellow-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-yellow-light .sidebar-form input[type="text"]:focus, .skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-yellow-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-yellow-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Purple * ------------ */ .skin-purple .main-header .navbar { background-color: #605ca8; } .skin-purple .main-header .navbar .nav > li > a { color: #ffffff; } .skin-purple .main-header .navbar .nav > li > a:hover, .skin-purple .main-header .navbar .nav > li > a:active, .skin-purple .main-header .navbar .nav > li > a:focus, .skin-purple .main-header .navbar .nav .open > a, .skin-purple .main-header .navbar .nav .open > a:hover, .skin-purple .main-header .navbar .nav .open > a:focus, .skin-purple .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-purple .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-purple .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-purple .main-header .navbar .sidebar-toggle { color: #fff; } .skin-purple .main-header .navbar .sidebar-toggle:hover { background-color: #555299; } @media (max-width: 767px) { .skin-purple .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-purple .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-purple .main-header .navbar .dropdown-menu li a:hover { background: #555299; } } .skin-purple .main-header .logo { background-color: #555299; color: #ffffff; border-bottom: 0 solid transparent; } .skin-purple .main-header .logo:hover { background-color: #545096; } .skin-purple .main-header li.user-header { background-color: #605ca8; } .skin-purple .content-header { background: transparent; } .skin-purple .wrapper, .skin-purple .main-sidebar, .skin-purple .left-side { background-color: #222d32; } .skin-purple .user-panel > .info, .skin-purple .user-panel > .info > a { color: #fff; } .skin-purple .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-purple .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-purple .sidebar-menu > li:hover > a, .skin-purple .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #605ca8; } .skin-purple .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-purple .sidebar a { color: #b8c7ce; } .skin-purple .sidebar a:hover { text-decoration: none; } .skin-purple .treeview-menu > li > a { color: #8aa4af; } .skin-purple .treeview-menu > li.active > a, .skin-purple .treeview-menu > li > a:hover { color: #ffffff; } .skin-purple .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-purple .sidebar-form input[type="text"], .skin-purple .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-purple .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-purple .sidebar-form input[type="text"]:focus, .skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-purple .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Purple * ------------ */ .skin-purple-light .main-header .navbar { background-color: #605ca8; } .skin-purple-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-purple-light .main-header .navbar .nav > li > a:hover, .skin-purple-light .main-header .navbar .nav > li > a:active, .skin-purple-light .main-header .navbar .nav > li > a:focus, .skin-purple-light .main-header .navbar .nav .open > a, .skin-purple-light .main-header .navbar .nav .open > a:hover, .skin-purple-light .main-header .navbar .nav .open > a:focus, .skin-purple-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-purple-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-purple-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-purple-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-purple-light .main-header .navbar .sidebar-toggle:hover { background-color: #555299; } @media (max-width: 767px) { .skin-purple-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-purple-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-purple-light .main-header .navbar .dropdown-menu li a:hover { background: #555299; } } .skin-purple-light .main-header .logo { background-color: #605ca8; color: #ffffff; border-bottom: 0 solid transparent; } .skin-purple-light .main-header .logo:hover { background-color: #5d59a6; } .skin-purple-light .main-header li.user-header { background-color: #605ca8; } .skin-purple-light .content-header { background: transparent; } .skin-purple-light .wrapper, .skin-purple-light .main-sidebar, .skin-purple-light .left-side { background-color: #f9fafc; } .skin-purple-light .content-wrapper, .skin-purple-light .main-footer { border-left: 1px solid #d2d6de; } .skin-purple-light .user-panel > .info, .skin-purple-light .user-panel > .info > a { color: #444444; } .skin-purple-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-purple-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-purple-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-purple-light .sidebar-menu > li:hover > a, .skin-purple-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-purple-light .sidebar-menu > li.active { border-left-color: #605ca8; } .skin-purple-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-purple-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-purple-light .sidebar a { color: #444444; } .skin-purple-light .sidebar a:hover { text-decoration: none; } .skin-purple-light .treeview-menu > li > a { color: #777777; } .skin-purple-light .treeview-menu > li.active > a, .skin-purple-light .treeview-menu > li > a:hover { color: #000000; } .skin-purple-light .treeview-menu > li.active > a { font-weight: 600; } .skin-purple-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-purple-light .sidebar-form input[type="text"], .skin-purple-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-purple-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-purple-light .sidebar-form input[type="text"]:focus, .skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-purple-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-purple-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } ================================================ FILE: css/bootstrap.css ================================================ @import url("https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700"); /*! * bootswatch v3.3.6 * Homepage: http://bootswatch.com * Copyright 2012-2015 Thomas Park * Licensed under MIT * Based on Bootstrap */ /*! * Bootstrap v3.3.6 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { font-size: 2em; margin: 0.67em 0; } mark { background: #ff0; color: #000; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-appearance: textfield; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } legend { border: 0; padding: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-collapse: collapse; border-spacing: 0; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { background: transparent !important; color: #000 !important; -webkit-box-shadow: none !important; 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) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\002a"; } .glyphicon-plus:before { content: "\002b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #666666; background-color: #ffffff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #3399f3; text-decoration: none; } a:hover, a:focus { color: #3399f3; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { padding: 4px; line-height: 1.42857143; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 4px; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; height: auto; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eeeeee; } .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; line-height: 1.1; color: #2d2d2d; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { font-weight: normal; line-height: 1; color: #999999; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { background-color: #fcf8e3; padding: .2em; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #999999; } .text-primary { color: #446e9b; } a.text-primary:hover, a.text-primary:focus { color: #345578; } .text-success { color: #468847; } a.text-success:hover, a.text-success:focus { color: #356635; } .text-info { color: #3a87ad; } a.text-info:hover, a.text-info:focus { color: #2d6987; } .text-warning { color: #c09853; } a.text-warning:hover, a.text-warning:focus { color: #a47e3c; } .text-danger { color: #b94a48; } a.text-danger:hover, a.text-danger:focus { color: #953b39; } .bg-primary { color: #fff; background-color: #446e9b; } a.bg-primary:hover, a.bg-primary:focus { background-color: #345578; } .bg-success { background-color: #dff0d8; } a.bg-success:hover, a.bg-success:focus { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover, a.bg-info:focus { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover, a.bg-warning:focus { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover, a.bg-danger:focus { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eeeeee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; list-style: none; margin-left: -5px; } .list-inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857143; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; } .initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eeeeee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; color: #999999; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; text-align: right; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; } code, kbd, pre, samp { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #ffffff; background-color: #333333; border-radius: 3px; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; -webkit-box-shadow: none; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; word-break: break-all; word-wrap: break-word; color: #333333; background-color: #f5f5f5; border: 1px solid #cccccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } .row { margin-left: -15px; margin-right: -15px; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; } .col-xs-pull-12 { right: 100%; } .col-xs-pull-11 { right: 91.66666667%; } .col-xs-pull-10 { right: 83.33333333%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-8 { right: 66.66666667%; } .col-xs-pull-7 { right: 58.33333333%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-5 { right: 41.66666667%; } .col-xs-pull-4 { right: 33.33333333%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-2 { right: 16.66666667%; } .col-xs-pull-1 { right: 8.33333333%; } .col-xs-pull-0 { right: auto; } .col-xs-push-12 { left: 100%; } .col-xs-push-11 { left: 91.66666667%; } .col-xs-push-10 { left: 83.33333333%; } .col-xs-push-9 { left: 75%; } .col-xs-push-8 { left: 66.66666667%; } .col-xs-push-7 { left: 58.33333333%; } .col-xs-push-6 { left: 50%; } .col-xs-push-5 { left: 41.66666667%; } .col-xs-push-4 { left: 33.33333333%; } .col-xs-push-3 { left: 25%; } .col-xs-push-2 { left: 16.66666667%; } .col-xs-push-1 { left: 8.33333333%; } .col-xs-push-0 { left: auto; } .col-xs-offset-12 { margin-left: 100%; } .col-xs-offset-11 { margin-left: 91.66666667%; } .col-xs-offset-10 { margin-left: 83.33333333%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-8 { margin-left: 66.66666667%; } .col-xs-offset-7 { margin-left: 58.33333333%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-5 { margin-left: 41.66666667%; } .col-xs-offset-4 { margin-left: 33.33333333%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-2 { margin-left: 16.66666667%; } .col-xs-offset-1 { margin-left: 8.33333333%; } .col-xs-offset-0 { margin-left: 0%; } @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; } .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; } .col-sm-8 { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; } .col-sm-6 { width: 50%; } .col-sm-5 { width: 41.66666667%; } .col-sm-4 { width: 33.33333333%; } .col-sm-3 { width: 25%; } .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } .col-sm-pull-12 { right: 100%; } .col-sm-pull-11 { right: 91.66666667%; } .col-sm-pull-10 { right: 83.33333333%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-8 { right: 66.66666667%; } .col-sm-pull-7 { right: 58.33333333%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-5 { right: 41.66666667%; } .col-sm-pull-4 { right: 33.33333333%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-2 { right: 16.66666667%; } .col-sm-pull-1 { right: 8.33333333%; } .col-sm-pull-0 { right: auto; } .col-sm-push-12 { left: 100%; } .col-sm-push-11 { left: 91.66666667%; } .col-sm-push-10 { left: 83.33333333%; } .col-sm-push-9 { left: 75%; } .col-sm-push-8 { left: 66.66666667%; } .col-sm-push-7 { left: 58.33333333%; } .col-sm-push-6 { left: 50%; } .col-sm-push-5 { left: 41.66666667%; } .col-sm-push-4 { left: 33.33333333%; } .col-sm-push-3 { left: 25%; } .col-sm-push-2 { left: 16.66666667%; } .col-sm-push-1 { left: 8.33333333%; } .col-sm-push-0 { left: auto; } .col-sm-offset-12 { margin-left: 100%; } .col-sm-offset-11 { margin-left: 91.66666667%; } .col-sm-offset-10 { margin-left: 83.33333333%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-8 { margin-left: 66.66666667%; } .col-sm-offset-7 { margin-left: 58.33333333%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-5 { margin-left: 41.66666667%; } .col-sm-offset-4 { margin-left: 33.33333333%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-2 { margin-left: 16.66666667%; } .col-sm-offset-1 { margin-left: 8.33333333%; } .col-sm-offset-0 { margin-left: 0%; } } @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; } .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; } .col-md-6 { width: 50%; } .col-md-5 { width: 41.66666667%; } .col-md-4 { width: 33.33333333%; } .col-md-3 { width: 25%; } .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } .col-md-pull-12 { right: 100%; } .col-md-pull-11 { right: 91.66666667%; } .col-md-pull-10 { right: 83.33333333%; } .col-md-pull-9 { right: 75%; } .col-md-pull-8 { right: 66.66666667%; } .col-md-pull-7 { right: 58.33333333%; } .col-md-pull-6 { right: 50%; } .col-md-pull-5 { right: 41.66666667%; } .col-md-pull-4 { right: 33.33333333%; } .col-md-pull-3 { right: 25%; } .col-md-pull-2 { right: 16.66666667%; } .col-md-pull-1 { right: 8.33333333%; } .col-md-pull-0 { right: auto; } .col-md-push-12 { left: 100%; } .col-md-push-11 { left: 91.66666667%; } .col-md-push-10 { left: 83.33333333%; } .col-md-push-9 { left: 75%; } .col-md-push-8 { left: 66.66666667%; } .col-md-push-7 { left: 58.33333333%; } .col-md-push-6 { left: 50%; } .col-md-push-5 { left: 41.66666667%; } .col-md-push-4 { left: 33.33333333%; } .col-md-push-3 { left: 25%; } .col-md-push-2 { left: 16.66666667%; } .col-md-push-1 { left: 8.33333333%; } .col-md-push-0 { left: auto; } .col-md-offset-12 { margin-left: 100%; } .col-md-offset-11 { margin-left: 91.66666667%; } .col-md-offset-10 { margin-left: 83.33333333%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-8 { margin-left: 66.66666667%; } .col-md-offset-7 { margin-left: 58.33333333%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-5 { margin-left: 41.66666667%; } .col-md-offset-4 { margin-left: 33.33333333%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-2 { margin-left: 16.66666667%; } .col-md-offset-1 { margin-left: 8.33333333%; } .col-md-offset-0 { margin-left: 0%; } } @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; } .col-lg-pull-12 { right: 100%; } .col-lg-pull-11 { right: 91.66666667%; } .col-lg-pull-10 { right: 83.33333333%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-8 { right: 66.66666667%; } .col-lg-pull-7 { right: 58.33333333%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-5 { right: 41.66666667%; } .col-lg-pull-4 { right: 33.33333333%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-2 { right: 16.66666667%; } .col-lg-pull-1 { right: 8.33333333%; } .col-lg-pull-0 { right: auto; } .col-lg-push-12 { left: 100%; } .col-lg-push-11 { left: 91.66666667%; } .col-lg-push-10 { left: 83.33333333%; } .col-lg-push-9 { left: 75%; } .col-lg-push-8 { left: 66.66666667%; } .col-lg-push-7 { left: 58.33333333%; } .col-lg-push-6 { left: 50%; } .col-lg-push-5 { left: 41.66666667%; } .col-lg-push-4 { left: 33.33333333%; } .col-lg-push-3 { left: 25%; } .col-lg-push-2 { left: 16.66666667%; } .col-lg-push-1 { left: 8.33333333%; } .col-lg-push-0 { left: auto; } .col-lg-offset-12 { margin-left: 100%; } .col-lg-offset-11 { margin-left: 91.66666667%; } .col-lg-offset-10 { margin-left: 83.33333333%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-8 { margin-left: 66.66666667%; } .col-lg-offset-7 { margin-left: 58.33333333%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-5 { margin-left: 41.66666667%; } .col-lg-offset-4 { margin-left: 33.33333333%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-2 { margin-left: 16.66666667%; } .col-lg-offset-1 { margin-left: 8.33333333%; } .col-lg-offset-0 { margin-left: 0%; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #999999; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #dddddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #dddddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { border-top: 0; } .table > tbody + tbody { border-top: 2px solid #dddddd; } .table .table { background-color: #ffffff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #dddddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #dddddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; float: none; display: table-column; } table td[class*="col-"], table th[class*="col-"] { position: static; float: none; display: table-cell; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { overflow-x: auto; min-height: 0.01%; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #dddddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { padding: 0; margin: 0; border: 0; min-width: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #666666; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 9px; font-size: 14px; line-height: 1.42857143; color: #666666; } .form-control { display: block; width: 100%; height: 38px; padding: 8px 12px; font-size: 14px; line-height: 1.42857143; color: #666666; background-color: #ffffff; background-image: none; border: 1px solid #cccccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control::-moz-placeholder { color: #999999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999999; } .form-control::-webkit-input-placeholder { color: #999999; } .form-control::-ms-expand { border: 0; background-color: transparent; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eeeeee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 38px; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm, .input-group-sm input[type="date"], .input-group-sm input[type="time"], .input-group-sm input[type="datetime-local"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg, .input-group-lg input[type="date"], .input-group-lg input[type="time"], .input-group-lg input[type="datetime-local"], .input-group-lg input[type="month"] { line-height: 54px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-left: -20px; margin-top: 4px \9; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: normal; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { padding-top: 9px; padding-bottom: 9px; margin-bottom: 0; min-height: 34px; } .form-control-static.input-lg, .form-control-static.input-sm { padding-left: 0; padding-right: 0; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm, select[multiple].input-sm { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 6px 10px; font-size: 12px; line-height: 1.5; } .input-lg { height: 54px; padding: 14px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg { height: 54px; line-height: 54px; } textarea.input-lg, select[multiple].input-lg { height: auto; } .form-group-lg .form-control { height: 54px; padding: 14px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 54px; line-height: 54px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 54px; min-height: 38px; padding: 15px 16px; font-size: 18px; line-height: 1.3333333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 47.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 38px; height: 38px; line-height: 38px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg + .form-control-feedback, .form-group-lg .form-control + .form-control-feedback { width: 54px; height: 54px; line-height: 54px; } .input-sm + .form-control-feedback, .input-group-sm + .form-control-feedback, .form-group-sm .form-control + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #468847; } .has-success .form-control { border-color: #468847; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { border-color: #356635; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; } .has-success .input-group-addon { color: #468847; border-color: #468847; background-color: #dff0d8; } .has-success .form-control-feedback { color: #468847; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #c09853; } .has-warning .form-control { border-color: #c09853; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { border-color: #a47e3c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; } .has-warning .input-group-addon { color: #c09853; border-color: #c09853; background-color: #fcf8e3; } .has-warning .form-control-feedback { color: #c09853; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #b94a48; } .has-error .form-control { border-color: #b94a48; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { border-color: #953b39; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; } .has-error .input-group-addon { color: #b94a48; border-color: #b94a48; background-color: #f2dede; } .has-error .form-control-feedback { color: #b94a48; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #a6a6a6; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { margin-top: 0; margin-bottom: 0; padding-top: 9px; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 29px; } .form-horizontal .form-group { margin-left: -15px; margin-right: -15px; } @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; margin-bottom: 0; padding-top: 9px; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 15px; font-size: 18px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } } .btn { display: inline-block; margin-bottom: 0; font-weight: normal; text-align: center; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; white-space: nowrap; padding: 8px 12px; font-size: 14px; line-height: 1.42857143; border-radius: 4px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #ffffff; text-decoration: none; } .btn:active, .btn.active { outline: 0; background-image: none; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; } a.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; } .btn-default { color: #ffffff; background-color: #474949; border-color: #474949; } .btn-default:focus, .btn-default.focus { color: #ffffff; background-color: #2e2f2f; border-color: #080808; } .btn-default:hover { color: #ffffff; background-color: #2e2f2f; border-color: #292a2a; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #ffffff; background-color: #2e2f2f; border-color: #292a2a; } .btn-default:active:hover, .btn-default.active:hover, .open > .dropdown-toggle.btn-default:hover, .btn-default:active:focus, .btn-default.active:focus, .open > .dropdown-toggle.btn-default:focus, .btn-default:active.focus, .btn-default.active.focus, .open > .dropdown-toggle.btn-default.focus { color: #ffffff; background-color: #1c1d1d; border-color: #080808; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus { background-color: #474949; border-color: #474949; } .btn-default .badge { color: #474949; background-color: #ffffff; } .btn-primary { color: #ffffff; background-color: #446e9b; border-color: #446e9b; } .btn-primary:focus, .btn-primary.focus { color: #ffffff; background-color: #345578; border-color: #1d2f42; } .btn-primary:hover { color: #ffffff; background-color: #345578; border-color: #315070; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #ffffff; background-color: #345578; border-color: #315070; } .btn-primary:active:hover, .btn-primary.active:hover, .open > .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .dropdown-toggle.btn-primary.focus { color: #ffffff; background-color: #2a435f; border-color: #1d2f42; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus { background-color: #446e9b; border-color: #446e9b; } .btn-primary .badge { color: #446e9b; background-color: #ffffff; } .btn-success { color: #ffffff; background-color: #3cb521; border-color: #3cb521; } .btn-success:focus, .btn-success.focus { color: #ffffff; background-color: #2e8a19; border-color: #18490d; } .btn-success:hover { color: #ffffff; background-color: #2e8a19; border-color: #2b8118; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { color: #ffffff; background-color: #2e8a19; border-color: #2b8118; } .btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus { color: #ffffff; background-color: #246c14; border-color: #18490d; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus { background-color: #3cb521; border-color: #3cb521; } .btn-success .badge { color: #3cb521; background-color: #ffffff; } .btn-info { color: #ffffff; background-color: #3399f3; border-color: #3399f3; } .btn-info:focus, .btn-info.focus { color: #ffffff; background-color: #0e80e5; border-color: #09589d; } .btn-info:hover { color: #ffffff; background-color: #0e80e5; border-color: #0d7bdc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { color: #ffffff; background-color: #0e80e5; border-color: #0d7bdc; } .btn-info:active:hover, .btn-info.active:hover, .open > .dropdown-toggle.btn-info:hover, .btn-info:active:focus, .btn-info.active:focus, .open > .dropdown-toggle.btn-info:focus, .btn-info:active.focus, .btn-info.active.focus, .open > .dropdown-toggle.btn-info.focus { color: #ffffff; background-color: #0c6dc4; border-color: #09589d; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus { background-color: #3399f3; border-color: #3399f3; } .btn-info .badge { color: #3399f3; background-color: #ffffff; } .btn-warning { color: #ffffff; background-color: #d47500; border-color: #d47500; } .btn-warning:focus, .btn-warning.focus { color: #ffffff; background-color: #a15900; border-color: #552f00; } .btn-warning:hover { color: #ffffff; background-color: #a15900; border-color: #975300; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { color: #ffffff; background-color: #a15900; border-color: #975300; } .btn-warning:active:hover, .btn-warning.active:hover, .open > .dropdown-toggle.btn-warning:hover, .btn-warning:active:focus, .btn-warning.active:focus, .open > .dropdown-toggle.btn-warning:focus, .btn-warning:active.focus, .btn-warning.active.focus, .open > .dropdown-toggle.btn-warning.focus { color: #ffffff; background-color: #7d4500; border-color: #552f00; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus { background-color: #d47500; border-color: #d47500; } .btn-warning .badge { color: #d47500; background-color: #ffffff; } .btn-danger { color: #ffffff; background-color: #cd0200; border-color: #cd0200; } .btn-danger:focus, .btn-danger.focus { color: #ffffff; background-color: #9a0200; border-color: #4e0100; } .btn-danger:hover { color: #ffffff; background-color: #9a0200; border-color: #900100; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { color: #ffffff; background-color: #9a0200; border-color: #900100; } .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus { color: #ffffff; background-color: #760100; border-color: #4e0100; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus { background-color: #cd0200; border-color: #cd0200; } .btn-danger .badge { color: #cd0200; background-color: #ffffff; } .btn-link { color: #3399f3; font-weight: normal; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #3399f3; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #999999; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 14px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity 0.15s linear; -o-transition: opacity 0.15s linear; transition: opacity 0.15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; -webkit-transition-duration: 0.35s; -o-transition-duration: 0.35s; transition-duration: 0.35s; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; font-size: 14px; text-align: left; background-color: #ffffff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); -webkit-background-clip: padding-box; background-clip: padding-box; } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { text-decoration: none; color: #ffffff; background-color: #446e9b; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #ffffff; text-decoration: none; outline: 0; background-color: #446e9b; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #999999; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); cursor: not-allowed; } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { left: auto; right: 0; } .dropdown-menu-left { left: 0; right: auto; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857143; color: #999999; white-space: nowrap; } .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px dashed; border-bottom: 4px solid \9; content: ""; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { left: auto; right: 0; } .navbar-right .dropdown-menu-left { left: 0; right: auto; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-top-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-bottom-left-radius: 0; border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-top-left-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-right-radius: 0; border-top-left-radius: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { float: none; display: table-cell; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-left: 0; padding-right: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group .form-control:focus { z-index: 3; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 54px; padding: 14px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 54px; line-height: 54px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 8px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #666666; text-align: center; background-color: #eeeeee; border: 1px solid #cccccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 14px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-top-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-bottom-left-radius: 0; border-top-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { z-index: 2; margin-left: -1px; } .nav { margin-bottom: 0; padding-left: 0; list-style: none; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eeeeee; } .nav > li.disabled > a { color: #999999; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #999999; text-decoration: none; background-color: transparent; cursor: not-allowed; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eeeeee; border-color: #3399f3; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #dddddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #dddddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #666666; background-color: #ffffff; border: 1px solid #dddddd; border-bottom-color: transparent; cursor: default; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { text-align: center; margin-bottom: 5px; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #dddddd; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #dddddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #ffffff; } } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #ffffff; background-color: #446e9b; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { text-align: center; margin-bottom: 5px; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border: 1px solid #dddddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a { border-bottom: 1px solid #dddddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: #ffffff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { overflow-x: visible; padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); -webkit-overflow-scrolling: touch; } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-left: 0; padding-right: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; padding: 15px 15px; font-size: 18px; line-height: 20px; height: 50px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; margin-right: 15px; padding: 9px 10px; margin-top: 8px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { margin-left: -15px; margin-right: -15px; padding: 10px 15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 6px; margin-bottom: 6px; } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; border: 0; margin-left: 0; margin-right: 0; padding-top: 0; padding-bottom: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-right-radius: 4px; border-top-left-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 6px; margin-bottom: 6px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-left: 15px; margin-right: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #eeeeee; border-color: #dddddd; } .navbar-default .navbar-brand { color: #777777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #3399f3; background-color: transparent; } .navbar-default .navbar-text { color: #777777; } .navbar-default .navbar-nav > li > a { color: #777777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #3399f3; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #3399f3; background-color: transparent; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #444444; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #dddddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #dddddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #cccccc; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #dddddd; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { background-color: transparent; color: #3399f3; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #3399f3; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #3399f3; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444444; background-color: transparent; } } .navbar-default .navbar-link { color: #777777; } .navbar-default .navbar-link:hover { color: #3399f3; } .navbar-default .btn-link { color: #777777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #3399f3; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { color: #444444; } .navbar-inverse { background-color: #446e9b; border-color: #345578; } .navbar-inverse .navbar-brand { color: #dddddd; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-text { color: #dddddd; } .navbar-inverse .navbar-nav > li > a { color: #dddddd; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #cccccc; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #345578; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #345578; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #ffffff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #395c82; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { background-color: transparent; color: #ffffff; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #345578; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #345578; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #dddddd; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #ffffff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #cccccc; background-color: transparent; } } .navbar-inverse .navbar-link { color: #dddddd; } .navbar-inverse .navbar-link:hover { color: #ffffff; } .navbar-inverse .btn-link { color: #dddddd; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #ffffff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #cccccc; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { content: "/\00a0"; padding: 0 5px; color: #cccccc; } .breadcrumb > .active { color: #999999; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 8px 12px; line-height: 1.42857143; text-decoration: none; color: #3399f3; background-color: #ffffff; border: 1px solid #dddddd; margin-left: -1px; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-bottom-left-radius: 4px; border-top-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-bottom-right-radius: 4px; border-top-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { z-index: 2; color: #3399f3; background-color: #eeeeee; border-color: #dddddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 3; color: #999999; background-color: #f5f5f5; border-color: #dddddd; cursor: default; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #999999; background-color: #ffffff; border-color: #dddddd; cursor: not-allowed; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 14px 16px; font-size: 18px; line-height: 1.3333333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-bottom-left-radius: 6px; border-top-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-bottom-right-radius: 6px; border-top-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-bottom-left-radius: 3px; border-top-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-bottom-right-radius: 3px; border-top-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; list-style: none; text-align: center; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eeeeee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #999999; background-color: #ffffff; cursor: not-allowed; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #ffffff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } a.label:hover, a.label:focus { color: #ffffff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } .label-default { background-color: #474949; } .label-default[href]:hover, .label-default[href]:focus { background-color: #2e2f2f; } .label-primary { background-color: #446e9b; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #345578; } .label-success { background-color: #3cb521; } .label-success[href]:hover, .label-success[href]:focus { background-color: #2e8a19; } .label-info { background-color: #3399f3; } .label-info[href]:hover, .label-info[href]:focus { background-color: #0e80e5; } .label-warning { background-color: #d47500; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #a15900; } .label-danger { background-color: #cd0200; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #9a0200; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; color: #ffffff; line-height: 1; vertical-align: middle; white-space: nowrap; text-align: center; background-color: #3399f3; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } a.badge:hover, a.badge:focus { color: #ffffff; text-decoration: none; cursor: pointer; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #3399f3; background-color: #ffffff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eeeeee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { border-radius: 6px; padding-left: 15px; padding-right: 15px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron, .container-fluid .jumbotron { padding-left: 60px; padding-right: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 4px; -webkit-transition: border 0.2s ease-in-out; -o-transition: border 0.2s ease-in-out; transition: border 0.2s ease-in-out; } .thumbnail > img, .thumbnail a > img { margin-left: auto; margin-right: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #3399f3; } .thumbnail .caption { padding: 9px; color: #666666; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable, .alert-dismissible { padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #468847; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #356635; } .alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #3a87ad; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #2d6987; } .alert-warning { background-color: #fcf8e3; border-color: #fbeed5; color: #c09853; } .alert-warning hr { border-top-color: #f8e5be; } .alert-warning .alert-link { color: #a47e3c; } .alert-danger { background-color: #f2dede; border-color: #eed3d7; color: #b94a48; } .alert-danger hr { border-top-color: #e6c1c7; } .alert-danger .alert-link { color: #953b39; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { overflow: hidden; height: 20px; margin-bottom: 20px; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } .progress-bar { float: left; width: 0%; height: 100%; font-size: 12px; line-height: 20px; color: #ffffff; text-align: center; background-color: #446e9b; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-transition: width 0.6s ease; -o-transition: width 0.6s ease; transition: width 0.6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #3cb521; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #3399f3; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #d47500; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #cd0200; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { zoom: 1; overflow: hidden; } .media-body { width: 10000px; } .media-object { display: block; } .media-object.img-thumbnail { max-width: none; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { margin-bottom: 20px; padding-left: 0; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #ffffff; border: 1px solid #dddddd; } .list-group-item:first-child { border-top-right-radius: 4px; border-top-left-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item, button.list-group-item { color: #555555; } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { color: #333333; } a.list-group-item:hover, button.list-group-item:hover, a.list-group-item:focus, button.list-group-item:focus { text-decoration: none; color: #555555; background-color: #f5f5f5; } button.list-group-item { width: 100%; text-align: left; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { background-color: #eeeeee; color: #999999; cursor: not-allowed; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { color: #999999; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #ffffff; background-color: #446e9b; border-color: #446e9b; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #c5d5e6; } .list-group-item-success { color: #468847; background-color: #dff0d8; } a.list-group-item-success, button.list-group-item-success { color: #468847; } a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, button.list-group-item-success:hover, a.list-group-item-success:focus, button.list-group-item-success:focus { color: #468847; background-color: #d0e9c6; } a.list-group-item-success.active, button.list-group-item-success.active, a.list-group-item-success.active:hover, button.list-group-item-success.active:hover, a.list-group-item-success.active:focus, button.list-group-item-success.active:focus { color: #fff; background-color: #468847; border-color: #468847; } .list-group-item-info { color: #3a87ad; background-color: #d9edf7; } a.list-group-item-info, button.list-group-item-info { color: #3a87ad; } a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, button.list-group-item-info:hover, a.list-group-item-info:focus, button.list-group-item-info:focus { color: #3a87ad; background-color: #c4e3f3; } a.list-group-item-info.active, button.list-group-item-info.active, a.list-group-item-info.active:hover, button.list-group-item-info.active:hover, a.list-group-item-info.active:focus, button.list-group-item-info.active:focus { color: #fff; background-color: #3a87ad; border-color: #3a87ad; } .list-group-item-warning { color: #c09853; background-color: #fcf8e3; } a.list-group-item-warning, button.list-group-item-warning { color: #c09853; } a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, button.list-group-item-warning:hover, a.list-group-item-warning:focus, button.list-group-item-warning:focus { color: #c09853; background-color: #faf2cc; } a.list-group-item-warning.active, button.list-group-item-warning.active, a.list-group-item-warning.active:hover, button.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, button.list-group-item-warning.active:focus { color: #fff; background-color: #c09853; border-color: #c09853; } .list-group-item-danger { color: #b94a48; background-color: #f2dede; } a.list-group-item-danger, button.list-group-item-danger { color: #b94a48; } a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, button.list-group-item-danger:hover, a.list-group-item-danger:focus, button.list-group-item-danger:focus { color: #b94a48; background-color: #ebcccc; } a.list-group-item-danger.active, button.list-group-item-danger.active, a.list-group-item-danger.active:hover, button.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, button.list-group-item-danger.active:focus { color: #fff; background-color: #b94a48; border-color: #b94a48; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #ffffff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-right-radius: 3px; border-top-left-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #dddddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-right-radius: 3px; border-top-left-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-right-radius: 0; border-top-left-radius: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .list-group + .panel-footer { border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { margin-bottom: 0; } .panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption { padding-left: 15px; padding-right: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-right-radius: 3px; border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #dddddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { border: 0; margin-bottom: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #dddddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #dddddd; } .panel-default { border-color: #dddddd; } .panel-default > .panel-heading { color: #333333; background-color: #f5f5f5; border-color: #dddddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #dddddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #dddddd; } .panel-primary { border-color: #446e9b; } .panel-primary > .panel-heading { color: #ffffff; background-color: #446e9b; border-color: #446e9b; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #446e9b; } .panel-primary > .panel-heading .badge { color: #446e9b; background-color: #ffffff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #446e9b; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #468847; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #468847; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { color: #d9edf7; background-color: #3a87ad; } .panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { border-color: #fbeed5; } .panel-warning > .panel-heading { color: #c09853; background-color: #fcf8e3; border-color: #fbeed5; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #fbeed5; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #c09853; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #fbeed5; } .panel-danger { border-color: #eed3d7; } .panel-danger > .panel-heading { color: #b94a48; background-color: #f2dede; border-color: #eed3d7; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #eed3d7; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #b94a48; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #eed3d7; } .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; left: 0; bottom: 0; height: 100%; width: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000000; text-shadow: 0 1px 0 #ffffff; opacity: 0.2; filter: alpha(opacity=20); } .close:hover, .close:focus { color: #000000; text-decoration: none; cursor: pointer; opacity: 0.5; filter: alpha(opacity=50); } button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; } .modal-open { overflow: hidden; } .modal { display: none; overflow: hidden; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); -webkit-transition: -webkit-transform 0.3s ease-out; -o-transition: -o-transform 0.3s ease-out; transition: transform 0.3s ease-out; } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #ffffff; border: 1px solid #999999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); -webkit-background-clip: padding-box; background-clip: padding-box; outline: 0; } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000000; } .modal-backdrop.fade { opacity: 0; filter: alpha(opacity=0); } .modal-backdrop.in { opacity: 0.5; filter: alpha(opacity=50); } .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857143; } .modal-body { position: relative; padding: 20px; } .modal-footer { padding: 20px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; line-break: auto; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; white-space: normal; word-break: normal; word-spacing: normal; word-wrap: normal; font-size: 12px; opacity: 0; filter: alpha(opacity=0); } .tooltip.in { opacity: 0.9; filter: alpha(opacity=90); } .tooltip.top { margin-top: -3px; padding: 5px 0; } .tooltip.right { margin-left: 3px; padding: 0 5px; } .tooltip.bottom { margin-top: 3px; padding: 5px 0; } .tooltip.left { margin-left: -3px; padding: 0 5px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #ffffff; text-align: center; background-color: #000000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000000; } .tooltip.top-left .tooltip-arrow { bottom: 0; right: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; line-break: auto; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; white-space: normal; word-break: normal; word-spacing: normal; word-wrap: normal; font-size: 14px; background-color: #ffffff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { margin: 0; padding: 8px 14px; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover > .arrow { border-width: 11px; } .popover > .arrow:after { border-width: 10px; content: ""; } .popover.top > .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; } .popover.top > .arrow:after { content: " "; bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: #ffffff; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999999; border-right-color: rgba(0, 0, 0, 0.25); } .popover.right > .arrow:after { content: " "; left: 1px; bottom: -10px; border-left-width: 0; border-right-color: #ffffff; } .popover.bottom > .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; } .popover.bottom > .arrow:after { content: " "; top: 1px; margin-left: -10px; border-top-width: 0; border-bottom-color: #ffffff; } .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999999; border-left-color: rgba(0, 0, 0, 0.25); } .popover.left > .arrow:after { content: " "; right: 1px; border-right-width: 0; border-left-color: #ffffff; bottom: -10px; } .carousel { position: relative; } .carousel-inner { position: relative; overflow: hidden; width: 100%; } .carousel-inner > .item { display: none; position: relative; -webkit-transition: 0.6s ease-in-out left; -o-transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform 0.6s ease-in-out; -o-transition: -o-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); left: 0; } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); left: 0; } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); left: 0; } } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; left: 0; bottom: 0; width: 15%; opacity: 0.5; filter: alpha(opacity=50); font-size: 20px; color: #ffffff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); background-color: rgba(0, 0, 0, 0); } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } .carousel-control.right { left: auto; right: 0; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } .carousel-control:hover, .carousel-control:focus { outline: 0; color: #ffffff; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; margin-top: -10px; z-index: 5; display: inline-block; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; line-height: 1; font-family: serif; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; margin-left: -30%; padding-left: 0; list-style: none; text-align: center; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; border: 1px solid #ffffff; border-radius: 10px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); } .carousel-indicators .active { margin: 0; width: 12px; height: 12px; background-color: #ffffff; } .carousel-caption { position: absolute; left: 15%; right: 15%; bottom: 20px; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #ffffff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -10px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -10px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -10px; } .carousel-caption { left: 20%; right: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-header:before, .modal-header:after, .modal-footer:before, .modal-footer:after { content: " "; display: table; } .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-header:after, .modal-footer:after { clear: both; } .center-block { display: block; margin-left: auto; margin-right: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { display: table !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { display: table !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg-block { display: block !important; } } @media (min-width: 1200px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1200px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } .navbar { background-image: -webkit-linear-gradient(#ffffff, #eeeeee 50%, #e4e4e4); background-image: -o-linear-gradient(#ffffff, #eeeeee 50%, #e4e4e4); background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(50%, #eeeeee), to(#e4e4e4)); background-image: linear-gradient(#ffffff, #eeeeee 50%, #e4e4e4); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe4e4e4', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #d5d5d5; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3); } .navbar-inverse { background-image: -webkit-linear-gradient(#6d94bf, #446e9b 50%, #3e648d); background-image: -o-linear-gradient(#6d94bf, #446e9b 50%, #3e648d); background-image: -webkit-gradient(linear, left top, left bottom, from(#6d94bf), color-stop(50%, #446e9b), to(#3e648d)); background-image: linear-gradient(#6d94bf, #446e9b 50%, #3e648d); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6d94bf', endColorstr='#ff3e648d', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #345578; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); } .navbar-inverse .badge { background-color: #fff; color: #446e9b; } .navbar .badge { text-shadow: none; } .navbar-nav > li > a, .navbar-nav > li > a:hover { padding-top: 17px; padding-bottom: 13px; -webkit-transition: color ease-in-out 0.2s; -o-transition: color ease-in-out 0.2s; transition: color ease-in-out 0.2s; } .navbar-brand, .navbar-brand:hover { -webkit-transition: color ease-in-out 0.2s; -o-transition: color ease-in-out 0.2s; transition: color ease-in-out 0.2s; } .navbar .caret, .navbar .caret:hover { -webkit-transition: border-color ease-in-out 0.2s; -o-transition: border-color ease-in-out 0.2s; transition: border-color ease-in-out 0.2s; } .navbar .dropdown-menu { text-shadow: none; } .btn { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); } .btn-default { background-image: -webkit-linear-gradient(#6d7070, #474949 50%, #3d3f3f); background-image: -o-linear-gradient(#6d7070, #474949 50%, #3d3f3f); background-image: -webkit-gradient(linear, left top, left bottom, from(#6d7070), color-stop(50%, #474949), to(#3d3f3f)); background-image: linear-gradient(#6d7070, #474949 50%, #3d3f3f); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6d7070', endColorstr='#ff3d3f3f', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #2e2f2f; } .btn-default:hover { background-image: -webkit-linear-gradient(#636565, #3d3f3f 50%, #333434); background-image: -o-linear-gradient(#636565, #3d3f3f 50%, #333434); background-image: -webkit-gradient(linear, left top, left bottom, from(#636565), color-stop(50%, #3d3f3f), to(#333434)); background-image: linear-gradient(#636565, #3d3f3f 50%, #333434); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff636565', endColorstr='#ff333434', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #242525; } .btn-primary { background-image: -webkit-linear-gradient(#6d94bf, #446e9b 50%, #3e648d); background-image: -o-linear-gradient(#6d94bf, #446e9b 50%, #3e648d); background-image: -webkit-gradient(linear, left top, left bottom, from(#6d94bf), color-stop(50%, #446e9b), to(#3e648d)); background-image: linear-gradient(#6d94bf, #446e9b 50%, #3e648d); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6d94bf', endColorstr='#ff3e648d', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #345578; } .btn-primary:hover { background-image: -webkit-linear-gradient(#5f8ab9, #3e648d 50%, #385a7f); background-image: -o-linear-gradient(#5f8ab9, #3e648d 50%, #385a7f); background-image: -webkit-gradient(linear, left top, left bottom, from(#5f8ab9), color-stop(50%, #3e648d), to(#385a7f)); background-image: linear-gradient(#5f8ab9, #3e648d 50%, #385a7f); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5f8ab9', endColorstr='#ff385a7f', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #2e4b69; } .btn-success { background-image: -webkit-linear-gradient(#61dd45, #3cb521 50%, #36a41e); background-image: -o-linear-gradient(#61dd45, #3cb521 50%, #36a41e); background-image: -webkit-gradient(linear, left top, left bottom, from(#61dd45), color-stop(50%, #3cb521), to(#36a41e)); background-image: linear-gradient(#61dd45, #3cb521 50%, #36a41e); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff61dd45', endColorstr='#ff36a41e', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #2e8a19; } .btn-success:hover { background-image: -webkit-linear-gradient(#52da34, #36a41e 50%, #31921b); background-image: -o-linear-gradient(#52da34, #36a41e 50%, #31921b); background-image: -webkit-gradient(linear, left top, left bottom, from(#52da34), color-stop(50%, #36a41e), to(#31921b)); background-image: linear-gradient(#52da34, #36a41e 50%, #31921b); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff52da34', endColorstr='#ff31921b', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #287916; } .btn-info { background-image: -webkit-linear-gradient(#7bbdf7, #3399f3 50%, #208ff2); background-image: -o-linear-gradient(#7bbdf7, #3399f3 50%, #208ff2); background-image: -webkit-gradient(linear, left top, left bottom, from(#7bbdf7), color-stop(50%, #3399f3), to(#208ff2)); background-image: linear-gradient(#7bbdf7, #3399f3 50%, #208ff2); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff7bbdf7', endColorstr='#ff208ff2', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #0e80e5; } .btn-info:hover { background-image: -webkit-linear-gradient(#68b3f6, #208ff2 50%, #0e86ef); background-image: -o-linear-gradient(#68b3f6, #208ff2 50%, #0e86ef); background-image: -webkit-gradient(linear, left top, left bottom, from(#68b3f6), color-stop(50%, #208ff2), to(#0e86ef)); background-image: linear-gradient(#68b3f6, #208ff2 50%, #0e86ef); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff68b3f6', endColorstr='#ff0e86ef', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #0c75d2; } .btn-warning { background-image: -webkit-linear-gradient(#ff9c21, #d47500 50%, #c06a00); background-image: -o-linear-gradient(#ff9c21, #d47500 50%, #c06a00); background-image: -webkit-gradient(linear, left top, left bottom, from(#ff9c21), color-stop(50%, #d47500), to(#c06a00)); background-image: linear-gradient(#ff9c21, #d47500 50%, #c06a00); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff9c21', endColorstr='#ffc06a00', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #a15900; } .btn-warning:hover { background-image: -webkit-linear-gradient(#ff930d, #c06a00 50%, #ab5e00); background-image: -o-linear-gradient(#ff930d, #c06a00 50%, #ab5e00); background-image: -webkit-gradient(linear, left top, left bottom, from(#ff930d), color-stop(50%, #c06a00), to(#ab5e00)); background-image: linear-gradient(#ff930d, #c06a00 50%, #ab5e00); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff930d', endColorstr='#ffab5e00', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #8d4e00; } .btn-danger { background-image: -webkit-linear-gradient(#ff1d1b, #cd0200 50%, #b90200); background-image: -o-linear-gradient(#ff1d1b, #cd0200 50%, #b90200); background-image: -webkit-gradient(linear, left top, left bottom, from(#ff1d1b), color-stop(50%, #cd0200), to(#b90200)); background-image: linear-gradient(#ff1d1b, #cd0200 50%, #b90200); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff1d1b', endColorstr='#ffb90200', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #9a0200; } .btn-danger:hover { background-image: -webkit-linear-gradient(#ff0906, #b90200 50%, #a40200); background-image: -o-linear-gradient(#ff0906, #b90200 50%, #a40200); background-image: -webkit-gradient(linear, left top, left bottom, from(#ff0906), color-stop(50%, #b90200), to(#a40200)); background-image: linear-gradient(#ff0906, #b90200 50%, #a40200); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff0906', endColorstr='#ffa40200', GradientType=0); -webkit-filter: none; filter: none; border: 1px solid #860100; } .btn-link { text-shadow: none; } .btn:active, .btn.active { background-image: none; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .panel-primary .panel-title { color: #fff; } ================================================ FILE: css/dashboard.css ================================================ @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic); /*! * Angular Bootstrap - Dashboard * Author: Ranjithprabhu K * Website: http://ranjithprabhu.in * License: Open source - MIT * Please visit http://opensource.org/licenses/MIT for more information !*/ /* * Core: General Layout Style * ------------------------- */ html, body { min-height: 100%; } .layout-boxed html, .layout-boxed body { height: 100%; } body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 400; overflow-x: hidden; overflow-y: auto; } /* Layout */ .wrapper { min-height: 100%; position: static; overflow: hidden; } .wrapper:before, .wrapper:after { content: " "; display: table; } .wrapper:after { clear: both; } .layout-boxed .wrapper { max-width: 1250px; margin: 0 auto; min-height: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.5); position: relative; } .layout-boxed { background: url('../img/boxed-bg.jpg') repeat fixed; } /* * Content Wrapper - contains the main content * ```.right-side has been deprecated as of v2.0.0 in favor of .content-wrapper ``` */ .content-wrapper, .right-side, .main-footer { -webkit-transition: -webkit-transform 0.3s ease-in-out, margin 0.3s ease-in-out; -moz-transition: -moz-transform 0.3s ease-in-out, margin 0.3s ease-in-out; -o-transition: -o-transform 0.3s ease-in-out, margin 0.3s ease-in-out; transition: transform 0.3s ease-in-out, margin 0.3s ease-in-out; margin-left: 230px; z-index: 820; } .layout-top-nav .content-wrapper, .layout-top-nav .right-side, .layout-top-nav .main-footer { margin-left: 0; } @media (max-width: 767px) { .content-wrapper, .right-side, .main-footer { margin-left: 0; } } @media (min-width: 768px) { .sidebar-collapse .content-wrapper, .sidebar-collapse .right-side, .sidebar-collapse .main-footer { margin-left: 0; } } @media (max-width: 767px) { .sidebar-open .content-wrapper, .sidebar-open .right-side, .sidebar-open .main-footer { -webkit-transform: translate(230px, 0); -ms-transform: translate(230px, 0); -o-transform: translate(230px, 0); transform: translate(230px, 0); } } .content-wrapper, .right-side { min-height: 100%; background-color: #ecf0f5; z-index: 800; } .main-footer { background: #fff; padding: 15px; color: #444; border-top: 1px solid #d2d6de; } /* Fixed layout */ .fixed .main-header, .fixed .main-sidebar, .fixed .left-side { position: fixed; } .fixed .main-header { top: 0; right: 0; left: 0; } .fixed .content-wrapper, .fixed .right-side { padding-top: 50px; } @media (max-width: 767px) { .fixed .content-wrapper, .fixed .right-side { padding-top: 100px; } } .fixed.layout-boxed .wrapper { max-width: 100%; } body.hold-transition .content-wrapper, body.hold-transition .right-side, body.hold-transition .main-footer, body.hold-transition .main-sidebar, body.hold-transition .left-side, body.hold-transition .main-header > .navbar, body.hold-transition .main-header .logo { /* Fix for IE */ -webkit-transition: none; -o-transition: none; transition: none; } /* Content */ .content { min-height: 250px; padding: 15px; margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px; } /* H1 - H6 font */ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: 'Source Sans Pro', sans-serif; } /* General Links */ a { color: #3c8dbc; } a:hover, a:active, a:focus { outline: none; text-decoration: none; color: #72afd2; } /* Page Header */ .page-header { margin: 10px 0 20px 0; font-size: 22px; } .page-header > small { color: #666; display: block; margin-top: 5px; } /* * Component: Main Header * ---------------------- */ .main-header { position: relative; max-height: 100px; z-index: 1030; } .main-header > .navbar { -webkit-transition: margin-left 0.3s ease-in-out; -o-transition: margin-left 0.3s ease-in-out; transition: margin-left 0.3s ease-in-out; margin-bottom: 0; margin-left: 230px; border: none; min-height: 50px; border-radius: 0; } .layout-top-nav .main-header > .navbar { margin-left: 0; } .main-header #navbar-search-input.form-control { background: rgba(255, 255, 255, 0.2); border-color: transparent; } .main-header #navbar-search-input.form-control:focus, .main-header #navbar-search-input.form-control:active { border-color: rgba(0, 0, 0, 0.1); background: rgba(255, 255, 255, 0.9); } .main-header #navbar-search-input.form-control::-moz-placeholder { color: #ccc; opacity: 1; } .main-header #navbar-search-input.form-control:-ms-input-placeholder { color: #ccc; } .main-header #navbar-search-input.form-control::-webkit-input-placeholder { color: #ccc; } .main-header .navbar-custom-menu, .main-header .navbar-right { float: right; } @media (max-width: 991px) { .main-header .navbar-custom-menu a, .main-header .navbar-right a { color: inherit; background: transparent; } } @media (max-width: 767px) { .main-header .navbar-right { float: none; } .navbar-collapse .main-header .navbar-right { margin: 7.5px -15px; } .main-header .navbar-right > li { color: inherit; border: 0; } } .main-header .sidebar-toggle { float: left; background-color: transparent; background-image: none; padding: 15px 15px; font-family: fontAwesome; } .main-header .sidebar-toggle:before { content: "\f0c9"; } .main-header .sidebar-toggle:hover { color: #fff; } .main-header .sidebar-toggle:focus, .main-header .sidebar-toggle:active { background: transparent; } .main-header .sidebar-toggle .icon-bar { display: none; } .main-header .navbar .nav > li.user > a > .fa, .main-header .navbar .nav > li.user > a > .glyphicon, .main-header .navbar .nav > li.user > a > .ion { margin-right: 5px; } .main-header .navbar .nav > li > a > .label { position: absolute; top: 9px; right: 7px; text-align: center; font-size: 9px; padding: 2px 3px; line-height: .9; } .main-header .logo { -webkit-transition: width 0.3s ease-in-out; -o-transition: width 0.3s ease-in-out; transition: width 0.3s ease-in-out; display: block; float: left; height: 50px; font-size: 20px; line-height: 50px; text-align: center; width: 230px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; padding: 0 15px; font-weight: 300; overflow: hidden; } .main-header .logo .logo-lg { display: block; } .main-header .logo .logo-mini { display: none; } .main-header .navbar-brand { color: #fff; } .content-header { position: relative; padding: 15px 15px 0 15px; } .content-header > h1 { margin: 0; font-size: 24px; } .content-header > h1 > small { font-size: 15px; display: inline-block; padding-left: 4px; font-weight: 300; } .content-header > .breadcrumb { float: right; background: transparent; margin-top: 0; margin-bottom: 0; font-size: 12px; padding: 7px 5px; position: absolute; top: 15px; right: 10px; border-radius: 2px; } .content-header > .breadcrumb > li > a { color: #444; text-decoration: none; display: inline-block; } .content-header > .breadcrumb > li > a > .fa, .content-header > .breadcrumb > li > a > .glyphicon, .content-header > .breadcrumb > li > a > .ion { margin-right: 5px; } .content-header > .breadcrumb > li + li:before { content: '>\00a0'; } @media (max-width: 991px) { .content-header > .breadcrumb { position: relative; margin-top: 5px; top: 0; right: 0; float: none; background: #d2d6de; padding-left: 10px; } .content-header > .breadcrumb li:before { color: #97a0b3; } } .navbar-toggle { color: #fff; border: 0; margin: 0; padding: 15px 15px; } @media (max-width: 991px) { .navbar-custom-menu .navbar-nav > li { float: left; } .navbar-custom-menu .navbar-nav { margin: 0; float: left; } .navbar-custom-menu .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; line-height: 20px; } } @media (max-width: 767px) { .main-header { position: relative; } .main-header .logo, .main-header .navbar { width: 100%; float: none; } .main-header .navbar { margin: 0; } .main-header .navbar-custom-menu { float: right; } } @media (max-width: 991px) { .navbar-collapse.pull-left { float: none!important; } .navbar-collapse.pull-left + .navbar-custom-menu { display: block; position: absolute; top: 0; right: 40px; } } /* * Component: Sidebar * ------------------ */ .main-sidebar, .left-side { position: absolute; top: 0; left: 0; padding-top: 50px; min-height: 100%; width: 230px; z-index: 810; -webkit-transition: -webkit-transform 0.3s ease-in-out, width 0.3s ease-in-out; -moz-transition: -moz-transform 0.3s ease-in-out, width 0.3s ease-in-out; -o-transition: -o-transform 0.3s ease-in-out, width 0.3s ease-in-out; transition: transform 0.3s ease-in-out, width 0.3s ease-in-out; } @media (max-width: 767px) { .main-sidebar, .left-side { padding-top: 100px; } } @media (max-width: 767px) { .main-sidebar, .left-side { -webkit-transform: translate(-230px, 0); -ms-transform: translate(-230px, 0); -o-transform: translate(-230px, 0); transform: translate(-230px, 0); } } @media (min-width: 768px) { .sidebar-collapse .main-sidebar, .sidebar-collapse .left-side { -webkit-transform: translate(-230px, 0); -ms-transform: translate(-230px, 0); -o-transform: translate(-230px, 0); transform: translate(-230px, 0); } } @media (max-width: 767px) { .sidebar-open .main-sidebar, .sidebar-open .left-side { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } } .sidebar { padding-bottom: 10px; } .sidebar-form input:focus { border-color: transparent; } .user-panel { position: relative; width: 100%; padding: 10px; overflow: hidden; } .user-panel:before, .user-panel:after { content: " "; display: table; } .user-panel:after { clear: both; } .user-panel > .image > img { width: 100%; max-width: 45px; height: auto; } .user-panel > .info { padding: 5px 5px 5px 15px; line-height: 1; position: absolute; left: 55px; } .user-panel > .info > p { font-weight: 600; margin-bottom: 9px; } .user-panel > .info > a { text-decoration: none; padding-right: 5px; margin-top: 3px; font-size: 11px; } .user-panel > .info > a > .fa, .user-panel > .info > a > .ion, .user-panel > .info > a > .glyphicon { margin-right: 3px; } .sidebar-menu { list-style: none; margin: 0; padding: 0; } .sidebar-menu > li { position: relative; margin: 0; padding: 0; } .sidebar-menu > li > a { padding: 12px 5px 12px 15px; display: block; } .sidebar-menu > li > a > .fa, .sidebar-menu > li > a > .glyphicon, .sidebar-menu > li > a > .ion { width: 20px; } .sidebar-menu > li .label, .sidebar-menu > li .badge { margin-top: 3px; margin-right: 5px; } .sidebar-menu li.header { padding: 10px 25px 10px 15px; font-size: 12px; } .sidebar-menu li > a > .fa-angle-left { width: auto; height: auto; padding: 0; margin-right: 10px; margin-top: 3px; } .sidebar-menu li.active > a > .fa-angle-left { -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); } .sidebar-menu li.active > .treeview-menu { display: block; } .sidebar-menu .treeview-menu { display: none; list-style: none; padding: 0; margin: 0; padding-left: 5px; } .sidebar-menu .treeview-menu .treeview-menu { padding-left: 20px; } .sidebar-menu .treeview-menu > li { margin: 0; } .sidebar-menu .treeview-menu > li > a { padding: 5px 5px 5px 15px; display: block; font-size: 14px; } .sidebar-menu .treeview-menu > li > a > .fa, .sidebar-menu .treeview-menu > li > a > .glyphicon, .sidebar-menu .treeview-menu > li > a > .ion { width: 20px; } .sidebar-menu .treeview-menu > li > a > .fa-angle-left, .sidebar-menu .treeview-menu > li > a > .fa-angle-down { width: auto; } /* * Component: Sidebar Mini */ @media (min-width: 768px) { .sidebar-mini.sidebar-collapse .content-wrapper, .sidebar-mini.sidebar-collapse .right-side, .sidebar-mini.sidebar-collapse .main-footer { margin-left: 50px!important; z-index: 840; } .sidebar-mini.sidebar-collapse .main-sidebar { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); width: 50px!important; z-index: 850; } .sidebar-mini.sidebar-collapse .sidebar-menu > li { position: relative; } .sidebar-mini.sidebar-collapse .sidebar-menu > li > a { margin-right: 0; } .sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span { border-top-right-radius: 4px; } .sidebar-mini.sidebar-collapse .sidebar-menu > li:not(.treeview) > a > span { border-bottom-right-radius: 4px; } .sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { padding-top: 5px; padding-bottom: 5px; border-bottom-right-radius: 4px; } .sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right), .sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu { display: block!important; position: absolute; width: 180px; left: 50px; } .sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span { top: 0; margin-left: -3px; padding: 12px 5px 12px 20px; background-color: inherit; } .sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu { top: 44px; margin-left: 0; } .sidebar-mini.sidebar-collapse .main-sidebar .user-panel > .info, .sidebar-mini.sidebar-collapse .sidebar-form, .sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span, .sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu, .sidebar-mini.sidebar-collapse .sidebar-menu > li > a > .pull-right, .sidebar-mini.sidebar-collapse .sidebar-menu li.header { display: none!important; -webkit-transform: translateZ(0); } .sidebar-mini.sidebar-collapse .main-header .logo { width: 50px; } .sidebar-mini.sidebar-collapse .main-header .logo > .logo-mini { display: block; margin-left: -15px; margin-right: -15px; font-size: 18px; } .sidebar-mini.sidebar-collapse .main-header .logo > .logo-lg { display: none; } .sidebar-mini.sidebar-collapse .main-header .navbar { margin-left: 50px; } } .sidebar-menu, .main-sidebar .user-panel, .sidebar-menu > li.header { white-space: nowrap; overflow: hidden; } .sidebar-menu:hover { overflow: visible; } .sidebar-form, .sidebar-menu > li.header { overflow: hidden; text-overflow: clip; } .sidebar-menu li > a { position: relative; } .sidebar-menu li > a > .pull-right { position: absolute; top: 50%; right: 10px; margin-top: -7px; } /* * Component: Control sidebar. By default, this is the right sidebar. */ .control-sidebar-bg { position: fixed; z-index: 1000; bottom: 0; } .control-sidebar-bg, .control-sidebar { top: 0; right: -230px; width: 230px; -webkit-transition: right 0.3s ease-in-out; -o-transition: right 0.3s ease-in-out; transition: right 0.3s ease-in-out; } .control-sidebar { position: absolute; padding-top: 50px; z-index: 1010; } @media (max-width: 768px) { .control-sidebar { padding-top: 100px; } } .control-sidebar > .tab-content { padding: 10px 15px; } .control-sidebar.control-sidebar-open, .control-sidebar.control-sidebar-open + .control-sidebar-bg { right: 0; } .control-sidebar-open .control-sidebar-bg, .control-sidebar-open .control-sidebar { right: 0; } @media (min-width: 768px) { .control-sidebar-open .content-wrapper, .control-sidebar-open .right-side, .control-sidebar-open .main-footer { margin-right: 230px; } } .nav-tabs.control-sidebar-tabs > li:first-of-type > a, .nav-tabs.control-sidebar-tabs > li:first-of-type > a:hover, .nav-tabs.control-sidebar-tabs > li:first-of-type > a:focus { border-left-width: 0; } .nav-tabs.control-sidebar-tabs > li > a { border-radius: 0; } .nav-tabs.control-sidebar-tabs > li > a, .nav-tabs.control-sidebar-tabs > li > a:hover { border-top: none; border-right: none; border-left: 1px solid transparent; border-bottom: 1px solid transparent; } .nav-tabs.control-sidebar-tabs > li > a .icon { font-size: 16px; } .nav-tabs.control-sidebar-tabs > li.active > a, .nav-tabs.control-sidebar-tabs > li.active > a:hover, .nav-tabs.control-sidebar-tabs > li.active > a:focus, .nav-tabs.control-sidebar-tabs > li.active > a:active { border-top: none; border-right: none; border-bottom: none; } @media (max-width: 768px) { .nav-tabs.control-sidebar-tabs { display: table; } .nav-tabs.control-sidebar-tabs > li { display: table-cell; } } .control-sidebar-heading { font-weight: 400; font-size: 16px; padding: 10px 0; margin-bottom: 10px; } .control-sidebar-subheading { display: block; font-weight: 400; font-size: 14px; } .control-sidebar-menu { list-style: none; padding: 0; margin: 0 -15px; } .control-sidebar-menu > li > a { display: block; padding: 10px 15px; } .control-sidebar-menu > li > a:before, .control-sidebar-menu > li > a:after { content: " "; display: table; } .control-sidebar-menu > li > a:after { clear: both; } .control-sidebar-menu > li > a > .control-sidebar-subheading { margin-top: 0; } .control-sidebar-menu .menu-icon { float: left; width: 35px; height: 35px; border-radius: 50%; text-align: center; line-height: 35px; } .control-sidebar-menu .menu-info { margin-left: 45px; margin-top: 3px; } .control-sidebar-menu .menu-info > .control-sidebar-subheading { margin: 0; } .control-sidebar-menu .menu-info > p { margin: 0; font-size: 11px; } .control-sidebar-menu .progress { margin: 0; } .control-sidebar-dark { color: #b8c7ce; } .control-sidebar-dark, .control-sidebar-dark + .control-sidebar-bg { background: #222d32; } .control-sidebar-dark .nav-tabs.control-sidebar-tabs { border-bottom: #1c2529; } .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a { background: #181f23; color: #b8c7ce; } .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a, .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover, .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus { border-left-color: #141a1d; border-bottom-color: #141a1d; } .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover, .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:focus, .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:active { background: #1c2529; } .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li > a:hover { color: #fff; } .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a, .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:hover, .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:focus, .control-sidebar-dark .nav-tabs.control-sidebar-tabs > li.active > a:active { background: #222d32; color: #fff; } .control-sidebar-dark .control-sidebar-heading, .control-sidebar-dark .control-sidebar-subheading { color: #fff; } .control-sidebar-dark .control-sidebar-menu > li > a:hover { background: #1e282c; } .control-sidebar-dark .control-sidebar-menu > li > a .menu-info > p { color: #b8c7ce; } .control-sidebar-light { color: #5e5e5e; } .control-sidebar-light, .control-sidebar-light + .control-sidebar-bg { background: #f9fafc; border-left: 1px solid #d2d6de; } .control-sidebar-light .nav-tabs.control-sidebar-tabs { border-bottom: #d2d6de; } .control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a { background: #e8ecf4; color: #444444; } .control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a, .control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover, .control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus { border-left-color: #d2d6de; border-bottom-color: #d2d6de; } .control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:hover, .control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:focus, .control-sidebar-light .nav-tabs.control-sidebar-tabs > li > a:active { background: #eff1f7; } .control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a, .control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:hover, .control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:focus, .control-sidebar-light .nav-tabs.control-sidebar-tabs > li.active > a:active { background: #f9fafc; color: #111; } .control-sidebar-light .control-sidebar-heading, .control-sidebar-light .control-sidebar-subheading { color: #111; } .control-sidebar-light .control-sidebar-menu { margin-left: -14px; } .control-sidebar-light .control-sidebar-menu > li > a:hover { background: #f4f4f5; } .control-sidebar-light .control-sidebar-menu > li > a .menu-info > p { color: #5e5e5e; } /* * Component: Dropdown menus * ------------------------- */ /*Dropdowns in general*/ .dropdown-menu { box-shadow: none; border-color: #eee; } .dropdown-menu > li > a { color: #777; } .dropdown-menu > li > a > .glyphicon, .dropdown-menu > li > a > .fa, .dropdown-menu > li > a > .ion { margin-right: 10px; } .dropdown-menu > li > a:hover { background-color: #e1e3e9; color: #333; } .dropdown-menu > .divider { background-color: #eee; } .navbar-nav > .notifications-menu > .dropdown-menu, .navbar-nav > .messages-menu > .dropdown-menu, .navbar-nav > .tasks-menu > .dropdown-menu { width: 280px; padding: 0 0 0 0; margin: 0; top: 100%; } .navbar-nav > .notifications-menu > .dropdown-menu > li, .navbar-nav > .messages-menu > .dropdown-menu > li, .navbar-nav > .tasks-menu > .dropdown-menu > li { position: relative; } .navbar-nav > .notifications-menu > .dropdown-menu > li.header, .navbar-nav > .messages-menu > .dropdown-menu > li.header, .navbar-nav > .tasks-menu > .dropdown-menu > li.header { border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; background-color: #ffffff; padding: 7px 10px; border-bottom: 1px solid #f4f4f4; color: #444444; font-size: 14px; } .navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a, .navbar-nav > .messages-menu > .dropdown-menu > li.footer > a, .navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; font-size: 12px; background-color: #fff; padding: 7px 10px; border-bottom: 1px solid #eeeeee; color: #444!important; text-align: center; } @media (max-width: 991px) { .navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a, .navbar-nav > .messages-menu > .dropdown-menu > li.footer > a, .navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a { background: #fff!important; color: #444!important; } } .navbar-nav > .notifications-menu > .dropdown-menu > li.footer > a:hover, .navbar-nav > .messages-menu > .dropdown-menu > li.footer > a:hover, .navbar-nav > .tasks-menu > .dropdown-menu > li.footer > a:hover { text-decoration: none; font-weight: normal; } .navbar-nav > .notifications-menu > .dropdown-menu > li .menu, .navbar-nav > .messages-menu > .dropdown-menu > li .menu, .navbar-nav > .tasks-menu > .dropdown-menu > li .menu { max-height: 200px; margin: 0; padding: 0; list-style: none; overflow-x: hidden; } .navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a, .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a, .navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a { display: block; white-space: nowrap; /* Prevent text from breaking */ border-bottom: 1px solid #f4f4f4; } .navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a:hover, .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:hover, .navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a:hover { background: #f4f4f4; text-decoration: none; } .navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a { color: #444444; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 10px; } .navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .glyphicon, .navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .fa, .navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a > .ion { width: 20px; } .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a { margin: 0; padding: 10px 10px; } .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > div > img { margin: auto 10px auto auto; width: 40px; height: 40px; } .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 { padding: 0; margin: 0 0 0 45px; color: #444444; font-size: 15px; position: relative; } .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > h4 > small { color: #999999; font-size: 10px; position: absolute; top: 0; right: 0; } .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a > p { margin: 0 0 0 45px; font-size: 12px; color: #888888; } .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:before, .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after { content: " "; display: table; } .navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a:after { clear: both; } .navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a { padding: 10px; } .navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > h3 { font-size: 14px; padding: 0; margin: 0 0 10px 0; color: #666666; } .navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a > .progress { padding: 0; margin: 0; } .navbar-nav > .user-menu > .dropdown-menu { border-top-right-radius: 0; border-top-left-radius: 0; padding: 1px 0 0 0; border-top-width: 0; width: 280px; } .navbar-nav > .user-menu > .dropdown-menu, .navbar-nav > .user-menu > .dropdown-menu > .user-body { border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } .navbar-nav > .user-menu > .dropdown-menu > li.user-header { height: 200px; padding: 10px; text-align: center; } .navbar-nav > .user-menu > .dropdown-menu > li.user-header > img { z-index: 5; height: 90px; width: 90px; border: 3px solid; border-color: transparent; border-color: rgba(255, 255, 255, 0.2); } .navbar-nav > .user-menu > .dropdown-menu > li.user-header > p { z-index: 5; color: #fff; color: rgba(255, 255, 255, 0.8); font-size: 17px; margin-top: 10px; } .navbar-nav > .user-menu > .dropdown-menu > li.user-header > p > small { display: block; font-size: 12px; } .navbar-nav > .user-menu > .dropdown-menu > .user-body { padding: 15px; border-bottom: 1px solid #f4f4f4; border-top: 1px solid #dddddd; } .navbar-nav > .user-menu > .dropdown-menu > .user-body:before, .navbar-nav > .user-menu > .dropdown-menu > .user-body:after { content: " "; display: table; } .navbar-nav > .user-menu > .dropdown-menu > .user-body:after { clear: both; } .navbar-nav > .user-menu > .dropdown-menu > .user-body a { color: #444 !important; } @media (max-width: 991px) { .navbar-nav > .user-menu > .dropdown-menu > .user-body a { background: #fff !important; color: #444 !important; } } .navbar-nav > .user-menu > .dropdown-menu > .user-footer { background-color: #f9f9f9; padding: 10px; } .navbar-nav > .user-menu > .dropdown-menu > .user-footer:before, .navbar-nav > .user-menu > .dropdown-menu > .user-footer:after { content: " "; display: table; } .navbar-nav > .user-menu > .dropdown-menu > .user-footer:after { clear: both; } .navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default { color: #666666; } @media (max-width: 991px) { .navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default:hover { background-color: #f9f9f9; } } .navbar-nav > .user-menu .user-image { float: left; width: 25px; height: 25px; border-radius: 50%; margin-right: 10px; margin-top: -2px; } @media (max-width: 767px) { .navbar-nav > .user-menu .user-image { float: none; margin-right: 0; margin-top: -8px; line-height: 10px; } } /* Add fade animation to dropdown menus by appending the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)*/ .open:not(.dropup) > .animated-dropdown-menu { backface-visibility: visible !important; -webkit-animation: flipInX 0.7s both; -o-animation: flipInX 0.7s both; animation: flipInX 0.7s both; } @keyframes flipInX { 0% { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); transition-timing-function: ease-in; opacity: 0; } 40% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); transition-timing-function: ease-in; } 60% { transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; } 80% { transform: perspective(400px) rotate3d(1, 0, 0, -5deg); } 100% { transform: perspective(400px); } } @-webkit-keyframes flipInX { 0% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); -webkit-transition-timing-function: ease-in; opacity: 0; } 40% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); -webkit-transition-timing-function: ease-in; } 60% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; } 80% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); } 100% { -webkit-transform: perspective(400px); } } /* Fix dropdown menu in navbars */ .navbar-custom-menu > .navbar-nav > li { position: relative; } .navbar-custom-menu > .navbar-nav > li > .dropdown-menu { position: absolute; right: 0; left: auto; } @media (max-width: 991px) { .navbar-custom-menu > .navbar-nav { float: right; } .navbar-custom-menu > .navbar-nav > li { position: static; } .navbar-custom-menu > .navbar-nav > li > .dropdown-menu { position: absolute; right: 5%; left: auto; border: 1px solid #ddd; background: #fff; } } /* * Component: Form * --------------- */ .form-control { border-radius: 0; box-shadow: none; border-color: #d2d6de; } .form-control:focus { border-color: #3c8dbc; box-shadow: none; } .form-control::-moz-placeholder, .form-control:-ms-input-placeholder, .form-control::-webkit-input-placeholder { color: #bbb; opacity: 1; } .form-control:not(select) { -webkit-appearance: none; -moz-appearance: none; appearance: none; } .form-group.has-success label { color: #00a65a; } .form-group.has-success .form-control { border-color: #00a65a; box-shadow: none; } .form-group.has-warning label { color: #f39c12; } .form-group.has-warning .form-control { border-color: #f39c12; box-shadow: none; } .form-group.has-error label { color: #dd4b39; } .form-group.has-error .form-control { border-color: #dd4b39; box-shadow: none; } /* Input group */ .input-group .input-group-addon { border-radius: 0; border-color: #d2d6de; background-color: #fff; } /* button groups */ .btn-group-vertical .btn.btn-flat:first-of-type, .btn-group-vertical .btn.btn-flat:last-of-type { border-radius: 0; } .icheck > label { padding-left: 0; } /* support Font Awesome icons in form-control */ .form-control-feedback.fa { line-height: 34px; } .input-lg + .form-control-feedback.fa, .input-group-lg + .form-control-feedback.fa, .form-group-lg .form-control + .form-control-feedback.fa { line-height: 46px; } .input-sm + .form-control-feedback.fa, .input-group-sm + .form-control-feedback.fa, .form-group-sm .form-control + .form-control-feedback.fa { line-height: 30px; } /* * Component: Progress Bar * ----------------------- */ .progress, .progress > .progress-bar { -webkit-box-shadow: none; box-shadow: none; } .progress, .progress > .progress-bar, .progress .progress-bar, .progress > .progress-bar .progress-bar { border-radius: 1px; } /* size variation */ .progress.sm, .progress-sm { height: 10px; } .progress.sm, .progress-sm, .progress.sm .progress-bar, .progress-sm .progress-bar { border-radius: 1px; } .progress.xs, .progress-xs { height: 7px; } .progress.xs, .progress-xs, .progress.xs .progress-bar, .progress-xs .progress-bar { border-radius: 1px; } .progress.xxs, .progress-xxs { height: 3px; } .progress.xxs, .progress-xxs, .progress.xxs .progress-bar, .progress-xxs .progress-bar { border-radius: 1px; } /* Vertical bars */ .progress.vertical { position: relative; width: 30px; height: 200px; display: inline-block; margin-right: 10px; } .progress.vertical > .progress-bar { width: 100%; position: absolute; bottom: 0; } .progress.vertical.sm, .progress.vertical.progress-sm { width: 20px; } .progress.vertical.xs, .progress.vertical.progress-xs { width: 10px; } .progress.vertical.xxs, .progress.vertical.progress-xxs { width: 3px; } .progress-group .progress-text { font-weight: 600; } .progress-group .progress-number { float: right; } /* Remove margins from progress bars when put in a table */ .table tr > td .progress { margin: 0; } .progress-bar-light-blue, .progress-bar-primary { background-color: #3c8dbc; } .progress-striped .progress-bar-light-blue, .progress-striped .progress-bar-primary { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-green, .progress-bar-success { background-color: #00a65a; } .progress-striped .progress-bar-green, .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-aqua, .progress-bar-info { background-color: #00c0ef; } .progress-striped .progress-bar-aqua, .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-yellow, .progress-bar-warning { background-color: #f39c12; } .progress-striped .progress-bar-yellow, .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-red, .progress-bar-danger { background-color: #dd4b39; } .progress-striped .progress-bar-red, .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-purple { background-color: #605CA8; } .progress-bar-teal { background-color: #39CCCC; } .progress-bar-maroon { background-color: #D81B60 ; } /* * Component: Small Box * -------------------- */ .small-box { border-radius: 2px; position: relative; display: block; margin-bottom: 20px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); } .small-box > .inner { padding: 10px; } .small-box > .small-box-footer { position: relative; text-align: center; padding: 3px 0; color: #fff; color: rgba(255, 255, 255, 0.8); display: block; z-index: 10; background: rgba(0, 0, 0, 0.1); text-decoration: none; } .small-box > .small-box-footer:hover { color: #fff; background: rgba(0, 0, 0, 0.15); } .small-box h3 { font-size: 38px; font-weight: bold; margin: 0 0 10px 0; white-space: nowrap; padding: 0; } .small-box p { font-size: 15px; } .small-box p > small { display: block; color: #f9f9f9; font-size: 13px; margin-top: 5px; } .small-box h3, .small-box p { z-index: 5px; } .small-box .icon { -webkit-transition: all 0.3s linear; -o-transition: all 0.3s linear; transition: all 0.3s linear; position: absolute; top: -10px; right: 10px; z-index: 0; font-size: 90px; color: rgba(0, 0, 0, 0.15); } .small-box:hover { text-decoration: none; color: #f9f9f9; } .small-box:hover .icon { font-size: 95px; } @media (max-width: 767px) { .small-box { text-align: center; } .small-box .icon { display: none; } .small-box p { font-size: 12px; } } /* * Component: Box * -------------- */ .box { position: relative; border-radius: 3px; background: #ffffff; border-top: 3px solid #d2d6de; margin-bottom: 20px; width: 100%; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); } .box.box-primary { border-top-color: #3c8dbc; } .box.box-info { border-top-color: #00c0ef; } .box.box-danger { border-top-color: #dd4b39; } .box.box-warning { border-top-color: #f39c12; } .box.box-success { border-top-color: #00a65a; } .box.box-default { border-top-color: #d2d6de; } .box.collapsed-box .box-body, .box.collapsed-box .box-footer { display: none; } .box .nav-stacked > li { border-bottom: 1px solid #f4f4f4; margin: 0; } .box .nav-stacked > li:last-of-type { border-bottom: none; } .box.height-control .box-body { max-height: 300px; overflow: auto; } .box .border-right { border-right: 1px solid #f4f4f4; } .box .border-left { border-left: 1px solid #f4f4f4; } .box.box-solid { border-top: 0; } .box.box-solid > .box-header .btn.btn-default { background: transparent; } .box.box-solid > .box-header .btn:hover, .box.box-solid > .box-header a:hover { background: rgba(0, 0, 0, 0.1); } .box.box-solid.box-default { border: 1px solid #d2d6de; } .box.box-solid.box-default > .box-header { color: #444444; background: #d2d6de; background-color: #d2d6de; } .box.box-solid.box-default > .box-header a, .box.box-solid.box-default > .box-header .btn { color: #444444; } .box.box-solid.box-primary { border: 1px solid #3c8dbc; } .box.box-solid.box-primary > .box-header { color: #ffffff; background: #3c8dbc; background-color: #3c8dbc; } .box.box-solid.box-primary > .box-header a, .box.box-solid.box-primary > .box-header .btn { color: #ffffff; } .box.box-solid.box-info { border: 1px solid #00c0ef; } .box.box-solid.box-info > .box-header { color: #ffffff; background: #00c0ef; background-color: #00c0ef; } .box.box-solid.box-info > .box-header a, .box.box-solid.box-info > .box-header .btn { color: #ffffff; } .box.box-solid.box-danger { border: 1px solid #dd4b39; } .box.box-solid.box-danger > .box-header { color: #ffffff; background: #dd4b39; background-color: #dd4b39; } .box.box-solid.box-danger > .box-header a, .box.box-solid.box-danger > .box-header .btn { color: #ffffff; } .box.box-solid.box-warning { border: 1px solid #f39c12; } .box.box-solid.box-warning > .box-header { color: #ffffff; background: #f39c12; background-color: #f39c12; } .box.box-solid.box-warning > .box-header a, .box.box-solid.box-warning > .box-header .btn { color: #ffffff; } .box.box-solid.box-success { border: 1px solid #00a65a; } .box.box-solid.box-success > .box-header { color: #ffffff; background: #00a65a; background-color: #00a65a; } .box.box-solid.box-success > .box-header a, .box.box-solid.box-success > .box-header .btn { color: #ffffff; } .box.box-solid > .box-header > .box-tools .btn { border: 0; box-shadow: none; } .box.box-solid[class*='bg'] > .box-header { color: #fff; } .box .box-group > .box { margin-bottom: 5px; } .box .knob-label { text-align: center; color: #333; font-weight: 100; font-size: 12px; margin-bottom: 0.3em; } .box > .overlay, .overlay-wrapper > .overlay, .box > .loading-img, .overlay-wrapper > .loading-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .box .overlay, .overlay-wrapper .overlay { z-index: 50; background: rgba(255, 255, 255, 0.7); border-radius: 3px; } .box .overlay > .fa, .overlay-wrapper .overlay > .fa { position: absolute; top: 50%; left: 50%; margin-left: -15px; margin-top: -15px; color: #000; font-size: 30px; } .box .overlay.dark, .overlay-wrapper .overlay.dark { background: rgba(0, 0, 0, 0.5); } .box-header:before, .box-body:before, .box-footer:before, .box-header:after, .box-body:after, .box-footer:after { content: " "; display: table; } .box-header:after, .box-body:after, .box-footer:after { clear: both; } .box-header { color: #444; display: block; padding: 10px; position: relative; } .box-header.with-border { border-bottom: 1px solid #f4f4f4; } .collapsed-box .box-header.with-border { border-bottom: none; } .box-header > .fa, .box-header > .glyphicon, .box-header > .ion, .box-header .box-title { display: inline-block; font-size: 18px; margin: 0; line-height: 1; } .box-header > .fa, .box-header > .glyphicon, .box-header > .ion { margin-right: 5px; } .box-header > .box-tools { position: absolute; right: 10px; top: 5px; } .box-header > .box-tools [data-toggle="tooltip"] { position: relative; } .box-header > .box-tools.pull-right .dropdown-menu { right: 0; left: auto; } .btn-box-tool { padding: 5px; font-size: 12px; background: transparent; color: #97a0b3; } .open .btn-box-tool, .btn-box-tool:hover { color: #606c84; } .btn-box-tool.btn:active { box-shadow: none; } .box-body { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; padding: 10px; } .no-header .box-body { border-top-right-radius: 3px; border-top-left-radius: 3px; } .box-body > .table { margin-bottom: 0; } .box-body .fc { margin-top: 5px; } .box-body .full-width-chart { margin: -19px; } .box-body.no-padding .full-width-chart { margin: -9px; } .box-body .box-pane { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 3px; } .box-body .box-pane-right { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 0; } .box-footer { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; border-top: 1px solid #f4f4f4; padding: 10px; background-color: #ffffff; } .chart-legend { margin: 10px 0; } @media (max-width: 991px) { .chart-legend > li { float: left; margin-right: 10px; } } .box-comments { background: #f7f7f7; } .box-comments .box-comment { padding: 8px 0; border-bottom: 1px solid #eee; } .box-comments .box-comment:before, .box-comments .box-comment:after { content: " "; display: table; } .box-comments .box-comment:after { clear: both; } .box-comments .box-comment:last-of-type { border-bottom: 0; } .box-comments .box-comment:first-of-type { padding-top: 0; } .box-comments .box-comment img { float: left; } .box-comments .comment-text { margin-left: 40px; color: #555; } .box-comments .username { color: #444; display: block; font-weight: 600; } .box-comments .text-muted { font-weight: 400; font-size: 12px; } /* Widget: TODO LIST */ .todo-list { margin: 0; padding: 0; list-style: none; overflow: auto; } .todo-list > li { border-radius: 2px; padding: 10px; background: #f4f4f4; margin-bottom: 2px; border-left: 2px solid #e6e7e8; color: #444; } .todo-list > li:last-of-type { margin-bottom: 0; } .todo-list > li > input[type='checkbox'] { margin: 0 10px 0 5px; } .todo-list > li .text { display: inline-block; margin-left: 5px; font-weight: 600; } .todo-list > li .label { margin-left: 10px; font-size: 9px; } .todo-list > li .tools { display: none; float: right; color: #dd4b39; } .todo-list > li .tools > .fa, .todo-list > li .tools > .glyphicon, .todo-list > li .tools > .ion { margin-right: 5px; cursor: pointer; } .todo-list > li:hover .tools { display: inline-block; } .todo-list > li.done { color: #999; } .todo-list > li.done .text { text-decoration: line-through; font-weight: 500; } .todo-list > li.done .label { background: #d2d6de !important; } .todo-list .danger { border-left-color: #dd4b39; } .todo-list .warning { border-left-color: #f39c12; } .todo-list .info { border-left-color: #00c0ef; } .todo-list .success { border-left-color: #00a65a; } .todo-list .primary { border-left-color: #3c8dbc; } .todo-list .handle { display: inline-block; cursor: move; margin: 0 5px; } /* Chat widget (DEPRECATED - this will be removed in the next major release. Use Direct Chat instead)*/ .chat { padding: 5px 20px 5px 10px; } .chat .item { margin-bottom: 10px; } .chat .item:before, .chat .item:after { content: " "; display: table; } .chat .item:after { clear: both; } .chat .item > img { width: 40px; height: 40px; border: 2px solid transparent; border-radius: 50%; } .chat .item > .online { border: 2px solid #00a65a; } .chat .item > .offline { border: 2px solid #dd4b39; } .chat .item > .message { margin-left: 55px; margin-top: -40px; } .chat .item > .message > .name { display: block; font-weight: 600; } .chat .item > .attachment { border-radius: 3px; background: #f4f4f4; margin-left: 65px; margin-right: 15px; padding: 10px; } .chat .item > .attachment > h4 { margin: 0 0 5px 0; font-weight: 600; font-size: 14px; } .chat .item > .attachment > p, .chat .item > .attachment > .filename { font-weight: 600; font-size: 13px; font-style: italic; margin: 0; } .chat .item > .attachment:before, .chat .item > .attachment:after { content: " "; display: table; } .chat .item > .attachment:after { clear: both; } .box-input { max-width: 200px; } .modal .panel-body { color: #444; } /* * Component: Info Box * ------------------- */ .info-box { display: block; min-height: 90px; background: #fff; width: 100%; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); border-radius: 2px; margin-bottom: 15px; } .info-box small { font-size: 14px; } .info-box .progress { background: rgba(0, 0, 0, 0.2); margin: 5px -10px 5px -10px; height: 2px; } .info-box .progress, .info-box .progress .progress-bar { border-radius: 0; } .info-box .progress .progress-bar { background: #fff; } .info-box-icon { border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; display: block; float: left; height: 90px; width: 90px; text-align: center; font-size: 45px; line-height: 90px; background: rgba(0, 0, 0, 0.2); } .info-box-icon > img { max-width: 100%; } .info-box-content { padding: 5px 10px; margin-left: 90px; } .info-box-number { display: block; font-weight: bold; font-size: 18px; } .progress-description, .info-box-text { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .info-box-text { text-transform: uppercase; } .info-box-more { display: block; } .progress-description { margin: 0; } /* * Component: Timeline * ------------------- */ .timeline { position: relative; margin: 0 0 30px 0; padding: 0; list-style: none; } .timeline:before { content: ''; position: absolute; top: 0; bottom: 0; width: 4px; background: #ddd; left: 31px; margin: 0; border-radius: 2px; } .timeline > li { position: relative; margin-right: 10px; margin-bottom: 15px; } .timeline > li:before, .timeline > li:after { content: " "; display: table; } .timeline > li:after { clear: both; } .timeline > li > .timeline-item { -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); border-radius: 3px; margin-top: 0; background: #fff; color: #444; margin-left: 60px; margin-right: 15px; padding: 0; position: relative; } .timeline > li > .timeline-item > .time { color: #999; float: right; padding: 10px; font-size: 12px; } .timeline > li > .timeline-item > .timeline-header { margin: 0; color: #555; border-bottom: 1px solid #f4f4f4; padding: 10px; font-size: 16px; line-height: 1.1; } .timeline > li > .timeline-item > .timeline-header > a { font-weight: 600; } .timeline > li > .timeline-item > .timeline-body, .timeline > li > .timeline-item > .timeline-footer { padding: 10px; } .timeline > li > .fa, .timeline > li > .glyphicon, .timeline > li > .ion { width: 30px; height: 30px; font-size: 15px; line-height: 30px; position: absolute; color: #666; background: #d2d6de; border-radius: 50%; text-align: center; left: 18px; top: 0; } .timeline > .time-label > span { font-weight: 600; padding: 5px; display: inline-block; background-color: #fff; border-radius: 4px; } .timeline-inverse > li > .timeline-item { background: #f0f0f0; border: 1px solid #ddd; -webkit-box-shadow: none; box-shadow: none; } .timeline-inverse > li > .timeline-item > .timeline-header { border-bottom-color: #ddd; } /* * Component: Button * ----------------- */ .btn { border-radius: 3px; -webkit-box-shadow: none; box-shadow: none; border: 1px solid transparent; } .btn.uppercase { text-transform: uppercase; } .btn.btn-flat { border-radius: 0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; border-width: 1px; } .btn:active { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn:focus { outline: none; } .btn.btn-file { position: relative; overflow: hidden; } .btn.btn-file > input[type='file'] { position: absolute; top: 0; right: 0; min-width: 100%; min-height: 100%; font-size: 100px; text-align: right; opacity: 0; filter: alpha(opacity=0); outline: none; background: white; cursor: inherit; display: block; } .btn-default { background-color: #f4f4f4; color: #444; border-color: #ddd; } .btn-default:hover, .btn-default:active, .btn-default.hover { background-color: #e7e7e7; } .btn-primary { background-color: #3c8dbc; border-color: #367fa9; } .btn-primary:hover, .btn-primary:active, .btn-primary.hover { background-color: #367fa9; } .btn-success { background-color: #00a65a; border-color: #008d4c; } .btn-success:hover, .btn-success:active, .btn-success.hover { background-color: #008d4c; } .btn-info { background-color: #00c0ef; border-color: #00acd6; } .btn-info:hover, .btn-info:active, .btn-info.hover { background-color: #00acd6; } .btn-danger { background-color: #dd4b39; border-color: #d73925; } .btn-danger:hover, .btn-danger:active, .btn-danger.hover { background-color: #d73925; } .btn-warning { background-color: #f39c12; border-color: #e08e0b; } .btn-warning:hover, .btn-warning:active, .btn-warning.hover { background-color: #e08e0b; } .btn-outline { border: 1px solid #fff; background: transparent; color: #fff; } .btn-outline:hover, .btn-outline:focus, .btn-outline:active { color: rgba(255, 255, 255, 0.7); border-color: rgba(255, 255, 255, 0.7); } .btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn[class*='bg-']:hover { -webkit-box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.2); box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.2); } .btn-app { border-radius: 3px; position: relative; padding: 15px 5px; margin: 0 0 10px 10px; min-width: 80px; height: 60px; text-align: center; color: #666; border: 1px solid #ddd; background-color: #f4f4f4; font-size: 12px; } .btn-app > .fa, .btn-app > .glyphicon, .btn-app > .ion { font-size: 20px; display: block; } .btn-app:hover { background: #f4f4f4; color: #444; border-color: #aaa; } .btn-app:active, .btn-app:focus { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn-app > .badge { position: absolute; top: -3px; right: -10px; font-size: 10px; font-weight: 400; } /* * Component: Callout * ------------------ */ .callout { border-radius: 3px; margin: 0 0 20px 0; padding: 15px 30px 15px 15px; border-left: 5px solid #eee; } .callout a { color: #fff; text-decoration: underline; } .callout a:hover { color: #eee; } .callout h4 { margin-top: 0; font-weight: 600; } .callout p:last-child { margin-bottom: 0; } .callout code, .callout .highlight { background-color: #fff; } .callout.callout-danger { border-color: #c23321; } .callout.callout-warning { border-color: #c87f0a; } .callout.callout-info { border-color: #0097bc; } .callout.callout-success { border-color: #00733e; } /* * Component: alert * ---------------- */ .alert { border-radius: 3px; } .alert h4 { font-weight: 600; } .alert .icon { margin-right: 10px; } .alert .close { color: #000; opacity: 0.2; filter: alpha(opacity=20); } .alert .close:hover { opacity: 0.5; filter: alpha(opacity=50); } .alert a { color: #fff; text-decoration: underline; } .alert-success { border-color: #008d4c; } .alert-danger, .alert-error { border-color: #d73925; } .alert-warning { border-color: #e08e0b; } .alert-info { border-color: #00acd6; } /* * Component: Nav * -------------- */ .nav > li > a:hover, .nav > li > a:active, .nav > li > a:focus { color: #444; background: #f7f7f7; } /* NAV PILLS */ .nav-pills > li > a { border-radius: 0; border-top: 3px solid transparent; color: #444; } .nav-pills > li > a > .fa, .nav-pills > li > a > .glyphicon, .nav-pills > li > a > .ion { margin-right: 5px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { border-top-color: #3c8dbc; } .nav-pills > li.active > a { font-weight: 600; } /* NAV STACKED */ .nav-stacked > li > a { border-radius: 0; border-top: 0; border-left: 3px solid transparent; color: #444; } .nav-stacked > li.active > a, .nav-stacked > li.active > a:hover { background: transparent; color: #444; border-top: 0; border-left-color: #3c8dbc; } .nav-stacked > li.header { border-bottom: 1px solid #ddd; color: #777; margin-bottom: 10px; padding: 5px 10px; text-transform: uppercase; } /* NAV TABS */ .nav-tabs-custom { margin-bottom: 20px; background: #fff; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); border-radius: 3px; } .nav-tabs-custom > .nav-tabs { margin: 0; border-bottom-color: #f4f4f4; border-top-right-radius: 3px; border-top-left-radius: 3px; } .nav-tabs-custom > .nav-tabs > li { border-top: 3px solid transparent; margin-bottom: -2px; margin-right: 5px; } .nav-tabs-custom > .nav-tabs > li > a { color: #444; border-radius: 0; } .nav-tabs-custom > .nav-tabs > li > a.text-muted { color: #999; } .nav-tabs-custom > .nav-tabs > li > a, .nav-tabs-custom > .nav-tabs > li > a:hover { background: transparent; margin: 0; } .nav-tabs-custom > .nav-tabs > li > a:hover { color: #999; } .nav-tabs-custom > .nav-tabs > li:not(.active) > a:hover, .nav-tabs-custom > .nav-tabs > li:not(.active) > a:focus, .nav-tabs-custom > .nav-tabs > li:not(.active) > a:active { border-color: transparent; } .nav-tabs-custom > .nav-tabs > li.active { border-top-color: #3c8dbc; } .nav-tabs-custom > .nav-tabs > li.active > a, .nav-tabs-custom > .nav-tabs > li.active:hover > a { background-color: #fff; color: #444; } .nav-tabs-custom > .nav-tabs > li.active > a { border-top-color: transparent; border-left-color: #f4f4f4; border-right-color: #f4f4f4; } .nav-tabs-custom > .nav-tabs > li:first-of-type { margin-left: 0; } .nav-tabs-custom > .nav-tabs > li:first-of-type.active > a { border-left-color: transparent; } .nav-tabs-custom > .nav-tabs.pull-right { float: none!important; } .nav-tabs-custom > .nav-tabs.pull-right > li { float: right; } .nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type { margin-right: 0; } .nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type > a { border-left-width: 1px; } .nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type.active > a { border-left-color: #f4f4f4; border-right-color: transparent; } .nav-tabs-custom > .nav-tabs > li.header { line-height: 35px; padding: 0 10px; font-size: 20px; color: #444; } .nav-tabs-custom > .nav-tabs > li.header > .fa, .nav-tabs-custom > .nav-tabs > li.header > .glyphicon, .nav-tabs-custom > .nav-tabs > li.header > .ion { margin-right: 5px; } .nav-tabs-custom > .tab-content { background: #fff; padding: 10px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .nav-tabs-custom .dropdown.open > a:active, .nav-tabs-custom .dropdown.open > a:focus { background: transparent; color: #999; } /* PAGINATION */ .pagination > li > a { background: #fafafa; color: #666; } .pagination.pagination-flat > li > a { border-radius: 0 !important; } /* * Component: Products List * ------------------------ */ .products-list { list-style: none; margin: 0; padding: 0; } .products-list > .item { border-radius: 3px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); padding: 10px 0; background: #fff; } .products-list > .item:before, .products-list > .item:after { content: " "; display: table; } .products-list > .item:after { clear: both; } .products-list .product-img { float: left; } .products-list .product-img img { width: 50px; height: 50px; } .products-list .product-info { margin-left: 60px; } .products-list .product-title { font-weight: 600; } .products-list .product-description { display: block; color: #999; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .product-list-in-box > .item { -webkit-box-shadow: none; box-shadow: none; border-radius: 0; border-bottom: 1px solid #f4f4f4; } .product-list-in-box > .item:last-of-type { border-bottom-width: 0; } /* * Component: Table * ---------------- */ .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { border-top: 1px solid #f4f4f4; } .table > thead > tr > th { border-bottom: 2px solid #f4f4f4; } .table tr td .progress { margin-top: 5px; } .table-bordered { border: 1px solid #f4f4f4; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #f4f4f4; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table.no-border, .table.no-border td, .table.no-border th { border: 0; } /* .text-center in tables */ table.text-center, table.text-center td, table.text-center th { text-align: center; } .table.align th { text-align: left; } .table.align td { text-align: right; } /* * Component: Label * ---------------- */ .label-default { background-color: #d2d6de; color: #444; } /* * Component: Direct Chat * ---------------------- */ .direct-chat .box-body { border-bottom-right-radius: 0; border-bottom-left-radius: 0; position: relative; overflow-x: hidden; padding: 0; } .direct-chat.chat-pane-open .direct-chat-contacts { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .direct-chat-messages { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); padding: 10px; height: 250px; overflow: auto; } .direct-chat-msg, .direct-chat-text { display: block; } .direct-chat-msg { margin-bottom: 10px; } .direct-chat-msg:before, .direct-chat-msg:after { content: " "; display: table; } .direct-chat-msg:after { clear: both; } .direct-chat-messages, .direct-chat-contacts { -webkit-transition: -webkit-transform 0.5s ease-in-out; -moz-transition: -moz-transform 0.5s ease-in-out; -o-transition: -o-transform 0.5s ease-in-out; transition: transform 0.5s ease-in-out; } .direct-chat-text { border-radius: 5px; position: relative; padding: 5px 10px; background: #d2d6de; border: 1px solid #d2d6de; margin: 5px 0 0 50px; color: #444444; } .direct-chat-text:after, .direct-chat-text:before { position: absolute; right: 100%; top: 15px; border: solid transparent; border-right-color: #d2d6de; content: ' '; height: 0; width: 0; pointer-events: none; } .direct-chat-text:after { border-width: 5px; margin-top: -5px; } .direct-chat-text:before { border-width: 6px; margin-top: -6px; } .right .direct-chat-text { margin-right: 50px; margin-left: 0; } .right .direct-chat-text:after, .right .direct-chat-text:before { right: auto; left: 100%; border-right-color: transparent; border-left-color: #d2d6de; } .direct-chat-img { border-radius: 50%; float: left; width: 40px; height: 40px; } .right .direct-chat-img { float: right; } .direct-chat-info { display: block; margin-bottom: 2px; font-size: 12px; } .direct-chat-name { font-weight: 600; } .direct-chat-timestamp { color: #999; } .direct-chat-contacts-open .direct-chat-contacts { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .direct-chat-contacts { -webkit-transform: translate(101%, 0); -ms-transform: translate(101%, 0); -o-transform: translate(101%, 0); transform: translate(101%, 0); position: absolute; top: 0; bottom: 0; height: 250px; width: 100%; background: #222d32; color: #fff; overflow: auto; } .contacts-list > li { border-bottom: 1px solid rgba(0, 0, 0, 0.2); padding: 10px; margin: 0; } .contacts-list > li:before, .contacts-list > li:after { content: " "; display: table; } .contacts-list > li:after { clear: both; } .contacts-list > li:last-of-type { border-bottom: none; } .contacts-list-img { border-radius: 50%; width: 40px; float: left; } .contacts-list-info { margin-left: 45px; color: #fff; } .contacts-list-name, .contacts-list-status { display: block; } .contacts-list-name { font-weight: 600; } .contacts-list-status { font-size: 12px; } .contacts-list-date { color: #aaa; font-weight: normal; } .contacts-list-msg { color: #999; } .direct-chat-danger .right > .direct-chat-text { background: #dd4b39; border-color: #dd4b39; color: #ffffff; } .direct-chat-danger .right > .direct-chat-text:after, .direct-chat-danger .right > .direct-chat-text:before { border-left-color: #dd4b39; } .direct-chat-primary .right > .direct-chat-text { background: #3c8dbc; border-color: #3c8dbc; color: #ffffff; } .direct-chat-primary .right > .direct-chat-text:after, .direct-chat-primary .right > .direct-chat-text:before { border-left-color: #3c8dbc; } .direct-chat-warning .right > .direct-chat-text { background: #f39c12; border-color: #f39c12; color: #ffffff; } .direct-chat-warning .right > .direct-chat-text:after, .direct-chat-warning .right > .direct-chat-text:before { border-left-color: #f39c12; } .direct-chat-info .right > .direct-chat-text { background: #00c0ef; border-color: #00c0ef; color: #ffffff; } .direct-chat-info .right > .direct-chat-text:after, .direct-chat-info .right > .direct-chat-text:before { border-left-color: #00c0ef; } .direct-chat-success .right > .direct-chat-text { background: #00a65a; border-color: #00a65a; color: #ffffff; } .direct-chat-success .right > .direct-chat-text:after, .direct-chat-success .right > .direct-chat-text:before { border-left-color: #00a65a; } /* * Component: Users List * --------------------- */ .users-list > li { width: 25%; float: left; padding: 10px; text-align: center; } .users-list > li img { border-radius: 50%; max-width: 100%; height: auto; } .users-list > li > a:hover, .users-list > li > a:hover .users-list-name { color: #999; } .users-list-name, .users-list-date { display: block; } .users-list-name { font-weight: 600; color: #444; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .users-list-date { color: #999; font-size: 12px; } /* * Component: Carousel * ------------------- */ .carousel-control.left, .carousel-control.right { background-image: none; } .carousel-control > .fa { font-size: 40px; position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -20px; } /* * Component: modal * ---------------- */ .modal { background: rgba(0, 0, 0, 0.3); } .modal-content { border-radius: 0; -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125); border: 0; } @media (min-width: 768px) { .modal-content { -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125); } } .modal-header { border-bottom-color: #f4f4f4; } .modal-footer { border-top-color: #f4f4f4; } .modal-primary .modal-header, .modal-primary .modal-footer { border-color: #307095; } .modal-warning .modal-header, .modal-warning .modal-footer { border-color: #c87f0a; } .modal-info .modal-header, .modal-info .modal-footer { border-color: #0097bc; } .modal-success .modal-header, .modal-success .modal-footer { border-color: #00733e; } .modal-danger .modal-header, .modal-danger .modal-footer { border-color: #c23321; } /* * Component: Social Widgets * ------------------------- */ .box-widget { border: none; position: relative; } .widget-user .widget-user-header { padding: 20px; height: 120px; border-top-right-radius: 3px; border-top-left-radius: 3px; } .widget-user .widget-user-username { margin-top: 0; margin-bottom: 5px; font-size: 25px; font-weight: 300; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); } .widget-user .widget-user-desc { margin-top: 0; } .widget-user .widget-user-image { position: absolute; top: 65px; left: 50%; margin-left: -45px; } .widget-user .widget-user-image > img { width: 90px; height: auto; border: 3px solid #fff; } .widget-user .box-footer { padding-top: 30px; } .widget-user-2 .widget-user-header { padding: 20px; border-top-right-radius: 3px; border-top-left-radius: 3px; } .widget-user-2 .widget-user-username { margin-top: 5px; margin-bottom: 5px; font-size: 25px; font-weight: 300; } .widget-user-2 .widget-user-desc { margin-top: 0; } .widget-user-2 .widget-user-username, .widget-user-2 .widget-user-desc { margin-left: 75px; } .widget-user-2 .widget-user-image > img { width: 65px; height: auto; float: left; } /* * Page: Mailbox * ------------- */ .mailbox-messages > .table { margin: 0; } .mailbox-controls { padding: 5px; } .mailbox-controls.with-border { border-bottom: 1px solid #f4f4f4; } .mailbox-read-info { border-bottom: 1px solid #f4f4f4; padding: 10px; } .mailbox-read-info h3 { font-size: 20px; margin: 0; } .mailbox-read-info h5 { margin: 0; padding: 5px 0 0 0; } .mailbox-read-time { color: #999; font-size: 13px; } .mailbox-read-message { padding: 10px; } .mailbox-attachments li { float: left; width: 200px; border: 1px solid #eee; margin-bottom: 10px; margin-right: 10px; } .mailbox-attachment-name { font-weight: bold; color: #666; } .mailbox-attachment-icon, .mailbox-attachment-info, .mailbox-attachment-size { display: block; } .mailbox-attachment-info { padding: 10px; background: #f4f4f4; } .mailbox-attachment-size { color: #999; font-size: 12px; } .mailbox-attachment-icon { text-align: center; font-size: 65px; color: #666; padding: 20px 10px; } .mailbox-attachment-icon.has-img { padding: 0; } .mailbox-attachment-icon.has-img > img { max-width: 100%; height: auto; } /* * Page: Lock Screen * ----------------- */ /* ADD THIS CLASS TO THE TAG */ .lockscreen { background: #d2d6de; } .lockscreen-logo { font-size: 35px; text-align: center; margin-bottom: 25px; font-weight: 300; } .lockscreen-logo a { color: #444; } .lockscreen-wrapper { max-width: 400px; margin: 0 auto; margin-top: 10%; } /* User name [optional] */ .lockscreen .lockscreen-name { text-align: center; font-weight: 600; } /* Will contain the image and the sign in form */ .lockscreen-item { border-radius: 4px; padding: 0; background: #fff; position: relative; margin: 10px auto 30px auto; width: 290px; } /* User image */ .lockscreen-image { border-radius: 50%; position: absolute; left: -10px; top: -25px; background: #fff; padding: 5px; z-index: 10; } .lockscreen-image > img { border-radius: 50%; width: 70px; height: 70px; } /* Contains the password input and the login button */ .lockscreen-credentials { margin-left: 70px; } .lockscreen-credentials .form-control { border: 0; } .lockscreen-credentials .btn { background-color: #fff; border: 0; padding: 0 10px; } .lockscreen-footer { margin-top: 10px; } /* * Page: Login & Register * ---------------------- */ .login-logo, .register-logo { font-size: 35px; text-align: center; margin-bottom: 25px; font-weight: 300; } .login-logo a, .register-logo a { color: #444; } .login-page, .register-page { background: #d2d6de; } .login-box, .register-box { width: 360px; margin: 7% auto; } @media (max-width: 768px) { .login-box, .register-box { width: 90%; margin-top: 20px; } } .login-box-body, .register-box-body { background: #fff; padding: 20px; border-top: 0; color: #666; } .login-box-body .form-control-feedback, .register-box-body .form-control-feedback { color: #777; } .login-box-msg, .register-box-msg { margin: 0; text-align: center; padding: 0 20px 20px 20px; } .social-auth-links { margin: 10px 0; } /* * Page: 400 and 500 error pages * ------------------------------ */ .error-page { width: 600px; margin: 20px auto 0 auto; } @media (max-width: 991px) { .error-page { width: 100%; } } .error-page > .headline { float: left; font-size: 100px; font-weight: 300; } @media (max-width: 991px) { .error-page > .headline { float: none; text-align: center; } } .error-page > .error-content { margin-left: 190px; display: block; } @media (max-width: 991px) { .error-page > .error-content { margin-left: 0; } } .error-page > .error-content > h3 { font-weight: 300; font-size: 25px; } @media (max-width: 991px) { .error-page > .error-content > h3 { text-align: center; } } /* * Page: Invoice * ------------- */ .invoice { position: relative; background: #fff; border: 1px solid #f4f4f4; padding: 20px; margin: 10px 25px; } .invoice-title { margin-top: 0; } /* * Page: Profile * ------------- */ .profile-user-img { margin: 0 auto; width: 100px; padding: 3px; border: 3px solid #d2d6de; } .profile-username { font-size: 21px; margin-top: 5px; } .post { border-bottom: 1px solid #d2d6de; margin-bottom: 15px; padding-bottom: 15px; color: #666; } .post:last-of-type { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; } .post .user-block { margin-bottom: 15px; } /* * Social Buttons for Bootstrap * * Copyright 2013-2015 Panayiotis Lipiridis * Licensed under the MIT License * * https://github.com/lipis/bootstrap-social */ .btn-social { position: relative; padding-left: 44px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .btn-social > :first-child { position: absolute; left: 0; top: 0; bottom: 0; width: 32px; line-height: 34px; font-size: 1.6em; text-align: center; border-right: 1px solid rgba(0, 0, 0, 0.2); } .btn-social.btn-lg { padding-left: 61px; } .btn-social.btn-lg > :first-child { line-height: 45px; width: 45px; font-size: 1.8em; } .btn-social.btn-sm { padding-left: 38px; } .btn-social.btn-sm > :first-child { line-height: 28px; width: 28px; font-size: 1.4em; } .btn-social.btn-xs { padding-left: 30px; } .btn-social.btn-xs > :first-child { line-height: 20px; width: 20px; font-size: 1.2em; } .btn-social-icon { position: relative; padding-left: 44px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; height: 34px; width: 34px; padding: 0; } .btn-social-icon > :first-child { position: absolute; left: 0; top: 0; bottom: 0; width: 32px; line-height: 34px; font-size: 1.6em; text-align: center; border-right: 1px solid rgba(0, 0, 0, 0.2); } .btn-social-icon.btn-lg { padding-left: 61px; } .btn-social-icon.btn-lg > :first-child { line-height: 45px; width: 45px; font-size: 1.8em; } .btn-social-icon.btn-sm { padding-left: 38px; } .btn-social-icon.btn-sm > :first-child { line-height: 28px; width: 28px; font-size: 1.4em; } .btn-social-icon.btn-xs { padding-left: 30px; } .btn-social-icon.btn-xs > :first-child { line-height: 20px; width: 20px; font-size: 1.2em; } .btn-social-icon > :first-child { border: none; text-align: center; width: 100%; } .btn-social-icon.btn-lg { height: 45px; width: 45px; padding-left: 0; padding-right: 0; } .btn-social-icon.btn-sm { height: 30px; width: 30px; padding-left: 0; padding-right: 0; } .btn-social-icon.btn-xs { height: 22px; width: 22px; padding-left: 0; padding-right: 0; } .btn-adn { color: #ffffff; background-color: #d87a68; border-color: rgba(0, 0, 0, 0.2); } .btn-adn:hover, .btn-adn:focus, .btn-adn.focus, .btn-adn:active, .btn-adn.active, .open > .dropdown-toggle.btn-adn { color: #ffffff; background-color: #ce563f; border-color: rgba(0, 0, 0, 0.2); } .btn-adn:active, .btn-adn.active, .open > .dropdown-toggle.btn-adn { background-image: none; } .btn-adn .badge { color: #d87a68; background-color: #ffffff; } .btn-bitbucket { color: #ffffff; background-color: #205081; border-color: rgba(0, 0, 0, 0.2); } .btn-bitbucket:hover, .btn-bitbucket:focus, .btn-bitbucket.focus, .btn-bitbucket:active, .btn-bitbucket.active, .open > .dropdown-toggle.btn-bitbucket { color: #ffffff; background-color: #163758; border-color: rgba(0, 0, 0, 0.2); } .btn-bitbucket:active, .btn-bitbucket.active, .open > .dropdown-toggle.btn-bitbucket { background-image: none; } .btn-bitbucket .badge { color: #205081; background-color: #ffffff; } .btn-dropbox { color: #ffffff; background-color: #1087dd; border-color: rgba(0, 0, 0, 0.2); } .btn-dropbox:hover, .btn-dropbox:focus, .btn-dropbox.focus, .btn-dropbox:active, .btn-dropbox.active, .open > .dropdown-toggle.btn-dropbox { color: #ffffff; background-color: #0d6aad; border-color: rgba(0, 0, 0, 0.2); } .btn-dropbox:active, .btn-dropbox.active, .open > .dropdown-toggle.btn-dropbox { background-image: none; } .btn-dropbox .badge { color: #1087dd; background-color: #ffffff; } .btn-facebook { color: #ffffff; background-color: #3b5998; border-color: rgba(0, 0, 0, 0.2); } .btn-facebook:hover, .btn-facebook:focus, .btn-facebook.focus, .btn-facebook:active, .btn-facebook.active, .open > .dropdown-toggle.btn-facebook { color: #ffffff; background-color: #2d4373; border-color: rgba(0, 0, 0, 0.2); } .btn-facebook:active, .btn-facebook.active, .open > .dropdown-toggle.btn-facebook { background-image: none; } .btn-facebook .badge { color: #3b5998; background-color: #ffffff; } .btn-flickr { color: #ffffff; background-color: #ff0084; border-color: rgba(0, 0, 0, 0.2); } .btn-flickr:hover, .btn-flickr:focus, .btn-flickr.focus, .btn-flickr:active, .btn-flickr.active, .open > .dropdown-toggle.btn-flickr { color: #ffffff; background-color: #cc006a; border-color: rgba(0, 0, 0, 0.2); } .btn-flickr:active, .btn-flickr.active, .open > .dropdown-toggle.btn-flickr { background-image: none; } .btn-flickr .badge { color: #ff0084; background-color: #ffffff; } .btn-foursquare { color: #ffffff; background-color: #f94877; border-color: rgba(0, 0, 0, 0.2); } .btn-foursquare:hover, .btn-foursquare:focus, .btn-foursquare.focus, .btn-foursquare:active, .btn-foursquare.active, .open > .dropdown-toggle.btn-foursquare { color: #ffffff; background-color: #f71752; border-color: rgba(0, 0, 0, 0.2); } .btn-foursquare:active, .btn-foursquare.active, .open > .dropdown-toggle.btn-foursquare { background-image: none; } .btn-foursquare .badge { color: #f94877; background-color: #ffffff; } .btn-github { color: #ffffff; background-color: #444444; border-color: rgba(0, 0, 0, 0.2); } .btn-github:hover, .btn-github:focus, .btn-github.focus, .btn-github:active, .btn-github.active, .open > .dropdown-toggle.btn-github { color: #ffffff; background-color: #2b2b2b; border-color: rgba(0, 0, 0, 0.2); } .btn-github:active, .btn-github.active, .open > .dropdown-toggle.btn-github { background-image: none; } .btn-github .badge { color: #444444; background-color: #ffffff; } .btn-google { color: #ffffff; background-color: #dd4b39; border-color: rgba(0, 0, 0, 0.2); } .btn-google:hover, .btn-google:focus, .btn-google.focus, .btn-google:active, .btn-google.active, .open > .dropdown-toggle.btn-google { color: #ffffff; background-color: #c23321; border-color: rgba(0, 0, 0, 0.2); } .btn-google:active, .btn-google.active, .open > .dropdown-toggle.btn-google { background-image: none; } .btn-google .badge { color: #dd4b39; background-color: #ffffff; } .btn-instagram { color: #ffffff; background-color: #3f729b; border-color: rgba(0, 0, 0, 0.2); } .btn-instagram:hover, .btn-instagram:focus, .btn-instagram.focus, .btn-instagram:active, .btn-instagram.active, .open > .dropdown-toggle.btn-instagram { color: #ffffff; background-color: #305777; border-color: rgba(0, 0, 0, 0.2); } .btn-instagram:active, .btn-instagram.active, .open > .dropdown-toggle.btn-instagram { background-image: none; } .btn-instagram .badge { color: #3f729b; background-color: #ffffff; } .btn-linkedin { color: #ffffff; background-color: #007bb6; border-color: rgba(0, 0, 0, 0.2); } .btn-linkedin:hover, .btn-linkedin:focus, .btn-linkedin.focus, .btn-linkedin:active, .btn-linkedin.active, .open > .dropdown-toggle.btn-linkedin { color: #ffffff; background-color: #005983; border-color: rgba(0, 0, 0, 0.2); } .btn-linkedin:active, .btn-linkedin.active, .open > .dropdown-toggle.btn-linkedin { background-image: none; } .btn-linkedin .badge { color: #007bb6; background-color: #ffffff; } .btn-microsoft { color: #ffffff; background-color: #2672ec; border-color: rgba(0, 0, 0, 0.2); } .btn-microsoft:hover, .btn-microsoft:focus, .btn-microsoft.focus, .btn-microsoft:active, .btn-microsoft.active, .open > .dropdown-toggle.btn-microsoft { color: #ffffff; background-color: #125acd; border-color: rgba(0, 0, 0, 0.2); } .btn-microsoft:active, .btn-microsoft.active, .open > .dropdown-toggle.btn-microsoft { background-image: none; } .btn-microsoft .badge { color: #2672ec; background-color: #ffffff; } .btn-openid { color: #ffffff; background-color: #f7931e; border-color: rgba(0, 0, 0, 0.2); } .btn-openid:hover, .btn-openid:focus, .btn-openid.focus, .btn-openid:active, .btn-openid.active, .open > .dropdown-toggle.btn-openid { color: #ffffff; background-color: #da7908; border-color: rgba(0, 0, 0, 0.2); } .btn-openid:active, .btn-openid.active, .open > .dropdown-toggle.btn-openid { background-image: none; } .btn-openid .badge { color: #f7931e; background-color: #ffffff; } .btn-pinterest { color: #ffffff; background-color: #cb2027; border-color: rgba(0, 0, 0, 0.2); } .btn-pinterest:hover, .btn-pinterest:focus, .btn-pinterest.focus, .btn-pinterest:active, .btn-pinterest.active, .open > .dropdown-toggle.btn-pinterest { color: #ffffff; background-color: #9f191f; border-color: rgba(0, 0, 0, 0.2); } .btn-pinterest:active, .btn-pinterest.active, .open > .dropdown-toggle.btn-pinterest { background-image: none; } .btn-pinterest .badge { color: #cb2027; background-color: #ffffff; } .btn-reddit { color: #000000; background-color: #eff7ff; border-color: rgba(0, 0, 0, 0.2); } .btn-reddit:hover, .btn-reddit:focus, .btn-reddit.focus, .btn-reddit:active, .btn-reddit.active, .open > .dropdown-toggle.btn-reddit { color: #000000; background-color: #bcddff; border-color: rgba(0, 0, 0, 0.2); } .btn-reddit:active, .btn-reddit.active, .open > .dropdown-toggle.btn-reddit { background-image: none; } .btn-reddit .badge { color: #eff7ff; background-color: #000000; } .btn-soundcloud { color: #ffffff; background-color: #ff5500; border-color: rgba(0, 0, 0, 0.2); } .btn-soundcloud:hover, .btn-soundcloud:focus, .btn-soundcloud.focus, .btn-soundcloud:active, .btn-soundcloud.active, .open > .dropdown-toggle.btn-soundcloud { color: #ffffff; background-color: #cc4400; border-color: rgba(0, 0, 0, 0.2); } .btn-soundcloud:active, .btn-soundcloud.active, .open > .dropdown-toggle.btn-soundcloud { background-image: none; } .btn-soundcloud .badge { color: #ff5500; background-color: #ffffff; } .btn-tumblr { color: #ffffff; background-color: #2c4762; border-color: rgba(0, 0, 0, 0.2); } .btn-tumblr:hover, .btn-tumblr:focus, .btn-tumblr.focus, .btn-tumblr:active, .btn-tumblr.active, .open > .dropdown-toggle.btn-tumblr { color: #ffffff; background-color: #1c2d3f; border-color: rgba(0, 0, 0, 0.2); } .btn-tumblr:active, .btn-tumblr.active, .open > .dropdown-toggle.btn-tumblr { background-image: none; } .btn-tumblr .badge { color: #2c4762; background-color: #ffffff; } .btn-twitter { color: #ffffff; background-color: #55acee; border-color: rgba(0, 0, 0, 0.2); } .btn-twitter:hover, .btn-twitter:focus, .btn-twitter.focus, .btn-twitter:active, .btn-twitter.active, .open > .dropdown-toggle.btn-twitter { color: #ffffff; background-color: #2795e9; border-color: rgba(0, 0, 0, 0.2); } .btn-twitter:active, .btn-twitter.active, .open > .dropdown-toggle.btn-twitter { background-image: none; } .btn-twitter .badge { color: #55acee; background-color: #ffffff; } .btn-vimeo { color: #ffffff; background-color: #1ab7ea; border-color: rgba(0, 0, 0, 0.2); } .btn-vimeo:hover, .btn-vimeo:focus, .btn-vimeo.focus, .btn-vimeo:active, .btn-vimeo.active, .open > .dropdown-toggle.btn-vimeo { color: #ffffff; background-color: #1295bf; border-color: rgba(0, 0, 0, 0.2); } .btn-vimeo:active, .btn-vimeo.active, .open > .dropdown-toggle.btn-vimeo { background-image: none; } .btn-vimeo .badge { color: #1ab7ea; background-color: #ffffff; } .btn-vk { color: #ffffff; background-color: #587ea3; border-color: rgba(0, 0, 0, 0.2); } .btn-vk:hover, .btn-vk:focus, .btn-vk.focus, .btn-vk:active, .btn-vk.active, .open > .dropdown-toggle.btn-vk { color: #ffffff; background-color: #466482; border-color: rgba(0, 0, 0, 0.2); } .btn-vk:active, .btn-vk.active, .open > .dropdown-toggle.btn-vk { background-image: none; } .btn-vk .badge { color: #587ea3; background-color: #ffffff; } .btn-yahoo { color: #ffffff; background-color: #720e9e; border-color: rgba(0, 0, 0, 0.2); } .btn-yahoo:hover, .btn-yahoo:focus, .btn-yahoo.focus, .btn-yahoo:active, .btn-yahoo.active, .open > .dropdown-toggle.btn-yahoo { color: #ffffff; background-color: #500a6f; border-color: rgba(0, 0, 0, 0.2); } .btn-yahoo:active, .btn-yahoo.active, .open > .dropdown-toggle.btn-yahoo { background-image: none; } .btn-yahoo .badge { color: #720e9e; background-color: #ffffff; } /* * Plugin: Full Calendar * --------------------- */ .fc-button { background: #f4f4f4; background-image: none; color: #444; border-color: #ddd; border-bottom-color: #ddd; } .fc-button:hover, .fc-button:active, .fc-button.hover { background-color: #e9e9e9; } .fc-header-title h2 { font-size: 15px; line-height: 1.6em; color: #666; margin-left: 10px; } .fc-header-right { padding-right: 10px; } .fc-header-left { padding-left: 10px; } .fc-widget-header { background: #fafafa; } .fc-grid { width: 100%; border: 0; } .fc-widget-header:first-of-type, .fc-widget-content:first-of-type { border-left: 0; border-right: 0; } .fc-widget-header:last-of-type, .fc-widget-content:last-of-type { border-right: 0; } .fc-toolbar { padding: 10px; margin: 0; } .fc-day-number { font-size: 20px; font-weight: 300; padding-right: 10px; } .fc-color-picker { list-style: none; margin: 0; padding: 0; } .fc-color-picker > li { float: left; font-size: 30px; margin-right: 5px; line-height: 30px; } .fc-color-picker > li .fa { -webkit-transition: -webkit-transform linear 0.3s; -moz-transition: -moz-transform linear 0.3s; -o-transition: -o-transform linear 0.3s; transition: transform linear 0.3s; } .fc-color-picker > li .fa:hover { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); -o-transform: rotate(30deg); transform: rotate(30deg); } #add-new-event { -webkit-transition: all linear 0.3s; -o-transition: all linear 0.3s; transition: all linear 0.3s; } .external-event { padding: 5px 10px; font-weight: bold; margin-bottom: 4px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); border-radius: 3px; cursor: move; } .external-event:hover { box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.2); } /* * Plugin: Select2 * --------------- */ .select2-container--default.select2-container--focus, .select2-selection.select2-container--focus, .select2-container--default:focus, .select2-selection:focus, .select2-container--default:active, .select2-selection:active { outline: none; } .select2-container--default .select2-selection--single, .select2-selection .select2-selection--single { border: 1px solid #d2d6de; border-radius: 0; padding: 6px 12px; height: 34px; } .select2-container--default.select2-container--open { border-color: #3c8dbc; } .select2-dropdown { border: 1px solid #d2d6de; border-radius: 0; } .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #3c8dbc; color: white; } .select2-results__option { padding: 6px 12px; user-select: none; -webkit-user-select: none; } .select2-container .select2-selection--single .select2-selection__rendered { padding-left: 0; padding-right: 0; height: auto; margin-top: -4px; } .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { padding-right: 6px; padding-left: 20px; } .select2-container--default .select2-selection--single .select2-selection__arrow { height: 28px; right: 3px; } .select2-container--default .select2-selection--single .select2-selection__arrow b { margin-top: 0; } .select2-dropdown .select2-search__field, .select2-search--inline .select2-search__field { border: 1px solid #d2d6de; } .select2-dropdown .select2-search__field:focus, .select2-search--inline .select2-search__field:focus { outline: none; border: 1px solid #3c8dbc; } .select2-container--default .select2-results__option[aria-disabled=true] { color: #999; } .select2-container--default .select2-results__option[aria-selected=true] { background-color: #ddd; } .select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[aria-selected=true]:hover { color: #444; } .select2-container--default .select2-selection--multiple { border: 1px solid #d2d6de; border-radius: 0; } .select2-container--default .select2-selection--multiple:focus { border-color: #3c8dbc; } .select2-container--default.select2-container--focus .select2-selection--multiple { border-color: #d2d6de; } .select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #3c8dbc; border-color: #367fa9; padding: 1px 10px; color: #fff; } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { margin-right: 5px; color: rgba(255, 255, 255, 0.7); } .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { color: #fff; } .select2-container .select2-selection--single .select2-selection__rendered { padding-right: 10px; } /* * General: Miscellaneous * ---------------------- */ .pad { padding: 10px; } .margin { margin: 10px; } .margin-bottom { margin-bottom: 20px; } .margin-bottom-none { margin-bottom: 0; } .margin-r-5 { margin-right: 5px; } .inline { display: inline; } .description-block { display: block; margin: 10px 0; text-align: center; } .description-block.margin-bottom { margin-bottom: 25px; } .description-block > .description-header { margin: 0; padding: 0; font-weight: 600; font-size: 16px; } .description-block > .description-text { text-transform: uppercase; } .bg-red, .bg-yellow, .bg-aqua, .bg-blue, .bg-light-blue, .bg-green, .bg-navy, .bg-teal, .bg-olive, .bg-lime, .bg-orange, .bg-fuchsia, .bg-purple, .bg-maroon, .bg-black, .bg-red-active, .bg-yellow-active, .bg-aqua-active, .bg-blue-active, .bg-light-blue-active, .bg-green-active, .bg-navy-active, .bg-teal-active, .bg-olive-active, .bg-lime-active, .bg-orange-active, .bg-fuchsia-active, .bg-purple-active, .bg-maroon-active, .bg-black-active, .callout.callout-danger, .callout.callout-warning, .callout.callout-info, .callout.callout-success, .alert-success, .alert-danger, .alert-error, .alert-warning, .alert-info, .label-danger, .label-info, .label-warning, .label-primary, .label-success, .modal-primary .modal-body, .modal-primary .modal-header, .modal-primary .modal-footer, .modal-warning .modal-body, .modal-warning .modal-header, .modal-warning .modal-footer, .modal-info .modal-body, .modal-info .modal-header, .modal-info .modal-footer, .modal-success .modal-body, .modal-success .modal-header, .modal-success .modal-footer, .modal-danger .modal-body, .modal-danger .modal-header, .modal-danger .modal-footer { color: #fff !important; } .bg-gray { color: #000; background-color: #d2d6de !important; } .bg-gray-light { background-color: #f7f7f7; } .bg-black { background-color: #111111 !important; } .bg-red, .callout.callout-danger, .alert-danger, .alert-error, .label-danger, .modal-danger .modal-body { background-color: #dd4b39 !important; } .bg-yellow, .callout.callout-warning, .alert-warning, .label-warning, .modal-warning .modal-body { background-color: #f39c12 !important; } .bg-aqua, .callout.callout-info, .alert-info, .label-info, .modal-info .modal-body { background-color: #00c0ef !important; } .bg-blue { background-color: #0073b7 !important; } .bg-light-blue, .label-primary, .modal-primary .modal-body { background-color: #3c8dbc !important; } .bg-green, .callout.callout-success, .alert-success, .label-success, .modal-success .modal-body { background-color: #00a65a !important; } .bg-navy { background-color: #001f3f !important; } .bg-teal { background-color: #39cccc !important; } .bg-olive { background-color: #3d9970 !important; } .bg-lime { background-color: #01ff70 !important; } .bg-orange { background-color: #ff851b !important; } .bg-fuchsia { background-color: #f012be !important; } .bg-purple { background-color: #605ca8 !important; } .bg-maroon { background-color: #d81b60 !important; } .bg-gray-active { color: #000; background-color: #b5bbc8 !important; } .bg-black-active { background-color: #000000 !important; } .bg-red-active, .modal-danger .modal-header, .modal-danger .modal-footer { background-color: #d33724 !important; } .bg-yellow-active, .modal-warning .modal-header, .modal-warning .modal-footer { background-color: #db8b0b !important; } .bg-aqua-active, .modal-info .modal-header, .modal-info .modal-footer { background-color: #00a7d0 !important; } .bg-blue-active { background-color: #005384 !important; } .bg-light-blue-active, .modal-primary .modal-header, .modal-primary .modal-footer { background-color: #357ca5 !important; } .bg-green-active, .modal-success .modal-header, .modal-success .modal-footer { background-color: #008d4c !important; } .bg-navy-active { background-color: #001a35 !important; } .bg-teal-active { background-color: #30bbbb !important; } .bg-olive-active { background-color: #368763 !important; } .bg-lime-active { background-color: #00e765 !important; } .bg-orange-active { background-color: #ff7701 !important; } .bg-fuchsia-active { background-color: #db0ead !important; } .bg-purple-active { background-color: #555299 !important; } .bg-maroon-active { background-color: #ca195a !important; } [class^="bg-"].disabled { opacity: 0.65; filter: alpha(opacity=65); } .text-red { color: #dd4b39 !important; } .text-yellow { color: #f39c12 !important; } .text-aqua { color: #00c0ef !important; } .text-blue { color: #0073b7 !important; } .text-black { color: #111111 !important; } .text-light-blue { color: #3c8dbc !important; } .text-green { color: #00a65a !important; } .text-gray { color: #d2d6de !important; } .text-navy { color: #001f3f !important; } .text-teal { color: #39cccc !important; } .text-olive { color: #3d9970 !important; } .text-lime { color: #01ff70 !important; } .text-orange { color: #ff851b !important; } .text-fuchsia { color: #f012be !important; } .text-purple { color: #605ca8 !important; } .text-maroon { color: #d81b60 !important; } .link-muted { color: #7a869d; } .link-muted:hover, .link-muted:focus { color: #606c84; } .link-black { color: #666; } .link-black:hover, .link-black:focus { color: #999; } .hide { display: none !important; } .no-border { border: 0 !important; } .no-padding { padding: 0 !important; } .no-margin { margin: 0 !important; } .no-shadow { box-shadow: none!important; } .list-unstyled, .chart-legend, .contacts-list, .users-list, .mailbox-attachments { list-style: none; margin: 0; padding: 0; } .list-group-unbordered > .list-group-item { border-left: 0; border-right: 0; border-radius: 0; padding-left: 0; padding-right: 0; } .flat { border-radius: 0 !important; } .text-bold, .text-bold.table td, .text-bold.table th { font-weight: 700; } .text-sm { font-size: 12px; } .jqstooltip { padding: 5px!important; width: auto!important; height: auto!important; } .bg-teal-gradient { background: #39cccc !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #39cccc), color-stop(1, #7adddd)) !important; background: -ms-linear-gradient(bottom, #39cccc, #7adddd) !important; background: -moz-linear-gradient(center bottom, #39cccc 0%, #7adddd 100%) !important; background: -o-linear-gradient(#7adddd, #39cccc) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7adddd', endColorstr='#39cccc', GradientType=0) !important; color: #fff; } .bg-light-blue-gradient { background: #3c8dbc !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #3c8dbc), color-stop(1, #67a8ce)) !important; background: -ms-linear-gradient(bottom, #3c8dbc, #67a8ce) !important; background: -moz-linear-gradient(center bottom, #3c8dbc 0%, #67a8ce 100%) !important; background: -o-linear-gradient(#67a8ce, #3c8dbc) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#67a8ce', endColorstr='#3c8dbc', GradientType=0) !important; color: #fff; } .bg-blue-gradient { background: #0073b7 !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #0073b7), color-stop(1, #0089db)) !important; background: -ms-linear-gradient(bottom, #0073b7, #0089db) !important; background: -moz-linear-gradient(center bottom, #0073b7 0%, #0089db 100%) !important; background: -o-linear-gradient(#0089db, #0073b7) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0089db', endColorstr='#0073b7', GradientType=0) !important; color: #fff; } .bg-aqua-gradient { background: #00c0ef !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00c0ef), color-stop(1, #14d1ff)) !important; background: -ms-linear-gradient(bottom, #00c0ef, #14d1ff) !important; background: -moz-linear-gradient(center bottom, #00c0ef 0%, #14d1ff 100%) !important; background: -o-linear-gradient(#14d1ff, #00c0ef) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#14d1ff', endColorstr='#00c0ef', GradientType=0) !important; color: #fff; } .bg-yellow-gradient { background: #f39c12 !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #f39c12), color-stop(1, #f7bc60)) !important; background: -ms-linear-gradient(bottom, #f39c12, #f7bc60) !important; background: -moz-linear-gradient(center bottom, #f39c12 0%, #f7bc60 100%) !important; background: -o-linear-gradient(#f7bc60, #f39c12) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7bc60', endColorstr='#f39c12', GradientType=0) !important; color: #fff; } .bg-purple-gradient { background: #605ca8 !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #605ca8), color-stop(1, #9491c4)) !important; background: -ms-linear-gradient(bottom, #605ca8, #9491c4) !important; background: -moz-linear-gradient(center bottom, #605ca8 0%, #9491c4 100%) !important; background: -o-linear-gradient(#9491c4, #605ca8) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9491c4', endColorstr='#605ca8', GradientType=0) !important; color: #fff; } .bg-green-gradient { background: #00a65a !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #00a65a), color-stop(1, #00ca6d)) !important; background: -ms-linear-gradient(bottom, #00a65a, #00ca6d) !important; background: -moz-linear-gradient(center bottom, #00a65a 0%, #00ca6d 100%) !important; background: -o-linear-gradient(#00ca6d, #00a65a) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ca6d', endColorstr='#00a65a', GradientType=0) !important; color: #fff; } .bg-red-gradient { background: #dd4b39 !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dd4b39), color-stop(1, #e47365)) !important; background: -ms-linear-gradient(bottom, #dd4b39, #e47365) !important; background: -moz-linear-gradient(center bottom, #dd4b39 0%, #e47365 100%) !important; background: -o-linear-gradient(#e47365, #dd4b39) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e47365', endColorstr='#dd4b39', GradientType=0) !important; color: #fff; } .bg-black-gradient { background: #111111 !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #111111), color-stop(1, #2b2b2b)) !important; background: -ms-linear-gradient(bottom, #111111, #2b2b2b) !important; background: -moz-linear-gradient(center bottom, #111111 0%, #2b2b2b 100%) !important; background: -o-linear-gradient(#2b2b2b, #111111) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b2b2b', endColorstr='#111111', GradientType=0) !important; color: #fff; } .bg-maroon-gradient { background: #d81b60 !important; background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #d81b60), color-stop(1, #e73f7c)) !important; background: -ms-linear-gradient(bottom, #d81b60, #e73f7c) !important; background: -moz-linear-gradient(center bottom, #d81b60 0%, #e73f7c 100%) !important; background: -o-linear-gradient(#e73f7c, #d81b60) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e73f7c', endColorstr='#d81b60', GradientType=0) !important; color: #fff; } .description-block .description-icon { font-size: 16px; } .no-pad-top { padding-top: 0; } .position-static { position: static!important; } .list-header { font-size: 15px; padding: 10px 4px; font-weight: bold; color: #666; } .list-seperator { height: 1px; background: #f4f4f4; margin: 15px 0 9px 0; } .list-link > a { padding: 4px; color: #777; } .list-link > a:hover { color: #222; } .font-light { font-weight: 300; } .user-block:before, .user-block:after { content: " "; display: table; } .user-block:after { clear: both; } .user-block img { width: 40px; height: 40px; float: left; } .user-block .username, .user-block .description, .user-block .comment { display: block; margin-left: 50px; } .user-block .username { font-size: 16px; font-weight: 600; } .user-block .description { color: #999; font-size: 13px; } .user-block.user-block-sm .username, .user-block.user-block-sm .description, .user-block.user-block-sm .comment { margin-left: 40px; } .user-block.user-block-sm .username { font-size: 14px; } .img-sm, .img-md, .img-lg, .box-comments .box-comment img, .user-block.user-block-sm img { float: left; } .img-sm, .box-comments .box-comment img, .user-block.user-block-sm img { width: 30px!important; height: 30px!important; } .img-sm + .img-push { margin-left: 40px; } .img-md { width: 60px; height: 60px; } .img-md + .img-push { margin-left: 70px; } .img-lg { width: 100px; height: 100px; } .img-lg + .img-push { margin-left: 110px; } .img-bordered { border: 3px solid #d2d6de; padding: 3px; } .img-bordered-sm { border: 2px solid #d2d6de; padding: 2px; } .attachment-block { border: 1px solid #f4f4f4; padding: 5px; margin-bottom: 10px; background: #f7f7f7; } .attachment-block .attachment-img { max-width: 100px; max-height: 100px; height: auto; float: left; } .attachment-block .attachment-pushed { margin-left: 110px; } .attachment-block .attachment-heading { margin: 0; } .attachment-block .attachment-text { color: #555; } .connectedSortable { min-height: 100px; } .ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .sort-highlight { background: #f4f4f4; border: 1px dashed #ddd; margin-bottom: 10px; } .full-opacity-hover { opacity: 0.65; filter: alpha(opacity=65); } .full-opacity-hover:hover { opacity: 1; filter: alpha(opacity=100); } .chart { position: relative; overflow: hidden; width: 100%; } .chart svg, .chart canvas { width: 100%!important; } /* * Misc: print * ----------- */ @media print { .no-print, .main-sidebar, .left-side, .main-header, .content-header { display: none!important; } .content-wrapper, .right-side, .main-footer { margin-left: 0!important; min-height: 0!important; -webkit-transform: translate(0, 0) !important; -ms-transform: translate(0, 0) !important; -o-transform: translate(0, 0) !important; transform: translate(0, 0) !important; } .fixed .content-wrapper, .fixed .right-side { padding-top: 0!important; } .invoice { width: 100%; border: 0; margin: 0; padding: 0; } .invoice-col { float: left; width: 33.3333333%; } .table-responsive { overflow: auto; } .table-responsive > .table tr th, .table-responsive > .table tr td { white-space: normal!important; } } ================================================ FILE: css/flexslider.css ================================================ /* * jQuery FlexSlider v2.4.0 * http://www.woothemes.com/flexslider/ * * Copyright 2012 WooThemes * Free to use under the GPLv2 and later license. * http://www.gnu.org/licenses/gpl-2.0.html * * Contributing author: Tyler Smith (@mbmufffin) * */ /* ==================================================================================================================== * FONT-FACE * ====================================================================================================================*/ @font-face { font-family: 'flexslider-icon'; src: url('../fonts/webfont/flexslider-icon.eot'); src: url('../fonts/webfonts/flexslider-icon.eot?#iefix') format('embedded-opentype'), url('../fonts/webfonts/flexslider-icon.woff') format('woff'), url('../fonts/webfonts/flexslider-icon.ttf') format('truetype'), url('../fonts/webfonts/flexslider-icon.svg#flexslider-icon') format('svg'); font-weight: normal; font-style: normal; } /* ==================================================================================================================== * RESETS * ====================================================================================================================*/ .flex-container a:hover, .flex-slider a:hover, .flex-container a:focus, .flex-slider a:focus { outline: none; } .slides, .slides > li, .flex-control-nav, .flex-direction-nav { margin: 0; padding: 0; list-style: none; } .flex-pauseplay span { text-transform: capitalize; } /* ==================================================================================================================== * BASE STYLES * ====================================================================================================================*/ .flexslider { margin: 0; padding: 0; } .flexslider .slides > li { display: none; -webkit-backface-visibility: hidden; } .flexslider .slides img { width: 100%; display: block; } .flexslider .slides:after { content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } html[xmlns] .flexslider .slides { display: block; } * html .flexslider .slides { height: 1%; } .no-js .flexslider .slides > li:first-child { display: block; } /* ==================================================================================================================== * DEFAULT THEME * ====================================================================================================================*/ .flexslider { margin: 0 0 60px; background: #ffffff; border: 4px solid #ffffff; position: relative; zoom: 1; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); -moz-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); -o-box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); box-shadow: '' 0 1px 4px rgba(0, 0, 0, 0.2); } .flexslider .slides { zoom: 1; } .flexslider .slides img { height: auto; } .flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; border: 1px solid #D1CFCF; padding: 2em 0em; } .loading .flex-viewport { max-height: 300px; } .carousel li { margin-right: 5px; } .flex-direction-nav { *height: 0; } .flex-direction-nav a { text-decoration: none; display: block; width: 40px; height: 40px; margin: -20px 0 0; position: absolute; top: 41%; z-index: 10; overflow: hidden; opacity: 0; cursor: pointer; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; background: url(../images/img-sprite.png) -149px -6px ; text-indent: -9999px ; } .flex-direction-nav .flex-prev { left: -50px; } .flex-direction-nav .flex-next { right: -50px; background: url(../images/img-sprite.png) -184px -6px ; } .flexslider:hover .flex-direction-nav .flex-prev { opacity: 0.7; left: 10px; } .flexslider:hover .flex-direction-nav .flex-prev:hover { opacity: 1; } .flexslider:hover .flex-direction-nav .flex-next { opacity: 0.7; right: 10px; } .flexslider:hover .flex-direction-nav .flex-next:hover { opacity: 1; } .flex-direction-nav .flex-disabled { opacity: 0!important; filter: alpha(opacity=0); cursor: default; } .flex-pauseplay a { display: block; width: 20px; height: 20px; position: absolute; bottom: 5px; left: 10px; opacity: 0.8; z-index: 10; overflow: hidden; cursor: pointer; color: #000; } .flex-pauseplay a:before { font-family: "flexslider-icon"; font-size: 20px; display: inline-block; content: '\f004'; } .flex-pauseplay a:hover { opacity: 1; } .flex-pauseplay a .flex-play:before { content: '\f003'; } .flex-control-nav { width: 100%; position: absolute; bottom: -40px; text-align: center; } .flex-control-nav li { margin: 0 6px; display: inline-block; zoom: 1; *display: inline; } .flex-control-paging li a { width: 11px; height: 11px; display: block; background: #666; background: rgba(0, 0, 0, 0.5); cursor: pointer; text-indent: -9999px; -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3); -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; } .flex-control-paging li a:hover { background: #333; background: rgba(0, 0, 0, 0.7); } .flex-control-paging li a.flex-active { background: #000; background: rgba(0, 0, 0, 0.9); cursor: default; } .flex-control-thumbs { margin: 5px 0 0; position: static; overflow: hidden; } .flex-control-thumbs li { width: 24.2%; float: left; margin: 0 1% 0 0; } .flex-control-thumbs li:nth-child(4){ margin:0; } .flex-control-thumbs img { width: 100%; height: auto; display: block; opacity: .7; cursor: pointer; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; border: 1px solid #D1CFCF; } .flex-control-thumbs img:hover { opacity: 1; } .flex-control-thumbs .flex-active { opacity: 1; cursor: default; } /* ==================================================================================================================== * RESPONSIVE * ====================================================================================================================*/ @media screen and (max-width: 860px) { .flex-direction-nav .flex-prev { opacity: 1; left: 10px; } .flex-direction-nav .flex-next { opacity: 1; right: 10px; } } @media screen and (max-width:480px) { .flexslider { margin: 0 0 1em; } } ================================================ FILE: css/site.css ================================================  .wrap { overflow: hidden; margin: 10px; } .gallery-box { float: left; position: relative; width: 20%; padding-bottom: 20%; border-radius: 3px; background: #FFF none repeat scroll 0% 0%; border-top: 3px solid #D2D6DE; margin-bottom: 20px; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); padding-right:2px; padding-left:2px; } .boxInner { position: absolute; left: 10px; right: 10px; top: 10px; bottom: 10px; overflow: hidden; } .boxInner img { width: 100%; } .boxInner .titleBox { position: absolute; bottom: 0; left: 0; right: 0; margin-bottom: -50px; background: #000; background: rgba(0, 0, 0, 0.5); color: #FFF; padding: 10px; text-align: center; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; } div.no-touch .boxInner:hover .titleBox, div.touch .boxInner.touchFocus .titleBox { margin-bottom: 0; } @media only screen and (max-width : 480px) { /* Smartphone view: 1 tile */ .gallery-box { width: 100%; padding-bottom: 100%; } } @media only screen and (max-width : 650px) and (min-width : 481px) { /* Tablet view: 2 tiles */ .gallery-box { width: 50%; padding-bottom: 50%; } } @media only screen and (max-width : 1050px) and (min-width : 651px) { /* Small desktop / ipad view: 3 tiles */ .gallery-box { width: 33.3%; padding-bottom: 33.3%; } } @media only screen and (max-width : 1290px) and (min-width : 1051px) { /* Medium desktop: 4 tiles */ .gallery-box { width: 25%; padding-bottom: 25%; } } .website-text{ color:#808080; padding:2px 3px 14px 3px;text-align:center;font-weight:bold; } /*=========== OWL Slider CSS ============*/ #owl-demo .item{ background: #3fbf79; padding: 4px 0px; margin: 10px; color: #FFF; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; text-align: center; height:116px; } #owl-demo img{ height:85px; padding:10px; } .customNavigation{ text-align: center; } .customNavigation a{ -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } #owl-single .item img{ display: block; width: 100%; height: 300px; } .border-radius-5{ border-radius:5px!important; } .error-template {padding: 40px 15px;text-align: center;} .error-actions {margin-top:15px;margin-bottom:15px;} .error-actions .btn { margin-right:10px; } .alert{ position: fixed; top: 50px; left: 25%; width: 50%; z-index: 999999; } ================================================ FILE: css/style.css ================================================  /*===padding styles=====*/ .padding-none{ padding:0px!important; } .padding-left-none{ padding-left:0px!important; } .padding-right-none{ padding-right:0px!important; } .padding-top-none{ padding-top:0px!important; } .padding-bottom-none{ padding-bottom:0px!important; } .padding-top-bottom-none{ padding-top:0px!important; padding-bottom:0px!important; } .padding-left-right-none{ padding-left:0px!important; padding-right:0px!important; } /*====margin styles====*/ .margin-none{ margin:0px!important; } .margin-left-none{ margin-left:0px!important; } .margin-right-none{ margin-right:0px!important; } .margin-top-none{ margin-top:0px!important; } .margin-bottom-none{ margin-bottom:0px!important; } .margin-top-bottom-none{ margin-top:0px!important; margin-bottom:0px!important; } .margin-left-right-none { margin-left: 0px !important; margin-right:0px!important; } .margin-top-10{ margin-top:10px!important; } .margin-top-20{ margin-top:20px!important; } .margin-top-80{ margin-top:80px!important; } /*============ng-click style============*/ [ng-click],[data-ng-click],a{ cursor:pointer; } a{ text-decoration:none!important; } .text-white{ color:#fff!important; } ================================================ FILE: css/themes.css ================================================ /* * Skin: Blue * ---------- */ .skin-blue .main-header .navbar { background-color: #3c8dbc; } .skin-blue .main-header .navbar .nav > li > a { color: #ffffff; } .skin-blue .main-header .navbar .nav > li > a:hover, .skin-blue .main-header .navbar .nav > li > a:active, .skin-blue .main-header .navbar .nav > li > a:focus, .skin-blue .main-header .navbar .nav .open > a, .skin-blue .main-header .navbar .nav .open > a:hover, .skin-blue .main-header .navbar .nav .open > a:focus, .skin-blue .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-blue .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-blue .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-blue .main-header .navbar .sidebar-toggle { color: #fff; } .skin-blue .main-header .navbar .sidebar-toggle:hover { background-color: #367fa9; } @media (max-width: 767px) { .skin-blue .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-blue .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-blue .main-header .navbar .dropdown-menu li a:hover { background: #367fa9; } } .skin-blue .main-header .logo { background-color: #367fa9; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue .main-header .logo:hover { background-color: #357ca5; } .skin-blue .main-header li.user-header { background-color: #3c8dbc; } .skin-blue .content-header { background: transparent; } .skin-blue .wrapper, .skin-blue .main-sidebar, .skin-blue .left-side { background-color: #222d32; } .skin-blue .user-panel > .info, .skin-blue .user-panel > .info > a { color: #fff; } .skin-blue .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-blue .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-blue .sidebar-menu > li:hover > a, .skin-blue .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #3c8dbc; } .skin-blue .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-blue .sidebar a { color: #b8c7ce; } .skin-blue .sidebar a:hover { text-decoration: none; } .skin-blue .treeview-menu > li > a { color: #8aa4af; } .skin-blue .treeview-menu > li.active > a, .skin-blue .treeview-menu > li > a:hover { color: #ffffff; } .skin-blue .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-blue .sidebar-form input[type="text"], .skin-blue .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-blue .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-blue .sidebar-form input[type="text"]:focus, .skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-blue .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } .skin-blue.layout-top-nav .main-header > .logo { background-color: #3c8dbc; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue.layout-top-nav .main-header > .logo:hover { background-color: #3b8ab8; } /* * Skin: Blue * ---------- */ .skin-blue-light .main-header .navbar { background-color: #3c8dbc; } .skin-blue-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-blue-light .main-header .navbar .nav > li > a:hover, .skin-blue-light .main-header .navbar .nav > li > a:active, .skin-blue-light .main-header .navbar .nav > li > a:focus, .skin-blue-light .main-header .navbar .nav .open > a, .skin-blue-light .main-header .navbar .nav .open > a:hover, .skin-blue-light .main-header .navbar .nav .open > a:focus, .skin-blue-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-blue-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-blue-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-blue-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-blue-light .main-header .navbar .sidebar-toggle:hover { background-color: #367fa9; } @media (max-width: 767px) { .skin-blue-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-blue-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-blue-light .main-header .navbar .dropdown-menu li a:hover { background: #367fa9; } } .skin-blue-light .main-header .logo { background-color: #3c8dbc; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue-light .main-header .logo:hover { background-color: #3b8ab8; } .skin-blue-light .main-header li.user-header { background-color: #3c8dbc; } .skin-blue-light .content-header { background: transparent; } .skin-blue-light .wrapper, .skin-blue-light .main-sidebar, .skin-blue-light .left-side { background-color: #f9fafc; } .skin-blue-light .content-wrapper, .skin-blue-light .main-footer { border-left: 1px solid #d2d6de; } .skin-blue-light .user-panel > .info, .skin-blue-light .user-panel > .info > a { color: #444444; } .skin-blue-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-blue-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-blue-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-blue-light .sidebar-menu > li:hover > a, .skin-blue-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-blue-light .sidebar-menu > li.active { border-left-color: #3c8dbc; } .skin-blue-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-blue-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-blue-light .sidebar a { color: #444444; } .skin-blue-light .sidebar a:hover { text-decoration: none; } .skin-blue-light .treeview-menu > li > a { color: #777777; } .skin-blue-light .treeview-menu > li.active > a, .skin-blue-light .treeview-menu > li > a:hover { color: #000000; } .skin-blue-light .treeview-menu > li.active > a { font-weight: 600; } .skin-blue-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-blue-light .sidebar-form input[type="text"], .skin-blue-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-blue-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-blue-light .sidebar-form input[type="text"]:focus, .skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-blue-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } .skin-blue-light .main-footer { border-top-color: #d2d6de; } .skin-blue.layout-top-nav .main-header > .logo { background-color: #3c8dbc; color: #ffffff; border-bottom: 0 solid transparent; } .skin-blue.layout-top-nav .main-header > .logo:hover { background-color: #3b8ab8; } /* * Skin: Black * ----------- */ /* skin-black navbar */ .skin-black .main-header { -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); } .skin-black .main-header .navbar-toggle { color: #333; } .skin-black .main-header .navbar-brand { color: #333; border-right: 1px solid #eee; } .skin-black .main-header > .navbar { background-color: #ffffff; } .skin-black .main-header > .navbar .nav > li > a { color: #333333; } .skin-black .main-header > .navbar .nav > li > a:hover, .skin-black .main-header > .navbar .nav > li > a:active, .skin-black .main-header > .navbar .nav > li > a:focus, .skin-black .main-header > .navbar .nav .open > a, .skin-black .main-header > .navbar .nav .open > a:hover, .skin-black .main-header > .navbar .nav .open > a:focus, .skin-black .main-header > .navbar .nav > .active > a { background: #ffffff; color: #999999; } .skin-black .main-header > .navbar .sidebar-toggle { color: #333333; } .skin-black .main-header > .navbar .sidebar-toggle:hover { color: #999999; background: #ffffff; } .skin-black .main-header > .navbar > .sidebar-toggle { color: #333; border-right: 1px solid #eee; } .skin-black .main-header > .navbar .navbar-nav > li > a { border-right: 1px solid #eee; } .skin-black .main-header > .navbar .navbar-custom-menu .navbar-nav > li > a, .skin-black .main-header > .navbar .navbar-right > li > a { border-left: 1px solid #eee; border-right-width: 0; } .skin-black .main-header > .logo { background-color: #ffffff; color: #333333; border-bottom: 0 solid transparent; border-right: 1px solid #eee; } .skin-black .main-header > .logo:hover { background-color: #fcfcfc; } @media (max-width: 767px) { .skin-black .main-header > .logo { background-color: #222222; color: #ffffff; border-bottom: 0 solid transparent; border-right: none; } .skin-black .main-header > .logo:hover { background-color: #1f1f1f; } } .skin-black .main-header li.user-header { background-color: #222; } .skin-black .content-header { background: transparent; box-shadow: none; } .skin-black .wrapper, .skin-black .main-sidebar, .skin-black .left-side { background-color: #222d32; } .skin-black .user-panel > .info, .skin-black .user-panel > .info > a { color: #fff; } .skin-black .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-black .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-black .sidebar-menu > li:hover > a, .skin-black .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #ffffff; } .skin-black .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-black .sidebar a { color: #b8c7ce; } .skin-black .sidebar a:hover { text-decoration: none; } .skin-black .treeview-menu > li > a { color: #8aa4af; } .skin-black .treeview-menu > li.active > a, .skin-black .treeview-menu > li > a:hover { color: #ffffff; } .skin-black .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-black .sidebar-form input[type="text"], .skin-black .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-black .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-black .sidebar-form input[type="text"]:focus, .skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-black .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Black * ----------- */ /* skin-black navbar */ .skin-black-light .main-header { -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05); } .skin-black-light .main-header .navbar-toggle { color: #333; } .skin-black-light .main-header .navbar-brand { color: #333; border-right: 1px solid #eee; } .skin-black-light .main-header > .navbar { background-color: #ffffff; } .skin-black-light .main-header > .navbar .nav > li > a { color: #333333; } .skin-black-light .main-header > .navbar .nav > li > a:hover, .skin-black-light .main-header > .navbar .nav > li > a:active, .skin-black-light .main-header > .navbar .nav > li > a:focus, .skin-black-light .main-header > .navbar .nav .open > a, .skin-black-light .main-header > .navbar .nav .open > a:hover, .skin-black-light .main-header > .navbar .nav .open > a:focus, .skin-black-light .main-header > .navbar .nav > .active > a { background: #ffffff; color: #999999; } .skin-black-light .main-header > .navbar .sidebar-toggle { color: #333333; } .skin-black-light .main-header > .navbar .sidebar-toggle:hover { color: #999999; background: #ffffff; } .skin-black-light .main-header > .navbar > .sidebar-toggle { color: #333; border-right: 1px solid #eee; } .skin-black-light .main-header > .navbar .navbar-nav > li > a { border-right: 1px solid #eee; } .skin-black-light .main-header > .navbar .navbar-custom-menu .navbar-nav > li > a, .skin-black-light .main-header > .navbar .navbar-right > li > a { border-left: 1px solid #eee; border-right-width: 0; } .skin-black-light .main-header > .logo { background-color: #ffffff; color: #333333; border-bottom: 0 solid transparent; border-right: 1px solid #eee; } .skin-black-light .main-header > .logo:hover { background-color: #fcfcfc; } @media (max-width: 767px) { .skin-black-light .main-header > .logo { background-color: #222222; color: #ffffff; border-bottom: 0 solid transparent; border-right: none; } .skin-black-light .main-header > .logo:hover { background-color: #1f1f1f; } } .skin-black-light .main-header li.user-header { background-color: #222; } .skin-black-light .content-header { background: transparent; box-shadow: none; } .skin-black-light .wrapper, .skin-black-light .main-sidebar, .skin-black-light .left-side { background-color: #f9fafc; } .skin-black-light .content-wrapper, .skin-black-light .main-footer { border-left: 1px solid #d2d6de; } .skin-black-light .user-panel > .info, .skin-black-light .user-panel > .info > a { color: #444444; } .skin-black-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-black-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-black-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-black-light .sidebar-menu > li:hover > a, .skin-black-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-black-light .sidebar-menu > li.active { border-left-color: #ffffff; } .skin-black-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-black-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-black-light .sidebar a { color: #444444; } .skin-black-light .sidebar a:hover { text-decoration: none; } .skin-black-light .treeview-menu > li > a { color: #777777; } .skin-black-light .treeview-menu > li.active > a, .skin-black-light .treeview-menu > li > a:hover { color: #000000; } .skin-black-light .treeview-menu > li.active > a { font-weight: 600; } .skin-black-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-black-light .sidebar-form input[type="text"], .skin-black-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-black-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-black-light .sidebar-form input[type="text"]:focus, .skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-black-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Green * ----------- */ .skin-green .main-header .navbar { background-color: #00a65a; } .skin-green .main-header .navbar .nav > li > a { color: #ffffff; } .skin-green .main-header .navbar .nav > li > a:hover, .skin-green .main-header .navbar .nav > li > a:active, .skin-green .main-header .navbar .nav > li > a:focus, .skin-green .main-header .navbar .nav .open > a, .skin-green .main-header .navbar .nav .open > a:hover, .skin-green .main-header .navbar .nav .open > a:focus, .skin-green .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-green .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-green .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-green .main-header .navbar .sidebar-toggle { color: #fff; } .skin-green .main-header .navbar .sidebar-toggle:hover { background-color: #008d4c; } @media (max-width: 767px) { .skin-green .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-green .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-green .main-header .navbar .dropdown-menu li a:hover { background: #008d4c; } } .skin-green .main-header .logo { background-color: #008d4c; color: #ffffff; border-bottom: 0 solid transparent; } .skin-green .main-header .logo:hover { background-color: #008749; } .skin-green .main-header li.user-header { background-color: #00a65a; } .skin-green .content-header { background: transparent; } .skin-green .wrapper, .skin-green .main-sidebar, .skin-green .left-side { background-color: #222d32; } .skin-green .user-panel > .info, .skin-green .user-panel > .info > a { color: #fff; } .skin-green .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-green .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-green .sidebar-menu > li:hover > a, .skin-green .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #00a65a; } .skin-green .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-green .sidebar a { color: #b8c7ce; } .skin-green .sidebar a:hover { text-decoration: none; } .skin-green .treeview-menu > li > a { color: #8aa4af; } .skin-green .treeview-menu > li.active > a, .skin-green .treeview-menu > li > a:hover { color: #ffffff; } .skin-green .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-green .sidebar-form input[type="text"], .skin-green .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-green .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-green .sidebar-form input[type="text"]:focus, .skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-green .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Green * ----------- */ .skin-green-light .main-header .navbar { background-color: #00a65a; } .skin-green-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-green-light .main-header .navbar .nav > li > a:hover, .skin-green-light .main-header .navbar .nav > li > a:active, .skin-green-light .main-header .navbar .nav > li > a:focus, .skin-green-light .main-header .navbar .nav .open > a, .skin-green-light .main-header .navbar .nav .open > a:hover, .skin-green-light .main-header .navbar .nav .open > a:focus, .skin-green-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-green-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-green-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-green-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-green-light .main-header .navbar .sidebar-toggle:hover { background-color: #008d4c; } @media (max-width: 767px) { .skin-green-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-green-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-green-light .main-header .navbar .dropdown-menu li a:hover { background: #008d4c; } } .skin-green-light .main-header .logo { background-color: #00a65a; color: #ffffff; border-bottom: 0 solid transparent; } .skin-green-light .main-header .logo:hover { background-color: #00a157; } .skin-green-light .main-header li.user-header { background-color: #00a65a; } .skin-green-light .content-header { background: transparent; } .skin-green-light .wrapper, .skin-green-light .main-sidebar, .skin-green-light .left-side { background-color: #f9fafc; } .skin-green-light .content-wrapper, .skin-green-light .main-footer { border-left: 1px solid #d2d6de; } .skin-green-light .user-panel > .info, .skin-green-light .user-panel > .info > a { color: #444444; } .skin-green-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-green-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-green-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-green-light .sidebar-menu > li:hover > a, .skin-green-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-green-light .sidebar-menu > li.active { border-left-color: #00a65a; } .skin-green-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-green-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-green-light .sidebar a { color: #444444; } .skin-green-light .sidebar a:hover { text-decoration: none; } .skin-green-light .treeview-menu > li > a { color: #777777; } .skin-green-light .treeview-menu > li.active > a, .skin-green-light .treeview-menu > li > a:hover { color: #000000; } .skin-green-light .treeview-menu > li.active > a { font-weight: 600; } .skin-green-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-green-light .sidebar-form input[type="text"], .skin-green-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-green-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-green-light .sidebar-form input[type="text"]:focus, .skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-green-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-green-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Red * --------- */ .skin-red .main-header .navbar { background-color: #dd4b39; } .skin-red .main-header .navbar .nav > li > a { color: #ffffff; } .skin-red .main-header .navbar .nav > li > a:hover, .skin-red .main-header .navbar .nav > li > a:active, .skin-red .main-header .navbar .nav > li > a:focus, .skin-red .main-header .navbar .nav .open > a, .skin-red .main-header .navbar .nav .open > a:hover, .skin-red .main-header .navbar .nav .open > a:focus, .skin-red .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-red .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-red .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-red .main-header .navbar .sidebar-toggle { color: #fff; } .skin-red .main-header .navbar .sidebar-toggle:hover { background-color: #d73925; } @media (max-width: 767px) { .skin-red .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-red .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-red .main-header .navbar .dropdown-menu li a:hover { background: #d73925; } } .skin-red .main-header .logo { background-color: #d73925; color: #ffffff; border-bottom: 0 solid transparent; } .skin-red .main-header .logo:hover { background-color: #d33724; } .skin-red .main-header li.user-header { background-color: #dd4b39; } .skin-red .content-header { background: transparent; } .skin-red .wrapper, .skin-red .main-sidebar, .skin-red .left-side { background-color: #222d32; } .skin-red .user-panel > .info, .skin-red .user-panel > .info > a { color: #fff; } .skin-red .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-red .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-red .sidebar-menu > li:hover > a, .skin-red .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #dd4b39; } .skin-red .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-red .sidebar a { color: #b8c7ce; } .skin-red .sidebar a:hover { text-decoration: none; } .skin-red .treeview-menu > li > a { color: #8aa4af; } .skin-red .treeview-menu > li.active > a, .skin-red .treeview-menu > li > a:hover { color: #ffffff; } .skin-red .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-red .sidebar-form input[type="text"], .skin-red .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-red .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-red .sidebar-form input[type="text"]:focus, .skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-red .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Red * --------- */ .skin-red-light .main-header .navbar { background-color: #dd4b39; } .skin-red-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-red-light .main-header .navbar .nav > li > a:hover, .skin-red-light .main-header .navbar .nav > li > a:active, .skin-red-light .main-header .navbar .nav > li > a:focus, .skin-red-light .main-header .navbar .nav .open > a, .skin-red-light .main-header .navbar .nav .open > a:hover, .skin-red-light .main-header .navbar .nav .open > a:focus, .skin-red-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-red-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-red-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-red-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-red-light .main-header .navbar .sidebar-toggle:hover { background-color: #d73925; } @media (max-width: 767px) { .skin-red-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-red-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-red-light .main-header .navbar .dropdown-menu li a:hover { background: #d73925; } } .skin-red-light .main-header .logo { background-color: #dd4b39; color: #ffffff; border-bottom: 0 solid transparent; } .skin-red-light .main-header .logo:hover { background-color: #dc4735; } .skin-red-light .main-header li.user-header { background-color: #dd4b39; } .skin-red-light .content-header { background: transparent; } .skin-red-light .wrapper, .skin-red-light .main-sidebar, .skin-red-light .left-side { background-color: #f9fafc; } .skin-red-light .content-wrapper, .skin-red-light .main-footer { border-left: 1px solid #d2d6de; } .skin-red-light .user-panel > .info, .skin-red-light .user-panel > .info > a { color: #444444; } .skin-red-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-red-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-red-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-red-light .sidebar-menu > li:hover > a, .skin-red-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-red-light .sidebar-menu > li.active { border-left-color: #dd4b39; } .skin-red-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-red-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-red-light .sidebar a { color: #444444; } .skin-red-light .sidebar a:hover { text-decoration: none; } .skin-red-light .treeview-menu > li > a { color: #777777; } .skin-red-light .treeview-menu > li.active > a, .skin-red-light .treeview-menu > li > a:hover { color: #000000; } .skin-red-light .treeview-menu > li.active > a { font-weight: 600; } .skin-red-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-red-light .sidebar-form input[type="text"], .skin-red-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-red-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-red-light .sidebar-form input[type="text"]:focus, .skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-red-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-red-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Yellow * ------------ */ .skin-yellow .main-header .navbar { background-color: #f39c12; } .skin-yellow .main-header .navbar .nav > li > a { color: #ffffff; } .skin-yellow .main-header .navbar .nav > li > a:hover, .skin-yellow .main-header .navbar .nav > li > a:active, .skin-yellow .main-header .navbar .nav > li > a:focus, .skin-yellow .main-header .navbar .nav .open > a, .skin-yellow .main-header .navbar .nav .open > a:hover, .skin-yellow .main-header .navbar .nav .open > a:focus, .skin-yellow .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-yellow .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-yellow .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-yellow .main-header .navbar .sidebar-toggle { color: #fff; } .skin-yellow .main-header .navbar .sidebar-toggle:hover { background-color: #e08e0b; } @media (max-width: 767px) { .skin-yellow .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-yellow .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-yellow .main-header .navbar .dropdown-menu li a:hover { background: #e08e0b; } } .skin-yellow .main-header .logo { background-color: #e08e0b; color: #ffffff; border-bottom: 0 solid transparent; } .skin-yellow .main-header .logo:hover { background-color: #db8b0b; } .skin-yellow .main-header li.user-header { background-color: #f39c12; } .skin-yellow .content-header { background: transparent; } .skin-yellow .wrapper, .skin-yellow .main-sidebar, .skin-yellow .left-side { background-color: #222d32; } .skin-yellow .user-panel > .info, .skin-yellow .user-panel > .info > a { color: #fff; } .skin-yellow .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-yellow .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-yellow .sidebar-menu > li:hover > a, .skin-yellow .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #f39c12; } .skin-yellow .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-yellow .sidebar a { color: #b8c7ce; } .skin-yellow .sidebar a:hover { text-decoration: none; } .skin-yellow .treeview-menu > li > a { color: #8aa4af; } .skin-yellow .treeview-menu > li.active > a, .skin-yellow .treeview-menu > li > a:hover { color: #ffffff; } .skin-yellow .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-yellow .sidebar-form input[type="text"], .skin-yellow .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-yellow .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-yellow .sidebar-form input[type="text"]:focus, .skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-yellow .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Yellow * ------------ */ .skin-yellow-light .main-header .navbar { background-color: #f39c12; } .skin-yellow-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-yellow-light .main-header .navbar .nav > li > a:hover, .skin-yellow-light .main-header .navbar .nav > li > a:active, .skin-yellow-light .main-header .navbar .nav > li > a:focus, .skin-yellow-light .main-header .navbar .nav .open > a, .skin-yellow-light .main-header .navbar .nav .open > a:hover, .skin-yellow-light .main-header .navbar .nav .open > a:focus, .skin-yellow-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-yellow-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-yellow-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-yellow-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-yellow-light .main-header .navbar .sidebar-toggle:hover { background-color: #e08e0b; } @media (max-width: 767px) { .skin-yellow-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-yellow-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-yellow-light .main-header .navbar .dropdown-menu li a:hover { background: #e08e0b; } } .skin-yellow-light .main-header .logo { background-color: #f39c12; color: #ffffff; border-bottom: 0 solid transparent; } .skin-yellow-light .main-header .logo:hover { background-color: #f39a0d; } .skin-yellow-light .main-header li.user-header { background-color: #f39c12; } .skin-yellow-light .content-header { background: transparent; } .skin-yellow-light .wrapper, .skin-yellow-light .main-sidebar, .skin-yellow-light .left-side { background-color: #f9fafc; } .skin-yellow-light .content-wrapper, .skin-yellow-light .main-footer { border-left: 1px solid #d2d6de; } .skin-yellow-light .user-panel > .info, .skin-yellow-light .user-panel > .info > a { color: #444444; } .skin-yellow-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-yellow-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-yellow-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-yellow-light .sidebar-menu > li:hover > a, .skin-yellow-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-yellow-light .sidebar-menu > li.active { border-left-color: #f39c12; } .skin-yellow-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-yellow-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-yellow-light .sidebar a { color: #444444; } .skin-yellow-light .sidebar a:hover { text-decoration: none; } .skin-yellow-light .treeview-menu > li > a { color: #777777; } .skin-yellow-light .treeview-menu > li.active > a, .skin-yellow-light .treeview-menu > li > a:hover { color: #000000; } .skin-yellow-light .treeview-menu > li.active > a { font-weight: 600; } .skin-yellow-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-yellow-light .sidebar-form input[type="text"], .skin-yellow-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-yellow-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-yellow-light .sidebar-form input[type="text"]:focus, .skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-yellow-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-yellow-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } /* * Skin: Purple * ------------ */ .skin-purple .main-header .navbar { background-color: #605ca8; } .skin-purple .main-header .navbar .nav > li > a { color: #ffffff; } .skin-purple .main-header .navbar .nav > li > a:hover, .skin-purple .main-header .navbar .nav > li > a:active, .skin-purple .main-header .navbar .nav > li > a:focus, .skin-purple .main-header .navbar .nav .open > a, .skin-purple .main-header .navbar .nav .open > a:hover, .skin-purple .main-header .navbar .nav .open > a:focus, .skin-purple .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-purple .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-purple .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-purple .main-header .navbar .sidebar-toggle { color: #fff; } .skin-purple .main-header .navbar .sidebar-toggle:hover { background-color: #555299; } @media (max-width: 767px) { .skin-purple .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-purple .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-purple .main-header .navbar .dropdown-menu li a:hover { background: #555299; } } .skin-purple .main-header .logo { background-color: #555299; color: #ffffff; border-bottom: 0 solid transparent; } .skin-purple .main-header .logo:hover { background-color: #545096; } .skin-purple .main-header li.user-header { background-color: #605ca8; } .skin-purple .content-header { background: transparent; } .skin-purple .wrapper, .skin-purple .main-sidebar, .skin-purple .left-side { background-color: #222d32; } .skin-purple .user-panel > .info, .skin-purple .user-panel > .info > a { color: #fff; } .skin-purple .sidebar-menu > li.header { color: #4b646f; background: #1a2226; } .skin-purple .sidebar-menu > li > a { border-left: 3px solid transparent; } .skin-purple .sidebar-menu > li:hover > a, .skin-purple .sidebar-menu > li.active > a { color: #ffffff; background: #1e282c; border-left-color: #605ca8; } .skin-purple .sidebar-menu > li > .treeview-menu { margin: 0 1px; background: #2c3b41; } .skin-purple .sidebar a { color: #b8c7ce; } .skin-purple .sidebar a:hover { text-decoration: none; } .skin-purple .treeview-menu > li > a { color: #8aa4af; } .skin-purple .treeview-menu > li.active > a, .skin-purple .treeview-menu > li > a:hover { color: #ffffff; } .skin-purple .sidebar-form { border-radius: 3px; border: 1px solid #374850; margin: 10px 10px; } .skin-purple .sidebar-form input[type="text"], .skin-purple .sidebar-form .btn { box-shadow: none; background-color: #374850; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-purple .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-purple .sidebar-form input[type="text"]:focus, .skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-purple .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } /* * Skin: Purple * ------------ */ .skin-purple-light .main-header .navbar { background-color: #605ca8; } .skin-purple-light .main-header .navbar .nav > li > a { color: #ffffff; } .skin-purple-light .main-header .navbar .nav > li > a:hover, .skin-purple-light .main-header .navbar .nav > li > a:active, .skin-purple-light .main-header .navbar .nav > li > a:focus, .skin-purple-light .main-header .navbar .nav .open > a, .skin-purple-light .main-header .navbar .nav .open > a:hover, .skin-purple-light .main-header .navbar .nav .open > a:focus, .skin-purple-light .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, 0.1); color: #f6f6f6; } .skin-purple-light .main-header .navbar .sidebar-toggle { color: #ffffff; } .skin-purple-light .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, 0.1); } .skin-purple-light .main-header .navbar .sidebar-toggle { color: #fff; } .skin-purple-light .main-header .navbar .sidebar-toggle:hover { background-color: #555299; } @media (max-width: 767px) { .skin-purple-light .main-header .navbar .dropdown-menu li.divider { background-color: rgba(255, 255, 255, 0.1); } .skin-purple-light .main-header .navbar .dropdown-menu li a { color: #fff; } .skin-purple-light .main-header .navbar .dropdown-menu li a:hover { background: #555299; } } .skin-purple-light .main-header .logo { background-color: #605ca8; color: #ffffff; border-bottom: 0 solid transparent; } .skin-purple-light .main-header .logo:hover { background-color: #5d59a6; } .skin-purple-light .main-header li.user-header { background-color: #605ca8; } .skin-purple-light .content-header { background: transparent; } .skin-purple-light .wrapper, .skin-purple-light .main-sidebar, .skin-purple-light .left-side { background-color: #f9fafc; } .skin-purple-light .content-wrapper, .skin-purple-light .main-footer { border-left: 1px solid #d2d6de; } .skin-purple-light .user-panel > .info, .skin-purple-light .user-panel > .info > a { color: #444444; } .skin-purple-light .sidebar-menu > li { -webkit-transition: border-left-color 0.3s ease; -o-transition: border-left-color 0.3s ease; transition: border-left-color 0.3s ease; } .skin-purple-light .sidebar-menu > li.header { color: #848484; background: #f9fafc; } .skin-purple-light .sidebar-menu > li > a { border-left: 3px solid transparent; font-weight: 600; } .skin-purple-light .sidebar-menu > li:hover > a, .skin-purple-light .sidebar-menu > li.active > a { color: #000000; background: #f4f4f5; } .skin-purple-light .sidebar-menu > li.active { border-left-color: #605ca8; } .skin-purple-light .sidebar-menu > li.active > a { font-weight: 600; } .skin-purple-light .sidebar-menu > li > .treeview-menu { background: #f4f4f5; } .skin-purple-light .sidebar a { color: #444444; } .skin-purple-light .sidebar a:hover { text-decoration: none; } .skin-purple-light .treeview-menu > li > a { color: #777777; } .skin-purple-light .treeview-menu > li.active > a, .skin-purple-light .treeview-menu > li > a:hover { color: #000000; } .skin-purple-light .treeview-menu > li.active > a { font-weight: 600; } .skin-purple-light .sidebar-form { border-radius: 3px; border: 1px solid #d2d6de; margin: 10px 10px; } .skin-purple-light .sidebar-form input[type="text"], .skin-purple-light .sidebar-form .btn { box-shadow: none; background-color: #fff; border: 1px solid transparent; height: 35px; -webkit-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .skin-purple-light .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 2px; } .skin-purple-light .sidebar-form input[type="text"]:focus, .skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; } .skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; } .skin-purple-light .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-bottom-left-radius: 0; } @media (min-width: 768px) { .skin-purple-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu { border-left: 1px solid #d2d6de; } } ================================================ FILE: index.html ================================================  Angular Bootstrap Dashboard by Ranjithprabhu
================================================ FILE: js/angular-flash.js ================================================ (function() { 'use strict'; var app = angular.module('flash', []); app.run(['$rootScope', function($rootScope) { // initialize variables $rootScope.flash = {}; $rootScope.flash.text = ''; $rootScope.flash.type = ''; $rootScope.flash.timeout = 5000; $rootScope.hasFlash = false; }]); // Directive for compiling dynamic html app.directive('dynamic', ['$compile', function($compile) { return { restrict: 'A', replace: true, link: function(scope, ele, attrs) { scope.$watch(attrs.dynamic, function(html) { ele.html(html); $compile(ele.contents())(scope); }); } }; }]); // Directive for closing the flash message app.directive('closeFlash', ['$compile', 'Flash', function($compile, Flash) { return { link: function(scope, ele) { ele.on('click', function() { Flash.dismiss(); }); } }; }]); // Create flashMessage directive app.directive('flashMessage', ['$compile', '$rootScope', function($compile, $rootScope) { return { restrict: 'A', template: '', link: function(scope, ele, attrs) { // get timeout value from directive attribute and set to flash timeout $rootScope.flash.timeout = parseInt(attrs.flashMessage, 10); } }; }]); app.factory('Flash', ['$rootScope', '$timeout', function($rootScope, $timeout) { var dataFactory = {}, timeOut; // Create flash message dataFactory.create = function(type, text, addClass) { var $this = this; $timeout.cancel(timeOut); $rootScope.flash.type = type; $rootScope.flash.text = text; $rootScope.flash.addClass = addClass; $timeout(function() { $rootScope.hasFlash = true; }, 100); timeOut = $timeout(function() { $this.dismiss(); }, $rootScope.flash.timeout); }; // Cancel flashmessage timeout function dataFactory.pause = function() { $timeout.cancel(timeOut); }; // Dismiss flash message dataFactory.dismiss = function() { $timeout.cancel(timeOut); $timeout(function() { $rootScope.hasFlash = false; }); }; return dataFactory; } ]); }()); ================================================ FILE: js/angular-resource.js ================================================ /** * @license AngularJS v1.5.0-rc.0 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ (function(window, angular, undefined) {'use strict'; var $resourceMinErr = angular.$$minErr('$resource'); // Helper functions and regex to lookup a dotted path on an object // stopping at undefined/null. The path must be composed of ASCII // identifiers (just like $parse) var MEMBER_NAME_REGEX = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/; function isValidDottedPath(path) { return (path != null && path !== '' && path !== 'hasOwnProperty' && MEMBER_NAME_REGEX.test('.' + path)); } function lookupDottedPath(obj, path) { if (!isValidDottedPath(path)) { throw $resourceMinErr('badmember', 'Dotted member path "@{0}" is invalid.', path); } var keys = path.split('.'); for (var i = 0, ii = keys.length; i < ii && angular.isDefined(obj); i++) { var key = keys[i]; obj = (obj !== null) ? obj[key] : undefined; } return obj; } /** * Create a shallow copy of an object and clear other fields from the destination */ function shallowClearAndCopy(src, dst) { dst = dst || {}; angular.forEach(dst, function(value, key) { delete dst[key]; }); for (var key in src) { if (src.hasOwnProperty(key) && !(key.charAt(0) === '$' && key.charAt(1) === '$')) { dst[key] = src[key]; } } return dst; } /** * @ngdoc module * @name ngResource * @description * * # ngResource * * The `ngResource` module provides interaction support with RESTful services * via the $resource service. * * *
* * See {@link ngResource.$resource `$resource`} for usage. */ /** * @ngdoc service * @name $resource * @requires $http * @requires ng.$log * @requires $q * * @description * A factory which creates a resource object that lets you interact with * [RESTful](http://en.wikipedia.org/wiki/Representational_State_Transfer) server-side data sources. * * The returned resource object has action methods which provide high-level behaviors without * the need to interact with the low level {@link ng.$http $http} service. * * Requires the {@link ngResource `ngResource`} module to be installed. * * By default, trailing slashes will be stripped from the calculated URLs, * which can pose problems with server backends that do not expect that * behavior. This can be disabled by configuring the `$resourceProvider` like * this: * * ```js app.config(['$resourceProvider', function($resourceProvider) { // Don't strip trailing slashes from calculated URLs $resourceProvider.defaults.stripTrailingSlashes = false; }]); * ``` * * @param {string} url A parameterized URL template with parameters prefixed by `:` as in * `/user/:username`. If you are using a URL with a port number (e.g. * `http://example.com:8080/api`), it will be respected. * * If you are using a url with a suffix, just add the suffix, like this: * `$resource('http://example.com/resource.json')` or `$resource('http://example.com/:id.json')` * or even `$resource('http://example.com/resource/:resource_id.:format')` * If the parameter before the suffix is empty, :resource_id in this case, then the `/.` will be * collapsed down to a single `.`. If you need this sequence to appear and not collapse then you * can escape it with `/\.`. * * @param {Object=} paramDefaults Default values for `url` parameters. These can be overridden in * `actions` methods. If a parameter value is a function, it will be executed every time * when a param value needs to be obtained for a request (unless the param was overridden). * * Each key value in the parameter object is first bound to url template if present and then any * excess keys are appended to the url search query after the `?`. * * Given a template `/path/:verb` and parameter `{verb:'greet', salutation:'Hello'}` results in * URL `/path/greet?salutation=Hello`. * * If the parameter value is prefixed with `@` then the value for that parameter will be extracted * from the corresponding property on the `data` object (provided when calling an action method). * For example, if the `defaultParam` object is `{someParam: '@someProp'}` then the value of * `someParam` will be `data.someProp`. * * @param {Object.=} actions Hash with declaration of custom actions that should extend * the default set of resource actions. The declaration should be created in the format of {@link * ng.$http#usage $http.config}: * * {action1: {method:?, params:?, isArray:?, headers:?, ...}, * action2: {method:?, params:?, isArray:?, headers:?, ...}, * ...} * * Where: * * - **`action`** – {string} – The name of action. This name becomes the name of the method on * your resource object. * - **`method`** – {string} – Case insensitive HTTP method (e.g. `GET`, `POST`, `PUT`, * `DELETE`, `JSONP`, etc). * - **`params`** – {Object=} – Optional set of pre-bound parameters for this action. If any of * the parameter value is a function, it will be executed every time when a param value needs to * be obtained for a request (unless the param was overridden). * - **`url`** – {string} – action specific `url` override. The url templating is supported just * like for the resource-level urls. * - **`isArray`** – {boolean=} – If true then the returned object for this action is an array, * see `returns` section. * - **`transformRequest`** – * `{function(data, headersGetter)|Array.}` – * transform function or an array of such functions. The transform function takes the http * request body and headers and returns its transformed (typically serialized) version. * By default, transformRequest will contain one function that checks if the request data is * an object and serializes to using `angular.toJson`. To prevent this behavior, set * `transformRequest` to an empty array: `transformRequest: []` * - **`transformResponse`** – * `{function(data, headersGetter)|Array.}` – * transform function or an array of such functions. The transform function takes the http * response body and headers and returns its transformed (typically deserialized) version. * By default, transformResponse will contain one function that checks if the response looks * like a JSON string and deserializes it using `angular.fromJson`. To prevent this behavior, * set `transformResponse` to an empty array: `transformResponse: []` * - **`cache`** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the * GET request, otherwise if a cache instance built with * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for * caching. * - **`timeout`** – `{number}` – timeout in milliseconds.
* **Note:** In contrast to {@link ng.$http#usage $http.config}, {@link ng.$q promises} are * **not** supported in $resource, because the same value would be used for multiple requests. * If you are looking for a way to cancel requests, you should use the `cancellable` option. * - **`cancellable`** – `{boolean}` – if set to true, the request made by a "non-instance" call * will be cancelled (if not already completed) by calling `$cancelRequest()` on the call's * return value. Calling `$cancelRequest()` for a non-cancellable or an already * completed/cancelled request will have no effect.
* **Note:** If a timeout is specified in millisecondes, `cancellable` is ignored. * - **`withCredentials`** - `{boolean}` - whether to set the `withCredentials` flag on the * XHR object. See * [requests with credentials](https://developer.mozilla.org/en/http_access_control#section_5) * for more information. * - **`responseType`** - `{string}` - see * [requestType](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType). * - **`interceptor`** - `{Object=}` - The interceptor object has two optional methods - * `response` and `responseError`. Both `response` and `responseError` interceptors get called * with `http response` object. See {@link ng.$http $http interceptors}. * * @param {Object} options Hash with custom settings that should extend the * default `$resourceProvider` behavior. The supported options are: * * - **`stripTrailingSlashes`** – {boolean} – If true then the trailing * slashes from any calculated URL will be stripped. (Defaults to true.) * - **`cancellable`** – {boolean} – If true, the request made by a "non-instance" call will be * cancelled (if not already completed) by calling `$cancelRequest()` on the call's return value. * This can be overwritten per action. (Defaults to false.) * * @returns {Object} A resource "class" object with methods for the default set of resource actions * optionally extended with custom `actions`. The default set contains these actions: * ```js * { 'get': {method:'GET'}, * 'save': {method:'POST'}, * 'query': {method:'GET', isArray:true}, * 'remove': {method:'DELETE'}, * 'delete': {method:'DELETE'} }; * ``` * * Calling these methods invoke an {@link ng.$http} with the specified http method, * destination and parameters. When the data is returned from the server then the object is an * instance of the resource class. The actions `save`, `remove` and `delete` are available on it * as methods with the `$` prefix. This allows you to easily perform CRUD operations (create, * read, update, delete) on server-side data like this: * ```js * var User = $resource('/user/:userId', {userId:'@id'}); * var user = User.get({userId:123}, function() { * user.abc = true; * user.$save(); * }); * ``` * * It is important to realize that invoking a $resource object method immediately returns an * empty reference (object or array depending on `isArray`). Once the data is returned from the * server the existing reference is populated with the actual data. This is a useful trick since * usually the resource is assigned to a model which is then rendered by the view. Having an empty * object results in no rendering, once the data arrives from the server then the object is * populated with the data and the view automatically re-renders itself showing the new data. This * means that in most cases one never has to write a callback function for the action methods. * * The action methods on the class object or instance object can be invoked with the following * parameters: * * - HTTP GET "class" actions: `Resource.action([parameters], [success], [error])` * - non-GET "class" actions: `Resource.action([parameters], postData, [success], [error])` * - non-GET instance actions: `instance.$action([parameters], [success], [error])` * * * Success callback is called with (value, responseHeaders) arguments, where the value is * the populated resource instance or collection object. The error callback is called * with (httpResponse) argument. * * Class actions return empty instance (with additional properties below). * Instance actions return promise of the action. * * The Resource instances and collections have these additional properties: * * - `$promise`: the {@link ng.$q promise} of the original server interaction that created this * instance or collection. * * On success, the promise is resolved with the same resource instance or collection object, * updated with data from server. This makes it easy to use in * {@link ngRoute.$routeProvider resolve section of $routeProvider.when()} to defer view * rendering until the resource(s) are loaded. * * On failure, the promise is resolved with the {@link ng.$http http response} object, without * the `resource` property. * * If an interceptor object was provided, the promise will instead be resolved with the value * returned by the interceptor. * * - `$resolved`: `true` after first server interaction is completed (either with success or * rejection), `false` before that. Knowing if the Resource has been resolved is useful in * data-binding. * * The Resource instances and collections have these additional methods: * * - `$cancelRequest`: If there is a cancellable, pending request related to the instance or * collection, calling this method will abort the request. * * @example * * # Credit card resource * * ```js // Define CreditCard class var CreditCard = $resource('/user/:userId/card/:cardId', {userId:123, cardId:'@id'}, { charge: {method:'POST', params:{charge:true}} }); // We can retrieve a collection from the server var cards = CreditCard.query(function() { // GET: /user/123/card // server returns: [ {id:456, number:'1234', name:'Smith'} ]; var card = cards[0]; // each item is an instance of CreditCard expect(card instanceof CreditCard).toEqual(true); card.name = "J. Smith"; // non GET methods are mapped onto the instances card.$save(); // POST: /user/123/card/456 {id:456, number:'1234', name:'J. Smith'} // server returns: {id:456, number:'1234', name: 'J. Smith'}; // our custom method is mapped as well. card.$charge({amount:9.99}); // POST: /user/123/card/456?amount=9.99&charge=true {id:456, number:'1234', name:'J. Smith'} }); // we can create an instance as well var newCard = new CreditCard({number:'0123'}); newCard.name = "Mike Smith"; newCard.$save(); // POST: /user/123/card {number:'0123', name:'Mike Smith'} // server returns: {id:789, number:'0123', name: 'Mike Smith'}; expect(newCard.id).toEqual(789); * ``` * * The object returned from this function execution is a resource "class" which has "static" method * for each action in the definition. * * Calling these methods invoke `$http` on the `url` template with the given `method`, `params` and * `headers`. * * @example * * # User resource * * When the data is returned from the server then the object is an instance of the resource type and * all of the non-GET methods are available with `$` prefix. This allows you to easily support CRUD * operations (create, read, update, delete) on server-side data. ```js var User = $resource('/user/:userId', {userId:'@id'}); User.get({userId:123}, function(user) { user.abc = true; user.$save(); }); ``` * * It's worth noting that the success callback for `get`, `query` and other methods gets passed * in the response that came from the server as well as $http header getter function, so one * could rewrite the above example and get access to http headers as: * ```js var User = $resource('/user/:userId', {userId:'@id'}); User.get({userId:123}, function(user, getResponseHeaders){ user.abc = true; user.$save(function(user, putResponseHeaders) { //user => saved user object //putResponseHeaders => $http header getter }); }); ``` * * You can also access the raw `$http` promise via the `$promise` property on the object returned * ``` var User = $resource('/user/:userId', {userId:'@id'}); User.get({userId:123}) .$promise.then(function(user) { $scope.user = user; }); ``` * * @example * * # Creating a custom 'PUT' request * * In this example we create a custom method on our resource to make a PUT request * ```js * var app = angular.module('app', ['ngResource', 'ngRoute']); * * // Some APIs expect a PUT request in the format URL/object/ID * // Here we are creating an 'update' method * app.factory('Notes', ['$resource', function($resource) { * return $resource('/notes/:id', null, * { * 'update': { method:'PUT' } * }); * }]); * * // In our controller we get the ID from the URL using ngRoute and $routeParams * // We pass in $routeParams and our Notes factory along with $scope * app.controller('NotesCtrl', ['$scope', '$routeParams', 'Notes', function($scope, $routeParams, Notes) { * // First get a note object from the factory * var note = Notes.get({ id:$routeParams.id }); * $id = note.id; * * // Now call update passing in the ID first then the object you are updating * Notes.update({ id:$id }, note); * * // This will PUT /notes/ID with the note object in the request payload * }]); * ``` * * @example * * # Cancelling requests * * If an action's configuration specifies that it is cancellable, you can cancel the request related * to an instance or collection (as long as it is a result of a "non-instance" call): * ```js // ...defining the `Hotel` resource... var Hotel = $resource('/api/hotel/:id', {id: '@id'}, { // Let's make the `query()` method cancellable query: {method: 'get', isArray: true, cancellable: true} }); // ...somewhere in the PlanVacationController... ... this.onDestinationChanged = function onDestinationChanged(destination) { // We don't care about any pending request for hotels // in a different destination any more this.availableHotels.$cancelRequest(); // Let's query for hotels in '' // (calls: /api/hotel?location=) this.availableHotels = Hotel.query({location: destination}); }; ``` * */ angular.module('ngResource', ['ng']). provider('$resource', function() { var PROTOCOL_AND_DOMAIN_REGEX = /^https?:\/\/[^\/]*/; var provider = this; this.defaults = { // Strip slashes by default stripTrailingSlashes: true, // Default actions configuration actions: { 'get': {method: 'GET'}, 'save': {method: 'POST'}, 'query': {method: 'GET', isArray: true}, 'remove': {method: 'DELETE'}, 'delete': {method: 'DELETE'} } }; this.$get = ['$http', '$log', '$q', function($http, $log, $q) { var noop = angular.noop, forEach = angular.forEach, extend = angular.extend, copy = angular.copy, isFunction = angular.isFunction; /** * We need our custom method because encodeURIComponent is too aggressive and doesn't follow * http://www.ietf.org/rfc/rfc3986.txt with regards to the character set * (pchar) allowed in path segments: * segment = *pchar * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" * pct-encoded = "%" HEXDIG HEXDIG * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" * / "*" / "+" / "," / ";" / "=" */ function encodeUriSegment(val) { return encodeUriQuery(val, true). replace(/%26/gi, '&'). replace(/%3D/gi, '='). replace(/%2B/gi, '+'); } /** * This method is intended for encoding *key* or *value* parts of query component. We need a * custom method because encodeURIComponent is too aggressive and encodes stuff that doesn't * have to be encoded per http://tools.ietf.org/html/rfc3986: * query = *( pchar / "/" / "?" ) * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" * pct-encoded = "%" HEXDIG HEXDIG * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" * / "*" / "+" / "," / ";" / "=" */ function encodeUriQuery(val, pctEncodeSpaces) { return encodeURIComponent(val). replace(/%40/gi, '@'). replace(/%3A/gi, ':'). replace(/%24/g, '$'). replace(/%2C/gi, ','). replace(/%20/g, (pctEncodeSpaces ? '%20' : '+')); } function Route(template, defaults) { this.template = template; this.defaults = extend({}, provider.defaults, defaults); this.urlParams = {}; } Route.prototype = { setUrlParams: function(config, params, actionUrl) { var self = this, url = actionUrl || self.template, val, encodedVal, protocolAndDomain = ''; var urlParams = self.urlParams = {}; forEach(url.split(/\W/), function(param) { if (param === 'hasOwnProperty') { throw $resourceMinErr('badname', "hasOwnProperty is not a valid parameter name."); } if (!(new RegExp("^\\d+$").test(param)) && param && (new RegExp("(^|[^\\\\]):" + param + "(\\W|$)").test(url))) { urlParams[param] = { isQueryParamValue: (new RegExp("\\?.*=:" + param + "(?:\\W|$)")).test(url) }; } }); url = url.replace(/\\:/g, ':'); url = url.replace(PROTOCOL_AND_DOMAIN_REGEX, function(match) { protocolAndDomain = match; return ''; }); params = params || {}; forEach(self.urlParams, function(paramInfo, urlParam) { val = params.hasOwnProperty(urlParam) ? params[urlParam] : self.defaults[urlParam]; if (angular.isDefined(val) && val !== null) { if (paramInfo.isQueryParamValue) { encodedVal = encodeUriQuery(val, true); } else { encodedVal = encodeUriSegment(val); } url = url.replace(new RegExp(":" + urlParam + "(\\W|$)", "g"), function(match, p1) { return encodedVal + p1; }); } else { url = url.replace(new RegExp("(\/?):" + urlParam + "(\\W|$)", "g"), function(match, leadingSlashes, tail) { if (tail.charAt(0) == '/') { return tail; } else { return leadingSlashes + tail; } }); } }); // strip trailing slashes and set the url (unless this behavior is specifically disabled) if (self.defaults.stripTrailingSlashes) { url = url.replace(/\/+$/, '') || '/'; } // then replace collapse `/.` if found in the last URL path segment before the query // E.g. `http://url.com/id./format?q=x` becomes `http://url.com/id.format?q=x` url = url.replace(/\/\.(?=\w+($|\?))/, '.'); // replace escaped `/\.` with `/.` config.url = protocolAndDomain + url.replace(/\/\\\./, '/.'); // set params - delegate param encoding to $http forEach(params, function(value, key) { if (!self.urlParams[key]) { config.params = config.params || {}; config.params[key] = value; } }); } }; function resourceFactory(url, paramDefaults, actions, options) { var route = new Route(url, options); actions = extend({}, provider.defaults.actions, actions); function extractParams(data, actionParams) { var ids = {}; actionParams = extend({}, paramDefaults, actionParams); forEach(actionParams, function(value, key) { if (isFunction(value)) { value = value(); } ids[key] = value && value.charAt && value.charAt(0) == '@' ? lookupDottedPath(data, value.substr(1)) : value; }); return ids; } function defaultResponseInterceptor(response) { return response.resource; } function Resource(value) { shallowClearAndCopy(value || {}, this); } Resource.prototype.toJSON = function() { var data = extend({}, this); delete data.$promise; delete data.$resolved; return data; }; forEach(actions, function(action, name) { var hasBody = /^(POST|PUT|PATCH)$/i.test(action.method); var cancellable = false; if (!angular.isNumber(action.timeout)) { if (action.timeout) { $log.debug('ngResource:\n' + ' Only numeric values are allowed as `timeout`.\n' + ' Promises are not supported in $resource, because the same value would ' + 'be used for multiple requests. If you are looking for a way to cancel ' + 'requests, you should use the `cancellable` option.'); delete action.timeout; } cancellable = angular.isDefined(action.cancellable) ? action.cancellable : (options && angular.isDefined(options.cancellable)) ? options.cancellable : provider.defaults.cancellable; } Resource[name] = function(a1, a2, a3, a4) { var params = {}, data, success, error; /* jshint -W086 */ /* (purposefully fall through case statements) */ switch (arguments.length) { case 4: error = a4; success = a3; //fallthrough case 3: case 2: if (isFunction(a2)) { if (isFunction(a1)) { success = a1; error = a2; break; } success = a2; error = a3; //fallthrough } else { params = a1; data = a2; success = a3; break; } case 1: if (isFunction(a1)) success = a1; else if (hasBody) data = a1; else params = a1; break; case 0: break; default: throw $resourceMinErr('badargs', "Expected up to 4 arguments [params, data, success, error], got {0} arguments", arguments.length); } /* jshint +W086 */ /* (purposefully fall through case statements) */ var isInstanceCall = this instanceof Resource; var value = isInstanceCall ? data : (action.isArray ? [] : new Resource(data)); var httpConfig = {}; var responseInterceptor = action.interceptor && action.interceptor.response || defaultResponseInterceptor; var responseErrorInterceptor = action.interceptor && action.interceptor.responseError || undefined; var timeoutDeferred; forEach(action, function(value, key) { switch (key) { default: httpConfig[key] = copy(value); break; case 'params': case 'isArray': case 'interceptor': case 'cancellable': break; } }); if (!isInstanceCall && cancellable) { timeoutDeferred = $q.defer(); httpConfig.timeout = timeoutDeferred.promise; } if (hasBody) httpConfig.data = data; route.setUrlParams(httpConfig, extend({}, extractParams(data, action.params || {}), params), action.url); var promise = $http(httpConfig).then(function(response) { var data = response.data; if (data) { // Need to convert action.isArray to boolean in case it is undefined // jshint -W018 if (angular.isArray(data) !== (!!action.isArray)) { throw $resourceMinErr('badcfg', 'Error in resource configuration for action `{0}`. Expected response to ' + 'contain an {1} but got an {2} (Request: {3} {4})', name, action.isArray ? 'array' : 'object', angular.isArray(data) ? 'array' : 'object', httpConfig.method, httpConfig.url); } // jshint +W018 if (action.isArray) { value.length = 0; forEach(data, function(item) { if (typeof item === "object") { value.push(new Resource(item)); } else { // Valid JSON values may be string literals, and these should not be converted // into objects. These items will not have access to the Resource prototype // methods, but unfortunately there value.push(item); } }); } else { var promise = value.$promise; // Save the promise shallowClearAndCopy(data, value); value.$promise = promise; // Restore the promise } } response.resource = value; return response; }, function(response) { (error || noop)(response); return $q.reject(response); }); promise.finally(function() { value.$resolved = true; if (!isInstanceCall && cancellable) { value.$cancelRequest = angular.noop; timeoutDeferred = httpConfig.timeout = null; } }); promise = promise.then( function(response) { var value = responseInterceptor(response); (success || noop)(value, response.headers); return value; }, responseErrorInterceptor); if (!isInstanceCall) { // we are creating instance / collection // - set the initial promise // - return the instance / collection value.$promise = promise; value.$resolved = false; if (cancellable) value.$cancelRequest = timeoutDeferred.resolve; return value; } // instance call return promise; }; Resource.prototype['$' + name] = function(params, success, error) { if (isFunction(params)) { error = success; success = params; params = {}; } var result = Resource[name].call(this, params, this, success, error); return result.$promise || result; }; }); Resource.bind = function(additionalParamDefaults) { return resourceFactory(url, extend({}, paramDefaults, additionalParamDefaults), actions); }; return Resource; } return resourceFactory; }]; }); })(window, window.angular); ================================================ FILE: js/angular-sanitize.js ================================================ 'use strict'; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Any commits to this file should be reviewed with security in mind. * * Changes to this file can potentially create security vulnerabilities. * * An approval from 2 Core members with history of modifying * * this file is required. * * * * Does the change somehow allow for arbitrary javascript to be executed? * * Or allows for someone to change the prototype of built-in objects? * * Or gives undesired access to variables likes document or window? * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ var $sanitizeMinErr = angular.$$minErr('$sanitize'); /** * @ngdoc module * @name ngSanitize * @description * * # ngSanitize * * The `ngSanitize` module provides functionality to sanitize HTML. * * *
* * See {@link ngSanitize.$sanitize `$sanitize`} for usage. */ /* * HTML Parser By Misko Hevery (misko@hevery.com) * based on: HTML Parser By John Resig (ejohn.org) * Original code by Erik Arvidsson, Mozilla Public License * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js * * // Use like so: * htmlParser(htmlString, { * start: function(tag, attrs, unary) {}, * end: function(tag) {}, * chars: function(text) {}, * comment: function(text) {} * }); * */ /** * @ngdoc service * @name $sanitize * @kind function * * @description * The input is sanitized by parsing the HTML into tokens. All safe tokens (from a whitelist) are * then serialized back to properly escaped html string. This means that no unsafe input can make * it into the returned string, however, since our parser is more strict than a typical browser * parser, it's possible that some obscure input, which would be recognized as valid HTML by a * browser, won't make it through the sanitizer. The input may also contain SVG markup. * The whitelist is configured using the functions `aHrefSanitizationWhitelist` and * `imgSrcSanitizationWhitelist` of {@link ng.$compileProvider `$compileProvider`}. * * @param {string} html HTML input. * @returns {string} Sanitized HTML. * * @example
Snippet:
Directive How Source Rendered
ng-bind-html Automatically uses $sanitize
<div ng-bind-html="snippet">
</div>
ng-bind-html Bypass $sanitize by explicitly trusting the dangerous value
<div ng-bind-html="deliberatelyTrustDangerousSnippet()">
</div>
ng-bind Automatically 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>"); });
*/ function $SanitizeProvider() { this.$get = ['$$sanitizeUri', function ($$sanitizeUri) { return function (html) { var buf = []; htmlParser(html, htmlSanitizeWriter(buf, function (uri, isImage) { return !/^unsafe/.test($$sanitizeUri(uri, isImage)); })); return buf.join(''); }; }]; } 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 START_TAG_REGEXP = /^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/, END_TAG_REGEXP = /^<\/\s*([\w:-]+)[^>]*>/, ATTR_REGEXP = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, BEGIN_TAG_REGEXP = /^/g, DOCTYPE_REGEXP = /]*?)>/i, CDATA_REGEXP = //g, 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 = makeMap("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 = makeMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), optionalEndTagInlineElements = makeMap("rp,rt"), optionalEndTagElements = angular.extend({}, optionalEndTagInlineElements, optionalEndTagBlockElements); // Safe Block Elements - HTML5 var blockElements = angular.extend({}, optionalEndTagBlockElements, makeMap("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,script,section,table,ul")); // Inline Elements - HTML5 var inlineElements = angular.extend({}, optionalEndTagInlineElements, makeMap("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 = makeMap("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,use"); // Special Elements (can contain anything) var specialElements = makeMap("script,style"); var validElements = angular.extend({}, voidElements, blockElements, inlineElements, optionalEndTagElements, svgElements); //Attributes that have href and hence need to be sanitized var uriAttrs = makeMap("background,cite,href,longdesc,src,usemap,xlink:href"); var htmlAttrs = makeMap('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 = makeMap('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 makeMap(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; } /** * @example * htmlParser(htmlString, { * start: function(tag, attrs, unary) {}, * end: function(tag) {}, * chars: function(text) {}, * comment: function(text) {} * }); * * @param {string} html string * @param {object} handler */ function htmlParser(html, handler) { if (typeof html !== 'string') { if (html === null || typeof html === 'undefined') { html = ''; } else { html = '' + html; } } var index, chars, match, stack = [], last = html, text; stack.last = function () { return stack[stack.length - 1]; }; while (html) { text = ''; chars = true; // Make sure we're not in a script or style element if (!stack.last() || !specialElements[stack.last()]) { // Comment if (html.indexOf("", index) === index) { if (handler.comment) handler.comment(html.substring(4, index)); html = html.substring(index + 3); chars = false; } // DOCTYPE } else if (DOCTYPE_REGEXP.test(html)) { match = html.match(DOCTYPE_REGEXP); if (match) { html = html.replace(match[0], ''); chars = false; } // end tag } else if (BEGING_END_TAGE_REGEXP.test(html)) { match = html.match(END_TAG_REGEXP); if (match) { html = html.substring(match[0].length); match[0].replace(END_TAG_REGEXP, parseEndTag); chars = false; } // start tag } else if (BEGIN_TAG_REGEXP.test(html)) { match = html.match(START_TAG_REGEXP); if (match) { // We only have a valid start-tag if there is a '>'. if (match[4]) { html = html.substring(match[0].length); match[0].replace(START_TAG_REGEXP, parseStartTag); } chars = false; } else { // no ending tag found --- this piece should be encoded as an entity. text += '<'; html = html.substring(1); } } if (chars) { index = html.indexOf("<"); text += index < 0 ? html : html.substring(0, index); html = index < 0 ? "" : html.substring(index); if (handler.chars) handler.chars(decodeEntities(text)); } } else { // IE versions 9 and 10 do not understand the regex '[^]', so using a workaround with [\W\w]. html = html.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*" + stack.last() + "[^>]*>", 'i'), function (all, text) { text = text.replace(COMMENT_REGEXP, "$1").replace(CDATA_REGEXP, "$1"); if (handler.chars) handler.chars(decodeEntities(text)); return ""; }); parseEndTag("", stack.last()); } if (html == last) { throw $sanitizeMinErr('badparse', "The sanitizer was unable to parse the following block " + "of html: {0}", html); } last = html; } // Clean up any remaining tags parseEndTag(); function parseStartTag(tag, tagName, rest, unary) { tagName = angular.lowercase(tagName); if (blockElements[tagName]) { while (stack.last() && inlineElements[stack.last()]) { parseEndTag("", stack.last()); } } if (optionalEndTagElements[tagName] && stack.last() == tagName) { parseEndTag("", tagName); } unary = voidElements[tagName] || !!unary; if (!unary) { stack.push(tagName); } var attrs = {}; rest.replace(ATTR_REGEXP, function (match, name, doubleQuotedValue, singleQuotedValue, unquotedValue) { var value = doubleQuotedValue || singleQuotedValue || unquotedValue || ''; attrs[name] = decodeEntities(value); }); if (handler.start) handler.start(tagName, attrs, unary); } function parseEndTag(tag, tagName) { var pos = 0, i; tagName = angular.lowercase(tagName); if (tagName) { // Find the closest opened tag of the same type for (pos = stack.length - 1; pos >= 0; pos--) { if (stack[pos] == tagName) break; } } if (pos >= 0) { // Close all the open elements, up the stack for (i = stack.length - 1; i >= pos; i--) if (handler.end) handler.end(stack[i]); // Remove the open elements from the stack stack.length = pos; } } } var hiddenPre = document.createElement("pre"); /** * decodes all entities into regular string * @param value * @returns {string} A string with decoded entities. */ function decodeEntities(value) { if (!value) { return ''; } hiddenPre.innerHTML = value.replace(//g, '>'); } /** * create an HTML/XML writer which writes to buffer * @param {Array} buf use buf.jain('') to get out sanitized html string * @returns {object} in the form of { * start: function(tag, attrs, unary) {}, * end: function(tag) {}, * chars: function(text) {}, * comment: function(text) {} * } */ function htmlSanitizeWriter(buf, uriValidator) { var ignore = false; var out = angular.bind(buf, buf.push); return { start: function (tag, attrs, unary) { tag = angular.lowercase(tag); if (!ignore && specialElements[tag]) { ignore = tag; } if (!ignore && 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(unary ? '/>' : '>'); } }, end: function (tag) { tag = angular.lowercase(tag); if (!ignore && validElements[tag] === true) { out(''); } if (tag == ignore) { ignore = false; } }, chars: function (chars) { if (!ignore) { out(encodeEntities(chars)); } } }; } // define ngSanitize module and register $sanitize service angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider); ================================================ FILE: js/angular-translate-loader-partial.js ================================================ /*! * angular-translate - v2.6.0 - 2015-02-08 * http://github.com/angular-translate/angular-translate * Copyright (c) 2015 ; Licensed MIT */ angular.module("pascalprecht.translate").provider("$translatePartialLoader", function () { function a(a, b) { this.name = a, this.isActive = !0, this.tables = {}, this.priority = b || 0 } function b(a) { return Object.prototype.hasOwnProperty.call(g, a) } function c(a) { return angular.isString(a) && "" !== a } function d(a) { if (!c(a)) throw new TypeError("Invalid type of a first argument, a non-empty string expected."); return b(a) && g[a].isActive } function e(a, b) { for (var c in b) b[c] && b[c].constructor && b[c].constructor === Object ? (a[c] = a[c] || {}, e(a[c], b[c])) : a[c] = b[c]; return a } function f() { var a = []; for (var b in g) g[b].isActive && a.push(g[b]); return a.sort(function (a, b) { return a.priority - b.priority }), a } a.prototype.parseUrl = function (a, b) { return a.replace(/\{part\}/g, this.name).replace(/\{lang\}/g, b) }, a.prototype.getTable = function (a, b, c, d, e, f) { var g = b.defer(); if (this.tables[a]) g.resolve(this.tables[a]); else { var h = this; c(angular.extend({ method: "GET", url: this.parseUrl(e, a) }, d)).success(function (b) { h.tables[a] = b, g.resolve(b) }).error(function () { f ? f(h.name, a).then(function (b) { h.tables[a] = b, g.resolve(b) }, function () { g.reject(h.name) }) : g.reject(h.name) }) } return g.promise }; var g = {}; this.addPart = function (d, e) { if (!c(d)) throw new TypeError("Couldn't add part, part name has to be a string!"); return b(d) || (g[d] = new a(d, e)), g[d].isActive = !0, this }, this.setPart = function (d, e, f) { if (!c(d)) throw new TypeError("Couldn't set part.`lang` parameter has to be a string!"); if (!c(e)) throw new TypeError("Couldn't set part.`part` parameter has to be a string!"); if ("object" != typeof f || null === f) throw new TypeError("Couldn't set part. `table` parameter has to be an object!"); return b(e) || (g[e] = new a(e), g[e].isActive = !1), g[e].tables[d] = f, this }, this.deletePart = function (a) { if (!c(a)) throw new TypeError("Couldn't delete part, first arg has to be string."); return b(a) && (g[a].isActive = !1), this }, this.isPartAvailable = d, this.$get = ["$rootScope", "$injector", "$q", "$http", function (h, i, j, k) { var l = function (a) { if (!c(a.key)) throw new TypeError("Unable to load data, a key is not a non-empty string."); if (!c(a.urlTemplate)) throw new TypeError("Unable to load data, a urlTemplate is not a non-empty string."); var b = a.loadFailureHandler; if (void 0 !== b) { if (!angular.isString(b)) throw new Error("Unable to load data, a loadFailureHandler is not a string."); b = i.get(b) } var d = [], g = j.defer(), h = f(); return angular.forEach(h, function (c) { d.push(c.getTable(a.key, j, k, a.$http, a.urlTemplate, b)), c.urlTemplate = a.urlTemplate }), j.all(d).then(function () { var b = {}; angular.forEach(h, function (c) { e(b, c.tables[a.key]) }), g.resolve(b) }, function () { g.reject(a.key) }), g.promise }; return l.addPart = function (d, e) { if (!c(d)) throw new TypeError("Couldn't add part, first arg has to be a string"); return b(d) ? g[d].isActive || (g[d].isActive = !0, h.$emit("$translatePartialLoaderStructureChanged", d)) : (g[d] = new a(d, e), h.$emit("$translatePartialLoaderStructureChanged", d)), l }, l.deletePart = function (a, d) { if (!c(a)) throw new TypeError("Couldn't delete part, first arg has to be string"); if (void 0 === d) d = !1; else if ("boolean" != typeof d) throw new TypeError("Invalid type of a second argument, a boolean expected."); if (b(a)) { var e = g[a].isActive; if (d) { var f = i.get("$translate"), j = f.loaderCache(); "string" == typeof j && (j = i.get(j)), "object" == typeof j && angular.forEach(g[a].tables, function (b, c) { j.remove(g[a].parseUrl(g[a].urlTemplate, c)) }), delete g[a] } else g[a].isActive = !1; e && h.$emit("$translatePartialLoaderStructureChanged", a) } return l }, l.isPartLoaded = function (a, b) { return angular.isDefined(g[a]) && angular.isDefined(g[a].tables[b]) }, l.getRegisteredParts = function () { var a = []; return angular.forEach(g, function (b) { b.isActive && a.push(b.name) }), a }, l.isPartAvailable = d, l }] }); ================================================ FILE: js/angular-ui-router-min.js ================================================ /** * State-based routing for AngularJS * @version v0.2.15 * @link http://angular-ui.github.com/ * @license MIT License, http://www.opensource.org/licenses/MIT */ "undefined" != typeof module && "undefined" != typeof exports && module.exports === exports && (module.exports = "ui.router"), function (a, b, c) { "use strict"; function d(a, b) { return N(new (N(function () { }, { prototype: a })), b) } function e(a) { return M(arguments, function (b) { b !== a && M(b, function (b, c) { a.hasOwnProperty(c) || (a[c] = b) }) }), a } function f(a, b) { var c = []; for (var d in a.path) { if (a.path[d] !== b.path[d]) break; c.push(a.path[d]) } return c } function g(a) { if (Object.keys) return Object.keys(a); var b = []; return M(a, function (a, c) { b.push(c) }), b } function h(a, b) { if (Array.prototype.indexOf) return a.indexOf(b, Number(arguments[2]) || 0); var c = a.length >>> 0, d = Number(arguments[2]) || 0; for (d = 0 > d ? Math.ceil(d) : Math.floor(d), 0 > d && (d += c) ; c > d; d++) if (d in a && a[d] === b) return d; return -1 } function i(a, b, c, d) { var e, i = f(c, d), j = {}, k = []; for (var l in i) if (i[l].params && (e = g(i[l].params), e.length)) for (var m in e) h(k, e[m]) >= 0 || (k.push(e[m]), j[e[m]] = a[e[m]]); return N({}, j, b) } function j(a, b, c) { if (!c) { c = []; for (var d in a) c.push(d) } for (var e = 0; e < c.length; e++) { var f = c[e]; if (a[f] != b[f]) return !1 } return !0 } function k(a, b) { var c = {}; return M(a, function (a) { c[a] = b[a] }), c } function l(a) { var b = {}, c = Array.prototype.concat.apply(Array.prototype, Array.prototype.slice.call(arguments, 1)); return M(c, function (c) { c in a && (b[c] = a[c]) }), b } function m(a) { var b = {}, c = Array.prototype.concat.apply(Array.prototype, Array.prototype.slice.call(arguments, 1)); for (var d in a) -1 == h(c, d) && (b[d] = a[d]); return b } function n(a, b) { var c = L(a), d = c ? [] : {}; return M(a, function (a, e) { b(a, e) && (d[c ? d.length : e] = a) }), d } function o(a, b) { var c = L(a) ? [] : {}; return M(a, function (a, d) { c[d] = b(a, d) }), c } function p(a, b) { var d = 1, f = 2, i = {}, j = [], k = i, l = N(a.when(i), { $$promises: i, $$values: i }); this.study = function (i) { function n(a, c) { if (s[c] !== f) { if (r.push(c), s[c] === d) throw r.splice(0, h(r, c)), new Error("Cyclic dependency: " + r.join(" -> ")); if (s[c] = d, J(a)) q.push(c, [function () { return b.get(a) }], j); else { var e = b.annotate(a); M(e, function (a) { a !== c && i.hasOwnProperty(a) && n(i[a], a) }), q.push(c, a, e) } r.pop(), s[c] = f } } function o(a) { return K(a) && a.then && a.$$promises } if (!K(i)) throw new Error("'invocables' must be an object"); var p = g(i || {}), q = [], r = [], s = {}; return M(i, n), i = r = s = null, function (d, f, g) { function h() { --u || (v || e(t, f.$$values), r.$$values = t, r.$$promises = r.$$promises || !0, delete r.$$inheritedValues, n.resolve(t)) } function i(a) { r.$$failure = a, n.reject(a) } function j(c, e, f) { function j(a) { l.reject(a), i(a) } function k() { if (!H(r.$$failure)) try { l.resolve(b.invoke(e, g, t)), l.promise.then(function (a) { t[c] = a, h() }, j) } catch (a) { j(a) } } var l = a.defer(), m = 0; M(f, function (a) { s.hasOwnProperty(a) && !d.hasOwnProperty(a) && (m++, s[a].then(function (b) { t[a] = b, --m || k() }, j)) }), m || k(), s[c] = l.promise } if (o(d) && g === c && (g = f, f = d, d = null), d) { if (!K(d)) throw new Error("'locals' must be an object") } else d = k; if (f) { if (!o(f)) throw new Error("'parent' must be a promise returned by $resolve.resolve()") } else f = l; var n = a.defer(), r = n.promise, s = r.$$promises = {}, t = N({}, d), u = 1 + q.length / 3, v = !1; if (H(f.$$failure)) return i(f.$$failure), r; f.$$inheritedValues && e(t, m(f.$$inheritedValues, p)), N(s, f.$$promises), f.$$values ? (v = e(t, m(f.$$values, p)), r.$$inheritedValues = m(f.$$values, p), h()) : (f.$$inheritedValues && (r.$$inheritedValues = m(f.$$inheritedValues, p)), f.then(h, i)); for (var w = 0, x = q.length; x > w; w += 3) d.hasOwnProperty(q[w]) ? h() : j(q[w], q[w + 1], q[w + 2]); return r } }, this.resolve = function (a, b, c, d) { return this.study(a)(b, c, d) } } function q(a, b, c) { this.fromConfig = function (a, b, c) { return H(a.template) ? this.fromString(a.template, b) : H(a.templateUrl) ? this.fromUrl(a.templateUrl, b) : H(a.templateProvider) ? this.fromProvider(a.templateProvider, b, c) : null }, this.fromString = function (a, b) { return I(a) ? a(b) : a }, this.fromUrl = function (c, d) { return I(c) && (c = c(d)), null == c ? null : a.get(c, { cache: b, headers: { Accept: "text/html" } }).then(function (a) { return a.data }) }, this.fromProvider = function (a, b, d) { return c.invoke(a, null, d || { params: b }) } } function r(a, b, e) { function f(b, c, d, e) { if (q.push(b), o[b]) return o[b]; if (!/^\w+(-+\w+)*(?:\[\])?$/.test(b)) throw new Error("Invalid parameter name '" + b + "' in pattern '" + a + "'"); if (p[b]) throw new Error("Duplicate parameter name '" + b + "' in pattern '" + a + "'"); return p[b] = new P.Param(b, c, d, e), p[b] } function g(a, b, c, d) { var e = ["", ""], f = a.replace(/[\\\[\]\^$*+?.()|{}]/g, "\\$&"); if (!b) return f; switch (c) { case !1: e = ["(", ")" + (d ? "?" : "")]; break; case !0: e = ["?(", ")?"]; break; default: e = ["(" + c + "|", ")?"] } return f + e[0] + b + e[1] } function h(e, f) { var g, h, i, j, k; return g = e[2] || e[3], k = b.params[g], i = a.substring(m, e.index), h = f ? e[4] : e[4] || ("*" == e[1] ? ".*" : null), j = P.type(h || "string") || d(P.type("string"), { pattern: new RegExp(h, b.caseInsensitive ? "i" : c) }), { id: g, regexp: h, segment: i, type: j, cfg: k } } b = N({ params: {} }, K(b) ? b : {}); var i, j = /([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g, k = /([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g, l = "^", m = 0, n = this.segments = [], o = e ? e.params : {}, p = this.params = e ? e.params.$$new() : new P.ParamSet, q = []; this.source = a; for (var r, s, t; (i = j.exec(a)) && (r = h(i, !1), !(r.segment.indexOf("?") >= 0)) ;) s = f(r.id, r.type, r.cfg, "path"), l += g(r.segment, s.type.pattern.source, s.squash, s.isOptional), n.push(r.segment), m = j.lastIndex; t = a.substring(m); var u = t.indexOf("?"); if (u >= 0) { var v = this.sourceSearch = t.substring(u); if (t = t.substring(0, u), this.sourcePath = a.substring(0, m + u), v.length > 0) for (m = 0; i = k.exec(v) ;) r = h(i, !0), s = f(r.id, r.type, r.cfg, "search"), m = j.lastIndex } else this.sourcePath = a, this.sourceSearch = ""; l += g(t) + (b.strict === !1 ? "/?" : "") + "$", n.push(t), this.regexp = new RegExp(l, b.caseInsensitive ? "i" : c), this.prefix = n[0], this.$$paramNames = q } function s(a) { N(this, a) } function t() { function a(a) { return null != a ? a.toString().replace(/\//g, "%2F") : a } function e(a) { return null != a ? a.toString().replace(/%2F/g, "/") : a } function f() { return { strict: p, caseInsensitive: m } } function i(a) { return I(a) || L(a) && I(a[a.length - 1]) } function j() { for (; w.length;) { var a = w.shift(); if (a.pattern) throw new Error("You cannot override a type's .pattern at runtime."); b.extend(u[a.name], l.invoke(a.def)) } } function k(a) { N(this, a || {}) } P = this; var l, m = !1, p = !0, q = !1, u = {}, v = !0, w = [], x = { string: { encode: a, decode: e, is: function (a) { return null == a || !H(a) || "string" == typeof a }, pattern: /[^/]*/ }, "int": { encode: a, decode: function (a) { return parseInt(a, 10) }, is: function (a) { return H(a) && this.decode(a.toString()) === a }, pattern: /\d+/ }, bool: { encode: function (a) { return a ? 1 : 0 }, decode: function (a) { return 0 !== parseInt(a, 10) }, is: function (a) { return a === !0 || a === !1 }, pattern: /0|1/ }, date: { encode: function (a) { return this.is(a) ? [a.getFullYear(), ("0" + (a.getMonth() + 1)).slice(-2), ("0" + a.getDate()).slice(-2)].join("-") : c }, decode: function (a) { if (this.is(a)) return a; var b = this.capture.exec(a); return b ? new Date(b[1], b[2] - 1, b[3]) : c }, is: function (a) { return a instanceof Date && !isNaN(a.valueOf()) }, equals: function (a, b) { return this.is(a) && this.is(b) && a.toISOString() === b.toISOString() }, pattern: /[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/, capture: /([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/ }, json: { encode: b.toJson, decode: b.fromJson, is: b.isObject, equals: b.equals, pattern: /[^/]*/ }, any: { encode: b.identity, decode: b.identity, equals: b.equals, pattern: /.*/ } }; t.$$getDefaultValue = function (a) { if (!i(a.value)) return a.value; if (!l) throw new Error("Injectable functions cannot be called at configuration time"); return l.invoke(a.value) }, this.caseInsensitive = function (a) { return H(a) && (m = a), m }, this.strictMode = function (a) { return H(a) && (p = a), p }, this.defaultSquashPolicy = function (a) { if (!H(a)) return q; if (a !== !0 && a !== !1 && !J(a)) throw new Error("Invalid squash policy: " + a + ". Valid policies: false, true, arbitrary-string"); return q = a, a }, this.compile = function (a, b) { return new r(a, N(f(), b)) }, this.isMatcher = function (a) { if (!K(a)) return !1; var b = !0; return M(r.prototype, function (c, d) { I(c) && (b = b && H(a[d]) && I(a[d])) }), b }, this.type = function (a, b, c) { if (!H(b)) return u[a]; if (u.hasOwnProperty(a)) throw new Error("A type named '" + a + "' has already been defined."); return u[a] = new s(N({ name: a }, b)), c && (w.push({ name: a, def: c }), v || j()), this }, M(x, function (a, b) { u[b] = new s(N({ name: b }, a)) }), u = d(u, {}), this.$get = ["$injector", function (a) { return l = a, v = !1, j(), M(x, function (a, b) { u[b] || (u[b] = new s(a)) }), this }], this.Param = function (a, b, d, e) { function f(a) { var b = K(a) ? g(a) : [], c = -1 === h(b, "value") && -1 === h(b, "type") && -1 === h(b, "squash") && -1 === h(b, "array"); return c && (a = { value: a }), a.$$fn = i(a.value) ? a.value : function () { return a.value }, a } function j(b, c, d) { if (b.type && c) throw new Error("Param '" + a + "' has two type configurations."); return c ? c : b.type ? b.type instanceof s ? b.type : new s(b.type) : "config" === d ? u.any : u.string } function k() { var b = { array: "search" === e ? "auto" : !1 }, c = a.match(/\[\]$/) ? { array: !0 } : {}; return N(b, c, d).array } function m(a, b) { var c = a.squash; if (!b || c === !1) return !1; if (!H(c) || null == c) return q; if (c === !0 || J(c)) return c; throw new Error("Invalid squash policy: '" + c + "'. Valid policies: false, true, or arbitrary string") } function p(a, b, d, e) { var f, g, i = [{ from: "", to: d || b ? c : "" }, { from: null, to: d || b ? c : "" }]; return f = L(a.replace) ? a.replace : [], J(e) && f.push({ from: e, to: c }), g = o(f, function (a) { return a.from }), n(i, function (a) { return -1 === h(g, a.from) }).concat(f) } function r() { if (!l) throw new Error("Injectable functions cannot be called at configuration time"); var a = l.invoke(d.$$fn); if (null !== a && a !== c && !w.type.is(a)) throw new Error("Default value (" + a + ") for parameter '" + w.id + "' is not an instance of Type (" + w.type.name + ")"); return a } function t(a) { function b(a) { return function (b) { return b.from === a } } function c(a) { var c = o(n(w.replace, b(a)), function (a) { return a.to }); return c.length ? c[0] : a } return a = c(a), H(a) ? w.type.$normalize(a) : r() } function v() { return "{Param:" + a + " " + b + " squash: '" + z + "' optional: " + y + "}" } var w = this; d = f(d), b = j(d, b, e); var x = k(); b = x ? b.$asArray(x, "search" === e) : b, "string" !== b.name || x || "path" !== e || d.value !== c || (d.value = ""); var y = d.value !== c, z = m(d, y), A = p(d, x, y, z); N(this, { id: a, type: b, location: e, array: x, squash: z, replace: A, isOptional: y, value: t, dynamic: c, config: d, toString: v }) }, k.prototype = { $$new: function () { return d(this, N(new k, { $$parent: this })) }, $$keys: function () { for (var a = [], b = [], c = this, d = g(k.prototype) ; c;) b.push(c), c = c.$$parent; return b.reverse(), M(b, function (b) { M(g(b), function (b) { -1 === h(a, b) && -1 === h(d, b) && a.push(b) }) }), a }, $$values: function (a) { var b = {}, c = this; return M(c.$$keys(), function (d) { b[d] = c[d].value(a && a[d]) }), b }, $$equals: function (a, b) { var c = !0, d = this; return M(d.$$keys(), function (e) { var f = a && a[e], g = b && b[e]; d[e].type.equals(f, g) || (c = !1) }), c }, $$validates: function (a) { var d, e, f, g, h, i = this.$$keys(); for (d = 0; d < i.length && (e = this[i[d]], f = a[i[d]], f !== c && null !== f || !e.isOptional) ; d++) { if (g = e.type.$normalize(f), !e.type.is(g)) return !1; if (h = e.type.encode(g), b.isString(h) && !e.type.pattern.exec(h)) return !1 } return !0 }, $$parent: c }, this.ParamSet = k } function u(a, d) { function e(a) { var b = /^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source); return null != b ? b[1].replace(/\\(.)/g, "$1") : "" } function f(a, b) { return a.replace(/\$(\$|\d{1,2})/, function (a, c) { return b["$" === c ? 0 : Number(c)] }) } function g(a, b, c) { if (!c) return !1; var d = a.invoke(b, b, { $match: c }); return H(d) ? d : !0 } function h(d, e, f, g) { function h(a, b, c) { return "/" === p ? a : b ? p.slice(0, -1) + a : c ? p.slice(1) + a : a } function m(a) { function b(a) { var b = a(f, d); return b ? (J(b) && d.replace().url(b), !0) : !1 } if (!a || !a.defaultPrevented) { o && d.url() === o; o = c; var e, g = j.length; for (e = 0; g > e; e++) if (b(j[e])) return; k && b(k) } } function n() { return i = i || e.$on("$locationChangeSuccess", m) } var o, p = g.baseHref(), q = d.url(); return l || n(), { sync: function () { m() }, listen: function () { return n() }, update: function (a) { return a ? void (q = d.url()) : void (d.url() !== q && (d.url(q), d.replace())) }, push: function (a, b, e) { var f = a.format(b || {}); null !== f && b && b["#"] && (f += "#" + b["#"]), d.url(f), o = e && e.$$avoidResync ? d.url() : c, e && e.replace && d.replace() }, href: function (c, e, f) { if (!c.validates(e)) return null; var g = a.html5Mode(); b.isObject(g) && (g = g.enabled); var i = c.format(e); if (f = f || {}, g || null === i || (i = "#" + a.hashPrefix() + i), null !== i && e && e["#"] && (i += "#" + e["#"]), i = h(i, g, f.absolute), !f.absolute || !i) return i; var j = !g && i ? "/" : "", k = d.port(); return k = 80 === k || 443 === k ? "" : ":" + k, [d.protocol(), "://", d.host(), k, j, i].join("") } } } var i, j = [], k = null, l = !1; this.rule = function (a) { if (!I(a)) throw new Error("'rule' must be a function"); return j.push(a), this }, this.otherwise = function (a) { if (J(a)) { var b = a; a = function () { return b } } else if (!I(a)) throw new Error("'rule' must be a function"); return k = a, this }, this.when = function (a, b) { var c, h = J(b); if (J(a) && (a = d.compile(a)), !h && !I(b) && !L(b)) throw new Error("invalid 'handler' in when()"); var i = { matcher: function (a, b) { return h && (c = d.compile(b), b = ["$match", function (a) { return c.format(a) }]), N(function (c, d) { return g(c, b, a.exec(d.path(), d.search())) }, { prefix: J(a.prefix) ? a.prefix : "" }) }, regex: function (a, b) { if (a.global || a.sticky) throw new Error("when() RegExp must not be global or sticky"); return h && (c = b, b = ["$match", function (a) { return f(c, a) }]), N(function (c, d) { return g(c, b, a.exec(d.path())) }, { prefix: e(a) }) } }, j = { matcher: d.isMatcher(a), regex: a instanceof RegExp }; for (var k in j) if (j[k]) return this.rule(i[k](a, b)); throw new Error("invalid 'what' in when()") }, this.deferIntercept = function (a) { a === c && (a = !0), l = a }, this.$get = h, h.$inject = ["$location", "$rootScope", "$injector", "$browser"] } function v(a, e) { function f(a) { return 0 === a.indexOf(".") || 0 === a.indexOf("^") } function m(a, b) { if (!a) return c; var d = J(a), e = d ? a : a.name, g = f(e); if (g) { if (!b) throw new Error("No reference point given for path '" + e + "'"); b = m(b); for (var h = e.split("."), i = 0, j = h.length, k = b; j > i; i++) if ("" !== h[i] || 0 !== i) { if ("^" !== h[i]) break; if (!k.parent) throw new Error("Path '" + e + "' not valid for state '" + b.name + "'"); k = k.parent } else k = b; h = h.slice(i).join("."), e = k.name + (k.name && h ? "." : "") + h } var l = z[e]; return !l || !d && (d || l !== a && l.self !== a) ? c : l } function n(a, b) { A[a] || (A[a] = []), A[a].push(b) } function p(a) { for (var b = A[a] || []; b.length;) q(b.shift()) } function q(b) { b = d(b, { self: b, resolve: b.resolve || {}, toString: function () { return this.name } }); var c = b.name; if (!J(c) || c.indexOf("@") >= 0) throw new Error("State must have a valid name"); if (z.hasOwnProperty(c)) throw new Error("State '" + c + "'' is already defined"); var e = -1 !== c.indexOf(".") ? c.substring(0, c.lastIndexOf(".")) : J(b.parent) ? b.parent : K(b.parent) && J(b.parent.name) ? b.parent.name : ""; if (e && !z[e]) return n(e, b.self); for (var f in C) I(C[f]) && (b[f] = C[f](b, C.$delegates[f])); return z[c] = b, !b[B] && b.url && a.when(b.url, ["$match", "$stateParams", function (a, c) { y.$current.navigable == b && j(a, c) || y.transitionTo(b, a, { inherit: !0, location: !1 }) }]), p(c), b } function r(a) { return a.indexOf("*") > -1 } function s(a) { for (var b = a.split("."), c = y.$current.name.split("."), d = 0, e = b.length; e > d; d++) "*" === b[d] && (c[d] = "*"); return "**" === b[0] && (c = c.slice(h(c, b[1])), c.unshift("**")), "**" === b[b.length - 1] && (c.splice(h(c, b[b.length - 2]) + 1, Number.MAX_VALUE), c.push("**")), b.length != c.length ? !1 : c.join("") === b.join("") } function t(a, b) { return J(a) && !H(b) ? C[a] : I(b) && J(a) ? (C[a] && !C.$delegates[a] && (C.$delegates[a] = C[a]), C[a] = b, this) : this } function u(a, b) { return K(a) ? b = a : b.name = a, q(b), this } function v(a, e, f, h, l, n, p, q, t) { function u(b, c, d, f) { var g = a.$broadcast("$stateNotFound", b, c, d); if (g.defaultPrevented) return p.update(), D; if (!g.retry) return null; if (f.$retry) return p.update(), E; var h = y.transition = e.when(g.retry); return h.then(function () { return h !== y.transition ? A : (b.options.$retry = !0, y.transitionTo(b.to, b.toParams, b.options)) }, function () { return D }), p.update(), h } function v(a, c, d, g, i, j) { function m() { var c = []; return M(a.views, function (d, e) { var g = d.resolve && d.resolve !== a.resolve ? d.resolve : {}; g.$template = [function () { return f.load(e, { view: d, locals: i.globals, params: n, notify: j.notify }) || "" }], c.push(l.resolve(g, i.globals, i.resolve, a).then(function (c) { if (I(d.controllerProvider) || L(d.controllerProvider)) { var f = b.extend({}, g, i.globals); c.$$controller = h.invoke(d.controllerProvider, null, f) } else c.$$controller = d.controller; c.$$state = a, c.$$controllerAs = d.controllerAs, i[e] = c })) }), e.all(c).then(function () { return i.globals }) } var n = d ? c : k(a.params.$$keys(), c), o = { $stateParams: n }; i.resolve = l.resolve(a.resolve, o, i.resolve, a); var p = [i.resolve.then(function (a) { i.globals = a })]; return g && p.push(g), e.all(p).then(m).then(function (a) { return i }) } var A = e.reject(new Error("transition superseded")), C = e.reject(new Error("transition prevented")), D = e.reject(new Error("transition aborted")), E = e.reject(new Error("transition failed")); return x.locals = { resolve: null, globals: { $stateParams: {} } }, y = { params: {}, current: x.self, $current: x, transition: null }, y.reload = function (a) { return y.transitionTo(y.current, n, { reload: a || !0, inherit: !1, notify: !0 }) }, y.go = function (a, b, c) { return y.transitionTo(a, b, N({ inherit: !0, relative: y.$current }, c)) }, y.transitionTo = function (b, c, f) { c = c || {}, f = N({ location: !0, inherit: !1, relative: null, notify: !0, reload: !1, $retry: !1 }, f || {}); var g, j = y.$current, l = y.params, o = j.path, q = m(b, f.relative), r = c["#"]; if (!H(q)) { var s = { to: b, toParams: c, options: f }, t = u(s, j.self, l, f); if (t) return t; if (b = s.to, c = s.toParams, f = s.options, q = m(b, f.relative), !H(q)) { if (!f.relative) throw new Error("No such state '" + b + "'"); throw new Error("Could not resolve '" + b + "' from state '" + f.relative + "'") } } if (q[B]) throw new Error("Cannot transition to abstract state '" + b + "'"); if (f.inherit && (c = i(n, c || {}, y.$current, q)), !q.params.$$validates(c)) return E; c = q.params.$$values(c), b = q; var z = b.path, D = 0, F = z[D], G = x.locals, I = []; if (f.reload) { if (J(f.reload) || K(f.reload)) { if (K(f.reload) && !f.reload.name) throw new Error("Invalid reload state object"); var L = f.reload === !0 ? o[0] : m(f.reload); if (f.reload && !L) throw new Error("No such reload state '" + (J(f.reload) ? f.reload : f.reload.name) + "'"); for (; F && F === o[D] && F !== L;) G = I[D] = F.locals, D++, F = z[D] } } else for (; F && F === o[D] && F.ownParams.$$equals(c, l) ;) G = I[D] = F.locals, D++, F = z[D]; if (w(b, c, j, l, G, f)) return r && (c["#"] = r), y.params = c, O(y.params, n), f.location && b.navigable && b.navigable.url && (p.push(b.navigable.url, c, { $$avoidResync: !0, replace: "replace" === f.location }), p.update(!0)), y.transition = null, e.when(y.current); if (c = k(b.params.$$keys(), c || {}), f.notify && a.$broadcast("$stateChangeStart", b.self, c, j.self, l).defaultPrevented) return a.$broadcast("$stateChangeCancel", b.self, c, j.self, l), p.update(), C; for (var M = e.when(G), P = D; P < z.length; P++, F = z[P]) G = I[P] = d(G), M = v(F, c, F === b, M, G, f); var Q = y.transition = M.then(function () { var d, e, g; if (y.transition !== Q) return A; for (d = o.length - 1; d >= D; d--) g = o[d], g.self.onExit && h.invoke(g.self.onExit, g.self, g.locals.globals), g.locals = null; for (d = D; d < z.length; d++) e = z[d], e.locals = I[d], e.self.onEnter && h.invoke(e.self.onEnter, e.self, e.locals.globals); return r && (c["#"] = r), y.transition !== Q ? A : (y.$current = b, y.current = b.self, y.params = c, O(y.params, n), y.transition = null, f.location && b.navigable && p.push(b.navigable.url, b.navigable.locals.globals.$stateParams, { $$avoidResync: !0, replace: "replace" === f.location }), f.notify && a.$broadcast("$stateChangeSuccess", b.self, c, j.self, l), p.update(!0), y.current) }, function (d) { return y.transition !== Q ? A : (y.transition = null, g = a.$broadcast("$stateChangeError", b.self, c, j.self, l, d), g.defaultPrevented || p.update(), e.reject(d)) }); return Q }, y.is = function (a, b, d) { d = N({ relative: y.$current }, d || {}); var e = m(a, d.relative); return H(e) ? y.$current !== e ? !1 : b ? j(e.params.$$values(b), n) : !0 : c }, y.includes = function (a, b, d) { if (d = N({ relative: y.$current }, d || {}), J(a) && r(a)) { if (!s(a)) return !1; a = y.$current.name } var e = m(a, d.relative); return H(e) ? H(y.$current.includes[e.name]) ? b ? j(e.params.$$values(b), n, g(b)) : !0 : !1 : c }, y.href = function (a, b, d) { d = N({ lossy: !0, inherit: !0, absolute: !1, relative: y.$current }, d || {}); var e = m(a, d.relative); if (!H(e)) return null; d.inherit && (b = i(n, b || {}, y.$current, e)); var f = e && d.lossy ? e.navigable : e; return f && f.url !== c && null !== f.url ? p.href(f.url, k(e.params.$$keys().concat("#"), b || {}), { absolute: d.absolute }) : null }, y.get = function (a, b) { if (0 === arguments.length) return o(g(z), function (a) { return z[a].self }); var c = m(a, b || y.$current); return c && c.self ? c.self : null }, y } function w(a, b, c, d, e, f) { function g(a, b, c) { function d(b) { return "search" != a.params[b].location } var e = a.params.$$keys().filter(d), f = l.apply({}, [a.params].concat(e)), g = new P.ParamSet(f); return g.$$equals(b, c) } return !f.reload && a === c && (e === c.locals || a.self.reloadOnSearch === !1 && g(c, d, b)) ? !0 : void 0 } var x, y, z = {}, A = {}, B = "abstract", C = { parent: function (a) { if (H(a.parent) && a.parent) return m(a.parent); var b = /^(.+)\.[^.]+$/.exec(a.name); return b ? m(b[1]) : x }, data: function (a) { return a.parent && a.parent.data && (a.data = a.self.data = N({}, a.parent.data, a.data)), a.data }, url: function (a) { var b = a.url, c = { params: a.params || {} }; if (J(b)) return "^" == b.charAt(0) ? e.compile(b.substring(1), c) : (a.parent.navigable || x).url.concat(b, c); if (!b || e.isMatcher(b)) return b; throw new Error("Invalid url '" + b + "' in state '" + a + "'") }, navigable: function (a) { return a.url ? a : a.parent ? a.parent.navigable : null }, ownParams: function (a) { var b = a.url && a.url.params || new P.ParamSet; return M(a.params || {}, function (a, c) { b[c] || (b[c] = new P.Param(c, null, a, "config")) }), b }, params: function (a) { return a.parent && a.parent.params ? N(a.parent.params.$$new(), a.ownParams) : new P.ParamSet }, views: function (a) { var b = {}; return M(H(a.views) ? a.views : { "": a }, function (c, d) { d.indexOf("@") < 0 && (d += "@" + a.parent.name), b[d] = c }), b }, path: function (a) { return a.parent ? a.parent.path.concat(a) : [] }, includes: function (a) { var b = a.parent ? N({}, a.parent.includes) : {}; return b[a.name] = !0, b }, $delegates: {} }; x = q({ name: "", url: "^", views: null, "abstract": !0 }), x.navigable = null, this.decorator = t, this.state = u, this.$get = v, v.$inject = ["$rootScope", "$q", "$view", "$injector", "$resolve", "$stateParams", "$urlRouter", "$location", "$urlMatcherFactory"] } function w() { function a(a, b) { return { load: function (c, d) { var e, f = { template: null, controller: null, view: null, locals: null, notify: !0, async: !0, params: {} }; return d = N(f, d), d.view && (e = b.fromConfig(d.view, d.params, d.locals)), e && d.notify && a.$broadcast("$viewContentLoading", d), e } } } this.$get = a, a.$inject = ["$rootScope", "$templateFactory"] } function x() { var a = !1; this.useAnchorScroll = function () { a = !0 }, this.$get = ["$anchorScroll", "$timeout", function (b, c) { return a ? b : function (a) { return c(function () { a[0].scrollIntoView() }, 0, !1) } }] } function y(a, c, d, e) { function f() { return c.has ? function (a) { return c.has(a) ? c.get(a) : null } : function (a) { try { return c.get(a) } catch (b) { return null } } } function g(a, b) { var c = function () { return { enter: function (a, b, c) { b.after(a), c() }, leave: function (a, b) { a.remove(), b() } } }; if (j) return { enter: function (a, b, c) { var d = j.enter(a, null, b, c); d && d.then && d.then(c) }, leave: function (a, b) { var c = j.leave(a, b); c && c.then && c.then(b) } }; if (i) { var d = i && i(b, a); return { enter: function (a, b, c) { d.enter(a, null, b), c() }, leave: function (a, b) { d.leave(a), b() } } } return c() } var h = f(), i = h("$animator"), j = h("$animate"), k = { restrict: "ECA", terminal: !0, priority: 400, transclude: "element", compile: function (c, f, h) { return function (c, f, i) { function j() { l && (l.remove(), l = null), n && (n.$destroy(), n = null), m && (r.leave(m, function () { l = null }), l = m, m = null) } function k(g) { var k, l = A(c, i, f, e), s = l && a.$current && a.$current.locals[l]; if (g || s !== o) { k = c.$new(), o = a.$current.locals[l]; var t = h(k, function (a) { r.enter(a, f, function () { n && n.$emit("$viewContentAnimationEnded"), (b.isDefined(q) && !q || c.$eval(q)) && d(a) }), j() }); m = t, n = k, n.$emit("$viewContentLoaded"), n.$eval(p) } } var l, m, n, o, p = i.onload || "", q = i.autoscroll, r = g(i, c); c.$on("$stateChangeSuccess", function () { k(!1) }), c.$on("$viewContentLoading", function () { k(!1) }), k(!0) } } }; return k } function z(a, b, c, d) { return { restrict: "ECA", priority: -400, compile: function (e) { var f = e.html(); return function (e, g, h) { var i = c.$current, j = A(e, h, g, d), k = i && i.locals[j]; if (k) { g.data("$uiView", { name: j, state: k.$$state }), g.html(k.$template ? k.$template : f); var l = a(g.contents()); if (k.$$controller) { k.$scope = e, k.$element = g; var m = b(k.$$controller, k); k.$$controllerAs && (e[k.$$controllerAs] = m), g.data("$ngControllerController", m), g.children().data("$ngControllerController", m) } l(e) } } } } } function A(a, b, c, d) { var e = d(b.uiView || b.name || "")(a), f = c.inheritedData("$uiView"); return e.indexOf("@") >= 0 ? e : e + "@" + (f ? f.state.name : "") } function B(a, b) { var c, d = a.match(/^\s*({[^}]*})\s*$/); if (d && (a = b + "(" + d[1] + ")"), c = a.replace(/\n/g, " ").match(/^([^(]+?)\s*(\((.*)\))?$/), !c || 4 !== c.length) throw new Error("Invalid state ref '" + a + "'"); return { state: c[1], paramExpr: c[3] || null } } function C(a) { var b = a.parent().inheritedData("$uiView"); return b && b.state && b.state.name ? b.state : void 0 } function D(a, c) { var d = ["location", "inherit", "reload", "absolute"]; return { restrict: "A", require: ["?^uiSrefActive", "?^uiSrefActiveEq"], link: function (e, f, g, h) { var i = B(g.uiSref, a.current.name), j = null, k = C(f) || a.$current, l = "[object SVGAnimatedString]" === Object.prototype.toString.call(f.prop("href")) ? "xlink:href" : "href", m = null, n = "A" === f.prop("tagName").toUpperCase(), o = "FORM" === f[0].nodeName, p = o ? "action" : l, q = !0, r = { relative: k, inherit: !0 }, s = e.$eval(g.uiSrefOpts) || {}; b.forEach(d, function (a) { a in s && (r[a] = s[a]) }); var t = function (c) { if (c && (j = b.copy(c)), q) { m = a.href(i.state, j, r); var d = h[1] || h[0]; return d && d.$$addStateInfo(i.state, j), null === m ? (q = !1, !1) : void g.$set(p, m) } }; i.paramExpr && (e.$watch(i.paramExpr, function (a, b) { a !== j && t(a) }, !0), j = b.copy(e.$eval(i.paramExpr))), t(), o || f.bind("click", function (b) { var d = b.which || b.button; if (!(d > 1 || b.ctrlKey || b.metaKey || b.shiftKey || f.attr("target"))) { var e = c(function () { a.go(i.state, j, r) }); b.preventDefault(); var g = n && !m ? 1 : 0; b.preventDefault = function () { g-- <= 0 && c.cancel(e) } } }) } } } function E(a, b, c) { return { restrict: "A", controller: ["$scope", "$element", "$attrs", function (b, d, e) { function f() { g() ? d.addClass(i) : d.removeClass(i) } function g() { for (var a = 0; a < j.length; a++) if (h(j[a].state, j[a].params)) return !0; return !1 } function h(b, c) { return "undefined" != typeof e.uiSrefActiveEq ? a.is(b.name, c) : a.includes(b.name, c) } var i, j = []; i = c(e.uiSrefActiveEq || e.uiSrefActive || "", !1)(b), this.$$addStateInfo = function (b, c) { var e = a.get(b, C(d)); j.push({ state: e || { name: b }, params: c }), f() }, b.$on("$stateChangeSuccess", f) }] } } function F(a) { var b = function (b) { return a.is(b) }; return b.$stateful = !0, b } function G(a) { var b = function (b) { return a.includes(b) }; return b.$stateful = !0, b } var H = b.isDefined, I = b.isFunction, J = b.isString, K = b.isObject, L = b.isArray, M = b.forEach, N = b.extend, O = b.copy; b.module("ui.router.util", ["ng"]), b.module("ui.router.router", ["ui.router.util"]), b.module("ui.router.state", ["ui.router.router", "ui.router.util"]), b.module("ui.router", ["ui.router.state"]), b.module("ui.router.compat", ["ui.router"]), p.$inject = ["$q", "$injector"], b.module("ui.router.util").service("$resolve", p), q.$inject = ["$http", "$templateCache", "$injector"], b.module("ui.router.util").service("$templateFactory", q); var P; r.prototype.concat = function (a, b) { var c = { caseInsensitive: P.caseInsensitive(), strict: P.strictMode(), squash: P.defaultSquashPolicy() }; return new r(this.sourcePath + a + this.sourceSearch, N(c, b), this) }, r.prototype.toString = function () { return this.source }, r.prototype.exec = function (a, b) { function c(a) { function b(a) { return a.split("").reverse().join("") } function c(a) { return a.replace(/\\-/g, "-") } var d = b(a).split(/-(?!\\)/), e = o(d, b); return o(e, c).reverse() } var d = this.regexp.exec(a); if (!d) return null; b = b || {}; var e, f, g, h = this.parameters(), i = h.length, j = this.segments.length - 1, k = {}; if (j !== d.length - 1) throw new Error("Unbalanced capture group in route '" + this.source + "'"); for (e = 0; j > e; e++) { g = h[e]; var l = this.params[g], m = d[e + 1]; for (f = 0; f < l.replace; f++) l.replace[f].from === m && (m = l.replace[f].to); m && l.array === !0 && (m = c(m)), k[g] = l.value(m) } for (; i > e; e++) g = h[e], k[g] = this.params[g].value(b[g]); return k }, r.prototype.parameters = function (a) { return H(a) ? this.params[a] || null : this.$$paramNames }, r.prototype.validates = function (a) { return this.params.$$validates(a) }, r.prototype.format = function (a) { function b(a) { return encodeURIComponent(a).replace(/-/g, function (a) { return "%5C%" + a.charCodeAt(0).toString(16).toUpperCase() }) } a = a || {}; var c = this.segments, d = this.parameters(), e = this.params; if (!this.validates(a)) return null; var f, g = !1, h = c.length - 1, i = d.length, j = c[0]; for (f = 0; i > f; f++) { var k = h > f, l = d[f], m = e[l], n = m.value(a[l]), p = m.isOptional && m.type.equals(m.value(), n), q = p ? m.squash : !1, r = m.type.encode(n); if (k) { var s = c[f + 1]; if (q === !1) null != r && (j += L(r) ? o(r, b).join("-") : encodeURIComponent(r)), j += s; else if (q === !0) { var t = j.match(/\/$/) ? /\/?(.*)/ : /(.*)/; j += s.match(t)[1] } else J(q) && (j += q + s) } else { if (null == r || p && q !== !1) continue; L(r) || (r = [r]), r = o(r, encodeURIComponent).join("&" + l + "="), j += (g ? "&" : "?") + (l + "=" + r), g = !0 } } return j }, s.prototype.is = function (a, b) { return !0 }, s.prototype.encode = function (a, b) { return a }, s.prototype.decode = function (a, b) { return a }, s.prototype.equals = function (a, b) { return a == b }, s.prototype.$subPattern = function () { var a = this.pattern.toString(); return a.substr(1, a.length - 2) }, s.prototype.pattern = /.*/, s.prototype.toString = function () { return "{Type:" + this.name + "}" }, s.prototype.$normalize = function (a) { return this.is(a) ? a : this.decode(a) }, s.prototype.$asArray = function (a, b) { function d(a, b) { function d(a, b) { return function () { return a[b].apply(a, arguments) } } function e(a) { return L(a) ? a : H(a) ? [a] : [] } function f(a) { switch (a.length) { case 0: return c; case 1: return "auto" === b ? a[0] : a; default: return a } } function g(a) { return !a } function h(a, b) { return function (c) { c = e(c); var d = o(c, a); return b === !0 ? 0 === n(d, g).length : f(d) } } function i(a) { return function (b, c) { var d = e(b), f = e(c); if (d.length !== f.length) return !1; for (var g = 0; g < d.length; g++) if (!a(d[g], f[g])) return !1; return !0 } } this.encode = h(d(a, "encode")), this.decode = h(d(a, "decode")), this.is = h(d(a, "is"), !0), this.equals = i(d(a, "equals")), this.pattern = a.pattern, this.$normalize = h(d(a, "$normalize")), this.name = a.name, this.$arrayMode = b } if (!a) return this; if ("auto" === a && !b) throw new Error("'auto' array mode is for query parameters only"); return new d(this, a) }, b.module("ui.router.util").provider("$urlMatcherFactory", t), b.module("ui.router.util").run(["$urlMatcherFactory", function (a) { }]), u.$inject = ["$locationProvider", "$urlMatcherFactoryProvider"], b.module("ui.router.router").provider("$urlRouter", u), v.$inject = ["$urlRouterProvider", "$urlMatcherFactoryProvider"], b.module("ui.router.state").value("$stateParams", {}).provider("$state", v), w.$inject = [], b.module("ui.router.state").provider("$view", w), b.module("ui.router.state").provider("$uiViewScroll", x), y.$inject = ["$state", "$injector", "$uiViewScroll", "$interpolate"], z.$inject = ["$compile", "$controller", "$state", "$interpolate"], b.module("ui.router.state").directive("uiView", y), b.module("ui.router.state").directive("uiView", z), D.$inject = ["$state", "$timeout"], E.$inject = ["$state", "$stateParams", "$interpolate"], b.module("ui.router.state").directive("uiSref", D).directive("uiSrefActive", E).directive("uiSrefActiveEq", E), F.$inject = ["$state"], G.$inject = ["$state"], b.module("ui.router.state").filter("isState", F).filter("includedByState", G) }(window, window.angular); ================================================ FILE: plugins/bootstrap-slider/bootstrap-slider.js ================================================ /*! ========================================================= * bootstrap-slider.js * * Maintainers: * Kyle Kemp * - Twitter: @seiyria * - Github: seiyria * Rohit Kalkur * - Twitter: @Rovolutionary * - Github: rovolution * * ========================================================= * * Licensed 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. * ========================================================= */ /** * Bridget makes jQuery widgets * v1.0.1 * MIT license */ ( function( $ ) { ( function( $ ) { 'use strict'; // -------------------------- utils -------------------------- // var slice = Array.prototype.slice; function noop() {} // -------------------------- definition -------------------------- // function defineBridget( $ ) { // bail if no jQuery if ( !$ ) { return; } // -------------------------- addOptionMethod -------------------------- // /** * adds option method -> $().plugin('option', {...}) * @param {Function} PluginClass - constructor class */ function addOptionMethod( PluginClass ) { // don't overwrite original option method if ( PluginClass.prototype.option ) { return; } // option setter PluginClass.prototype.option = function( opts ) { // bail out if not an object if ( !$.isPlainObject( opts ) ){ return; } this.options = $.extend( true, this.options, opts ); }; } // -------------------------- plugin bridge -------------------------- // // helper function for logging errors // $.error breaks jQuery chaining var logError = typeof console === 'undefined' ? noop : function( message ) { console.error( message ); }; /** * jQuery plugin bridge, access methods like $elem.plugin('method') * @param {String} namespace - plugin name * @param {Function} PluginClass - constructor class */ function bridge( namespace, PluginClass ) { // add to jQuery fn namespace $.fn[ namespace ] = function( options ) { if ( typeof options === 'string' ) { // call plugin method when first argument is a string // get arguments for method var args = slice.call( arguments, 1 ); for ( var i=0, len = this.length; i < len; i++ ) { var elem = this[i]; var instance = $.data( elem, namespace ); if ( !instance ) { logError( "cannot call methods on " + namespace + " prior to initialization; " + "attempted to call '" + options + "'" ); continue; } if ( !$.isFunction( instance[options] ) || options.charAt(0) === '_' ) { logError( "no such method '" + options + "' for " + namespace + " instance" ); continue; } // trigger method with arguments var returnValue = instance[ options ].apply( instance, args); // break look and return first value if provided if ( returnValue !== undefined && returnValue !== instance) { return returnValue; } } // return this if no return value return this; } else { var objects = this.map( function() { var instance = $.data( this, namespace ); if ( instance ) { // apply options & init instance.option( options ); instance._init(); } else { // initialize new instance instance = new PluginClass( this, options ); $.data( this, namespace, instance ); } return $(this); }); if(!objects || objects.length > 1) { return objects; } else { return objects[0]; } } }; } // -------------------------- bridget -------------------------- // /** * converts a Prototypical class into a proper jQuery plugin * the class must have a ._init method * @param {String} namespace - plugin name, used in $().pluginName * @param {Function} PluginClass - constructor class */ $.bridget = function( namespace, PluginClass ) { addOptionMethod( PluginClass ); bridge( namespace, PluginClass ); }; return $.bridget; } // get jquery from browser global defineBridget( $ ); })( $ ); /************************************************* BOOTSTRAP-SLIDER SOURCE CODE **************************************************/ (function( $ ) { var ErrorMsgs = { formatInvalidInputErrorMsg : function(input) { return "Invalid input value '" + input + "' passed in"; }, callingContextNotSliderInstance : "Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method" }; /************************************************* CONSTRUCTOR **************************************************/ var Slider = function(element, options) { createNewSlider.call(this, element, options); return this; }; function createNewSlider(element, options) { /************************************************* Create Markup **************************************************/ if(typeof element === "string") { this.element = document.querySelector(element); } else if(element instanceof HTMLElement) { this.element = element; } var origWidth = this.element.style.width; var updateSlider = false; var parent = this.element.parentNode; var sliderTrackSelection; var sliderMinHandle; var sliderMaxHandle; if (this.sliderElem) { updateSlider = true; } else { /* Create elements needed for slider */ this.sliderElem = document.createElement("div"); this.sliderElem.className = "slider"; /* Create slider track elements */ var sliderTrack = document.createElement("div"); sliderTrack.className = "slider-track"; sliderTrackSelection = document.createElement("div"); sliderTrackSelection.className = "slider-selection"; sliderMinHandle = document.createElement("div"); sliderMinHandle.className = "slider-handle min-slider-handle"; sliderMaxHandle = document.createElement("div"); sliderMaxHandle.className = "slider-handle max-slider-handle"; sliderTrack.appendChild(sliderTrackSelection); sliderTrack.appendChild(sliderMinHandle); sliderTrack.appendChild(sliderMaxHandle); var createAndAppendTooltipSubElements = function(tooltipElem) { var arrow = document.createElement("div"); arrow.className = "tooltip-arrow"; var inner = document.createElement("div"); inner.className = "tooltip-inner"; tooltipElem.appendChild(arrow); tooltipElem.appendChild(inner); }; /* Create tooltip elements */ var sliderTooltip = document.createElement("div"); sliderTooltip.className = "tooltip tooltip-main"; createAndAppendTooltipSubElements(sliderTooltip); var sliderTooltipMin = document.createElement("div"); sliderTooltipMin.className = "tooltip tooltip-min"; createAndAppendTooltipSubElements(sliderTooltipMin); var sliderTooltipMax = document.createElement("div"); sliderTooltipMax.className = "tooltip tooltip-max"; createAndAppendTooltipSubElements(sliderTooltipMax); /* Append components to sliderElem */ this.sliderElem.appendChild(sliderTrack); this.sliderElem.appendChild(sliderTooltip); this.sliderElem.appendChild(sliderTooltipMin); this.sliderElem.appendChild(sliderTooltipMax); /* Append slider element to parent container, right before the original element */ parent.insertBefore(this.sliderElem, this.element); /* Hide original element */ this.element.style.display = "none"; } /* If JQuery exists, cache JQ references */ if($) { this.$element = $(this.element); this.$sliderElem = $(this.sliderElem); } /************************************************* Process Options **************************************************/ options = options ? options : {}; var optionTypes = Object.keys(this.defaultOptions); for(var i = 0; i < optionTypes.length; i++) { var optName = optionTypes[i]; // First check if an option was passed in via the constructor var val = options[optName]; // If no data attrib, then check data atrributes val = (typeof val !== 'undefined') ? val : getDataAttrib(this.element, optName); // Finally, if nothing was specified, use the defaults val = (val !== null) ? val : this.defaultOptions[optName]; // Set all options on the instance of the Slider if(!this.options) { this.options = {}; } this.options[optName] = val; } function getDataAttrib(element, optName) { var dataName = "data-slider-" + optName; var dataValString = element.getAttribute(dataName); try { return JSON.parse(dataValString); } catch(err) { return dataValString; } } /************************************************* Setup **************************************************/ this.eventToCallbackMap = {}; this.sliderElem.id = this.options.id; this.touchCapable = 'ontouchstart' in window || (window.DocumentTouch && document instanceof window.DocumentTouch); this.tooltip = this.sliderElem.querySelector('.tooltip-main'); this.tooltipInner = this.tooltip.querySelector('.tooltip-inner'); this.tooltip_min = this.sliderElem.querySelector('.tooltip-min'); this.tooltipInner_min = this.tooltip_min.querySelector('.tooltip-inner'); this.tooltip_max = this.sliderElem.querySelector('.tooltip-max'); this.tooltipInner_max= this.tooltip_max.querySelector('.tooltip-inner'); if (updateSlider === true) { // Reset classes this._removeClass(this.sliderElem, 'slider-horizontal'); this._removeClass(this.sliderElem, 'slider-vertical'); this._removeClass(this.tooltip, 'hide'); this._removeClass(this.tooltip_min, 'hide'); this._removeClass(this.tooltip_max, 'hide'); // Undo existing inline styles for track ["left", "top", "width", "height"].forEach(function(prop) { this._removeProperty(this.trackSelection, prop); }, this); // Undo inline styles on handles [this.handle1, this.handle2].forEach(function(handle) { this._removeProperty(handle, 'left'); this._removeProperty(handle, 'top'); }, this); // Undo inline styles and classes on tooltips [this.tooltip, this.tooltip_min, this.tooltip_max].forEach(function(tooltip) { this._removeProperty(tooltip, 'left'); this._removeProperty(tooltip, 'top'); this._removeProperty(tooltip, 'margin-left'); this._removeProperty(tooltip, 'margin-top'); this._removeClass(tooltip, 'right'); this._removeClass(tooltip, 'top'); }, this); } if(this.options.orientation === 'vertical') { this._addClass(this.sliderElem,'slider-vertical'); this.stylePos = 'top'; this.mousePos = 'pageY'; this.sizePos = 'offsetHeight'; this._addClass(this.tooltip, 'right'); this.tooltip.style.left = '100%'; this._addClass(this.tooltip_min, 'right'); this.tooltip_min.style.left = '100%'; this._addClass(this.tooltip_max, 'right'); this.tooltip_max.style.left = '100%'; } else { this._addClass(this.sliderElem, 'slider-horizontal'); this.sliderElem.style.width = origWidth; this.options.orientation = 'horizontal'; this.stylePos = 'left'; this.mousePos = 'pageX'; this.sizePos = 'offsetWidth'; this._addClass(this.tooltip, 'top'); this.tooltip.style.top = -this.tooltip.outerHeight - 14 + 'px'; this._addClass(this.tooltip_min, 'top'); this.tooltip_min.style.top = -this.tooltip_min.outerHeight - 14 + 'px'; this._addClass(this.tooltip_max, 'top'); this.tooltip_max.style.top = -this.tooltip_max.outerHeight - 14 + 'px'; } if (this.options.value instanceof Array) { this.options.range = true; } else if (this.options.range) { // User wants a range, but value is not an array this.options.value = [this.options.value, this.options.max]; } this.trackSelection = sliderTrackSelection || this.trackSelection; if (this.options.selection === 'none') { this._addClass(this.trackSelection, 'hide'); } this.handle1 = sliderMinHandle || this.handle1; this.handle2 = sliderMaxHandle || this.handle2; if (updateSlider === true) { // Reset classes this._removeClass(this.handle1, 'round triangle'); this._removeClass(this.handle2, 'round triangle hide'); } var availableHandleModifiers = ['round', 'triangle', 'custom']; var isValidHandleType = availableHandleModifiers.indexOf(this.options.handle) !== -1; if (isValidHandleType) { this._addClass(this.handle1, this.options.handle); this._addClass(this.handle2, this.options.handle); } this.offset = this._offset(this.sliderElem); this.size = this.sliderElem[this.sizePos]; this.setValue(this.options.value); /****************************************** Bind Event Listeners ******************************************/ // Bind keyboard handlers this.handle1Keydown = this._keydown.bind(this, 0); this.handle1.addEventListener("keydown", this.handle1Keydown, false); this.handle2Keydown = this._keydown.bind(this, 0); this.handle2.addEventListener("keydown", this.handle2Keydown, false); if (this.touchCapable) { // Bind touch handlers this.mousedown = this._mousedown.bind(this); this.sliderElem.addEventListener("touchstart", this.mousedown, false); } else { // Bind mouse handlers this.mousedown = this._mousedown.bind(this); this.sliderElem.addEventListener("mousedown", this.mousedown, false); } // Bind tooltip-related handlers if(this.options.tooltip === 'hide') { this._addClass(this.tooltip, 'hide'); this._addClass(this.tooltip_min, 'hide'); this._addClass(this.tooltip_max, 'hide'); } else if(this.options.tooltip === 'always') { this._showTooltip(); this._alwaysShowTooltip = true; } else { this.showTooltip = this._showTooltip.bind(this); this.hideTooltip = this._hideTooltip.bind(this); this.sliderElem.addEventListener("mouseenter", this.showTooltip, false); this.sliderElem.addEventListener("mouseleave", this.hideTooltip, false); this.handle1.addEventListener("focus", this.showTooltip, false); this.handle1.addEventListener("blur", this.hideTooltip, false); this.handle2.addEventListener("focus", this.showTooltip, false); this.handle2.addEventListener("blur", this.hideTooltip, false); } if(this.options.enabled) { this.enable(); } else { this.disable(); } } /************************************************* INSTANCE PROPERTIES/METHODS - Any methods bound to the prototype are considered part of the plugin's `public` interface **************************************************/ Slider.prototype = { _init: function() {}, // NOTE: Must exist to support bridget constructor: Slider, defaultOptions: { id: "", min: 0, max: 10, step: 1, precision: 0, orientation: 'horizontal', value: 5, range: false, selection: 'before', tooltip: 'show', tooltip_split: false, handle: 'round', reversed: false, enabled: true, formatter: function(val) { if(val instanceof Array) { return val[0] + " : " + val[1]; } else { return val; } }, natural_arrow_keys: false }, over: false, inDrag: false, getValue: function() { if (this.options.range) { return this.options.value; } return this.options.value[0]; }, setValue: function(val, triggerSlideEvent) { if (!val) { val = 0; } this.options.value = this._validateInputValue(val); var applyPrecision = this._applyPrecision.bind(this); if (this.options.range) { this.options.value[0] = applyPrecision(this.options.value[0]); this.options.value[1] = applyPrecision(this.options.value[1]); this.options.value[0] = Math.max(this.options.min, Math.min(this.options.max, this.options.value[0])); this.options.value[1] = Math.max(this.options.min, Math.min(this.options.max, this.options.value[1])); } else { this.options.value = applyPrecision(this.options.value); this.options.value = [ Math.max(this.options.min, Math.min(this.options.max, this.options.value))]; this._addClass(this.handle2, 'hide'); if (this.options.selection === 'after') { this.options.value[1] = this.options.max; } else { this.options.value[1] = this.options.min; } } this.diff = this.options.max - this.options.min; if (this.diff > 0) { this.percentage = [ (this.options.value[0] - this.options.min) * 100 / this.diff, (this.options.value[1] - this.options.min) * 100 / this.diff, this.options.step * 100 / this.diff ]; } else { this.percentage = [0, 0, 100]; } this._layout(); var sliderValue = this.options.range ? this.options.value : this.options.value[0]; this._setDataVal(sliderValue); if(triggerSlideEvent === true) { this._trigger('slide', sliderValue); } return this; }, destroy: function(){ // Remove event handlers on slider elements this._removeSliderEventHandlers(); // Remove the slider from the DOM this.sliderElem.parentNode.removeChild(this.sliderElem); /* Show original element */ this.element.style.display = ""; // Clear out custom event bindings this._cleanUpEventCallbacksMap(); // Remove data values this.element.removeAttribute("data"); // Remove JQuery handlers/data if($) { this._unbindJQueryEventHandlers(); this.$element.removeData('slider'); } }, disable: function() { this.options.enabled = false; this.handle1.removeAttribute("tabindex"); this.handle2.removeAttribute("tabindex"); this._addClass(this.sliderElem, 'slider-disabled'); this._trigger('slideDisabled'); return this; }, enable: function() { this.options.enabled = true; this.handle1.setAttribute("tabindex", 0); this.handle2.setAttribute("tabindex", 0); this._removeClass(this.sliderElem, 'slider-disabled'); this._trigger('slideEnabled'); return this; }, toggle: function() { if(this.options.enabled) { this.disable(); } else { this.enable(); } return this; }, isEnabled: function() { return this.options.enabled; }, on: function(evt, callback) { if($) { this.$element.on(evt, callback); this.$sliderElem.on(evt, callback); } else { this._bindNonQueryEventHandler(evt, callback); } return this; }, getAttribute: function(attribute) { if(attribute) { return this.options[attribute]; } else { return this.options; } }, setAttribute: function(attribute, value) { this.options[attribute] = value; return this; }, refresh: function() { this._removeSliderEventHandlers(); createNewSlider.call(this, this.element, this.options); if($) { // Bind new instance of slider to the element $.data(this.element, 'slider', this); } return this; }, /******************************+ HELPERS - Any method that is not part of the public interface. - Place it underneath this comment block and write its signature like so: _fnName : function() {...} ********************************/ _removeSliderEventHandlers: function() { // Remove event listeners from handle1 this.handle1.removeEventListener("keydown", this.handle1Keydown, false); this.handle1.removeEventListener("focus", this.showTooltip, false); this.handle1.removeEventListener("blur", this.hideTooltip, false); // Remove event listeners from handle2 this.handle2.removeEventListener("keydown", this.handle2Keydown, false); this.handle2.removeEventListener("focus", this.handle2Keydown, false); this.handle2.removeEventListener("blur", this.handle2Keydown, false); // Remove event listeners from sliderElem this.sliderElem.removeEventListener("mouseenter", this.showTooltip, false); this.sliderElem.removeEventListener("mouseleave", this.hideTooltip, false); this.sliderElem.removeEventListener("touchstart", this.mousedown, false); this.sliderElem.removeEventListener("mousedown", this.mousedown, false); }, _bindNonQueryEventHandler: function(evt, callback) { if(this.eventToCallbackMap[evt]===undefined) { this.eventToCallbackMap[evt] = []; } this.eventToCallbackMap[evt].push(callback); }, _cleanUpEventCallbacksMap: function() { var eventNames = Object.keys(this.eventToCallbackMap); for(var i = 0; i < eventNames.length; i++) { var eventName = eventNames[i]; this.eventToCallbackMap[eventName] = null; } }, _showTooltip: function() { if (this.options.tooltip_split === false ){ this._addClass(this.tooltip, 'in'); } else { this._addClass(this.tooltip_min, 'in'); this._addClass(this.tooltip_max, 'in'); } this.over = true; }, _hideTooltip: function() { if (this.inDrag === false && this.alwaysShowTooltip !== true) { this._removeClass(this.tooltip, 'in'); this._removeClass(this.tooltip_min, 'in'); this._removeClass(this.tooltip_max, 'in'); } this.over = false; }, _layout: function() { var positionPercentages; if(this.options.reversed) { positionPercentages = [ 100 - this.percentage[0], this.percentage[1] ]; } else { positionPercentages = [ this.percentage[0], this.percentage[1] ]; } this.handle1.style[this.stylePos] = positionPercentages[0]+'%'; this.handle2.style[this.stylePos] = positionPercentages[1]+'%'; if (this.options.orientation === 'vertical') { this.trackSelection.style.top = Math.min(positionPercentages[0], positionPercentages[1]) +'%'; this.trackSelection.style.height = Math.abs(positionPercentages[0] - positionPercentages[1]) +'%'; } else { this.trackSelection.style.left = Math.min(positionPercentages[0], positionPercentages[1]) +'%'; this.trackSelection.style.width = Math.abs(positionPercentages[0] - positionPercentages[1]) +'%'; var offset_min = this.tooltip_min.getBoundingClientRect(); var offset_max = this.tooltip_max.getBoundingClientRect(); if (offset_min.right > offset_max.left) { this._removeClass(this.tooltip_max, 'top'); this._addClass(this.tooltip_max, 'bottom'); this.tooltip_max.style.top = 18 + 'px'; } else { this._removeClass(this.tooltip_max, 'bottom'); this._addClass(this.tooltip_max, 'top'); this.tooltip_max.style.top = -30 + 'px'; } } var formattedTooltipVal; if (this.options.range) { formattedTooltipVal = this.options.formatter(this.options.value); this._setText(this.tooltipInner, formattedTooltipVal); this.tooltip.style[this.stylePos] = (positionPercentages[1] + positionPercentages[0])/2 + '%'; if (this.options.orientation === 'vertical') { this._css(this.tooltip, 'margin-top', -this.tooltip.offsetHeight / 2 + 'px'); } else { this._css(this.tooltip, 'margin-left', -this.tooltip.offsetWidth / 2 + 'px'); } if (this.options.orientation === 'vertical') { this._css(this.tooltip, 'margin-top', -this.tooltip.offsetHeight / 2 + 'px'); } else { this._css(this.tooltip, 'margin-left', -this.tooltip.offsetWidth / 2 + 'px'); } var innerTooltipMinText = this.options.formatter(this.options.value[0]); this._setText(this.tooltipInner_min, innerTooltipMinText); var innerTooltipMaxText = this.options.formatter(this.options.value[1]); this._setText(this.tooltipInner_max, innerTooltipMaxText); this.tooltip_min.style[this.stylePos] = positionPercentages[0] + '%'; if (this.options.orientation === 'vertical') { this._css(this.tooltip_min, 'margin-top', -this.tooltip_min.offsetHeight / 2 + 'px'); } else { this._css(this.tooltip_min, 'margin-left', -this.tooltip_min.offsetWidth / 2 + 'px'); } this.tooltip_max.style[this.stylePos] = positionPercentages[1] + '%'; if (this.options.orientation === 'vertical') { this._css(this.tooltip_max, 'margin-top', -this.tooltip_max.offsetHeight / 2 + 'px'); } else { this._css(this.tooltip_max, 'margin-left', -this.tooltip_max.offsetWidth / 2 + 'px'); } } else { formattedTooltipVal = this.options.formatter(this.options.value[0]); this._setText(this.tooltipInner, formattedTooltipVal); this.tooltip.style[this.stylePos] = positionPercentages[0] + '%'; if (this.options.orientation === 'vertical') { this._css(this.tooltip, 'margin-top', -this.tooltip.offsetHeight / 2 + 'px'); } else { this._css(this.tooltip, 'margin-left', -this.tooltip.offsetWidth / 2 + 'px'); } } }, _removeProperty: function(element, prop) { if (element.style.removeProperty) { element.style.removeProperty(prop); } else { element.style.removeAttribute(prop); } }, _mousedown: function(ev) { if(!this.options.enabled) { return false; } this._triggerFocusOnHandle(); this.offset = this._offset(this.sliderElem); this.size = this.sliderElem[this.sizePos]; var percentage = this._getPercentage(ev); if (this.options.range) { var diff1 = Math.abs(this.percentage[0] - percentage); var diff2 = Math.abs(this.percentage[1] - percentage); this.dragged = (diff1 < diff2) ? 0 : 1; } else { this.dragged = 0; } this.percentage[this.dragged] = this.options.reversed ? 100 - percentage : percentage; this._layout(); this.mousemove = this._mousemove.bind(this); this.mouseup = this._mouseup.bind(this); if (this.touchCapable) { // Touch: Bind touch events: document.addEventListener("touchmove", this.mousemove, false); document.addEventListener("touchend", this.mouseup, false); } else { // Bind mouse events: document.addEventListener("mousemove", this.mousemove, false); document.addEventListener("mouseup", this.mouseup, false); } this.inDrag = true; var val = this._calculateValue(); this._trigger('slideStart', val); this._setDataVal(val); this.setValue(val); this._pauseEvent(ev); return true; }, _triggerFocusOnHandle: function(handleIdx) { if(handleIdx === 0) { this.handle1.focus(); } if(handleIdx === 1) { this.handle2.focus(); } }, _keydown: function(handleIdx, ev) { if(!this.options.enabled) { return false; } var dir; switch (ev.keyCode) { case 37: // left case 40: // down dir = -1; break; case 39: // right case 38: // up dir = 1; break; } if (!dir) { return; } // use natural arrow keys instead of from min to max if (this.options.natural_arrow_keys) { var ifVerticalAndNotReversed = (this.options.orientation === 'vertical' && !this.options.reversed); var ifHorizontalAndReversed = (this.options.orientation === 'horizontal' && this.options.reversed); if (ifVerticalAndNotReversed || ifHorizontalAndReversed) { dir = dir * -1; } } var oneStepValuePercentageChange = dir * this.percentage[2]; var percentage = this.percentage[handleIdx] + oneStepValuePercentageChange; if (percentage > 100) { percentage = 100; } else if (percentage < 0) { percentage = 0; } this.dragged = handleIdx; this._adjustPercentageForRangeSliders(percentage); this.percentage[this.dragged] = percentage; this._layout(); var val = this._calculateValue(); this._trigger('slideStart', val); this._setDataVal(val); this.setValue(val, true); this._trigger('slideStop', val); this._setDataVal(val); this._pauseEvent(ev); return false; }, _pauseEvent: function(ev) { if(ev.stopPropagation) { ev.stopPropagation(); } if(ev.preventDefault) { ev.preventDefault(); } ev.cancelBubble=true; ev.returnValue=false; }, _mousemove: function(ev) { if(!this.options.enabled) { return false; } var percentage = this._getPercentage(ev); this._adjustPercentageForRangeSliders(percentage); this.percentage[this.dragged] = this.options.reversed ? 100 - percentage : percentage; this._layout(); var val = this._calculateValue(); this.setValue(val, true); return false; }, _adjustPercentageForRangeSliders: function(percentage) { if (this.options.range) { if (this.dragged === 0 && this.percentage[1] < percentage) { this.percentage[0] = this.percentage[1]; this.dragged = 1; } else if (this.dragged === 1 && this.percentage[0] > percentage) { this.percentage[1] = this.percentage[0]; this.dragged = 0; } } }, _mouseup: function() { if(!this.options.enabled) { return false; } if (this.touchCapable) { // Touch: Unbind touch event handlers: document.removeEventListener("touchmove", this.mousemove, false); document.removeEventListener("touchend", this.mouseup, false); } else { // Unbind mouse event handlers: document.removeEventListener("mousemove", this.mousemove, false); document.removeEventListener("mouseup", this.mouseup, false); } this.inDrag = false; if (this.over === false) { this._hideTooltip(); } var val = this._calculateValue(); this._layout(); this._setDataVal(val); this._trigger('slideStop', val); return false; }, _calculateValue: function() { var val; if (this.options.range) { val = [this.options.min,this.options.max]; if (this.percentage[0] !== 0){ val[0] = (Math.max(this.options.min, this.options.min + Math.round((this.diff * this.percentage[0]/100)/this.options.step)*this.options.step)); val[0] = this._applyPrecision(val[0]); } if (this.percentage[1] !== 100){ val[1] = (Math.min(this.options.max, this.options.min + Math.round((this.diff * this.percentage[1]/100)/this.options.step)*this.options.step)); val[1] = this._applyPrecision(val[1]); } this.options.value = val; } else { val = (this.options.min + Math.round((this.diff * this.percentage[0]/100)/this.options.step)*this.options.step); if (val < this.options.min) { val = this.options.min; } else if (val > this.options.max) { val = this.options.max; } val = parseFloat(val); val = this._applyPrecision(val); this.options.value = [val, this.options.value[1]]; } return val; }, _applyPrecision: function(val) { var precision = this.options.precision || this._getNumDigitsAfterDecimalPlace(this.step); return this._applyToFixedAndParseFloat(val, precision); }, _getNumDigitsAfterDecimalPlace: function(num) { var match = (''+num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/); if (!match) { return 0; } return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0)); }, _applyToFixedAndParseFloat: function(num, toFixedInput) { var truncatedNum = num.toFixed(toFixedInput); return parseFloat(truncatedNum); }, /* Credits to Mike Samuel for the following method! Source: http://stackoverflow.com/questions/10454518/javascript-how-to-retrieve-the-number-of-decimals-of-a-string-number */ _getPercentage: function(ev) { if (this.touchCapable && (ev.type === 'touchstart' || ev.type === 'touchmove')) { ev = ev.touches[0]; } var percentage = (ev[this.mousePos] - this.offset[this.stylePos])*100/this.size; percentage = Math.round(percentage/this.percentage[2])*this.percentage[2]; return Math.max(0, Math.min(100, percentage)); }, _validateInputValue: function(val) { if(typeof val === 'number') { return val; } else if(val instanceof Array) { this._validateArray(val); return val; } else { throw new Error( ErrorMsgs.formatInvalidInputErrorMsg(val) ); } }, _validateArray: function(val) { for(var i = 0; i < val.length; i++) { var input = val[i]; if (typeof input !== 'number') { throw new Error( ErrorMsgs.formatInvalidInputErrorMsg(input) ); } } }, _setDataVal: function(val) { var value = "value: '" + val + "'"; this.element.setAttribute('data', value); this.element.setAttribute('value', val); }, _trigger: function(evt, val) { val = val || undefined; var callbackFnArray = this.eventToCallbackMap[evt]; if(callbackFnArray && callbackFnArray.length) { for(var i = 0; i < callbackFnArray.length; i++) { var callbackFn = callbackFnArray[i]; callbackFn(val); } } /* If JQuery exists, trigger JQuery events */ if($) { this._triggerJQueryEvent(evt, val); } }, _triggerJQueryEvent: function(evt, val) { var eventData = { type: evt, value: val }; this.$element.trigger(eventData); this.$sliderElem.trigger(eventData); }, _unbindJQueryEventHandlers: function() { this.$element.off(); this.$sliderElem.off(); }, _setText: function(element, text) { if(typeof element.innerText !== "undefined") { element.innerText = text; } else if(typeof element.textContent !== "undefined") { element.textContent = text; } }, _removeClass: function(element, classString) { var classes = classString.split(" "); var newClasses = element.className; for(var i = 0; i < classes.length; i++) { var classTag = classes[i]; var regex = new RegExp("(?:\\s|^)" + classTag + "(?:\\s|$)"); newClasses = newClasses.replace(regex, " "); } element.className = newClasses.trim(); }, _addClass: function(element, classString) { var classes = classString.split(" "); var newClasses = element.className; for(var i = 0; i < classes.length; i++) { var classTag = classes[i]; var regex = new RegExp("(?:\\s|^)" + classTag + "(?:\\s|$)"); var ifClassExists = regex.test(newClasses); if(!ifClassExists) { newClasses += " " + classTag; } } element.className = newClasses.trim(); }, _offset: function (obj) { var ol = 0; var ot = 0; if (obj.offsetParent) { do { ol += obj.offsetLeft; ot += obj.offsetTop; } while (obj = obj.offsetParent); } return { left: ol, top: ot }; }, _css: function(elementRef, styleName, value) { elementRef.style[styleName] = value; } }; /********************************* Attach to global namespace *********************************/ if($) { var namespace = $.fn.slider ? 'bootstrapSlider' : 'slider'; $.bridget(namespace, Slider); } else { window.Slider = Slider; } })( $ ); })( window.jQuery ); ================================================ FILE: plugins/bootstrap-slider/slider.css ================================================ /*! * Slider for Bootstrap * * Copyright 2012 Stefan Petre * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * */ .slider { display: block; vertical-align: middle; position: relative; } .slider.slider-horizontal { width: 100%; height: 20px; margin-bottom: 20px; } .slider.slider-horizontal:last-of-type { margin-bottom: 0; } .slider.slider-horizontal .slider-track { height: 10px; width: 100%; margin-top: -5px; top: 50%; left: 0; } .slider.slider-horizontal .slider-selection { height: 100%; top: 0; bottom: 0; } .slider.slider-horizontal .slider-handle { margin-left: -10px; margin-top: -5px; } .slider.slider-horizontal .slider-handle.triangle { border-width: 0 10px 10px 10px; width: 0; height: 0; border-bottom-color: #0480be; margin-top: 0; } .slider.slider-vertical { height: 230px; width: 20px; margin-right: 20px; display: inline-block; } .slider.slider-vertical:last-of-type { margin-right: 0; } .slider.slider-vertical .slider-track { width: 10px; height: 100%; margin-left: -5px; left: 50%; top: 0; } .slider.slider-vertical .slider-selection { width: 100%; left: 0; top: 0; bottom: 0; } .slider.slider-vertical .slider-handle { margin-left: -5px; margin-top: -10px; } .slider.slider-vertical .slider-handle.triangle { border-width: 10px 0 10px 10px; width: 1px; height: 1px; border-left-color: #0480be; margin-left: 0; } .slider input { display: none; } .slider .tooltip-inner { white-space: nowrap; } .slider-track { position: absolute; cursor: pointer; background-color: #f7f7f7; background-image: -moz-linear-gradient(top, #f0f0f0, #f9f9f9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f0f0f0), to(#f9f9f9)); background-image: -webkit-linear-gradient(top, #f0f0f0, #f9f9f9); background-image: -o-linear-gradient(top, #f0f0f0, #f9f9f9); background-image: linear-gradient(to bottom, #f0f0f0, #f9f9f9); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0f0f0', endColorstr='#fff9f9f9', GradientType=0); -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .slider-selection { position: absolute; background-color: #f7f7f7; background-image: -moz-linear-gradient(top, #f9f9f9, #f5f5f5); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f9f9f9), to(#f5f5f5)); background-image: -webkit-linear-gradient(top, #f9f9f9, #f5f5f5); background-image: -o-linear-gradient(top, #f9f9f9, #f5f5f5); background-image: linear-gradient(to bottom, #f9f9f9, #f5f5f5); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff9f9f9', endColorstr='#fff5f5f5', GradientType=0); -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .slider-handle { position: absolute; width: 20px; height: 20px; background-color: #444; -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); opacity: 1; border: 0px solid transparent; } .slider-handle.round { -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; } .slider-handle.triangle { background: transparent none; } .slider-disabled .slider-selection { opacity: 0.5; } #red .slider-selection { background: #f56954; } #blue .slider-selection { background: #3c8dbc; } #green .slider-selection { background: #00a65a; } #yellow .slider-selection { background: #f39c12; } #aqua .slider-selection { background: #00c0ef; } #purple .slider-selection { background: #932ab6; } ================================================ FILE: plugins/jquery.flexisel.js ================================================ /* * File: jquery.flexisel.js * Version: 1.0.0 * Description: Responsive carousel jQuery plugin * Author: 9bit Studios * Copyright 2012, 9bit Studios * http://www.9bitstudios.com * Free to use and abuse under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ (function ($) { $.fn.flexisel = function (options) { var defaults = $.extend({ visibleItems: 4, animationSpeed: 200, autoPlay: false, autoPlaySpeed: 3000, pauseOnHover: true, setMaxWidthAndHeight: false, enableResponsiveBreakpoints: false, responsiveBreakpoints: { portrait: { changePoint:480, visibleItems: 1 }, landscape: { changePoint:640, visibleItems: 2 }, tablet: { changePoint:768, visibleItems: 3 } } }, options); /****************************** Private Variables *******************************/ var object = $(this); var settings = $.extend(defaults, options); var itemsWidth; // Declare the global width of each item in carousel var canNavigate = true; var itemsVisible = settings.visibleItems; /****************************** Public Methods *******************************/ var methods = { init: function() { return this.each(function () { methods.appendHTML(); methods.setEventHandlers(); methods.initializeItems(); }); }, /****************************** Initialize Items *******************************/ initializeItems: function() { var listParent = object.parent(); var innerHeight = listParent.height(); var childSet = object.children(); var innerWidth = listParent.width(); // Set widths itemsWidth = (innerWidth)/itemsVisible; childSet.width(itemsWidth); childSet.last().insertBefore(childSet.first()); childSet.last().insertBefore(childSet.first()); object.css({'left' : -itemsWidth}); object.fadeIn(); $(window).trigger("resize"); // needed to position arrows correctly }, /****************************** Append HTML *******************************/ appendHTML: function() { object.addClass("nbs-flexisel-ul"); object.wrap("
"); object.find("li").addClass("nbs-flexisel-item"); if(settings.setMaxWidthAndHeight) { var baseWidth = $(".nbs-flexisel-item > img").width(); var baseHeight = $(".nbs-flexisel-item > img").height(); $(".nbs-flexisel-item > img").css("max-width", baseWidth); $(".nbs-flexisel-item > img").css("max-height", baseHeight); } $("
").insertAfter(object); var cloneContent = object.children().clone(); object.append(cloneContent); }, /****************************** Set Event Handlers *******************************/ setEventHandlers: function() { var listParent = object.parent(); var childSet = object.children(); var leftArrow = listParent.find($(".nbs-flexisel-nav-left")); var rightArrow = listParent.find($(".nbs-flexisel-nav-right")); $(window).on("resize", function(event){ methods.setResponsiveEvents(); var innerWidth = $(listParent).width(); var innerHeight = $(listParent).height(); itemsWidth = (innerWidth)/itemsVisible; childSet.width(itemsWidth); object.css({'left' : -itemsWidth}); var halfArrowHeight = (leftArrow.height())/2; var arrowMargin = (innerHeight/2) - halfArrowHeight; leftArrow.css("top", arrowMargin + "px"); rightArrow.css("top", arrowMargin + "px"); }); $(leftArrow).on("click", function (event) { methods.scrollLeft(); }); $(rightArrow).on("click", function (event) { methods.scrollRight(); }); if(settings.pauseOnHover == true) { $(".nbs-flexisel-item").on({ mouseenter: function () { canNavigate = false; }, mouseleave: function () { canNavigate = true; } }); } if(settings.autoPlay == true) { setInterval(function () { if(canNavigate == true) methods.scrollRight(); }, settings.autoPlaySpeed); } }, /****************************** Set Responsive Events *******************************/ setResponsiveEvents: function() { var contentWidth = $('html').width(); if(settings.enableResponsiveBreakpoints == true) { if(contentWidth < settings.responsiveBreakpoints.portrait.changePoint) { itemsVisible = settings.responsiveBreakpoints.portrait.visibleItems; } else if(contentWidth > settings.responsiveBreakpoints.portrait.changePoint && contentWidth < settings.responsiveBreakpoints.landscape.changePoint) { itemsVisible = settings.responsiveBreakpoints.landscape.visibleItems; } else if(contentWidth > settings.responsiveBreakpoints.landscape.changePoint && contentWidth < settings.responsiveBreakpoints.tablet.changePoint) { itemsVisible = settings.responsiveBreakpoints.tablet.visibleItems; } else { itemsVisible = settings.visibleItems; } } }, /****************************** Scroll Left *******************************/ scrollLeft:function() { if(canNavigate == true) { canNavigate = false; var listParent = object.parent(); var innerWidth = listParent.width(); itemsWidth = (innerWidth)/itemsVisible; var childSet = object.children(); object.animate({ 'left' : "+=" + itemsWidth }, { queue:false, duration:settings.animationSpeed, easing: "linear", complete: function() { childSet.last().insertBefore(childSet.first()); // Get the first list item and put it after the last list item (that's how the infinite effects is made) methods.adjustScroll(); canNavigate = true; } } ); } }, /****************************** Scroll Right *******************************/ scrollRight:function() { if(canNavigate == true) { canNavigate = false; var listParent = object.parent(); var innerWidth = listParent.width(); itemsWidth = (innerWidth)/itemsVisible; var childSet = object.children(); object.animate({ 'left' : "-=" + itemsWidth }, { queue:false, duration:settings.animationSpeed, easing: "linear", complete: function() { childSet.first().insertAfter(childSet.last()); // Get the first list item and put it after the last list item (that's how the infinite effects is made) methods.adjustScroll(); canNavigate = true; } } ); } }, /****************************** Adjust Scroll *******************************/ adjustScroll: function() { var listParent = object.parent(); var childSet = object.children(); var innerWidth = listParent.width(); itemsWidth = (innerWidth)/itemsVisible; childSet.width(itemsWidth); object.css({'left' : -itemsWidth}); } }; if (methods[options]) { // $("#element").pluginName('methodName', 'arg1', 'arg2'); return methods[options].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof options === 'object' || !options) { // $("#element").pluginName({ option: 1, option:2 }); return methods.init.apply(this); } else { $.error( 'Method "' + method + '" does not exist in flexisel plugin!'); } }; })(jQuery); ================================================ FILE: plugins/knob/jquery.knob.js ================================================ /*!jQuery Knob*/ /** * Downward compatible, touchable dial * * Version: 1.2.11 * Requires: jQuery v1.7+ * * Copyright (c) 2012 Anthony Terrien * Under MIT License (http://www.opensource.org/licenses/mit-license.php) * * Thanks to vor, eskimoblood, spiffistan, FabrizioC */ (function (factory) { if (typeof exports === 'object') { // CommonJS module.exports = factory(require('jquery')); } else if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['jquery'], factory); } else { // Browser globals factory(jQuery); } }(function ($) { /** * Kontrol library */ "use strict"; /** * Definition of globals and core */ var k = {}, // kontrol max = Math.max, min = Math.min; k.c = {}; k.c.d = $(document); k.c.t = function (e) { return e.originalEvent.touches.length - 1; }; /** * Kontrol Object * * Definition of an abstract UI control * * Each concrete component must call this one. * * k.o.call(this); * */ k.o = function () { var s = this; this.o = null; // array of options this.$ = null; // jQuery wrapped element this.i = null; // mixed HTMLInputElement or array of HTMLInputElement this.g = null; // deprecated 2D graphics context for 'pre-rendering' this.v = null; // value ; mixed array or integer this.cv = null; // change value ; not commited value this.x = 0; // canvas x position this.y = 0; // canvas y position this.w = 0; // canvas width this.h = 0; // canvas height this.$c = null; // jQuery canvas element this.c = null; // rendered canvas context this.t = 0; // touches index this.isInit = false; this.fgColor = null; // main color this.pColor = null; // previous color this.dH = null; // draw hook this.cH = null; // change hook this.eH = null; // cancel hook this.rH = null; // release hook this.scale = 1; // scale factor this.relative = false; this.relativeWidth = false; this.relativeHeight = false; this.$div = null; // component div this.run = function () { var cf = function (e, conf) { var k; for (k in conf) { s.o[k] = conf[k]; } s._carve().init(); s._configure() ._draw(); }; if (this.$.data('kontroled')) return; this.$.data('kontroled', true); this.extend(); this.o = $.extend({ // Config min: this.$.data('min') !== undefined ? this.$.data('min') : 0, max: this.$.data('max') !== undefined ? this.$.data('max') : 100, stopper: true, readOnly: this.$.data('readonly') || (this.$.attr('readonly') === 'readonly'), // UI cursor: this.$.data('cursor') === true && 30 || this.$.data('cursor') || 0, thickness: this.$.data('thickness') && Math.max(Math.min(this.$.data('thickness'), 1), 0.01) || 0.35, lineCap: this.$.data('linecap') || 'butt', width: this.$.data('width') || 200, height: this.$.data('height') || 200, displayInput: this.$.data('displayinput') == null || this.$.data('displayinput'), displayPrevious: this.$.data('displayprevious'), fgColor: this.$.data('fgcolor') || '#87CEEB', inputColor: this.$.data('inputcolor'), font: this.$.data('font') || 'Arial', fontWeight: this.$.data('font-weight') || 'bold', inline: false, step: this.$.data('step') || 1, rotation: this.$.data('rotation'), // Hooks draw: null, // function () {} change: null, // function (value) {} cancel: null, // function () {} release: null, // function (value) {} // Output formatting, allows to add unit: %, ms ... format: function(v) { return v; }, parse: function (v) { return parseFloat(v); } }, this.o ); // finalize options this.o.flip = this.o.rotation === 'anticlockwise' || this.o.rotation === 'acw'; if (!this.o.inputColor) { this.o.inputColor = this.o.fgColor; } // routing value if (this.$.is('fieldset')) { // fieldset = array of integer this.v = {}; this.i = this.$.find('input'); this.i.each(function(k) { var $this = $(this); s.i[k] = $this; s.v[k] = s.o.parse($this.val()); $this.bind( 'change blur', function () { var val = {}; val[k] = $this.val(); s.val(s._validate(val)); } ); }); this.$.find('legend').remove(); } else { // input = integer this.i = this.$; this.v = this.o.parse(this.$.val()); this.v === '' && (this.v = this.o.min); this.$.bind( 'change blur', function () { s.val(s._validate(s.o.parse(s.$.val()))); } ); } !this.o.displayInput && this.$.hide(); // adds needed DOM elements (canvas, div) this.$c = $(document.createElement('canvas')).attr({ width: this.o.width, height: this.o.height }); // wraps all elements in a div // add to DOM before Canvas init is triggered this.$div = $('
'); this.$.wrap(this.$div).before(this.$c); this.$div = this.$.parent(); if (typeof G_vmlCanvasManager !== 'undefined') { G_vmlCanvasManager.initElement(this.$c[0]); } this.c = this.$c[0].getContext ? this.$c[0].getContext('2d') : null; if (!this.c) { throw { name: "CanvasNotSupportedException", message: "Canvas not supported. Please use excanvas on IE8.0.", toString: function(){return this.name + ": " + this.message} } } // hdpi support this.scale = (window.devicePixelRatio || 1) / ( this.c.webkitBackingStorePixelRatio || this.c.mozBackingStorePixelRatio || this.c.msBackingStorePixelRatio || this.c.oBackingStorePixelRatio || this.c.backingStorePixelRatio || 1 ); // detects relative width / height this.relativeWidth = this.o.width % 1 !== 0 && this.o.width.indexOf('%'); this.relativeHeight = this.o.height % 1 !== 0 && this.o.height.indexOf('%'); this.relative = this.relativeWidth || this.relativeHeight; // computes size and carves the component this._carve(); // prepares props for transaction if (this.v instanceof Object) { this.cv = {}; this.copy(this.v, this.cv); } else { this.cv = this.v; } // binds configure event this.$ .bind("configure", cf) .parent() .bind("configure", cf); // finalize init this._listen() ._configure() ._xy() .init(); this.isInit = true; this.$.val(this.o.format(this.v)); this._draw(); return this; }; this._carve = function() { if (this.relative) { var w = this.relativeWidth ? this.$div.parent().width() * parseInt(this.o.width) / 100 : this.$div.parent().width(), h = this.relativeHeight ? this.$div.parent().height() * parseInt(this.o.height) / 100 : this.$div.parent().height(); // apply relative this.w = this.h = Math.min(w, h); } else { this.w = this.o.width; this.h = this.o.height; } // finalize div this.$div.css({ 'width': this.w + 'px', 'height': this.h + 'px' }); // finalize canvas with computed width this.$c.attr({ width: this.w, height: this.h }); // scaling if (this.scale !== 1) { this.$c[0].width = this.$c[0].width * this.scale; this.$c[0].height = this.$c[0].height * this.scale; this.$c.width(this.w); this.$c.height(this.h); } return this; } this._draw = function () { // canvas pre-rendering var d = true; s.g = s.c; s.clear(); s.dH && (d = s.dH()); d !== false && s.draw(); }; this._touch = function (e) { var touchMove = function (e) { var v = s.xy2val( e.originalEvent.touches[s.t].pageX, e.originalEvent.touches[s.t].pageY ); if (v == s.cv) return; if (s.cH && s.cH(v) === false) return; s.change(s._validate(v)); s._draw(); }; // get touches index this.t = k.c.t(e); // First touch touchMove(e); // Touch events listeners k.c.d .bind("touchmove.k", touchMove) .bind( "touchend.k", function () { k.c.d.unbind('touchmove.k touchend.k'); s.val(s.cv); } ); return this; }; this._mouse = function (e) { var mouseMove = function (e) { var v = s.xy2val(e.pageX, e.pageY); if (v == s.cv) return; if (s.cH && (s.cH(v) === false)) return; s.change(s._validate(v)); s._draw(); }; // First click mouseMove(e); // Mouse events listeners k.c.d .bind("mousemove.k", mouseMove) .bind( // Escape key cancel current change "keyup.k", function (e) { if (e.keyCode === 27) { k.c.d.unbind("mouseup.k mousemove.k keyup.k"); if (s.eH && s.eH() === false) return; s.cancel(); } } ) .bind( "mouseup.k", function (e) { k.c.d.unbind('mousemove.k mouseup.k keyup.k'); s.val(s.cv); } ); return this; }; this._xy = function () { var o = this.$c.offset(); this.x = o.left; this.y = o.top; return this; }; this._listen = function () { if (!this.o.readOnly) { this.$c .bind( "mousedown", function (e) { e.preventDefault(); s._xy()._mouse(e); } ) .bind( "touchstart", function (e) { e.preventDefault(); s._xy()._touch(e); } ); this.listen(); } else { this.$.attr('readonly', 'readonly'); } if (this.relative) { $(window).resize(function() { s._carve().init(); s._draw(); }); } return this; }; this._configure = function () { // Hooks if (this.o.draw) this.dH = this.o.draw; if (this.o.change) this.cH = this.o.change; if (this.o.cancel) this.eH = this.o.cancel; if (this.o.release) this.rH = this.o.release; if (this.o.displayPrevious) { this.pColor = this.h2rgba(this.o.fgColor, "0.4"); this.fgColor = this.h2rgba(this.o.fgColor, "0.6"); } else { this.fgColor = this.o.fgColor; } return this; }; this._clear = function () { this.$c[0].width = this.$c[0].width; }; this._validate = function (v) { var val = (~~ (((v < 0) ? -0.5 : 0.5) + (v/this.o.step))) * this.o.step; return Math.round(val * 100) / 100; }; // Abstract methods this.listen = function () {}; // on start, one time this.extend = function () {}; // each time configure triggered this.init = function () {}; // each time configure triggered this.change = function (v) {}; // on change this.val = function (v) {}; // on release this.xy2val = function (x, y) {}; // this.draw = function () {}; // on change / on release this.clear = function () { this._clear(); }; // Utils this.h2rgba = function (h, a) { var rgb; h = h.substring(1,7) rgb = [ parseInt(h.substring(0,2), 16), parseInt(h.substring(2,4), 16), parseInt(h.substring(4,6), 16) ]; return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + a + ")"; }; this.copy = function (f, t) { for (var i in f) { t[i] = f[i]; } }; }; /** * k.Dial */ k.Dial = function () { k.o.call(this); this.startAngle = null; this.xy = null; this.radius = null; this.lineWidth = null; this.cursorExt = null; this.w2 = null; this.PI2 = 2*Math.PI; this.extend = function () { this.o = $.extend({ bgColor: this.$.data('bgcolor') || '#EEEEEE', angleOffset: this.$.data('angleoffset') || 0, angleArc: this.$.data('anglearc') || 360, inline: true }, this.o); }; this.val = function (v, triggerRelease) { if (null != v) { // reverse format v = this.o.parse(v); if (triggerRelease !== false && v != this.v && this.rH && this.rH(v) === false) { return; } this.cv = this.o.stopper ? max(min(v, this.o.max), this.o.min) : v; this.v = this.cv; this.$.val(this.o.format(this.v)); this._draw(); } else { return this.v; } }; this.xy2val = function (x, y) { var a, ret; a = Math.atan2( x - (this.x + this.w2), - (y - this.y - this.w2) ) - this.angleOffset; if (this.o.flip) { a = this.angleArc - a - this.PI2; } if (this.angleArc != this.PI2 && (a < 0) && (a > -0.5)) { // if isset angleArc option, set to min if .5 under min a = 0; } else if (a < 0) { a += this.PI2; } ret = (a * (this.o.max - this.o.min) / this.angleArc) + this.o.min; this.o.stopper && (ret = max(min(ret, this.o.max), this.o.min)); return ret; }; this.listen = function () { // bind MouseWheel var s = this, mwTimerStop, mwTimerRelease, mw = function (e) { e.preventDefault(); var ori = e.originalEvent, deltaX = ori.detail || ori.wheelDeltaX, deltaY = ori.detail || ori.wheelDeltaY, v = s._validate(s.o.parse(s.$.val())) + ( deltaX > 0 || deltaY > 0 ? s.o.step : deltaX < 0 || deltaY < 0 ? -s.o.step : 0 ); v = max(min(v, s.o.max), s.o.min); s.val(v, false); if (s.rH) { // Handle mousewheel stop clearTimeout(mwTimerStop); mwTimerStop = setTimeout(function () { s.rH(v); mwTimerStop = null; }, 100); // Handle mousewheel releases if (!mwTimerRelease) { mwTimerRelease = setTimeout(function () { if (mwTimerStop) s.rH(v); mwTimerRelease = null; }, 200); } } }, kval, to, m = 1, kv = { 37: -s.o.step, 38: s.o.step, 39: s.o.step, 40: -s.o.step }; this.$ .bind( "keydown", function (e) { var kc = e.keyCode; // numpad support if (kc >= 96 && kc <= 105) { kc = e.keyCode = kc - 48; } kval = parseInt(String.fromCharCode(kc)); if (isNaN(kval)) { (kc !== 13) // enter && kc !== 8 // bs && kc !== 9 // tab && kc !== 189 // - && (kc !== 190 || s.$.val().match(/\./)) // . allowed once && e.preventDefault(); // arrows if ($.inArray(kc,[37,38,39,40]) > -1) { e.preventDefault(); var v = s.o.parse(s.$.val()) + kv[kc] * m; s.o.stopper && (v = max(min(v, s.o.max), s.o.min)); s.change(s._validate(v)); s._draw(); // long time keydown speed-up to = window.setTimeout(function () { m *= 2; }, 30); } } } ) .bind( "keyup", function (e) { if (isNaN(kval)) { if (to) { window.clearTimeout(to); to = null; m = 1; s.val(s.$.val()); } } else { // kval postcond (s.$.val() > s.o.max && s.$.val(s.o.max)) || (s.$.val() < s.o.min && s.$.val(s.o.min)); } } ); this.$c.bind("mousewheel DOMMouseScroll", mw); this.$.bind("mousewheel DOMMouseScroll", mw) }; this.init = function () { if (this.v < this.o.min || this.v > this.o.max) { this.v = this.o.min; } this.$.val(this.v); this.w2 = this.w / 2; this.cursorExt = this.o.cursor / 100; this.xy = this.w2 * this.scale; this.lineWidth = this.xy * this.o.thickness; this.lineCap = this.o.lineCap; this.radius = this.xy - this.lineWidth / 2; this.o.angleOffset && (this.o.angleOffset = isNaN(this.o.angleOffset) ? 0 : this.o.angleOffset); this.o.angleArc && (this.o.angleArc = isNaN(this.o.angleArc) ? this.PI2 : this.o.angleArc); // deg to rad this.angleOffset = this.o.angleOffset * Math.PI / 180; this.angleArc = this.o.angleArc * Math.PI / 180; // compute start and end angles this.startAngle = 1.5 * Math.PI + this.angleOffset; this.endAngle = 1.5 * Math.PI + this.angleOffset + this.angleArc; var s = max( String(Math.abs(this.o.max)).length, String(Math.abs(this.o.min)).length, 2 ) + 2; this.o.displayInput && this.i.css({ 'width' : ((this.w / 2 + 4) >> 0) + 'px', 'height' : ((this.w / 3) >> 0) + 'px', 'position' : 'absolute', 'vertical-align' : 'middle', 'margin-top' : ((this.w / 3) >> 0) + 'px', 'margin-left' : '-' + ((this.w * 3 / 4 + 2) >> 0) + 'px', 'border' : 0, 'background' : 'none', 'font' : this.o.fontWeight + ' ' + ((this.w / s) >> 0) + 'px ' + this.o.font, 'text-align' : 'center', 'color' : this.o.inputColor || this.o.fgColor, 'padding' : '0px', '-webkit-appearance': 'none' }) || this.i.css({ 'width': '0px', 'visibility': 'hidden' }); }; this.change = function (v) { this.cv = v; this.$.val(this.o.format(v)); }; this.angle = function (v) { return (v - this.o.min) * this.angleArc / (this.o.max - this.o.min); }; this.arc = function (v) { var sa, ea; v = this.angle(v); if (this.o.flip) { sa = this.endAngle + 0.00001; ea = sa - v - 0.00001; } else { sa = this.startAngle - 0.00001; ea = sa + v + 0.00001; } this.o.cursor && (sa = ea - this.cursorExt) && (ea = ea + this.cursorExt); return { s: sa, e: ea, d: this.o.flip && !this.o.cursor }; }; this.draw = function () { var c = this.g, // context a = this.arc(this.cv), // Arc pa, // Previous arc r = 1; c.lineWidth = this.lineWidth; c.lineCap = this.lineCap; if (this.o.bgColor !== "none") { c.beginPath(); c.strokeStyle = this.o.bgColor; c.arc(this.xy, this.xy, this.radius, this.endAngle - 0.00001, this.startAngle + 0.00001, true); c.stroke(); } if (this.o.displayPrevious) { pa = this.arc(this.v); c.beginPath(); c.strokeStyle = this.pColor; c.arc(this.xy, this.xy, this.radius, pa.s, pa.e, pa.d); c.stroke(); r = this.cv == this.v; } c.beginPath(); c.strokeStyle = r ? this.o.fgColor : this.fgColor ; c.arc(this.xy, this.xy, this.radius, a.s, a.e, a.d); c.stroke(); }; this.cancel = function () { this.val(this.v); }; }; $.fn.dial = $.fn.knob = function (o) { return this.each( function () { var d = new k.Dial(); d.o = o; d.$ = $(this); d.run(); } ).parent(); }; })); ================================================ FILE: plugins/owl-carousel/owl.carousel.css ================================================ /* * Core Owl Carousel CSS File * v1.3.3 */ /* clearfix */ .owl-carousel .owl-wrapper:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } /* display none until init */ .owl-carousel{ display: none; position: relative; width: 100%; -ms-touch-action: pan-y; } .owl-carousel .owl-wrapper{ display: none; position: relative; -webkit-transform: translate3d(0px, 0px, 0px); } .owl-carousel .owl-wrapper-outer{ overflow: hidden; position: relative; width: 100%; } .owl-carousel .owl-wrapper-outer.autoHeight{ -webkit-transition: height 500ms ease-in-out; -moz-transition: height 500ms ease-in-out; -ms-transition: height 500ms ease-in-out; -o-transition: height 500ms ease-in-out; transition: height 500ms ease-in-out; } .owl-carousel .owl-item{ float: left; } .owl-controls .owl-page, .owl-controls .owl-buttons div{ cursor: pointer; } .owl-controls { -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } /* mouse grab icon */ .grabbing { cursor:url(grabbing.png) 8 8, move; } /* fix */ .owl-carousel .owl-wrapper, .owl-carousel .owl-item{ -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -webkit-transform: translate3d(0,0,0); -moz-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0); } ================================================ FILE: plugins/owl-carousel/owl.carousel.js ================================================ /* * jQuery OwlCarousel v1.3.3 * * Copyright (c) 2013 Bartosz Wojciechowski * http://www.owlgraphic.com/owlcarousel/ * * Licensed under MIT * */ /*JS Lint helpers: */ /*global dragMove: false, dragEnd: false, $, jQuery, alert, window, document */ /*jslint nomen: true, continue:true */ if (typeof Object.create !== "function") { Object.create = function (obj) { function F() {} F.prototype = obj; return new F(); }; } (function ($, window, document) { var Carousel = { init : function (options, el) { var base = this; base.$elem = $(el); base.options = $.extend({}, $.fn.owlCarousel.options, base.$elem.data(), options); base.userOptions = options; base.loadContent(); }, loadContent : function () { var base = this, url; function getData(data) { var i, content = ""; if (typeof base.options.jsonSuccess === "function") { base.options.jsonSuccess.apply(this, [data]); } else { for (i in data.owl) { if (data.owl.hasOwnProperty(i)) { content += data.owl[i].item; } } base.$elem.html(content); } base.logIn(); } if (typeof base.options.beforeInit === "function") { base.options.beforeInit.apply(this, [base.$elem]); } if (typeof base.options.jsonPath === "string") { url = base.options.jsonPath; $.getJSON(url, getData); } else { base.logIn(); } }, logIn : function () { var base = this; base.$elem.data("owl-originalStyles", base.$elem.attr("style")); base.$elem.data("owl-originalClasses", base.$elem.attr("class")); base.$elem.css({opacity: 0}); base.orignalItems = base.options.items; base.checkBrowser(); base.wrapperWidth = 0; base.checkVisible = null; base.setVars(); }, setVars : function () { var base = this; if (base.$elem.children().length === 0) {return false; } base.baseClass(); base.eventTypes(); base.$userItems = base.$elem.children(); base.itemsAmount = base.$userItems.length; base.wrapItems(); base.$owlItems = base.$elem.find(".owl-item"); base.$owlWrapper = base.$elem.find(".owl-wrapper"); base.playDirection = "next"; base.prevItem = 0; base.prevArr = [0]; base.currentItem = 0; base.customEvents(); base.onStartup(); }, onStartup : function () { var base = this; base.updateItems(); base.calculateAll(); base.buildControls(); base.updateControls(); base.response(); base.moveEvents(); base.stopOnHover(); base.owlStatus(); if (base.options.transitionStyle !== false) { base.transitionTypes(base.options.transitionStyle); } if (base.options.autoPlay === true) { base.options.autoPlay = 5000; } base.play(); base.$elem.find(".owl-wrapper").css("display", "block"); if (!base.$elem.is(":visible")) { base.watchVisibility(); } else { base.$elem.css("opacity", 1); } base.onstartup = false; base.eachMoveUpdate(); if (typeof base.options.afterInit === "function") { base.options.afterInit.apply(this, [base.$elem]); } }, eachMoveUpdate : function () { var base = this; if (base.options.lazyLoad === true) { base.lazyLoad(); } if (base.options.autoHeight === true) { base.autoHeight(); } base.onVisibleItems(); if (typeof base.options.afterAction === "function") { base.options.afterAction.apply(this, [base.$elem]); } }, updateVars : function () { var base = this; if (typeof base.options.beforeUpdate === "function") { base.options.beforeUpdate.apply(this, [base.$elem]); } base.watchVisibility(); base.updateItems(); base.calculateAll(); base.updatePosition(); base.updateControls(); base.eachMoveUpdate(); if (typeof base.options.afterUpdate === "function") { base.options.afterUpdate.apply(this, [base.$elem]); } }, reload : function () { var base = this; window.setTimeout(function () { base.updateVars(); }, 0); }, watchVisibility : function () { var base = this; if (base.$elem.is(":visible") === false) { base.$elem.css({opacity: 0}); window.clearInterval(base.autoPlayInterval); window.clearInterval(base.checkVisible); } else { return false; } base.checkVisible = window.setInterval(function () { if (base.$elem.is(":visible")) { base.reload(); base.$elem.animate({opacity: 1}, 200); window.clearInterval(base.checkVisible); } }, 500); }, wrapItems : function () { var base = this; base.$userItems.wrapAll("
").wrap("
"); base.$elem.find(".owl-wrapper").wrap("
"); base.wrapperOuter = base.$elem.find(".owl-wrapper-outer"); base.$elem.css("display", "block"); }, baseClass : function () { var base = this, hasBaseClass = base.$elem.hasClass(base.options.baseClass), hasThemeClass = base.$elem.hasClass(base.options.theme); if (!hasBaseClass) { base.$elem.addClass(base.options.baseClass); } if (!hasThemeClass) { base.$elem.addClass(base.options.theme); } }, updateItems : function () { var base = this, width, i; if (base.options.responsive === false) { return false; } if (base.options.singleItem === true) { base.options.items = base.orignalItems = 1; base.options.itemsCustom = false; base.options.itemsDesktop = false; base.options.itemsDesktopSmall = false; base.options.itemsTablet = false; base.options.itemsTabletSmall = false; base.options.itemsMobile = false; return false; } width = $(base.options.responsiveBaseWidth).width(); if (width > (base.options.itemsDesktop[0] || base.orignalItems)) { base.options.items = base.orignalItems; } if (base.options.itemsCustom !== false) { //Reorder array by screen size base.options.itemsCustom.sort(function (a, b) {return a[0] - b[0]; }); for (i = 0; i < base.options.itemsCustom.length; i += 1) { if (base.options.itemsCustom[i][0] <= width) { base.options.items = base.options.itemsCustom[i][1]; } } } else { if (width <= base.options.itemsDesktop[0] && base.options.itemsDesktop !== false) { base.options.items = base.options.itemsDesktop[1]; } if (width <= base.options.itemsDesktopSmall[0] && base.options.itemsDesktopSmall !== false) { base.options.items = base.options.itemsDesktopSmall[1]; } if (width <= base.options.itemsTablet[0] && base.options.itemsTablet !== false) { base.options.items = base.options.itemsTablet[1]; } if (width <= base.options.itemsTabletSmall[0] && base.options.itemsTabletSmall !== false) { base.options.items = base.options.itemsTabletSmall[1]; } if (width <= base.options.itemsMobile[0] && base.options.itemsMobile !== false) { base.options.items = base.options.itemsMobile[1]; } } //if number of items is less than declared if (base.options.items > base.itemsAmount && base.options.itemsScaleUp === true) { base.options.items = base.itemsAmount; } }, response : function () { var base = this, smallDelay, lastWindowWidth; if (base.options.responsive !== true) { return false; } lastWindowWidth = $(window).width(); base.resizer = function () { if ($(window).width() !== lastWindowWidth) { if (base.options.autoPlay !== false) { window.clearInterval(base.autoPlayInterval); } window.clearTimeout(smallDelay); smallDelay = window.setTimeout(function () { lastWindowWidth = $(window).width(); base.updateVars(); }, base.options.responsiveRefreshRate); } }; $(window).resize(base.resizer); }, updatePosition : function () { var base = this; base.jumpTo(base.currentItem); if (base.options.autoPlay !== false) { base.checkAp(); } }, appendItemsSizes : function () { var base = this, roundPages = 0, lastItem = base.itemsAmount - base.options.items; base.$owlItems.each(function (index) { var $this = $(this); $this .css({"width": base.itemWidth}) .data("owl-item", Number(index)); if (index % base.options.items === 0 || index === lastItem) { if (!(index > lastItem)) { roundPages += 1; } } $this.data("owl-roundPages", roundPages); }); }, appendWrapperSizes : function () { var base = this, width = base.$owlItems.length * base.itemWidth; base.$owlWrapper.css({ "width": width * 2, "left": 0 }); base.appendItemsSizes(); }, calculateAll : function () { var base = this; base.calculateWidth(); base.appendWrapperSizes(); base.loops(); base.max(); }, calculateWidth : function () { var base = this; base.itemWidth = Math.round(base.$elem.width() / base.options.items); }, max : function () { var base = this, maximum = ((base.itemsAmount * base.itemWidth) - base.options.items * base.itemWidth) * -1; if (base.options.items > base.itemsAmount) { base.maximumItem = 0; maximum = 0; base.maximumPixels = 0; } else { base.maximumItem = base.itemsAmount - base.options.items; base.maximumPixels = maximum; } return maximum; }, min : function () { return 0; }, loops : function () { var base = this, prev = 0, elWidth = 0, i, item, roundPageNum; base.positionsInArray = [0]; base.pagesInArray = []; for (i = 0; i < base.itemsAmount; i += 1) { elWidth += base.itemWidth; base.positionsInArray.push(-elWidth); if (base.options.scrollPerPage === true) { item = $(base.$owlItems[i]); roundPageNum = item.data("owl-roundPages"); if (roundPageNum !== prev) { base.pagesInArray[prev] = base.positionsInArray[i]; prev = roundPageNum; } } } }, buildControls : function () { var base = this; if (base.options.navigation === true || base.options.pagination === true) { base.owlControls = $("
").toggleClass("clickable", !base.browser.isTouch).appendTo(base.$elem); } if (base.options.pagination === true) { base.buildPagination(); } if (base.options.navigation === true) { base.buildButtons(); } }, buildButtons : function () { var base = this, buttonsWrapper = $("
"); base.owlControls.append(buttonsWrapper); base.buttonPrev = $("
", { "class" : "owl-prev", "html" : base.options.navigationText[0] || "" }); base.buttonNext = $("
", { "class" : "owl-next", "html" : base.options.navigationText[1] || "" }); buttonsWrapper .append(base.buttonPrev) .append(base.buttonNext); buttonsWrapper.on("touchstart.owlControls mousedown.owlControls", "div[class^=\"owl\"]", function (event) { event.preventDefault(); }); buttonsWrapper.on("touchend.owlControls mouseup.owlControls", "div[class^=\"owl\"]", function (event) { event.preventDefault(); if ($(this).hasClass("owl-next")) { base.next(); } else { base.prev(); } }); }, buildPagination : function () { var base = this; base.paginationWrapper = $("
"); base.owlControls.append(base.paginationWrapper); base.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", function (event) { event.preventDefault(); if (Number($(this).data("owl-page")) !== base.currentItem) { base.goTo(Number($(this).data("owl-page")), true); } }); }, updatePagination : function () { var base = this, counter, lastPage, lastItem, i, paginationButton, paginationButtonInner; if (base.options.pagination === false) { return false; } base.paginationWrapper.html(""); counter = 0; lastPage = base.itemsAmount - base.itemsAmount % base.options.items; for (i = 0; i < base.itemsAmount; i += 1) { if (i % base.options.items === 0) { counter += 1; if (lastPage === i) { lastItem = base.itemsAmount - base.options.items; } paginationButton = $("
", { "class" : "owl-page" }); paginationButtonInner = $("", { "text": base.options.paginationNumbers === true ? counter : "", "class": base.options.paginationNumbers === true ? "owl-numbers" : "" }); paginationButton.append(paginationButtonInner); paginationButton.data("owl-page", lastPage === i ? lastItem : i); paginationButton.data("owl-roundPages", counter); base.paginationWrapper.append(paginationButton); } } base.checkPagination(); }, checkPagination : function () { var base = this; if (base.options.pagination === false) { return false; } base.paginationWrapper.find(".owl-page").each(function () { if ($(this).data("owl-roundPages") === $(base.$owlItems[base.currentItem]).data("owl-roundPages")) { base.paginationWrapper .find(".owl-page") .removeClass("active"); $(this).addClass("active"); } }); }, checkNavigation : function () { var base = this; if (base.options.navigation === false) { return false; } if (base.options.rewindNav === false) { if (base.currentItem === 0 && base.maximumItem === 0) { base.buttonPrev.addClass("disabled"); base.buttonNext.addClass("disabled"); } else if (base.currentItem === 0 && base.maximumItem !== 0) { base.buttonPrev.addClass("disabled"); base.buttonNext.removeClass("disabled"); } else if (base.currentItem === base.maximumItem) { base.buttonPrev.removeClass("disabled"); base.buttonNext.addClass("disabled"); } else if (base.currentItem !== 0 && base.currentItem !== base.maximumItem) { base.buttonPrev.removeClass("disabled"); base.buttonNext.removeClass("disabled"); } } }, updateControls : function () { var base = this; base.updatePagination(); base.checkNavigation(); if (base.owlControls) { if (base.options.items >= base.itemsAmount) { base.owlControls.hide(); } else { base.owlControls.show(); } } }, destroyControls : function () { var base = this; if (base.owlControls) { base.owlControls.remove(); } }, next : function (speed) { var base = this; if (base.isTransition) { return false; } base.currentItem += base.options.scrollPerPage === true ? base.options.items : 1; if (base.currentItem > base.maximumItem + (base.options.scrollPerPage === true ? (base.options.items - 1) : 0)) { if (base.options.rewindNav === true) { base.currentItem = 0; speed = "rewind"; } else { base.currentItem = base.maximumItem; return false; } } base.goTo(base.currentItem, speed); }, prev : function (speed) { var base = this; if (base.isTransition) { return false; } if (base.options.scrollPerPage === true && base.currentItem > 0 && base.currentItem < base.options.items) { base.currentItem = 0; } else { base.currentItem -= base.options.scrollPerPage === true ? base.options.items : 1; } if (base.currentItem < 0) { if (base.options.rewindNav === true) { base.currentItem = base.maximumItem; speed = "rewind"; } else { base.currentItem = 0; return false; } } base.goTo(base.currentItem, speed); }, goTo : function (position, speed, drag) { var base = this, goToPixel; if (base.isTransition) { return false; } if (typeof base.options.beforeMove === "function") { base.options.beforeMove.apply(this, [base.$elem]); } if (position >= base.maximumItem) { position = base.maximumItem; } else if (position <= 0) { position = 0; } base.currentItem = base.owl.currentItem = position; if (base.options.transitionStyle !== false && drag !== "drag" && base.options.items === 1 && base.browser.support3d === true) { base.swapSpeed(0); if (base.browser.support3d === true) { base.transition3d(base.positionsInArray[position]); } else { base.css2slide(base.positionsInArray[position], 1); } base.afterGo(); base.singleItemTransition(); return false; } goToPixel = base.positionsInArray[position]; if (base.browser.support3d === true) { base.isCss3Finish = false; if (speed === true) { base.swapSpeed("paginationSpeed"); window.setTimeout(function () { base.isCss3Finish = true; }, base.options.paginationSpeed); } else if (speed === "rewind") { base.swapSpeed(base.options.rewindSpeed); window.setTimeout(function () { base.isCss3Finish = true; }, base.options.rewindSpeed); } else { base.swapSpeed("slideSpeed"); window.setTimeout(function () { base.isCss3Finish = true; }, base.options.slideSpeed); } base.transition3d(goToPixel); } else { if (speed === true) { base.css2slide(goToPixel, base.options.paginationSpeed); } else if (speed === "rewind") { base.css2slide(goToPixel, base.options.rewindSpeed); } else { base.css2slide(goToPixel, base.options.slideSpeed); } } base.afterGo(); }, jumpTo : function (position) { var base = this; if (typeof base.options.beforeMove === "function") { base.options.beforeMove.apply(this, [base.$elem]); } if (position >= base.maximumItem || position === -1) { position = base.maximumItem; } else if (position <= 0) { position = 0; } base.swapSpeed(0); if (base.browser.support3d === true) { base.transition3d(base.positionsInArray[position]); } else { base.css2slide(base.positionsInArray[position], 1); } base.currentItem = base.owl.currentItem = position; base.afterGo(); }, afterGo : function () { var base = this; base.prevArr.push(base.currentItem); base.prevItem = base.owl.prevItem = base.prevArr[base.prevArr.length - 2]; base.prevArr.shift(0); if (base.prevItem !== base.currentItem) { base.checkPagination(); base.checkNavigation(); base.eachMoveUpdate(); if (base.options.autoPlay !== false) { base.checkAp(); } } if (typeof base.options.afterMove === "function" && base.prevItem !== base.currentItem) { base.options.afterMove.apply(this, [base.$elem]); } }, stop : function () { var base = this; base.apStatus = "stop"; window.clearInterval(base.autoPlayInterval); }, checkAp : function () { var base = this; if (base.apStatus !== "stop") { base.play(); } }, play : function () { var base = this; base.apStatus = "play"; if (base.options.autoPlay === false) { return false; } window.clearInterval(base.autoPlayInterval); base.autoPlayInterval = window.setInterval(function () { base.next(true); }, base.options.autoPlay); }, swapSpeed : function (action) { var base = this; if (action === "slideSpeed") { base.$owlWrapper.css(base.addCssSpeed(base.options.slideSpeed)); } else if (action === "paginationSpeed") { base.$owlWrapper.css(base.addCssSpeed(base.options.paginationSpeed)); } else if (typeof action !== "string") { base.$owlWrapper.css(base.addCssSpeed(action)); } }, addCssSpeed : function (speed) { return { "-webkit-transition": "all " + speed + "ms ease", "-moz-transition": "all " + speed + "ms ease", "-o-transition": "all " + speed + "ms ease", "transition": "all " + speed + "ms ease" }; }, removeTransition : function () { return { "-webkit-transition": "", "-moz-transition": "", "-o-transition": "", "transition": "" }; }, doTranslate : function (pixels) { return { "-webkit-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-moz-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-o-transform": "translate3d(" + pixels + "px, 0px, 0px)", "-ms-transform": "translate3d(" + pixels + "px, 0px, 0px)", "transform": "translate3d(" + pixels + "px, 0px,0px)" }; }, transition3d : function (value) { var base = this; base.$owlWrapper.css(base.doTranslate(value)); }, css2move : function (value) { var base = this; base.$owlWrapper.css({"left" : value}); }, css2slide : function (value, speed) { var base = this; base.isCssFinish = false; base.$owlWrapper.stop(true, true).animate({ "left" : value }, { duration : speed || base.options.slideSpeed, complete : function () { base.isCssFinish = true; } }); }, checkBrowser : function () { var base = this, translate3D = "translate3d(0px, 0px, 0px)", tempElem = document.createElement("div"), regex, asSupport, support3d, isTouch; tempElem.style.cssText = " -moz-transform:" + translate3D + "; -ms-transform:" + translate3D + "; -o-transform:" + translate3D + "; -webkit-transform:" + translate3D + "; transform:" + translate3D; regex = /translate3d\(0px, 0px, 0px\)/g; asSupport = tempElem.style.cssText.match(regex); support3d = (asSupport !== null && asSupport.length === 1); isTouch = "ontouchstart" in window || window.navigator.msMaxTouchPoints; base.browser = { "support3d" : support3d, "isTouch" : isTouch }; }, moveEvents : function () { var base = this; if (base.options.mouseDrag !== false || base.options.touchDrag !== false) { base.gestures(); base.disabledEvents(); } }, eventTypes : function () { var base = this, types = ["s", "e", "x"]; base.ev_types = {}; if (base.options.mouseDrag === true && base.options.touchDrag === true) { types = [ "touchstart.owl mousedown.owl", "touchmove.owl mousemove.owl", "touchend.owl touchcancel.owl mouseup.owl" ]; } else if (base.options.mouseDrag === false && base.options.touchDrag === true) { types = [ "touchstart.owl", "touchmove.owl", "touchend.owl touchcancel.owl" ]; } else if (base.options.mouseDrag === true && base.options.touchDrag === false) { types = [ "mousedown.owl", "mousemove.owl", "mouseup.owl" ]; } base.ev_types.start = types[0]; base.ev_types.move = types[1]; base.ev_types.end = types[2]; }, disabledEvents : function () { var base = this; base.$elem.on("dragstart.owl", function (event) { event.preventDefault(); }); base.$elem.on("mousedown.disableTextSelect", function (e) { return $(e.target).is('input, textarea, select, option'); }); }, gestures : function () { /*jslint unparam: true*/ var base = this, locals = { offsetX : 0, offsetY : 0, baseElWidth : 0, relativePos : 0, position: null, minSwipe : null, maxSwipe: null, sliding : null, dargging: null, targetElement : null }; base.isCssFinish = true; function getTouches(event) { if (event.touches !== undefined) { return { x : event.touches[0].pageX, y : event.touches[0].pageY }; } if (event.touches === undefined) { if (event.pageX !== undefined) { return { x : event.pageX, y : event.pageY }; } if (event.pageX === undefined) { return { x : event.clientX, y : event.clientY }; } } } function swapEvents(type) { if (type === "on") { $(document).on(base.ev_types.move, dragMove); $(document).on(base.ev_types.end, dragEnd); } else if (type === "off") { $(document).off(base.ev_types.move); $(document).off(base.ev_types.end); } } function dragStart(event) { var ev = event.originalEvent || event || window.event, position; if (ev.which === 3) { return false; } if (base.itemsAmount <= base.options.items) { return; } if (base.isCssFinish === false && !base.options.dragBeforeAnimFinish) { return false; } if (base.isCss3Finish === false && !base.options.dragBeforeAnimFinish) { return false; } if (base.options.autoPlay !== false) { window.clearInterval(base.autoPlayInterval); } if (base.browser.isTouch !== true && !base.$owlWrapper.hasClass("grabbing")) { base.$owlWrapper.addClass("grabbing"); } base.newPosX = 0; base.newRelativeX = 0; $(this).css(base.removeTransition()); position = $(this).position(); locals.relativePos = position.left; locals.offsetX = getTouches(ev).x - position.left; locals.offsetY = getTouches(ev).y - position.top; swapEvents("on"); locals.sliding = false; locals.targetElement = ev.target || ev.srcElement; } function dragMove(event) { var ev = event.originalEvent || event || window.event, minSwipe, maxSwipe; base.newPosX = getTouches(ev).x - locals.offsetX; base.newPosY = getTouches(ev).y - locals.offsetY; base.newRelativeX = base.newPosX - locals.relativePos; if (typeof base.options.startDragging === "function" && locals.dragging !== true && base.newRelativeX !== 0) { locals.dragging = true; base.options.startDragging.apply(base, [base.$elem]); } if ((base.newRelativeX > 8 || base.newRelativeX < -8) && (base.browser.isTouch === true)) { if (ev.preventDefault !== undefined) { ev.preventDefault(); } else { ev.returnValue = false; } locals.sliding = true; } if ((base.newPosY > 10 || base.newPosY < -10) && locals.sliding === false) { $(document).off("touchmove.owl"); } minSwipe = function () { return base.newRelativeX / 5; }; maxSwipe = function () { return base.maximumPixels + base.newRelativeX / 5; }; base.newPosX = Math.max(Math.min(base.newPosX, minSwipe()), maxSwipe()); if (base.browser.support3d === true) { base.transition3d(base.newPosX); } else { base.css2move(base.newPosX); } } function dragEnd(event) { var ev = event.originalEvent || event || window.event, newPosition, handlers, owlStopEvent; ev.target = ev.target || ev.srcElement; locals.dragging = false; if (base.browser.isTouch !== true) { base.$owlWrapper.removeClass("grabbing"); } if (base.newRelativeX < 0) { base.dragDirection = base.owl.dragDirection = "left"; } else { base.dragDirection = base.owl.dragDirection = "right"; } if (base.newRelativeX !== 0) { newPosition = base.getNewPosition(); base.goTo(newPosition, false, "drag"); if (locals.targetElement === ev.target && base.browser.isTouch !== true) { $(ev.target).on("click.disable", function (ev) { ev.stopImmediatePropagation(); ev.stopPropagation(); ev.preventDefault(); $(ev.target).off("click.disable"); }); handlers = $._data(ev.target, "events").click; owlStopEvent = handlers.pop(); handlers.splice(0, 0, owlStopEvent); } } swapEvents("off"); } base.$elem.on(base.ev_types.start, ".owl-wrapper", dragStart); }, getNewPosition : function () { var base = this, newPosition = base.closestItem(); if (newPosition > base.maximumItem) { base.currentItem = base.maximumItem; newPosition = base.maximumItem; } else if (base.newPosX >= 0) { newPosition = 0; base.currentItem = 0; } return newPosition; }, closestItem : function () { var base = this, array = base.options.scrollPerPage === true ? base.pagesInArray : base.positionsInArray, goal = base.newPosX, closest = null; $.each(array, function (i, v) { if (goal - (base.itemWidth / 20) > array[i + 1] && goal - (base.itemWidth / 20) < v && base.moveDirection() === "left") { closest = v; if (base.options.scrollPerPage === true) { base.currentItem = $.inArray(closest, base.positionsInArray); } else { base.currentItem = i; } } else if (goal + (base.itemWidth / 20) < v && goal + (base.itemWidth / 20) > (array[i + 1] || array[i] - base.itemWidth) && base.moveDirection() === "right") { if (base.options.scrollPerPage === true) { closest = array[i + 1] || array[array.length - 1]; base.currentItem = $.inArray(closest, base.positionsInArray); } else { closest = array[i + 1]; base.currentItem = i + 1; } } }); return base.currentItem; }, moveDirection : function () { var base = this, direction; if (base.newRelativeX < 0) { direction = "right"; base.playDirection = "next"; } else { direction = "left"; base.playDirection = "prev"; } return direction; }, customEvents : function () { /*jslint unparam: true*/ var base = this; base.$elem.on("owl.next", function () { base.next(); }); base.$elem.on("owl.prev", function () { base.prev(); }); base.$elem.on("owl.play", function (event, speed) { base.options.autoPlay = speed; base.play(); base.hoverStatus = "play"; }); base.$elem.on("owl.stop", function () { base.stop(); base.hoverStatus = "stop"; }); base.$elem.on("owl.goTo", function (event, item) { base.goTo(item); }); base.$elem.on("owl.jumpTo", function (event, item) { base.jumpTo(item); }); }, stopOnHover : function () { var base = this; if (base.options.stopOnHover === true && base.browser.isTouch !== true && base.options.autoPlay !== false) { base.$elem.on("mouseover", function () { base.stop(); }); base.$elem.on("mouseout", function () { if (base.hoverStatus !== "stop") { base.play(); } }); } }, lazyLoad : function () { var base = this, i, $item, itemNumber, $lazyImg, follow; if (base.options.lazyLoad === false) { return false; } for (i = 0; i < base.itemsAmount; i += 1) { $item = $(base.$owlItems[i]); if ($item.data("owl-loaded") === "loaded") { continue; } itemNumber = $item.data("owl-item"); $lazyImg = $item.find(".lazyOwl"); if (typeof $lazyImg.data("src") !== "string") { $item.data("owl-loaded", "loaded"); continue; } if ($item.data("owl-loaded") === undefined) { $lazyImg.hide(); $item.addClass("loading").data("owl-loaded", "checked"); } if (base.options.lazyFollow === true) { follow = itemNumber >= base.currentItem; } else { follow = true; } if (follow && itemNumber < base.currentItem + base.options.items && $lazyImg.length) { base.lazyPreload($item, $lazyImg); } } }, lazyPreload : function ($item, $lazyImg) { var base = this, iterations = 0, isBackgroundImg; if ($lazyImg.prop("tagName") === "DIV") { $lazyImg.css("background-image", "url(" + $lazyImg.data("src") + ")"); isBackgroundImg = true; } else { $lazyImg[0].src = $lazyImg.data("src"); } function showImage() { $item.data("owl-loaded", "loaded").removeClass("loading"); $lazyImg.removeAttr("data-src"); if (base.options.lazyEffect === "fade") { $lazyImg.fadeIn(400); } else { $lazyImg.show(); } if (typeof base.options.afterLazyLoad === "function") { base.options.afterLazyLoad.apply(this, [base.$elem]); } } function checkLazyImage() { iterations += 1; if (base.completeImg($lazyImg.get(0)) || isBackgroundImg === true) { showImage(); } else if (iterations <= 100) {//if image loads in less than 10 seconds window.setTimeout(checkLazyImage, 100); } else { showImage(); } } checkLazyImage(); }, autoHeight : function () { var base = this, $currentimg = $(base.$owlItems[base.currentItem]).find("img"), iterations; function addHeight() { var $currentItem = $(base.$owlItems[base.currentItem]).height(); base.wrapperOuter.css("height", $currentItem + "px"); if (!base.wrapperOuter.hasClass("autoHeight")) { window.setTimeout(function () { base.wrapperOuter.addClass("autoHeight"); }, 0); } } function checkImage() { iterations += 1; if (base.completeImg($currentimg.get(0))) { addHeight(); } else if (iterations <= 100) { //if image loads in less than 10 seconds window.setTimeout(checkImage, 100); } else { base.wrapperOuter.css("height", ""); //Else remove height attribute } } if ($currentimg.get(0) !== undefined) { iterations = 0; checkImage(); } else { addHeight(); } }, completeImg : function (img) { var naturalWidthType; if (!img.complete) { return false; } naturalWidthType = typeof img.naturalWidth; if (naturalWidthType !== "undefined" && img.naturalWidth === 0) { return false; } return true; }, onVisibleItems : function () { var base = this, i; if (base.options.addClassActive === true) { base.$owlItems.removeClass("active"); } base.visibleItems = []; for (i = base.currentItem; i < base.currentItem + base.options.items; i += 1) { base.visibleItems.push(i); if (base.options.addClassActive === true) { $(base.$owlItems[i]).addClass("active"); } } base.owl.visibleItems = base.visibleItems; }, transitionTypes : function (className) { var base = this; //Currently available: "fade", "backSlide", "goDown", "fadeUp" base.outClass = "owl-" + className + "-out"; base.inClass = "owl-" + className + "-in"; }, singleItemTransition : function () { var base = this, outClass = base.outClass, inClass = base.inClass, $currentItem = base.$owlItems.eq(base.currentItem), $prevItem = base.$owlItems.eq(base.prevItem), prevPos = Math.abs(base.positionsInArray[base.currentItem]) + base.positionsInArray[base.prevItem], origin = Math.abs(base.positionsInArray[base.currentItem]) + base.itemWidth / 2, animEnd = 'webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend'; base.isTransition = true; base.$owlWrapper .addClass('owl-origin') .css({ "-webkit-transform-origin" : origin + "px", "-moz-perspective-origin" : origin + "px", "perspective-origin" : origin + "px" }); function transStyles(prevPos) { return { "position" : "relative", "left" : prevPos + "px" }; } $prevItem .css(transStyles(prevPos, 10)) .addClass(outClass) .on(animEnd, function () { base.endPrev = true; $prevItem.off(animEnd); base.clearTransStyle($prevItem, outClass); }); $currentItem .addClass(inClass) .on(animEnd, function () { base.endCurrent = true; $currentItem.off(animEnd); base.clearTransStyle($currentItem, inClass); }); }, clearTransStyle : function (item, classToRemove) { var base = this; item.css({ "position" : "", "left" : "" }).removeClass(classToRemove); if (base.endPrev && base.endCurrent) { base.$owlWrapper.removeClass('owl-origin'); base.endPrev = false; base.endCurrent = false; base.isTransition = false; } }, owlStatus : function () { var base = this; base.owl = { "userOptions" : base.userOptions, "baseElement" : base.$elem, "userItems" : base.$userItems, "owlItems" : base.$owlItems, "currentItem" : base.currentItem, "prevItem" : base.prevItem, "visibleItems" : base.visibleItems, "isTouch" : base.browser.isTouch, "browser" : base.browser, "dragDirection" : base.dragDirection }; }, clearEvents : function () { var base = this; base.$elem.off(".owl owl mousedown.disableTextSelect"); $(document).off(".owl owl"); $(window).off("resize", base.resizer); }, unWrap : function () { var base = this; if (base.$elem.children().length !== 0) { base.$owlWrapper.unwrap(); base.$userItems.unwrap().unwrap(); if (base.owlControls) { base.owlControls.remove(); } } base.clearEvents(); base.$elem .attr("style", base.$elem.data("owl-originalStyles") || "") .attr("class", base.$elem.data("owl-originalClasses")); }, destroy : function () { var base = this; base.stop(); window.clearInterval(base.checkVisible); base.unWrap(); base.$elem.removeData(); }, reinit : function (newOptions) { var base = this, options = $.extend({}, base.userOptions, newOptions); base.unWrap(); base.init(options, base.$elem); }, addItem : function (htmlString, targetPosition) { var base = this, position; if (!htmlString) {return false; } if (base.$elem.children().length === 0) { base.$elem.append(htmlString); base.setVars(); return false; } base.unWrap(); if (targetPosition === undefined || targetPosition === -1) { position = -1; } else { position = targetPosition; } if (position >= base.$userItems.length || position === -1) { base.$userItems.eq(-1).after(htmlString); } else { base.$userItems.eq(position).before(htmlString); } base.setVars(); }, removeItem : function (targetPosition) { var base = this, position; if (base.$elem.children().length === 0) { return false; } if (targetPosition === undefined || targetPosition === -1) { position = -1; } else { position = targetPosition; } base.unWrap(); base.$userItems.eq(position).remove(); base.setVars(); } }; $.fn.owlCarousel = function (options) { return this.each(function () { if ($(this).data("owl-init") === true) { return false; } $(this).data("owl-init", true); var carousel = Object.create(Carousel); carousel.init(options, this); $.data(this, "owlCarousel", carousel); }); }; $.fn.owlCarousel.options = { items : 5, itemsCustom : false, itemsDesktop : [1199, 4], itemsDesktopSmall : [979, 3], itemsTablet : [768, 2], itemsTabletSmall : false, itemsMobile : [479, 1], singleItem : false, itemsScaleUp : false, slideSpeed : 200, paginationSpeed : 800, rewindSpeed : 1000, autoPlay : false, stopOnHover : false, navigation : false, navigationText : ["prev", "next"], rewindNav : true, scrollPerPage : false, pagination : true, paginationNumbers : false, responsive : true, responsiveRefreshRate : 200, responsiveBaseWidth : window, baseClass : "owl-carousel", theme : "owl-theme", lazyLoad : false, lazyFollow : true, lazyEffect : "fade", autoHeight : false, jsonPath : false, jsonSuccess : false, dragBeforeAnimFinish : true, mouseDrag : true, touchDrag : true, addClassActive : false, transitionStyle : false, beforeUpdate : false, afterUpdate : false, beforeInit : false, afterInit : false, beforeMove : false, afterMove : false, afterAction : false, startDragging : false, afterLazyLoad: false }; }(jQuery, window, document)); ================================================ FILE: plugins/owl-carousel/owl.theme.css ================================================ /* * Owl Carousel Owl Demo Theme * v1.3.3 */ .owl-theme .owl-controls{ margin-top: 10px; text-align: center; } /* Styling Next and Prev buttons */ .owl-theme .owl-controls .owl-buttons div{ color: #FFF; display: inline-block; zoom: 1; *display: inline;/*IE7 life-saver */ margin: 5px; padding: 3px 10px; font-size: 12px; -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; background: #869791; filter: Alpha(Opacity=50);/*IE7 fix*/ opacity: 0.5; } /* Clickable class fix problem with hover on touch devices */ /* Use it for non-touch hover action */ .owl-theme .owl-controls.clickable .owl-buttons div:hover{ filter: Alpha(Opacity=100);/*IE7 fix*/ opacity: 1; text-decoration: none; } /* Styling Pagination*/ .owl-theme .owl-controls .owl-page{ display: inline-block; zoom: 1; *display: inline;/*IE7 life-saver */ } .owl-theme .owl-controls .owl-page span{ display: block; width: 12px; height: 12px; margin: 5px 7px; filter: Alpha(Opacity=50);/*IE7 fix*/ opacity: 0.5; -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; background: #869791; } .owl-theme .owl-controls .owl-page.active span, .owl-theme .owl-controls.clickable .owl-page:hover span{ filter: Alpha(Opacity=100);/*IE7 fix*/ opacity: 1; } /* If PaginationNumbers is true */ .owl-theme .owl-controls .owl-page span.owl-numbers{ height: auto; width: auto; color: #FFF; padding: 2px 10px; font-size: 12px; -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; } /* preloading images */ .owl-item.loading{ min-height: 150px; background: url(AjaxLoader.gif) no-repeat center center } ================================================ FILE: plugins/owl-carousel/owl.transitions.css ================================================ /* * Owl Carousel CSS3 Transitions * v1.3.2 */ .owl-origin { -webkit-perspective: 1200px; -webkit-perspective-origin-x : 50%; -webkit-perspective-origin-y : 50%; -moz-perspective : 1200px; -moz-perspective-origin-x : 50%; -moz-perspective-origin-y : 50%; perspective : 1200px; } /* fade */ .owl-fade-out { z-index: 10; -webkit-animation: fadeOut .7s both ease; -moz-animation: fadeOut .7s both ease; animation: fadeOut .7s both ease; } .owl-fade-in { -webkit-animation: fadeIn .7s both ease; -moz-animation: fadeIn .7s both ease; animation: fadeIn .7s both ease; } /* backSlide */ .owl-backSlide-out { -webkit-animation: backSlideOut 1s both ease; -moz-animation: backSlideOut 1s both ease; animation: backSlideOut 1s both ease; } .owl-backSlide-in { -webkit-animation: backSlideIn 1s both ease; -moz-animation: backSlideIn 1s both ease; animation: backSlideIn 1s both ease; } /* goDown */ .owl-goDown-out { -webkit-animation: scaleToFade .7s ease both; -moz-animation: scaleToFade .7s ease both; animation: scaleToFade .7s ease both; } .owl-goDown-in { -webkit-animation: goDown .6s ease both; -moz-animation: goDown .6s ease both; animation: goDown .6s ease both; } /* scaleUp */ .owl-fadeUp-in { -webkit-animation: scaleUpFrom .5s ease both; -moz-animation: scaleUpFrom .5s ease both; animation: scaleUpFrom .5s ease both; } .owl-fadeUp-out { -webkit-animation: scaleUpTo .5s ease both; -moz-animation: scaleUpTo .5s ease both; animation: scaleUpTo .5s ease both; } /* Keyframes */ /*empty*/ @-webkit-keyframes empty { 0% {opacity: 1} } @-moz-keyframes empty { 0% {opacity: 1} } @keyframes empty { 0% {opacity: 1} } @-webkit-keyframes fadeIn { 0% { opacity:0; } 100% { opacity:1; } } @-moz-keyframes fadeIn { 0% { opacity:0; } 100% { opacity:1; } } @keyframes fadeIn { 0% { opacity:0; } 100% { opacity:1; } } @-webkit-keyframes fadeOut { 0% { opacity:1; } 100% { opacity:0; } } @-moz-keyframes fadeOut { 0% { opacity:1; } 100% { opacity:0; } } @keyframes fadeOut { 0% { opacity:1; } 100% { opacity:0; } } @-webkit-keyframes backSlideOut { 25% { opacity: .5; -webkit-transform: translateZ(-500px); } 75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); } 100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); } } @-moz-keyframes backSlideOut { 25% { opacity: .5; -moz-transform: translateZ(-500px); } 75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); } 100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); } } @keyframes backSlideOut { 25% { opacity: .5; transform: translateZ(-500px); } 75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); } 100% { opacity: .5; transform: translateZ(-500px) translateX(-200%); } } @-webkit-keyframes backSlideIn { 0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); } 75% { opacity: .5; -webkit-transform: translateZ(-500px); } 100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); } } @-moz-keyframes backSlideIn { 0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); } 75% { opacity: .5; -moz-transform: translateZ(-500px); } 100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); } } @keyframes backSlideIn { 0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); } 75% { opacity: .5; transform: translateZ(-500px); } 100% { opacity: 1; transform: translateZ(0) translateX(0); } } @-webkit-keyframes scaleToFade { to { opacity: 0; -webkit-transform: scale(.8); } } @-moz-keyframes scaleToFade { to { opacity: 0; -moz-transform: scale(.8); } } @keyframes scaleToFade { to { opacity: 0; transform: scale(.8); } } @-webkit-keyframes goDown { from { -webkit-transform: translateY(-100%); } } @-moz-keyframes goDown { from { -moz-transform: translateY(-100%); } } @keyframes goDown { from { transform: translateY(-100%); } } @-webkit-keyframes scaleUpFrom { from { opacity: 0; -webkit-transform: scale(1.5); } } @-moz-keyframes scaleUpFrom { from { opacity: 0; -moz-transform: scale(1.5); } } @keyframes scaleUpFrom { from { opacity: 0; transform: scale(1.5); } } @-webkit-keyframes scaleUpTo { to { opacity: 0; -webkit-transform: scale(1.5); } } @-moz-keyframes scaleUpTo { to { opacity: 0; -moz-transform: scale(1.5); } } @keyframes scaleUpTo { to { opacity: 0; transform: scale(1.5); } }