<!DOCTYPE html>
<html ng-app="angular-remove">
  
  <head lang="en">
    <meta charset="utf-8">
    <title>Undo with AngularJS</title>
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="bootstrap.css">
    <script>
      document.write('<base href="' + document.location + '" />');
    </script>   
   
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular-resource.min.js"></script>

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
    <script src="app.js"></script>
    <script src="ng-grid.js"></script>
    
  </head>
  
  <body ng-controller="MainCtrl">
    
    <div class="container-fluid">
      <h2>Undo with AngularJS</h2>
   
      <div class="row-fluid">
          <div class="alert" ng-show="showUndo">
          <strong>Row/s have been removed!</strong>
          <button class="btn btn-link" ng-click="undoDeletion()">Click to undo</button>
      </div>
      <div class="gridStyle" ng-grid="gridOptions"></div>
    </div>
    <div class="row-fluid">
        <div class="span2">
            <button class="btn btn-danger" ng-disabled="mySelections.length==0"
                        ng-click="removeWithUndo()"> Remove
            </button>  
        </div>
        <div class="span2">
           <button class="btn" ng-click="refresh()">
                    Refresh
          </button>
        </div>
    </div>

  </div>
    
  </body>

</html>
.gridStyle {
    border: 1px solid rgb(212,212,212);
    width: 100%;
    height: 300px;
}


/******** Grid Global ********/
.nglabel {
    display: block;
    float: left;
    font-weight: bold;
    padding-right: 5px;
}
/******** Grid ********/

.ngGrid{
    background-color: rgb(253, 253, 253);
}

/******** Header ********/

.ngGroupPanel{
    background-color: rgb(234, 234, 234);
    overflow: hidden;
  border-bottom: 1px solid rgb(212,212,212);
}

.ngGroupPanelDescription{
	margin-top: 5px;
	margin-left: 5px;
}

.ngGroupList {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.ngGroupItem {
	float: left;
}

.ngGroupElement {
	float: left;
	height: 100%;
	width: 100%;
}

.ngGroupName {
    background-color: rgb(247,247,247);
    border: 1px solid rgb(212,212,212);
    padding: 3px 10px;
    float: left;
    margin-left: 0;
    margin-top: 2px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    font-weight: bold;
}

.ngGroupItem:first-child{
	margin-left: 2px;
}

.ngRemoveGroup {
    width: 5px;
    float: right;
    -moz-opacity: 0.4;
    opacity: 0.4;
    margin-top: -1px;
    margin-left: 5px;
}
.ngRemoveGroup:hover {
    color: black;
    text-decoration: none;
    cursor: pointer;
    -moz-opacity: 0.7;
    opacity: 0.7;
}
.ngGroupArrow {
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 6px solid black;
	margin-top: 10px;
	margin-left: 5px;
	margin-right: 5px;
	float: right;
}

.ngTopPanel {
    position: relative;
	z-index:5;
    background-color: rgb(234, 234, 234);
	border-bottom: 1px solid rgb(212,212,212);
}
.ngHeaderContainer {
    position: relative;
    overflow: hidden;
    font-weight: bold;
}

.ngHeaderScroller {
	position:absolute;
}
.ngHeaderSortColumn{
	position:absolute;
    overflow: hidden;
}

.ngHeaderCell{
	border-left: 1px solid rgb(212,212,212);
    position: absolute;
    top: 0;
    bottom: 0;
}

.ngHeaderCell:first-child{
    border-left: 0;
}

.ngHeaderCell:last-child{
	border-right: 1px solid rgb(212,212,212);
}

.ngSortButtonUp {
    position: absolute;
    top: 3px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
	border-color: gray transparent;
	border-style: solid;
	border-width: 0 5px 5px 5px;
	height: 0;
	width: 0;
}
.ngSortButtonDown {
    position: absolute;
    top: 3px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
	border-color: gray transparent;
	border-style: solid;
	border-width: 5px 5px 0 5px;
    height: 0;
	width: 0;
}
.ngHeaderGrip {
    cursor: col-resize;
    width: 10px;
	right: -5px;
    top: 0;
    height: 100%;
    position: absolute;
    z-index: 5;
}
.ngHeaderText {
    padding: 5px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    white-space: nowrap;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
}

/******** Viewport ********/
.ngViewport{
	overflow: auto;
    min-height: 20px;
}

.ngCanvas{
    position: relative;
}

/******** Rows ********/
.ngRow {
    position: absolute;
    border-bottom: 1px solid rgb(229, 229, 229);
}
.ngRow.even {
    background-color: rgb(243, 243, 243);
}
.ngRow.odd {
    background-color: rgb(253, 253, 253);
}
.ngRow.selected {
    background-color: rgb(201, 221, 225);
}
.ngRow.canSelect {
    cursor: pointer;
}

/******** Cells ********/

.ngCell {
    overflow: hidden;
    position: absolute;
	border-left: 1px solid rgb(212,212,212);
    top: 0;
    bottom: 0;
}

.ngCell:first-child{
	border-left: 0;
}

.ngCell:last-child {
    border-right: 1px solid rgb(212,212,212);
}

.ngCellElement:focus {
	outline: 0;
    background-color: rgb(179, 196, 199);
}

.ngCellText {
    padding: 5px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    white-space: nowrap;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
}
.ngSelectionHeader {
	position: absolute;
    top: 11px;
    left: 6px;
}
input[type="checkbox"] {
	margin: 0;
	padding: 0;
}
input {
	vertical-align:top;
}
.ngSelectionCell{
	margin-top: 9px;
	margin-left: 6px;
}
.ngNoSort {
    cursor:default;
}

/******** Footer ********/
.ngFooterPanel{
    background-color: rgb(234, 234, 234);
    padding: 0;
	border-top: 1px solid rgb(212,212,212);
	position: relative;
}
.ngTotalSelectContainer {
    float: left;
    margin: 5px;
    margin-top: 7px;
}
.ngFooterSelectedItems {
	padding: 2px;
}
.ngFooterTotalItems {
	padding: 2px;
}
.ngFooterTotalItems.ngnoMultiSelect {
    padding: 0 !important;
}

/* Aggregates */
.ngAggHeader {
    position: absolute;
    border: none;
}
.ngAggregate {
    position: absolute;
    background-color: rgb(201, 221, 225);
    border-bottom: 1px solid beige;
    overflow: hidden;
    top: 0;
    bottom: 0;
    right: -1px;
	left: 0;
}
.ngAggregateText {
    position: absolute;
    left: 27px;
	top: 5px;
    line-height: 20px;
    white-space:nowrap;
}
.ngAggArrowExpanded {
    position: absolute;
    left: 8px;
    bottom: 10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 9px 9px;
    border-color: transparent transparent #000000 transparent;
}
.ngAggArrowCollapsed {
    position: absolute;
    left: 8px;
    bottom: 10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8.7px;
    border-color: transparent transparent transparent #000000;
}

.ngHeaderButton {
    position: absolute;
    right: 2px;
    top: 8px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    z-index: 5;
    background-color: rgb(179, 191, 188);
    cursor: pointer;
    /* width and height can be anything, as long as they're equal */
}
.ngHeaderButtonArrow {
    position: absolute;
    top: 4px;
    left: 3px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6.5px 4.5px 0 4.5px;
    border-color: #000 transparent transparent transparent;
    /* width and height can be anything, as long as they're equal */
}
.ngColMenu {
    right: 2px;
    padding: 5px;
    top: 25px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background-color: #BDD0CB;
    position: absolute;
    border: 2px solid rgb(212,212,212);
    z-index: 5;
}
.ngMenuText {
    position: relative;
    top: 2px;
    left: 2px;
}
.ngColList {
    list-style-type: none;
}

.ngColListItem {
    position: relative;
    right: 17px;
    top: 2px;
    white-space:nowrap;
}
.ngColListCheckbox {
    position: relative;
    right: 3px;
    top: 4px;
}

/********Paging Styles **********/

.ngPagerButton{
	height: 25px;
	min-width: 26px;
}

.ngPagerFirstTriangle{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 8.7px 5px 0;
	border-color: transparent #000000 transparent transparent;
	margin-left: 2px;
}

.ngPagerFirstBar{
	width: 10px;
	border-left: 2px solid black;
	margin-top: -6px;
	height: 12px;
	margin-left: -3px;
}

.ngPagerLastTriangle{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #000000;
	margin-left: -1px;
}

.ngPagerLastBar{
	width: 10px;
	border-left: 2px solid black;
	margin-top: -6px;
	height: 12px;
	margin-left: 1px;
}

.ngPagerPrevTriangle{
	margin-left: 0;
}

.ngPagerNextTriangle{
	margin-left: 1px;
}
.ngGroupIcon {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAEFJREFUKFNjoAhISkr+h2J5JDZODNXGwGBsbPwfhIGAA8bGh6HaGBiAGhxAGJmND4M1gQCSM0adCsVQbcPcqQwMALWDGyDvWPefAAAAAElFTkSuQmCC);
	background-repeat:no-repeat;
    height: 15px;
    width: 15px;
    position: absolute;
    right: -2px;
    top: 2px;
}

.ngGroupedByIcon {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAElJREFUKFNjoAhISkr+R8LyaHwMDNXGwGBsbPwfhoGAA5mPDUO1oWpE52PDYE0gALTFAYbR+dgwWBMIoPlh1I9ADNU2NPzIwAAAFQYI9E4OLvEAAAAASUVORK5CYII=);
	background-repeat:no-repeat;
    height: 15px;
    width: 15px;
    position: absolute;
    right: -2px;
    top: 2px;
}

.ngGroupingNumber {
    position: absolute;
    right: -10px;
    top: -2px;
}
var app = angular.module('angular-remove', ['ngGrid']);

app.controller('MainCtrl', ['$scope', '$timeout', '$http', function ($scope, $timeout, $http) {
  $scope.mySelections = [];
  
   $scope.refresh = function () {
      $http.get('data.json').success(function(data){
        $scope.myData = data;  
      });
    };
    
  $scope.refresh();
                 
  $scope.gridOptions = { data: 'myData',
        showFilter: true,
        showColumnMenu: true,
        showSelectionCheckbox: true,
        selectWithCheckboxOnly: true,
        selectedItems: $scope.mySelections,
        showFooter: true};
        
    var deferId;
    $scope.showUndo = false;
    $scope.removeWithUndo = function () {
        $scope.showUndo = true;       
        _.each($scope.mySelections, function (object) {
            var nameToDelete = object.name;
            $scope.myData = _.filter($scope.myData, function(element){ return element.name != nameToDelete;});          
        });

        deferId = $timeout(function () {
            $scope.showUndo = false;
            $scope.remove();
        }, 3000);
    };
        
    $scope.undoDeletion = function () {
        $timeout.cancel(deferId);
        $scope.showUndo = false;
        $scope.refresh();
        $scope.mySelections.splice(0, $scope.mySelections.length);
    };


    $scope.remove = function () {
        _.each($scope.mySelections, function (person) {
          //Real remove (i.e from datastore)
          $scope.myData = _.filter($scope.myData, function(element){ return element.name != person.name;});       
        });
       $scope.mySelections.splice(0, $scope.mySelections.length);
    };  
}]);
@import url('//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700');

/*!
 * Bootstrap v2.3.1
 *
 * Copyright 2012 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world @twitter by @mdo and @fat.
 */

.clearfix {
    *zoom: 1;
}

.clearfix:before,
.clearfix:after {
    display: table;
    line-height: 0;
    content: "";
}

.clearfix:after {
    clear: both;
}

.hide-text {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.input-block-level {
    display: block;
    width: 100%;
    min-height: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

audio:not([controls]) {
    display: none;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

a:focus {
    outline: thin dotted #333;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

a:hover,
a:active {
    outline: 0;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    width: auto\9;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    border: 0;
    -ms-interpolation-mode: bicubic;
}

#map_canvas img,
.google-maps img {
    max-width: none;
}

button,
input,
select,
textarea {
    margin: 0;
    font-size: 100%;
    vertical-align: middle;
}

button,
input {
    *overflow: visible;
    line-height: normal;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    padding: 0;
    border: 0;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}

label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
    cursor: pointer;
}

input[type="search"] {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

@media print {
    * {
        color: #000 !important;
        text-shadow: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    img {
        max-width: 100% !important;
    }
    @page  {
        margin: 0.5cm;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}

body {
    margin: 0;
    font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #555555;
    background-color: #ffffff;
}

a {
    color: #007fff;
    text-decoration: none;
}

a:hover,
a:focus {
    color: #0066cc;
    text-decoration: underline;
}

.img-rounded {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

.img-polaroid {
    padding: 4px;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.img-circle {
    -webkit-border-radius: 500px;
    -moz-border-radius: 500px;
    border-radius: 500px;
}

.row {
    margin-left: -20px;
    *zoom: 1;
}

.row:before,
.row:after {
    display: table;
    line-height: 0;
    content: "";
}

.row:after {
    clear: both;
}

[class*="span"] {
    float: left;
    min-height: 1px;
    margin-left: 20px;
}

.container,
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
    width: 940px;
}

.span12 {
    width: 940px;
}

.span11 {
    width: 860px;
}

.span10 {
    width: 780px;
}

.span9 {
    width: 700px;
}

.span8 {
    width: 620px;
}

.span7 {
    width: 540px;
}

.span6 {
    width: 460px;
}

.span5 {
    width: 380px;
}

.span4 {
    width: 300px;
}

.span3 {
    width: 220px;
}

.span2 {
    width: 140px;
}

.span1 {
    width: 60px;
}

.offset12 {
    margin-left: 980px;
}

.offset11 {
    margin-left: 900px;
}

.offset10 {
    margin-left: 820px;
}

.offset9 {
    margin-left: 740px;
}

.offset8 {
    margin-left: 660px;
}

.offset7 {
    margin-left: 580px;
}

.offset6 {
    margin-left: 500px;
}

.offset5 {
    margin-left: 420px;
}

.offset4 {
    margin-left: 340px;
}

.offset3 {
    margin-left: 260px;
}

.offset2 {
    margin-left: 180px;
}

.offset1 {
    margin-left: 100px;
}

.row-fluid {
    width: 100%;
    *zoom: 1;
}

.row-fluid:before,
.row-fluid:after {
    display: table;
    line-height: 0;
    content: "";
}

.row-fluid:after {
    clear: both;
}

.row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    min-height: 30px;
    margin-left: 2.127659574468085%;
    *margin-left: 2.074468085106383%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.row-fluid [class*="span"]:first-child {
    margin-left: 0;
}

.row-fluid .controls-row [class*="span"] + [class*="span"] {
    margin-left: 2.127659574468085%;
}

.row-fluid .span12 {
    width: 100%;
    *width: 99.94680851063829%;
}

.row-fluid .span11 {
    width: 91.48936170212765%;
    *width: 91.43617021276594%;
}

.row-fluid .span10 {
    width: 82.97872340425532%;
    *width: 82.92553191489361%;
}

.row-fluid .span9 {
    width: 74.46808510638297%;
    *width: 74.41489361702126%;
}

.row-fluid .span8 {
    width: 65.95744680851064%;
    *width: 65.90425531914893%;
}

.row-fluid .span7 {
    width: 57.44680851063829%;
    *width: 57.39361702127659%;
}

.row-fluid .span6 {
    width: 48.93617021276595%;
    *width: 48.88297872340425%;
}

.row-fluid .span5 {
    width: 40.42553191489362%;
    *width: 40.37234042553192%;
}

.row-fluid .span4 {
    width: 31.914893617021278%;
    *width: 31.861702127659576%;
}

.row-fluid .span3 {
    width: 23.404255319148934%;
    *width: 23.351063829787233%;
}

.row-fluid .span2 {
    width: 14.893617021276595%;
    *width: 14.840425531914894%;
}

.row-fluid .span1 {
    width: 6.382978723404255%;
    *width: 6.329787234042553%;
}

.row-fluid .offset12 {
    margin-left: 104.25531914893617%;
    *margin-left: 104.14893617021275%;
}

.row-fluid .offset12:first-child {
    margin-left: 102.12765957446808%;
    *margin-left: 102.02127659574467%;
}

.row-fluid .offset11 {
    margin-left: 95.74468085106382%;
    *margin-left: 95.6382978723404%;
}

.row-fluid .offset11:first-child {
    margin-left: 93.61702127659574%;
    *margin-left: 93.51063829787232%;
}

.row-fluid .offset10 {
    margin-left: 87.23404255319149%;
    *margin-left: 87.12765957446807%;
}

.row-fluid .offset10:first-child {
    margin-left: 85.1063829787234%;
    *margin-left: 84.99999999999999%;
}

.row-fluid .offset9 {
    margin-left: 78.72340425531914%;
    *margin-left: 78.61702127659572%;
}

.row-fluid .offset9:first-child {
    margin-left: 76.59574468085106%;
    *margin-left: 76.48936170212764%;
}

.row-fluid .offset8 {
    margin-left: 70.2127659574468%;
    *margin-left: 70.10638297872339%;
}

.row-fluid .offset8:first-child {
    margin-left: 68.08510638297872%;
    *margin-left: 67.9787234042553%;
}

.row-fluid .offset7 {
    margin-left: 61.70212765957446%;
    *margin-left: 61.59574468085106%;
}

.row-fluid .offset7:first-child {
    margin-left: 59.574468085106375%;
    *margin-left: 59.46808510638297%;
}

.row-fluid .offset6 {
    margin-left: 53.191489361702125%;
    *margin-left: 53.085106382978715%;
}

.row-fluid .offset6:first-child {
    margin-left: 51.063829787234035%;
    *margin-left: 50.95744680851063%;
}

.row-fluid .offset5 {
    margin-left: 44.68085106382979%;
    *margin-left: 44.57446808510638%;
}

.row-fluid .offset5:first-child {
    margin-left: 42.5531914893617%;
    *margin-left: 42.4468085106383%;
}

.row-fluid .offset4 {
    margin-left: 36.170212765957444%;
    *margin-left: 36.06382978723405%;
}

.row-fluid .offset4:first-child {
    margin-left: 34.04255319148936%;
    *margin-left: 33.93617021276596%;
}

.row-fluid .offset3 {
    margin-left: 27.659574468085104%;
    *margin-left: 27.5531914893617%;
}

.row-fluid .offset3:first-child {
    margin-left: 25.53191489361702%;
    *margin-left: 25.425531914893618%;
}

.row-fluid .offset2 {
    margin-left: 19.148936170212764%;
    *margin-left: 19.04255319148936%;
}

.row-fluid .offset2:first-child {
    margin-left: 17.02127659574468%;
    *margin-left: 16.914893617021278%;
}

.row-fluid .offset1 {
    margin-left: 10.638297872340425%;
    *margin-left: 10.53191489361702%;
}

.row-fluid .offset1:first-child {
    margin-left: 8.51063829787234%;
    *margin-left: 8.404255319148938%;
}

[class*="span"].hide,
.row-fluid [class*="span"].hide {
    display: none;
}

[class*="span"].pull-right,
.row-fluid [class*="span"].pull-right {
    float: right;
}

.container {
    margin-right: auto;
    margin-left: auto;
    *zoom: 1;
}

.container:before,
.container:after {
    display: table;
    line-height: 0;
    content: "";
}

.container:after {
    clear: both;
}

.container-fluid {
    padding-right: 20px;
    padding-left: 20px;
    *zoom: 1;
}

.container-fluid:before,
.container-fluid:after {
    display: table;
    line-height: 0;
    content: "";
}

.container-fluid:after {
    clear: both;
}

p {
    margin: 0 0 10px;
}

.lead {
    margin-bottom: 20px;
    font-size: 21px;
    font-weight: 200;
    line-height: 30px;
}

small {
    font-size: 85%;
}

strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

cite {
    font-style: normal;
}

.muted {
    color: #dfdfdf;
}

a.muted:hover,
a.muted:focus {
    color: #c6c6c6;
}

.text-warning {
    color: #ffffff;
}

a.text-warning:hover,
a.text-warning:focus {
    color: #e6e6e6;
}

.text-error {
    color: #ffffff;
}

a.text-error:hover,
a.text-error:focus {
    color: #e6e6e6;
}

.text-info {
    color: #ffffff;
}

a.text-info:hover,
a.text-info:focus {
    color: #e6e6e6;
}

.text-success {
    color: #ffffff;
}

a.text-success:hover,
a.text-success:focus {
    color: #e6e6e6;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 10px 0;
    font-family: inherit;
    font-weight: 300;
    line-height: 20px;
    color: #080808;
    text-rendering: optimizelegibility;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    font-weight: normal;
    line-height: 1;
    color: #dfdfdf;
}

h1,
h2,
h3 {
    line-height: 40px;
}

h1 {
    font-size: 38.5px;
}

h2 {
    font-size: 31.5px;
}

h3 {
    font-size: 24.5px;
}

h4 {
    font-size: 17.5px;
}

h5 {
    font-size: 14px;
}

h6 {
    font-size: 11.9px;
}

h1 small {
    font-size: 24.5px;
}

h2 small {
    font-size: 17.5px;
}

h3 small {
    font-size: 14px;
}

h4 small {
    font-size: 14px;
}

.page-header {
    padding-bottom: 9px;
    margin: 20px 0 30px;
    border-bottom: 1px solid #eeeeee;
}

ul,
ol {
    padding: 0;
    margin: 0 0 10px 25px;
}

ul ul,
ul ol,
ol ol,
ol ul {
    margin-bottom: 0;
}

li {
    line-height: 20px;
}

ul.unstyled,
ol.unstyled {
    margin-left: 0;
    list-style: none;
}

ul.inline,
ol.inline {
    margin-left: 0;
    list-style: none;
}

ul.inline > li,
ol.inline > li {
    display: inline-block;
    *display: inline;
    padding-right: 5px;
    padding-left: 5px;
    *zoom: 1;
}

dl {
    margin-bottom: 20px;
}

dt,
dd {
    line-height: 20px;
}

dt {
    font-weight: bold;
}

dd {
    margin-left: 10px;
}

.dl-horizontal {
    *zoom: 1;
}

.dl-horizontal:before,
.dl-horizontal:after {
    display: table;
    line-height: 0;
    content: "";
}

.dl-horizontal:after {
    clear: both;
}

.dl-horizontal dt {
    float: left;
    width: 160px;
    overflow: hidden;
    clear: left;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dl-horizontal dd {
    margin-left: 180px;
}

hr {
    margin: 20px 0;
    border: 0;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #ffffff;
}

abbr[title],
abbr[data-original-title] {
    cursor: help;
    border-bottom: 1px dotted #dfdfdf;
}

abbr.initialism {
    font-size: 90%;
    text-transform: uppercase;
}

blockquote {
    padding: 0 0 0 15px;
    margin: 0 0 20px;
    border-left: 5px solid #eeeeee;
}

blockquote p {
    margin-bottom: 0;
    font-size: 17.5px;
    font-weight: 300;
    line-height: 1.25;
}

blockquote small {
    display: block;
    line-height: 20px;
    color: #dfdfdf;
}

blockquote small:before {
    content: '\2014 \00A0';
}

blockquote.pull-right {
    float: right;
    padding-right: 15px;
    padding-left: 0;
    border-right: 5px solid #eeeeee;
    border-left: 0;
}

blockquote.pull-right p,
blockquote.pull-right small {
    text-align: right;
}

blockquote.pull-right small:before {
    content: '';
}

blockquote.pull-right small:after {
    content: '\00A0 \2014';
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
}

address {
    display: block;
    margin-bottom: 20px;
    font-style: normal;
    line-height: 20px;
}

code,
pre {
    padding: 0 3px 2px;
    font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
    font-size: 12px;
    color: #999999;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

code {
    padding: 2px 4px;
    color: #d14;
    white-space: nowrap;
    background-color: #f7f7f9;
    border: 1px solid #e1e1e8;
}

pre {
    display: block;
    padding: 9.5px;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 20px;
    word-break: break-all;
    word-wrap: break-word;
    white-space: pre;
    white-space: pre-wrap;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, 0.15);
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

pre.prettyprint {
    margin-bottom: 20px;
}

pre code {
    padding: 0;
    color: inherit;
    white-space: pre;
    white-space: pre-wrap;
    background-color: transparent;
    border: 0;
}

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll;
}

form {
    margin: 0 0 20px;
}

fieldset {
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
    font-size: 21px;
    line-height: 40px;
    color: #999999;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
}

legend small {
    font-size: 15px;
    color: #dfdfdf;
}

label,
input,
button,
select,
textarea {
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;
}

input,
button,
select,
textarea {
    font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;
}

label {
    display: block;
    margin-bottom: 5px;
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
    display: inline-block;
    height: 20px;
    padding: 4px 6px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 20px;
    color: #bbbbbb;
    vertical-align: middle;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

input,
textarea,
.uneditable-input {
    width: 206px;
}

textarea {
    height: auto;
}

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
    background-color: #ffffff;
    border: 1px solid #bbbbbb;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-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 linear 0.2s, box-shadow linear 0.2s;
    -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
    -o-transition: border linear 0.2s, box-shadow linear 0.2s;
    transition: border linear 0.2s, box-shadow linear 0.2s;
}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
    border-color: rgba(82, 168, 236, 0.8);
    outline: 0;
    outline: thin dotted \9;
    /* IE6-9 */

    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}

input[type="radio"],
input[type="checkbox"] {
    margin: 4px 0 0;
    margin-top: 1px \9;
    *margin-top: 0;
    line-height: normal;
}

input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
    width: auto;
}

select,
input[type="file"] {
    height: 30px;
    /* In IE7, the height of the select element cannot be changed by height, only font-size */

    *margin-top: 4px;
    /* For IE7, add top margin to align select with labels */

    line-height: 30px;
}

select {
    width: 220px;
    background-color: #ffffff;
    border: 1px solid #bbbbbb;
}

select[multiple],
select[size] {
    height: auto;
}

select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
    outline: thin dotted #333;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

.uneditable-input,
.uneditable-textarea {
    color: #dfdfdf;
    cursor: not-allowed;
    background-color: #fcfcfc;
    border-color: #bbbbbb;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
}

.uneditable-input {
    overflow: hidden;
    white-space: nowrap;
}

.uneditable-textarea {
    width: auto;
    height: auto;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
    color: #bbbbbb;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #bbbbbb;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #bbbbbb;
}

.radio,
.checkbox {
    min-height: 20px;
    padding-left: 20px;
}

.radio input[type="radio"],
.checkbox input[type="checkbox"] {
    float: left;
    margin-left: -20px;
}

.controls > .radio:first-child,
.controls > .checkbox:first-child {
    padding-top: 5px;
}

.radio.inline,
.checkbox.inline {
    display: inline-block;
    padding-top: 5px;
    margin-bottom: 0;
    vertical-align: middle;
}

.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
    margin-left: 10px;
}

.input-mini {
    width: 60px;
}

.input-small {
    width: 90px;
}

.input-medium {
    width: 150px;
}

.input-large {
    width: 210px;
}

.input-xlarge {
    width: 270px;
}

.input-xxlarge {
    width: 530px;
}

input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
    float: none;
    margin-left: 0;
}

.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
    display: inline-block;
}

input,
textarea,
.uneditable-input {
    margin-left: 0;
}

.controls-row [class*="span"] + [class*="span"] {
    margin-left: 20px;
}

input.span12,
textarea.span12,
.uneditable-input.span12 {
    width: 926px;
}

input.span11,
textarea.span11,
.uneditable-input.span11 {
    width: 846px;
}

input.span10,
textarea.span10,
.uneditable-input.span10 {
    width: 766px;
}

input.span9,
textarea.span9,
.uneditable-input.span9 {
    width: 686px;
}

input.span8,
textarea.span8,
.uneditable-input.span8 {
    width: 606px;
}

input.span7,
textarea.span7,
.uneditable-input.span7 {
    width: 526px;
}

input.span6,
textarea.span6,
.uneditable-input.span6 {
    width: 446px;
}

input.span5,
textarea.span5,
.uneditable-input.span5 {
    width: 366px;
}

input.span4,
textarea.span4,
.uneditable-input.span4 {
    width: 286px;
}

input.span3,
textarea.span3,
.uneditable-input.span3 {
    width: 206px;
}

input.span2,
textarea.span2,
.uneditable-input.span2 {
    width: 126px;
}

input.span1,
textarea.span1,
.uneditable-input.span1 {
    width: 46px;
}

.controls-row {
    *zoom: 1;
}

.controls-row:before,
.controls-row:after {
    display: table;
    line-height: 0;
    content: "";
}

.controls-row:after {
    clear: both;
}

.controls-row [class*="span"],
.row-fluid .controls-row [class*="span"] {
    float: left;
}

.controls-row .checkbox[class*="span"],
.controls-row .radio[class*="span"] {
    padding-top: 5px;
}

input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
    cursor: not-allowed;
    background-color: #eeeeee;
}

input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
    background-color: transparent;
}

.control-group.warning .control-label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
    color: #ffffff;
}

.control-group.warning .checkbox,
.control-group.warning .radio,
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
    color: #ffffff;
}

.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
    border-color: #ffffff;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.warning input:focus,
.control-group.warning select:focus,
.control-group.warning textarea:focus {
    border-color: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
}

.control-group.warning .input-prepend .add-on,
.control-group.warning .input-append .add-on {
    color: #ffffff;
    background-color: #ff7518;
    border-color: #ffffff;
}

.control-group.error .control-label,
.control-group.error .help-block,
.control-group.error .help-inline {
    color: #ffffff;
}

.control-group.error .checkbox,
.control-group.error .radio,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
    color: #ffffff;
}

.control-group.error input,
.control-group.error select,
.control-group.error textarea {
    border-color: #ffffff;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.error input:focus,
.control-group.error select:focus,
.control-group.error textarea:focus {
    border-color: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
}

.control-group.error .input-prepend .add-on,
.control-group.error .input-append .add-on {
    color: #ffffff;
    background-color: #ff0039;
    border-color: #ffffff;
}

.control-group.success .control-label,
.control-group.success .help-block,
.control-group.success .help-inline {
    color: #ffffff;
}

.control-group.success .checkbox,
.control-group.success .radio,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
    color: #ffffff;
}

.control-group.success input,
.control-group.success select,
.control-group.success textarea {
    border-color: #ffffff;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.success input:focus,
.control-group.success select:focus,
.control-group.success textarea:focus {
    border-color: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
}

.control-group.success .input-prepend .add-on,
.control-group.success .input-append .add-on {
    color: #ffffff;
    background-color: #3fb618;
    border-color: #ffffff;
}

.control-group.info .control-label,
.control-group.info .help-block,
.control-group.info .help-inline {
    color: #ffffff;
}

.control-group.info .checkbox,
.control-group.info .radio,
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
    color: #ffffff;
}

.control-group.info input,
.control-group.info select,
.control-group.info textarea {
    border-color: #ffffff;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.control-group.info input:focus,
.control-group.info select:focus,
.control-group.info textarea:focus {
    border-color: #e6e6e6;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff;
}

.control-group.info .input-prepend .add-on,
.control-group.info .input-append .add-on {
    color: #ffffff;
    background-color: #9954bb;
    border-color: #ffffff;
}

input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
    color: #b94a48;
    border-color: #ee5f5b;
}

input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
    border-color: #e9322d;
    -webkit-box-shadow: 0 0 6px #f8b9b7;
    -moz-box-shadow: 0 0 6px #f8b9b7;
    box-shadow: 0 0 6px #f8b9b7;
}

.form-actions {
    padding: 19px 20px 20px;
    margin-top: 20px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border-top: 1px solid #e5e5e5;
    *zoom: 1;
}

.form-actions:before,
.form-actions:after {
    display: table;
    line-height: 0;
    content: "";
}

.form-actions:after {
    clear: both;
}

.help-block,
.help-inline {
    color: #7b7b7b;
}

.help-block {
    display: block;
    margin-bottom: 10px;
}

.help-inline {
    display: inline-block;
    *display: inline;
    padding-left: 5px;
    vertical-align: middle;
    *zoom: 1;
}

.input-append,
.input-prepend {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 0;
    white-space: nowrap;
    vertical-align: middle;
}

.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input,
.input-append .dropdown-menu,
.input-prepend .dropdown-menu,
.input-append .popover,
.input-prepend .popover {
    font-size: 14px;
}

.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
    position: relative;
    margin-bottom: 0;
    *margin-left: 0;
    vertical-align: top;
    -webkit-border-radius: 0 0 0px 0;
    -moz-border-radius: 0 0 0px 0;
    border-radius: 0 0 0px 0;
}

.input-append input:focus,
.input-prepend input:focus,
.input-append select:focus,
.input-prepend select:focus,
.input-append .uneditable-input:focus,
.input-prepend .uneditable-input:focus {
    z-index: 2;
}

.input-append .add-on,
.input-prepend .add-on {
    display: inline-block;
    width: auto;
    height: 20px;
    min-width: 16px;
    padding: 4px 5px;
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;
    text-align: center;
    text-shadow: 0 1px 0 #ffffff;
    background-color: #eeeeee;
    border: 1px solid #ccc;
}

.input-append .add-on,
.input-prepend .add-on,
.input-append .btn,
.input-prepend .btn,
.input-append .btn-group > .dropdown-toggle,
.input-prepend .btn-group > .dropdown-toggle {
    vertical-align: top;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.input-append .active,
.input-prepend .active {
    background-color: #96ed7a;
    border-color: #3fb618;
}

.input-prepend .add-on,
.input-prepend .btn {
    margin-right: -1px;
}

.input-prepend .add-on:first-child,
.input-prepend .btn:first-child {
    -webkit-border-radius: 0 0 0 0px;
    -moz-border-radius: 0 0 0 0px;
    border-radius: 0 0 0 0px;
}

.input-append input,
.input-append select,
.input-append .uneditable-input {
    -webkit-border-radius: 0 0 0 0px;
    -moz-border-radius: 0 0 0 0px;
    border-radius: 0 0 0 0px;
}

.input-append input + .btn-group .btn:last-child,
.input-append select + .btn-group .btn:last-child,
.input-append .uneditable-input + .btn-group .btn:last-child {
    -webkit-border-radius: 0 0 0px 0;
    -moz-border-radius: 0 0 0px 0;
    border-radius: 0 0 0px 0;
}

.input-append .add-on,
.input-append .btn,
.input-append .btn-group {
    margin-left: -1px;
}

.input-append .add-on:last-child,
.input-append .btn:last-child,
.input-append .btn-group:last-child > .dropdown-toggle {
    -webkit-border-radius: 0 0 0px 0;
    -moz-border-radius: 0 0 0px 0;
    border-radius: 0 0 0px 0;
}

.input-prepend.input-append input,
.input-prepend.input-append select,
.input-prepend.input-append .uneditable-input {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.input-prepend.input-append input + .btn-group .btn,
.input-prepend.input-append select + .btn-group .btn,
.input-prepend.input-append .uneditable-input + .btn-group .btn {
    -webkit-border-radius: 0 0 0px 0;
    -moz-border-radius: 0 0 0px 0;
    border-radius: 0 0 0px 0;
}

.input-prepend.input-append .add-on:first-child,
.input-prepend.input-append .btn:first-child {
    margin-right: -1px;
    -webkit-border-radius: 0 0 0 0px;
    -moz-border-radius: 0 0 0 0px;
    border-radius: 0 0 0 0px;
}

.input-prepend.input-append .add-on:last-child,
.input-prepend.input-append .btn:last-child {
    margin-left: -1px;
    -webkit-border-radius: 0 0 0px 0;
    -moz-border-radius: 0 0 0px 0;
    border-radius: 0 0 0px 0;
}

.input-prepend.input-append .btn-group:first-child {
    margin-left: 0;
}

input.search-query {
    padding-right: 14px;
    padding-right: 4px \9;
    padding-left: 14px;
    padding-left: 4px \9;
    /* IE7-8 doesn't have border-radius, so don't indent the padding */

    margin-bottom: 0;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

/* Allow for input prepend/append in search forms */

.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.form-search .input-append .search-query {
    -webkit-border-radius: 14px 0 0 14px;
    -moz-border-radius: 14px 0 0 14px;
    border-radius: 14px 0 0 14px;
}

.form-search .input-append .btn {
    -webkit-border-radius: 0 14px 14px 0;
    -moz-border-radius: 0 14px 14px 0;
    border-radius: 0 14px 14px 0;
}

.form-search .input-prepend .search-query {
    -webkit-border-radius: 0 14px 14px 0;
    -moz-border-radius: 0 14px 14px 0;
    border-radius: 0 14px 14px 0;
}

.form-search .input-prepend .btn {
    -webkit-border-radius: 14px 0 0 14px;
    -moz-border-radius: 14px 0 0 14px;
    border-radius: 14px 0 0 14px;
}

.form-search input,
.form-inline input,
.form-horizontal input,
.form-search textarea,
.form-inline textarea,
.form-horizontal textarea,
.form-search select,
.form-inline select,
.form-horizontal select,
.form-search .help-inline,
.form-inline .help-inline,
.form-horizontal .help-inline,
.form-search .uneditable-input,
.form-inline .uneditable-input,
.form-horizontal .uneditable-input,
.form-search .input-prepend,
.form-inline .input-prepend,
.form-horizontal .input-prepend,
.form-search .input-append,
.form-inline .input-append,
.form-horizontal .input-append {
    display: inline-block;
    *display: inline;
    margin-bottom: 0;
    vertical-align: middle;
    *zoom: 1;
}

.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
    display: none;
}

.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
    display: inline-block;
}

.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
    margin-bottom: 0;
}

.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
    padding-left: 0;
    margin-bottom: 0;
    vertical-align: middle;
}

.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
    float: left;
    margin-right: 3px;
    margin-left: 0;
}

.control-group {
    margin-bottom: 10px;
}

legend + .control-group {
    margin-top: 20px;
    -webkit-margin-top-collapse: separate;
}

.form-horizontal .control-group {
    margin-bottom: 20px;
    *zoom: 1;
}

.form-horizontal .control-group:before,
.form-horizontal .control-group:after {
    display: table;
    line-height: 0;
    content: "";
}

.form-horizontal .control-group:after {
    clear: both;
}

.form-horizontal .control-label {
    float: left;
    width: 160px;
    padding-top: 5px;
    text-align: right;
}

.form-horizontal .controls {
    *display: inline-block;
    *padding-left: 20px;
    margin-left: 180px;
    *margin-left: 0;
}

.form-horizontal .controls:first-child {
    *padding-left: 180px;
}

.form-horizontal .help-block {
    margin-bottom: 0;
}

.form-horizontal input + .help-block,
.form-horizontal select + .help-block,
.form-horizontal textarea + .help-block,
.form-horizontal .uneditable-input + .help-block,
.form-horizontal .input-prepend + .help-block,
.form-horizontal .input-append + .help-block {
    margin-top: 10px;
}

.form-horizontal .form-actions {
    padding-left: 180px;
}

table {
    max-width: 100%;
    background-color: transparent;
    border-collapse: collapse;
    border-spacing: 0;
}

.table {
    width: 100%;
    margin-bottom: 20px;
}

.table th,
.table td {
    padding: 8px;
    line-height: 20px;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #dddddd;
}

.table th {
    font-weight: bold;
}

.table thead th {
    vertical-align: bottom;
}

.table caption + thead tr:first-child th,
.table caption + thead tr:first-child td,
.table colgroup + thead tr:first-child th,
.table colgroup + thead tr:first-child td,
.table thead:first-child tr:first-child th,
.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 th,
.table-condensed td {
    padding: 4px 5px;
}

.table-bordered {
    border: 1px solid #dddddd;
    border-collapse: separate;
    *border-collapse: collapse;
    border-left: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.table-bordered th,
.table-bordered td {
    border-left: 1px solid #dddddd;
}

.table-bordered caption + thead tr:first-child th,
.table-bordered caption + tbody tr:first-child th,
.table-bordered caption + tbody tr:first-child td,
.table-bordered colgroup + thead tr:first-child th,
.table-bordered colgroup + tbody tr:first-child th,
.table-bordered colgroup + tbody tr:first-child td,
.table-bordered thead:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child td {
    border-top: 0;
}

.table-bordered thead:first-child tr:first-child > th:first-child,
.table-bordered tbody:first-child tr:first-child > td:first-child,
.table-bordered tbody:first-child tr:first-child > th:first-child {
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -moz-border-radius-topleft: 0;
}

.table-bordered thead:first-child tr:first-child > th:last-child,
.table-bordered tbody:first-child tr:first-child > td:last-child,
.table-bordered tbody:first-child tr:first-child > th:last-child {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -moz-border-radius-topright: 0;
}

.table-bordered thead:last-child tr:last-child > th:first-child,
.table-bordered tbody:last-child tr:last-child > td:first-child,
.table-bordered tbody:last-child tr:last-child > th:first-child,
.table-bordered tfoot:last-child tr:last-child > td:first-child,
.table-bordered tfoot:last-child tr:last-child > th:first-child {
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
}

.table-bordered thead:last-child tr:last-child > th:last-child,
.table-bordered tbody:last-child tr:last-child > td:last-child,
.table-bordered tbody:last-child tr:last-child > th:last-child,
.table-bordered tfoot:last-child tr:last-child > td:last-child,
.table-bordered tfoot:last-child tr:last-child > th:last-child {
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-bottomright: 0;
}

.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
}

.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-bottomright: 0;
}

.table-bordered caption + thead tr:first-child th:first-child,
.table-bordered caption + tbody tr:first-child td:first-child,
.table-bordered colgroup + thead tr:first-child th:first-child,
.table-bordered colgroup + tbody tr:first-child td:first-child {
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -moz-border-radius-topleft: 0;
}

.table-bordered caption + thead tr:first-child th:last-child,
.table-bordered caption + tbody tr:first-child td:last-child,
.table-bordered colgroup + thead tr:first-child th:last-child,
.table-bordered colgroup + tbody tr:first-child td:last-child {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -moz-border-radius-topright: 0;
}

.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
    background-color: #f9f9f9;
}

.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
    background-color: #e8f8fd;
}

table td[class*="span"],
table th[class*="span"],
.row-fluid table td[class*="span"],
.row-fluid table th[class*="span"] {
    display: table-cell;
    float: none;
    margin-left: 0;
}

.table td.span1,
.table th.span1 {
    float: none;
    width: 44px;
    margin-left: 0;
}

.table td.span2,
.table th.span2 {
    float: none;
    width: 124px;
    margin-left: 0;
}

.table td.span3,
.table th.span3 {
    float: none;
    width: 204px;
    margin-left: 0;
}

.table td.span4,
.table th.span4 {
    float: none;
    width: 284px;
    margin-left: 0;
}

.table td.span5,
.table th.span5 {
    float: none;
    width: 364px;
    margin-left: 0;
}

.table td.span6,
.table th.span6 {
    float: none;
    width: 444px;
    margin-left: 0;
}

.table td.span7,
.table th.span7 {
    float: none;
    width: 524px;
    margin-left: 0;
}

.table td.span8,
.table th.span8 {
    float: none;
    width: 604px;
    margin-left: 0;
}

.table td.span9,
.table th.span9 {
    float: none;
    width: 684px;
    margin-left: 0;
}

.table td.span10,
.table th.span10 {
    float: none;
    width: 764px;
    margin-left: 0;
}

.table td.span11,
.table th.span11 {
    float: none;
    width: 844px;
    margin-left: 0;
}

.table td.span12,
.table th.span12 {
    float: none;
    width: 924px;
    margin-left: 0;
}

.table tbody tr.success > td {
    background-color: #3fb618;
}

.table tbody tr.error > td {
    background-color: #ff0039;
}

.table tbody tr.warning > td {
    background-color: #ff7518;
}

.table tbody tr.info > td {
    background-color: #9954bb;
}

.table-hover tbody tr.success:hover > td {
    background-color: #379f15;
}

.table-hover tbody tr.error:hover > td {
    background-color: #e60033;
}

.table-hover tbody tr.warning:hover > td {
    background-color: #fe6600;
}

.table-hover tbody tr.info:hover > td {
    background-color: #8d46b0;
}

[class^="icon-"],
[class*=" icon-"] {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-top: 1px;
    *margin-right: .3em;
    line-height: 14px;
    vertical-align: text-top;
    background-image: url("../img/glyphicons-halflings.png");
    background-position: 14px 14px;
    background-repeat: no-repeat;
}

/* White icons with optional class, or on hover/focus/active states of certain elements */

.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:focus > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"],
.dropdown-submenu:focus > a > [class*=" icon-"] {
    background-image: url("../img/glyphicons-halflings-white.png");
}

.icon-glass {
    background-position: 0      0;
}

.icon-music {
    background-position: -24px 0;
}

.icon-search {
    background-position: -48px 0;
}

.icon-envelope {
    background-position: -72px 0;
}

.icon-heart {
    background-position: -96px 0;
}

.icon-star {
    background-position: -120px 0;
}

.icon-star-empty {
    background-position: -144px 0;
}

.icon-user {
    background-position: -168px 0;
}

.icon-film {
    background-position: -192px 0;
}

.icon-th-large {
    background-position: -216px 0;
}

.icon-th {
    background-position: -240px 0;
}

.icon-th-list {
    background-position: -264px 0;
}

.icon-ok {
    background-position: -288px 0;
}

.icon-remove {
    background-position: -312px 0;
}

.icon-zoom-in {
    background-position: -336px 0;
}

.icon-zoom-out {
    background-position: -360px 0;
}

.icon-off {
    background-position: -384px 0;
}

.icon-signal {
    background-position: -408px 0;
}

.icon-cog {
    background-position: -432px 0;
}

.icon-trash {
    background-position: -456px 0;
}

.icon-home {
    background-position: 0 -24px;
}

.icon-file {
    background-position: -24px -24px;
}

.icon-time {
    background-position: -48px -24px;
}

.icon-road {
    background-position: -72px -24px;
}

.icon-download-alt {
    background-position: -96px -24px;
}

.icon-download {
    background-position: -120px -24px;
}

.icon-upload {
    background-position: -144px -24px;
}

.icon-inbox {
    background-position: -168px -24px;
}

.icon-play-circle {
    background-position: -192px -24px;
}

.icon-repeat {
    background-position: -216px -24px;
}

.icon-refresh {
    background-position: -240px -24px;
}

.icon-list-alt {
    background-position: -264px -24px;
}

.icon-lock {
    background-position: -287px -24px;
}

.icon-flag {
    background-position: -312px -24px;
}

.icon-headphones {
    background-position: -336px -24px;
}

.icon-volume-off {
    background-position: -360px -24px;
}

.icon-volume-down {
    background-position: -384px -24px;
}

.icon-volume-up {
    background-position: -408px -24px;
}

.icon-qrcode {
    background-position: -432px -24px;
}

.icon-barcode {
    background-position: -456px -24px;
}

.icon-tag {
    background-position: 0 -48px;
}

.icon-tags {
    background-position: -25px -48px;
}

.icon-book {
    background-position: -48px -48px;
}

.icon-bookmark {
    background-position: -72px -48px;
}

.icon-print {
    background-position: -96px -48px;
}

.icon-camera {
    background-position: -120px -48px;
}

.icon-font {
    background-position: -144px -48px;
}

.icon-bold {
    background-position: -167px -48px;
}

.icon-italic {
    background-position: -192px -48px;
}

.icon-text-height {
    background-position: -216px -48px;
}

.icon-text-width {
    background-position: -240px -48px;
}

.icon-align-left {
    background-position: -264px -48px;
}

.icon-align-center {
    background-position: -288px -48px;
}

.icon-align-right {
    background-position: -312px -48px;
}

.icon-align-justify {
    background-position: -336px -48px;
}

.icon-list {
    background-position: -360px -48px;
}

.icon-indent-left {
    background-position: -384px -48px;
}

.icon-indent-right {
    background-position: -408px -48px;
}

.icon-facetime-video {
    background-position: -432px -48px;
}

.icon-picture {
    background-position: -456px -48px;
}

.icon-pencil {
    background-position: 0 -72px;
}

.icon-map-marker {
    background-position: -24px -72px;
}

.icon-adjust {
    background-position: -48px -72px;
}

.icon-tint {
    background-position: -72px -72px;
}

.icon-edit {
    background-position: -96px -72px;
}

.icon-share {
    background-position: -120px -72px;
}

.icon-check {
    background-position: -144px -72px;
}

.icon-move {
    background-position: -168px -72px;
}

.icon-step-backward {
    background-position: -192px -72px;
}

.icon-fast-backward {
    background-position: -216px -72px;
}

.icon-backward {
    background-position: -240px -72px;
}

.icon-play {
    background-position: -264px -72px;
}

.icon-pause {
    background-position: -288px -72px;
}

.icon-stop {
    background-position: -312px -72px;
}

.icon-forward {
    background-position: -336px -72px;
}

.icon-fast-forward {
    background-position: -360px -72px;
}

.icon-step-forward {
    background-position: -384px -72px;
}

.icon-eject {
    background-position: -408px -72px;
}

.icon-chevron-left {
    background-position: -432px -72px;
}

.icon-chevron-right {
    background-position: -456px -72px;
}

.icon-plus-sign {
    background-position: 0 -96px;
}

.icon-minus-sign {
    background-position: -24px -96px;
}

.icon-remove-sign {
    background-position: -48px -96px;
}

.icon-ok-sign {
    background-position: -72px -96px;
}

.icon-question-sign {
    background-position: -96px -96px;
}

.icon-info-sign {
    background-position: -120px -96px;
}

.icon-screenshot {
    background-position: -144px -96px;
}

.icon-remove-circle {
    background-position: -168px -96px;
}

.icon-ok-circle {
    background-position: -192px -96px;
}

.icon-ban-circle {
    background-position: -216px -96px;
}

.icon-arrow-left {
    background-position: -240px -96px;
}

.icon-arrow-right {
    background-position: -264px -96px;
}

.icon-arrow-up {
    background-position: -289px -96px;
}

.icon-arrow-down {
    background-position: -312px -96px;
}

.icon-share-alt {
    background-position: -336px -96px;
}

.icon-resize-full {
    background-position: -360px -96px;
}

.icon-resize-small {
    background-position: -384px -96px;
}

.icon-plus {
    background-position: -408px -96px;
}

.icon-minus {
    background-position: -433px -96px;
}

.icon-asterisk {
    background-position: -456px -96px;
}

.icon-exclamation-sign {
    background-position: 0 -120px;
}

.icon-gift {
    background-position: -24px -120px;
}

.icon-leaf {
    background-position: -48px -120px;
}

.icon-fire {
    background-position: -72px -120px;
}

.icon-eye-open {
    background-position: -96px -120px;
}

.icon-eye-close {
    background-position: -120px -120px;
}

.icon-warning-sign {
    background-position: -144px -120px;
}

.icon-plane {
    background-position: -168px -120px;
}

.icon-calendar {
    background-position: -192px -120px;
}

.icon-random {
    width: 16px;
    background-position: -216px -120px;
}

.icon-comment {
    background-position: -240px -120px;
}

.icon-magnet {
    background-position: -264px -120px;
}

.icon-chevron-up {
    background-position: -288px -120px;
}

.icon-chevron-down {
    background-position: -313px -119px;
}

.icon-retweet {
    background-position: -336px -120px;
}

.icon-shopping-cart {
    background-position: -360px -120px;
}

.icon-folder-close {
    width: 16px;
    background-position: -384px -120px;
}

.icon-folder-open {
    width: 16px;
    background-position: -408px -120px;
}

.icon-resize-vertical {
    background-position: -432px -119px;
}

.icon-resize-horizontal {
    background-position: -456px -118px;
}

.icon-hdd {
    background-position: 0 -144px;
}

.icon-bullhorn {
    background-position: -24px -144px;
}

.icon-bell {
    background-position: -48px -144px;
}

.icon-certificate {
    background-position: -72px -144px;
}

.icon-thumbs-up {
    background-position: -96px -144px;
}

.icon-thumbs-down {
    background-position: -120px -144px;
}

.icon-hand-right {
    background-position: -144px -144px;
}

.icon-hand-left {
    background-position: -168px -144px;
}

.icon-hand-up {
    background-position: -192px -144px;
}

.icon-hand-down {
    background-position: -216px -144px;
}

.icon-circle-arrow-right {
    background-position: -240px -144px;
}

.icon-circle-arrow-left {
    background-position: -264px -144px;
}

.icon-circle-arrow-up {
    background-position: -288px -144px;
}

.icon-circle-arrow-down {
    background-position: -312px -144px;
}

.icon-globe {
    background-position: -336px -144px;
}

.icon-wrench {
    background-position: -360px -144px;
}

.icon-tasks {
    background-position: -384px -144px;
}

.icon-filter {
    background-position: -408px -144px;
}

.icon-briefcase {
    background-position: -432px -144px;
}

.icon-fullscreen {
    background-position: -456px -144px;
}

.dropup,
.dropdown {
    position: relative;
}

.dropdown-toggle {
    *margin-bottom: -3px;
}

.dropdown-toggle:active,
.open .dropdown-toggle {
    outline: 0;
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    vertical-align: top;
    border-top: 4px solid #000000;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    content: "";
}

.dropdown .caret {
    margin-top: 8px;
    margin-left: 2px;
}

.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;
    background-color: #ffffff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, 0.2);
    *border-right-width: 2px;
    *border-bottom-width: 2px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
}

.dropdown-menu.pull-right {
    right: 0;
    left: auto;
}

.dropdown-menu .divider {
    *width: 100%;
    height: 1px;
    margin: 9px 1px;
    *margin: -5px 0 5px;
    overflow: hidden;
    background-color: #e5e5e5;
    border-bottom: 1px solid #ffffff;
}

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 20px;
    color: #999999;
    white-space: nowrap;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
    color: #ffffff;
    text-decoration: none;
    background-color: #007af5;
    background-image: -moz-linear-gradient(top, #007fff, #0072e6);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#007fff), to(#0072e6));
    background-image: -webkit-linear-gradient(top, #007fff, #0072e6);
    background-image: -o-linear-gradient(top, #007fff, #0072e6);
    background-image: linear-gradient(to bottom, #007fff, #0072e6);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff', endColorstr='#ff0072e6', GradientType=0);
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
    color: #ffffff;
    text-decoration: none;
    background-color: #007af5;
    background-image: -moz-linear-gradient(top, #007fff, #0072e6);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#007fff), to(#0072e6));
    background-image: -webkit-linear-gradient(top, #007fff, #0072e6);
    background-image: -o-linear-gradient(top, #007fff, #0072e6);
    background-image: linear-gradient(to bottom, #007fff, #0072e6);
    background-repeat: repeat-x;
    outline: 0;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff', endColorstr='#ff0072e6', GradientType=0);
}

.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
    color: #dfdfdf;
}

.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
    text-decoration: none;
    cursor: default;
    background-color: transparent;
    background-image: none;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.open {
    *z-index: 1000;
}

.open > .dropdown-menu {
    display: block;
}

.pull-right > .dropdown-menu {
    right: 0;
    left: auto;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
    border-top: 0;
    border-bottom: 4px solid #000000;
    content: "";
}

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-bottom: 1px;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}

.dropup .dropdown-submenu > .dropdown-menu {
    top: auto;
    bottom: 0;
    margin-top: 0;
    margin-bottom: -2px;
    -webkit-border-radius: 5px 5px 5px 0;
    -moz-border-radius: 5px 5px 5px 0;
    border-radius: 5px 5px 5px 0;
}

.dropdown-submenu > a:after {
    display: block;
    float: right;
    width: 0;
    height: 0;
    margin-top: 5px;
    margin-right: -10px;
    border-color: transparent;
    border-left-color: #cccccc;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    content: " ";
}

.dropdown-submenu:hover > a:after {
    border-left-color: #ffffff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left > .dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

.dropdown .dropdown-menu .nav-header {
    padding-right: 20px;
    padding-left: 20px;
}

.typeahead {
    z-index: 1051;
    margin-top: 2px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #eeeeee;
    border: 1px solid #dcdcdc;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
    -moz-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-large {
    padding: 24px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.well-small {
    padding: 9px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.fade {
    opacity: 0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear;
}

.fade.in {
    opacity: 1;
}

.collapse {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition: height 0.35s ease;
    -moz-transition: height 0.35s ease;
    -o-transition: height 0.35s ease;
    transition: height 0.35s ease;
}

.collapse.in {
    height: auto;
}

.close {
    float: right;
    font-size: 20px;
    font-weight: bold;
    line-height: 20px;
    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.4;
    filter: alpha(opacity=40);
}

button.close {
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
}

.btn {
    display: inline-block;
    *display: inline;
    padding: 4px 12px;
    margin-bottom: 0;
    *margin-left: .3em;
    font-size: 14px;
    line-height: 20px;
    color: #999999;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
    vertical-align: middle;
    cursor: pointer;
    background-color: #dfdfdf;
    *background-color: #c8c8c8;
    background-image: -moz-linear-gradient(top, #eeeeee, #c8c8c8);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#c8c8c8));
    background-image: -webkit-linear-gradient(top, #eeeeee, #c8c8c8);
    background-image: -o-linear-gradient(top, #eeeeee, #c8c8c8);
    background-image: linear-gradient(to bottom, #eeeeee, #c8c8c8);
    background-repeat: repeat-x;
    border: 1px solid #bbbbbb;
    *border: 0;
    border-color: #c8c8c8 #c8c8c8 #a2a2a2;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    border-bottom-color: #a2a2a2;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffc8c8c8', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    *zoom: 1;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn:hover,
.btn:focus,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
    color: #999999;
    background-color: #c8c8c8;
    *background-color: #bbbbbb;
}

.btn:active,
.btn.active {
    background-color: #aeaeae \9;
}

.btn:first-child {
    *margin-left: 0;
}

.btn:hover,
.btn:focus {
    color: #999999;
    text-decoration: none;
    background-position: 0 -15px;
    -webkit-transition: background-position 0.1s linear;
    -moz-transition: background-position 0.1s linear;
    -o-transition: background-position 0.1s linear;
    transition: background-position 0.1s linear;
}

.btn:focus {
    outline: thin dotted #333;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

.btn.active,
.btn:active {
    background-image: none;
    outline: 0;
    -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn.disabled,
.btn[disabled] {
    cursor: default;
    background-image: none;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.btn-large {
    padding: 22px 30px;
    font-size: 17.5px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.btn-large [class^="icon-"],
.btn-large [class*=" icon-"] {
    margin-top: 4px;
}

.btn-small {
    padding: 2px 10px;
    font-size: 11.9px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.btn-small [class^="icon-"],
.btn-small [class*=" icon-"] {
    margin-top: 0;
}

.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
    margin-top: -1px;
}

.btn-mini {
    padding: 2px 6px;
    font-size: 10.5px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.btn-block {
    display: block;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.btn-block + .btn-block {
    margin-top: 5px;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
    width: 100%;
}

.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active {
    color: rgba(255, 255, 255, 0.75);
}

.btn-primary {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #0f82f5;
    *background-color: #0072e6;
    background-image: -moz-linear-gradient(top, #1a8cff, #0072e6);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#1a8cff), to(#0072e6));
    background-image: -webkit-linear-gradient(top, #1a8cff, #0072e6);
    background-image: -o-linear-gradient(top, #1a8cff, #0072e6);
    background-image: linear-gradient(to bottom, #1a8cff, #0072e6);
    background-repeat: repeat-x;
    border-color: #0072e6 #0072e6 #004c99;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1a8cff', endColorstr='#ff0072e6', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
    color: #ffffff;
    background-color: #0072e6;
    *background-color: #0066cc;
}

.btn-primary:active,
.btn-primary.active {
    background-color: #0059b3 \9;
}

.btn-warning {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #fe781e;
    *background-color: #fe6600;
    background-image: -moz-linear-gradient(top, #ff8432, #fe6600);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ff8432), to(#fe6600));
    background-image: -webkit-linear-gradient(top, #ff8432, #fe6600);
    background-image: -o-linear-gradient(top, #ff8432, #fe6600);
    background-image: linear-gradient(to bottom, #ff8432, #fe6600);
    background-repeat: repeat-x;
    border-color: #fe6600 #fe6600 #b14700;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff8432', endColorstr='#fffe6600', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
    color: #ffffff;
    background-color: #fe6600;
    *background-color: #e45c00;
}

.btn-warning:active,
.btn-warning.active {
    background-color: #cb5200 \9;
}

.btn-danger {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #f50f43;
    *background-color: #e60033;
    background-image: -moz-linear-gradient(top, #ff1a4d, #e60033);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ff1a4d), to(#e60033));
    background-image: -webkit-linear-gradient(top, #ff1a4d, #e60033);
    background-image: -o-linear-gradient(top, #ff1a4d, #e60033);
    background-image: linear-gradient(to bottom, #ff1a4d, #e60033);
    background-repeat: repeat-x;
    border-color: #e60033 #e60033 #990022;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff1a4d', endColorstr='#ffe60033', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
    color: #ffffff;
    background-color: #e60033;
    *background-color: #cc002e;
}

.btn-danger:active,
.btn-danger.active {
    background-color: #b30028 \9;
}

.btn-success {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #41bb19;
    *background-color: #379f15;
    background-image: -moz-linear-gradient(top, #47cd1b, #379f15);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#47cd1b), to(#379f15));
    background-image: -webkit-linear-gradient(top, #47cd1b, #379f15);
    background-image: -o-linear-gradient(top, #47cd1b, #379f15);
    background-image: linear-gradient(to bottom, #47cd1b, #379f15);
    background-repeat: repeat-x;
    border-color: #379f15 #379f15 #205c0c;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff47cd1b', endColorstr='#ff379f15', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
    color: #ffffff;
    background-color: #379f15;
    *background-color: #2f8912;
}

.btn-success:active,
.btn-success.active {
    background-color: #28720f \9;
}

.btn-info {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #9b59bb;
    *background-color: #8d46b0;
    background-image: -moz-linear-gradient(top, #a466c2, #8d46b0);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#a466c2), to(#8d46b0));
    background-image: -webkit-linear-gradient(top, #a466c2, #8d46b0);
    background-image: -o-linear-gradient(top, #a466c2, #8d46b0);
    background-image: linear-gradient(to bottom, #a466c2, #8d46b0);
    background-repeat: repeat-x;
    border-color: #8d46b0 #8d46b0 #613079;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa466c2', endColorstr='#ff8d46b0', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
    color: #ffffff;
    background-color: #8d46b0;
    *background-color: #7e3f9d;
}

.btn-info:active,
.btn-info.active {
    background-color: #6f378b \9;
}

.btn-inverse {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #080808;
    *background-color: #000000;
    background-image: -moz-linear-gradient(top, #0d0d0d, #000000);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0d0d0d), to(#000000));
    background-image: -webkit-linear-gradient(top, #0d0d0d, #000000);
    background-image: -o-linear-gradient(top, #0d0d0d, #000000);
    background-image: linear-gradient(to bottom, #0d0d0d, #000000);
    background-repeat: repeat-x;
    border-color: #000000 #000000 #000000;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0d0d0d', endColorstr='#ff000000', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
    color: #ffffff;
    background-color: #000000;
    *background-color: #000000;
}

.btn-inverse:active,
.btn-inverse.active {
    background-color: #000000 \9;
}

button.btn,
input[type="submit"].btn {
    *padding-top: 3px;
    *padding-bottom: 3px;
}

button.btn::-moz-focus-inner,
input[type="submit"].btn::-moz-focus-inner {
    padding: 0;
    border: 0;
}

button.btn.btn-large,
input[type="submit"].btn.btn-large {
    *padding-top: 7px;
    *padding-bottom: 7px;
}

button.btn.btn-small,
input[type="submit"].btn.btn-small {
    *padding-top: 3px;
    *padding-bottom: 3px;
}

button.btn.btn-mini,
input[type="submit"].btn.btn-mini {
    *padding-top: 1px;
    *padding-bottom: 1px;
}

.btn-link,
.btn-link:active,
.btn-link[disabled] {
    background-color: transparent;
    background-image: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.btn-link {
    color: #007fff;
    cursor: pointer;
    border-color: transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.btn-link:hover,
.btn-link:focus {
    color: #0066cc;
    text-decoration: underline;
    background-color: transparent;
}

.btn-link[disabled]:hover,
.btn-link[disabled]:focus {
    color: #999999;
    text-decoration: none;
}

.btn-group {
    position: relative;
    display: inline-block;
    *display: inline;
    *margin-left: .3em;
    font-size: 0;
    white-space: nowrap;
    vertical-align: middle;
    *zoom: 1;
}

.btn-group:first-child {
    *margin-left: 0;
}

.btn-group + .btn-group {
    margin-left: 5px;
}

.btn-toolbar {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 0;
}

.btn-toolbar > .btn + .btn,
.btn-toolbar > .btn-group + .btn,
.btn-toolbar > .btn + .btn-group {
    margin-left: 5px;
}

.btn-group > .btn {
    position: relative;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.btn-group > .btn + .btn {
    margin-left: -1px;
}

.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
    font-size: 14px;
}

.btn-group > .btn-mini {
    font-size: 10.5px;
}

.btn-group > .btn-small {
    font-size: 11.9px;
}

.btn-group > .btn-large {
    font-size: 17.5px;
}

.btn-group > .btn:first-child {
    margin-left: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
    -moz-border-radius-topleft: 0;
}

.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-topright: 0;
    -moz-border-radius-bottomright: 0;
}

.btn-group > .btn.large:first-child {
    margin-left: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
    -moz-border-radius-topleft: 0;
}

.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-topright: 0;
    -moz-border-radius-bottomright: 0;
}

.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
    z-index: 2;
}

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
    outline: 0;
}

.btn-group > .btn + .dropdown-toggle {
    *padding-top: 5px;
    padding-right: 8px;
    *padding-bottom: 5px;
    padding-left: 8px;
    -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-group > .btn-mini + .dropdown-toggle {
    *padding-top: 2px;
    padding-right: 5px;
    *padding-bottom: 2px;
    padding-left: 5px;
}

.btn-group > .btn-small + .dropdown-toggle {
    *padding-top: 5px;
    *padding-bottom: 4px;
}

.btn-group > .btn-large + .dropdown-toggle {
    *padding-top: 7px;
    padding-right: 12px;
    *padding-bottom: 7px;
    padding-left: 12px;
}

.btn-group.open .dropdown-toggle {
    background-image: none;
    -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-group.open .btn.dropdown-toggle {
    background-color: #c8c8c8;
}

.btn-group.open .btn-primary.dropdown-toggle {
    background-color: #0072e6;
}

.btn-group.open .btn-warning.dropdown-toggle {
    background-color: #fe6600;
}

.btn-group.open .btn-danger.dropdown-toggle {
    background-color: #e60033;
}

.btn-group.open .btn-success.dropdown-toggle {
    background-color: #379f15;
}

.btn-group.open .btn-info.dropdown-toggle {
    background-color: #8d46b0;
}

.btn-group.open .btn-inverse.dropdown-toggle {
    background-color: #000000;
}

.btn .caret {
    margin-top: 8px;
    margin-left: 0;
}

.btn-large .caret {
    margin-top: 6px;
}

.btn-large .caret {
    border-top-width: 5px;
    border-right-width: 5px;
    border-left-width: 5px;
}

.btn-mini .caret,
.btn-small .caret {
    margin-top: 8px;
}

.dropup .btn-large .caret {
    border-bottom-width: 5px;
}

.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
    border-top-color: #ffffff;
    border-bottom-color: #ffffff;
}

.btn-group-vertical {
    display: inline-block;
    *display: inline;
    /* IE7 inline-block hack */

    *zoom: 1;
}

.btn-group-vertical > .btn {
    display: block;
    float: none;
    max-width: 100%;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.btn-group-vertical > .btn + .btn {
    margin-top: -1px;
    margin-left: 0;
}

.btn-group-vertical > .btn:first-child {
    -webkit-border-radius: 0 0px 0 0;
    -moz-border-radius: 0 0px 0 0;
    border-radius: 0 0px 0 0;
}

.btn-group-vertical > .btn:last-child {
    -webkit-border-radius: 0 0 0 0px;
    -moz-border-radius: 0 0 0 0px;
    border-radius: 0 0 0 0px;
}

.btn-group-vertical > .btn-large:first-child {
    -webkit-border-radius: 0 0px 0 0;
    -moz-border-radius: 0 0px 0 0;
    border-radius: 0 0px 0 0;
}

.btn-group-vertical > .btn-large:last-child {
    -webkit-border-radius: 0 0 0 0px;
    -moz-border-radius: 0 0 0 0px;
    border-radius: 0 0 0 0px;
}

.alert {
    padding: 8px 35px 8px 14px;
    margin-bottom: 20px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    background-color: #ff7518;
    border: 1px solid transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.alert,
.alert h4 {
    color: #ffffff;
}

.alert h4 {
    margin: 0;
}

.alert .close {
    position: relative;
    top: -2px;
    right: -21px;
    line-height: 20px;
}

.alert-success {
    color: #ffffff;
    background-color: #3fb618;
    border-color: transparent;
}

.alert-success h4 {
    color: #ffffff;
}

.alert-danger,
.alert-error {
    color: #ffffff;
    background-color: #ff0039;
    border-color: transparent;
}

.alert-danger h4,
.alert-error h4 {
    color: #ffffff;
}

.alert-info {
    color: #ffffff;
    background-color: #9954bb;
    border-color: transparent;
}

.alert-info h4 {
    color: #ffffff;
}

.alert-block {
    padding-top: 14px;
    padding-bottom: 14px;
}

.alert-block > p,
.alert-block > ul {
    margin-bottom: 0;
}

.alert-block p + p {
    margin-top: 5px;
}

.nav {
    margin-bottom: 20px;
    margin-left: 0;
    list-style: none;
}

.nav > li > a {
    display: block;
}

.nav > li > a:hover,
.nav > li > a:focus {
    text-decoration: none;
    background-color: #eeeeee;
}

.nav > li > a > img {
    max-width: none;
}

.nav > .pull-right {
    float: right;
}

.nav-header {
    display: block;
    padding: 3px 15px;
    font-size: 11px;
    font-weight: bold;
    line-height: 20px;
    color: #dfdfdf;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
}

.nav li + .nav-header {
    margin-top: 9px;
}

.nav-list {
    padding-right: 15px;
    padding-left: 15px;
    margin-bottom: 0;
}

.nav-list > li > a,
.nav-list .nav-header {
    margin-right: -15px;
    margin-left: -15px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}

.nav-list > li > a {
    padding: 3px 15px;
}

.nav-list > .active > a,
.nav-list > .active > a:hover,
.nav-list > .active > a:focus {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
    background-color: #007fff;
}

.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
    margin-right: 2px;
}

.nav-list .divider {
    *width: 100%;
    height: 1px;
    margin: 9px 1px;
    *margin: -5px 0 5px;
    overflow: hidden;
    background-color: #e5e5e5;
    border-bottom: 1px solid #ffffff;
}

.nav-tabs,
.nav-pills {
    *zoom: 1;
}

.nav-tabs:before,
.nav-pills:before,
.nav-tabs:after,
.nav-pills:after {
    display: table;
    line-height: 0;
    content: "";
}

.nav-tabs:after,
.nav-pills:after {
    clear: both;
}

.nav-tabs > li,
.nav-pills > li {
    float: left;
}

.nav-tabs > li > a,
.nav-pills > li > a {
    padding-right: 12px;
    padding-left: 12px;
    margin-right: 2px;
    line-height: 14px;
}

.nav-tabs {
    border-bottom: 1px solid #ddd;
}

.nav-tabs > li {
    margin-bottom: -1px;
}

.nav-tabs > li > a {
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 20px;
    border: 1px solid transparent;
    -webkit-border-radius: 4px 4px 0 0;
    -moz-border-radius: 4px 4px 0 0;
    border-radius: 4px 4px 0 0;
}

.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
    border-color: #eeeeee #eeeeee #dddddd;
}

.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
    color: #bbbbbb;
    cursor: default;
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-bottom-color: transparent;
}

.nav-pills > li > a {
    padding-top: 8px;
    padding-bottom: 8px;
    margin-top: 2px;
    margin-bottom: 2px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.nav-pills > .active > a,
.nav-pills > .active > a:hover,
.nav-pills > .active > a:focus {
    color: #ffffff;
    background-color: #007fff;
}

.nav-stacked > li {
    float: none;
}

.nav-stacked > li > a {
    margin-right: 0;
}

.nav-tabs.nav-stacked {
    border-bottom: 0;
}

.nav-tabs.nav-stacked > li > a {
    border: 1px solid #ddd;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.nav-tabs.nav-stacked > li:first-child > a {
    -webkit-border-top-right-radius: 4px;
    border-top-right-radius: 4px;
    -webkit-border-top-left-radius: 4px;
    border-top-left-radius: 4px;
    -moz-border-radius-topright: 4px;
    -moz-border-radius-topleft: 4px;
}

.nav-tabs.nav-stacked > li:last-child > a {
    -webkit-border-bottom-right-radius: 4px;
    border-bottom-right-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    border-bottom-left-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -moz-border-radius-bottomleft: 4px;
}

.nav-tabs.nav-stacked > li > a:hover,
.nav-tabs.nav-stacked > li > a:focus {
    z-index: 2;
    border-color: #ddd;
}

.nav-pills.nav-stacked > li > a {
    margin-bottom: 3px;
}

.nav-pills.nav-stacked > li:last-child > a {
    margin-bottom: 1px;
}

.nav-tabs .dropdown-menu {
    -webkit-border-radius: 0 0 6px 6px;
    -moz-border-radius: 0 0 6px 6px;
    border-radius: 0 0 6px 6px;
}

.nav-pills .dropdown-menu {
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

.nav .dropdown-toggle .caret {
    margin-top: 6px;
    border-top-color: #007fff;
    border-bottom-color: #007fff;
}

.nav .dropdown-toggle:hover .caret,
.nav .dropdown-toggle:focus .caret {
    border-top-color: #0066cc;
    border-bottom-color: #0066cc;
}

/* move down carets for tabs */

.nav-tabs .dropdown-toggle .caret {
    margin-top: 8px;
}

.nav .active .dropdown-toggle .caret {
    border-top-color: #fff;
    border-bottom-color: #fff;
}

.nav-tabs .active .dropdown-toggle .caret {
    border-top-color: #bbbbbb;
    border-bottom-color: #bbbbbb;
}

.nav > .dropdown.active > a:hover,
.nav > .dropdown.active > a:focus {
    cursor: pointer;
}

.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover,
.nav > li.dropdown.open.active > a:focus {
    color: #ffffff;
    background-color: #dfdfdf;
    border-color: #dfdfdf;
}

.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret,
.nav li.dropdown.open a:focus .caret {
    border-top-color: #ffffff;
    border-bottom-color: #ffffff;
    opacity: 1;
    filter: alpha(opacity=100);
}

.tabs-stacked .open > a:hover,
.tabs-stacked .open > a:focus {
    border-color: #dfdfdf;
}

.tabbable {
    *zoom: 1;
}

.tabbable:before,
.tabbable:after {
    display: table;
    line-height: 0;
    content: "";
}

.tabbable:after {
    clear: both;
}

.tab-content {
    overflow: auto;
}

.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
    border-bottom: 0;
}

.tab-content > .tab-pane,
.pill-content > .pill-pane {
    display: none;
}

.tab-content > .active,
.pill-content > .active {
    display: block;
}

.tabs-below > .nav-tabs {
    border-top: 1px solid #ddd;
}

.tabs-below > .nav-tabs > li {
    margin-top: -1px;
    margin-bottom: 0;
}

.tabs-below > .nav-tabs > li > a {
    -webkit-border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    border-radius: 0 0 4px 4px;
}

.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
    border-top-color: #ddd;
    border-bottom-color: transparent;
}

.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
    border-color: transparent #ddd #ddd #ddd;
}

.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
    float: none;
}

.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
    min-width: 74px;
    margin-right: 0;
    margin-bottom: 3px;
}

.tabs-left > .nav-tabs {
    float: left;
    margin-right: 19px;
    border-right: 1px solid #ddd;
}

.tabs-left > .nav-tabs > li > a {
    margin-right: -1px;
    -webkit-border-radius: 4px 0 0 4px;
    -moz-border-radius: 4px 0 0 4px;
    border-radius: 4px 0 0 4px;
}

.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
    border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}

.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
    border-color: #ddd transparent #ddd #ddd;
    *border-right-color: #ffffff;
}

.tabs-right > .nav-tabs {
    float: right;
    margin-left: 19px;
    border-left: 1px solid #ddd;
}

.tabs-right > .nav-tabs > li > a {
    margin-left: -1px;
    -webkit-border-radius: 0 4px 4px 0;
    -moz-border-radius: 0 4px 4px 0;
    border-radius: 0 4px 4px 0;
}

.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
    border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}

.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
    border-color: #ddd #ddd #ddd transparent;
    *border-left-color: #ffffff;
}

.nav > .disabled > a {
    color: #dfdfdf;
}

.nav > .disabled > a:hover,
.nav > .disabled > a:focus {
    text-decoration: none;
    cursor: default;
    background-color: transparent;
}

.navbar {
    *position: relative;
    *z-index: 2;
    margin-bottom: 20px;
    overflow: visible;
}

.navbar-inner {
    min-height: 50px;
    padding-right: 20px;
    padding-left: 20px;
    background-color: #080808;
    background-image: -moz-linear-gradient(top, #080808, #080808);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#080808), to(#080808));
    background-image: -webkit-linear-gradient(top, #080808, #080808);
    background-image: -o-linear-gradient(top, #080808, #080808);
    background-image: linear-gradient(to bottom, #080808, #080808);
    background-repeat: repeat-x;
    border: 1px solid transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff080808', GradientType=0);
    *zoom: 1;
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
}

.navbar-inner:before,
.navbar-inner:after {
    display: table;
    line-height: 0;
    content: "";
}

.navbar-inner:after {
    clear: both;
}

.navbar .container {
    width: auto;
}

.nav-collapse.collapse {
    height: auto;
    overflow: visible;
}

.navbar .brand {
    display: block;
    float: left;
    padding: 15px 20px 15px;
    margin-left: -20px;
    font-size: 20px;
    font-weight: 200;
    color: #ffffff;
    text-shadow: 0 1px 0 #080808;
}

.navbar .brand:hover,
.navbar .brand:focus {
    text-decoration: none;
}

.navbar-text {
    margin-bottom: 0;
    line-height: 50px;
    color: #ffffff;
}

.navbar-link {
    color: #ffffff;
}

.navbar-link:hover,
.navbar-link:focus {
    color: #bbbbbb;
}

.navbar .divider-vertical {
    height: 50px;
    margin: 0 9px;
    border-right: 1px solid #080808;
    border-left: 1px solid #080808;
}

.navbar .btn,
.navbar .btn-group {
    margin-top: 10px;
}

.navbar .btn-group .btn,
.navbar .input-prepend .btn,
.navbar .input-append .btn,
.navbar .input-prepend .btn-group,
.navbar .input-append .btn-group {
    margin-top: 0;
}

.navbar-form {
    margin-bottom: 0;
    *zoom: 1;
}

.navbar-form:before,
.navbar-form:after {
    display: table;
    line-height: 0;
    content: "";
}

.navbar-form:after {
    clear: both;
}

.navbar-form input,
.navbar-form select,
.navbar-form .radio,
.navbar-form .checkbox {
    margin-top: 10px;
}

.navbar-form input,
.navbar-form select,
.navbar-form .btn {
    display: inline-block;
    margin-bottom: 0;
}

.navbar-form input[type="image"],
.navbar-form input[type="checkbox"],
.navbar-form input[type="radio"] {
    margin-top: 3px;
}

.navbar-form .input-append,
.navbar-form .input-prepend {
    margin-top: 5px;
    white-space: nowrap;
}

.navbar-form .input-append input,
.navbar-form .input-prepend input {
    margin-top: 0;
}

.navbar-search {
    position: relative;
    float: left;
    margin-top: 10px;
    margin-bottom: 0;
}

.navbar-search .search-query {
    padding: 4px 14px;
    margin-bottom: 0;
    font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.navbar-static-top {
    position: static;
    margin-bottom: 0;
}

.navbar-static-top .navbar-inner {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.navbar-fixed-top,
.navbar-fixed-bottom {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030;
    margin-bottom: 0;
}

.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
    border-width: 0 0 1px;
}

.navbar-fixed-bottom .navbar-inner {
    border-width: 1px 0 0;
}

.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
    padding-right: 0;
    padding-left: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
    width: 940px;
}

.navbar-fixed-top {
    top: 0;
}

.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
    -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
}

.navbar-fixed-bottom {
    bottom: 0;
}

.navbar-fixed-bottom .navbar-inner {
    -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
}

.navbar .nav {
    position: relative;
    left: 0;
    display: block;
    float: left;
    margin: 0 10px 0 0;
}

.navbar .nav.pull-right {
    float: right;
    margin-right: 0;
}

.navbar .nav > li {
    float: left;
}

.navbar .nav > li > a {
    float: none;
    padding: 15px 15px 15px;
    color: #ffffff;
    text-decoration: none;
    text-shadow: 0 1px 0 #080808;
}

.navbar .nav .dropdown-toggle .caret {
    margin-top: 8px;
}

.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
    color: #bbbbbb;
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0.05);
}

.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
    color: #ffffff;
    text-decoration: none;
    background-color: transparent;
    -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
    -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
    box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
}

.navbar .btn-navbar {
    display: none;
    float: right;
    padding: 7px 10px;
    margin-right: 5px;
    margin-left: 5px;
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #000000;
    *background-color: #000000;
    background-image: -moz-linear-gradient(top, #000000, #000000);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#000000), to(#000000));
    background-image: -webkit-linear-gradient(top, #000000, #000000);
    background-image: -o-linear-gradient(top, #000000, #000000);
    background-image: linear-gradient(to bottom, #000000, #000000);
    background-repeat: repeat-x;
    border-color: #000000 #000000 #000000;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000', endColorstr='#ff000000', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
}

.navbar .btn-navbar:hover,
.navbar .btn-navbar:focus,
.navbar .btn-navbar:active,
.navbar .btn-navbar.active,
.navbar .btn-navbar.disabled,
.navbar .btn-navbar[disabled] {
    color: #ffffff;
    background-color: #000000;
    *background-color: #000000;
}

.navbar .btn-navbar:active,
.navbar .btn-navbar.active {
    background-color: #000000 \9;
}

.navbar .btn-navbar .icon-bar {
    display: block;
    width: 18px;
    height: 2px;
    background-color: #f5f5f5;
    -webkit-border-radius: 1px;
    -moz-border-radius: 1px;
    border-radius: 1px;
    -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.btn-navbar .icon-bar + .icon-bar {
    margin-top: 3px;
}

.navbar .nav > li > .dropdown-menu:before {
    position: absolute;
    top: -7px;
    left: 9px;
    display: inline-block;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-left: 7px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: '';
}

.navbar .nav > li > .dropdown-menu:after {
    position: absolute;
    top: -6px;
    left: 10px;
    display: inline-block;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #ffffff;
    border-left: 6px solid transparent;
    content: '';
}

.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
    top: auto;
    bottom: -7px;
    border-top: 7px solid #ccc;
    border-bottom: 0;
    border-top-color: rgba(0, 0, 0, 0.2);
}

.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
    top: auto;
    bottom: -6px;
    border-top: 6px solid #ffffff;
    border-bottom: 0;
}

.navbar .nav li.dropdown > a:hover .caret,
.navbar .nav li.dropdown > a:focus .caret {
    border-top-color: #bbbbbb;
    border-bottom-color: #bbbbbb;
}

.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
    color: #ffffff;
    background-color: transparent;
}

.navbar .nav li.dropdown > .dropdown-toggle .caret {
    border-top-color: #ffffff;
    border-bottom-color: #ffffff;
}

.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
    border-top-color: #ffffff;
    border-bottom-color: #ffffff;
}

.navbar .pull-right > li > .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right {
    right: 0;
    left: auto;
}

.navbar .pull-right > li > .dropdown-menu:before,
.navbar .nav > li > .dropdown-menu.pull-right:before {
    right: 12px;
    left: auto;
}

.navbar .pull-right > li > .dropdown-menu:after,
.navbar .nav > li > .dropdown-menu.pull-right:after {
    right: 13px;
    left: auto;
}

.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
    right: 100%;
    left: auto;
    margin-right: -1px;
    margin-left: 0;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

.navbar-inverse .navbar-inner {
    background-color: #007fff;
    background-image: -moz-linear-gradient(top, #007fff, #007fff);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#007fff), to(#007fff));
    background-image: -webkit-linear-gradient(top, #007fff, #007fff);
    background-image: -o-linear-gradient(top, #007fff, #007fff);
    background-image: linear-gradient(to bottom, #007fff, #007fff);
    background-repeat: repeat-x;
    border-color: transparent;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff007fff', endColorstr='#ff007fff', GradientType=0);
}

.navbar-inverse .brand,
.navbar-inverse .nav > li > a {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}

.navbar-inverse .brand:hover,
.navbar-inverse .nav > li > a:hover,
.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a:focus {
    color: #ffffff;
}

.navbar-inverse .brand {
    color: #ffffff;
}

.navbar-inverse .navbar-text {
    color: #ffffff;
}

.navbar-inverse .nav > li > a:focus,
.navbar-inverse .nav > li > a:hover {
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.05);
}

.navbar-inverse .nav .active > a,
.navbar-inverse .nav .active > a:hover,
.navbar-inverse .nav .active > a:focus {
    color: #ffffff;
    background-color: #007fff;
}

.navbar-inverse .navbar-link {
    color: #ffffff;
}

.navbar-inverse .navbar-link:hover,
.navbar-inverse .navbar-link:focus {
    color: #ffffff;
}

.navbar-inverse .divider-vertical {
    border-right-color: #007fff;
    border-left-color: #007fff;
}

.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
    color: #ffffff;
    background-color: #007fff;
}

.navbar-inverse .nav li.dropdown > a:hover .caret,
.navbar-inverse .nav li.dropdown > a:focus .caret {
    border-top-color: #ffffff;
    border-bottom-color: #ffffff;
}

.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
    border-top-color: #ffffff;
    border-bottom-color: #ffffff;
}

.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
    border-top-color: #ffffff;
    border-bottom-color: #ffffff;
}

.navbar-inverse .navbar-search .search-query {
    color: #ffffff;
    background-color: #80bfff;
    border-color: #007fff;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
}

.navbar-inverse .navbar-search .search-query:-moz-placeholder {
    color: #999999;
}

.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
    color: #999999;
}

.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
    color: #999999;
}

.navbar-inverse .navbar-search .search-query:focus,
.navbar-inverse .navbar-search .search-query.focused {
    padding: 5px 15px;
    color: #999999;
    text-shadow: 0 1px 0 #ffffff;
    background-color: #ffffff;
    border: 0;
    outline: 0;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
}

.navbar-inverse .btn-navbar {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #0072e6;
    *background-color: #0072e6;
    background-image: -moz-linear-gradient(top, #0072e6, #0072e6);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0072e6), to(#0072e6));
    background-image: -webkit-linear-gradient(top, #0072e6, #0072e6);
    background-image: -o-linear-gradient(top, #0072e6, #0072e6);
    background-image: linear-gradient(to bottom, #0072e6, #0072e6);
    background-repeat: repeat-x;
    border-color: #0072e6 #0072e6 #004c99;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0072e6', endColorstr='#ff0072e6', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}

.navbar-inverse .btn-navbar:hover,
.navbar-inverse .btn-navbar:focus,
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active,
.navbar-inverse .btn-navbar.disabled,
.navbar-inverse .btn-navbar[disabled] {
    color: #ffffff;
    background-color: #0072e6;
    *background-color: #0066cc;
}

.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active {
    background-color: #0059b3 \9;
}

.breadcrumb {
    padding: 8px 15px;
    margin: 0 0 20px;
    list-style: none;
    background-color: #f5f5f5;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.breadcrumb > li {
    display: inline-block;
    *display: inline;
    text-shadow: 0 1px 0 #ffffff;
    *zoom: 1;
}

.breadcrumb > li > .divider {
    padding: 0 5px;
    color: #ccc;
}

.breadcrumb > .active {
    color: #dfdfdf;
}

.pagination {
    margin: 20px 0;
}

.pagination ul {
    display: inline-block;
    *display: inline;
    margin-bottom: 0;
    margin-left: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    *zoom: 1;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.pagination ul > li {
    display: inline;
}

.pagination ul > li > a,
.pagination ul > li > span {
    float: left;
    padding: 4px 12px;
    line-height: 20px;
    text-decoration: none;
    background-color: #dfdfdf;
    border: 1px solid transparent;
    border-left-width: 0;
}

.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
    background-color: #007fff;
}

.pagination ul > .active > a,
.pagination ul > .active > span {
    color: #dfdfdf;
    cursor: default;
}

.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
    color: #dfdfdf;
    cursor: default;
    background-color: transparent;
}

.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
    border-left-width: 1px;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
    -moz-border-radius-topleft: 0;
}

.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-topright: 0;
    -moz-border-radius-bottomright: 0;
}

.pagination-centered {
    text-align: center;
}

.pagination-right {
    text-align: right;
}

.pagination-large ul > li > a,
.pagination-large ul > li > span {
    padding: 22px 30px;
    font-size: 17.5px;
}

.pagination-large ul > li:first-child > a,
.pagination-large ul > li:first-child > span {
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
    -moz-border-radius-topleft: 0;
}

.pagination-large ul > li:last-child > a,
.pagination-large ul > li:last-child > span {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-topright: 0;
    -moz-border-radius-bottomright: 0;
}

.pagination-mini ul > li:first-child > a,
.pagination-small ul > li:first-child > a,
.pagination-mini ul > li:first-child > span,
.pagination-small ul > li:first-child > span {
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
    -moz-border-radius-topleft: 0;
}

.pagination-mini ul > li:last-child > a,
.pagination-small ul > li:last-child > a,
.pagination-mini ul > li:last-child > span,
.pagination-small ul > li:last-child > span {
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    -moz-border-radius-topright: 0;
    -moz-border-radius-bottomright: 0;
}

.pagination-small ul > li > a,
.pagination-small ul > li > span {
    padding: 2px 10px;
    font-size: 11.9px;
}

.pagination-mini ul > li > a,
.pagination-mini ul > li > span {
    padding: 2px 6px;
    font-size: 10.5px;
}

.pager {
    margin: 20px 0;
    text-align: center;
    list-style: none;
    *zoom: 1;
}

.pager:before,
.pager:after {
    display: table;
    line-height: 0;
    content: "";
}

.pager:after {
    clear: both;
}

.pager li {
    display: inline;
}

.pager li > a,
.pager li > span {
    display: inline-block;
    padding: 5px 14px;
    background-color: #fff;
    border: 1px solid #ddd;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
    text-decoration: none;
    background-color: #f5f5f5;
}

.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: #dfdfdf;
    cursor: default;
    background-color: #fff;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000000;
}

.modal-backdrop.fade {
    opacity: 0;
}

.modal-backdrop,
.modal-backdrop.fade.in {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

.modal {
    position: fixed;
    top: 10%;
    left: 50%;
    z-index: 1050;
    width: 560px;
    margin-left: -280px;
    background-color: #ffffff;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, 0.3);
    *border: 1px solid #999;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    outline: none;
    -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding-box;
    background-clip: padding-box;
}

.modal.fade {
    top: -25%;
    -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
    -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
    -o-transition: opacity 0.3s linear, top 0.3s ease-out;
    transition: opacity 0.3s linear, top 0.3s ease-out;
}

.modal.fade.in {
    top: 10%;
}

.modal-header {
    padding: 9px 15px;
    border-bottom: 1px solid #eee;
}

.modal-header .close {
    margin-top: 2px;
}

.modal-header h3 {
    margin: 0;
    line-height: 30px;
}

.modal-body {
    position: relative;
    max-height: 400px;
    padding: 15px;
    overflow-y: auto;
}

.modal-form {
    margin-bottom: 0;
}

.modal-footer {
    padding: 14px 15px 15px;
    margin-bottom: 0;
    text-align: right;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    -webkit-border-radius: 0 0 6px 6px;
    -moz-border-radius: 0 0 6px 6px;
    border-radius: 0 0 6px 6px;
    *zoom: 1;
    -webkit-box-shadow: inset 0 1px 0 #ffffff;
    -moz-box-shadow: inset 0 1px 0 #ffffff;
    box-shadow: inset 0 1px 0 #ffffff;
}

.modal-footer:before,
.modal-footer:after {
    display: table;
    line-height: 0;
    content: "";
}

.modal-footer:after {
    clear: both;
}

.modal-footer .btn + .btn {
    margin-bottom: 0;
    margin-left: 5px;
}

.modal-footer .btn-group .btn + .btn {
    margin-left: -1px;
}

.modal-footer .btn-block + .btn-block {
    margin-left: 0;
}

.tooltip {
    position: absolute;
    z-index: 1030;
    display: block;
    font-size: 11px;
    line-height: 1.4;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: visible;
}

.tooltip.in {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

.tooltip.top {
    padding: 5px 0;
    margin-top: -3px;
}

.tooltip.right {
    padding: 0 5px;
    margin-left: 3px;
}

.tooltip.bottom {
    padding: 5px 0;
    margin-top: 3px;
}

.tooltip.left {
    padding: 0 5px;
    margin-left: -3px;
}

.tooltip-inner {
    max-width: 200px;
    padding: 8px;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    background-color: #000000;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.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-top-color: #000000;
    border-width: 5px 5px 0;
}

.tooltip.right .tooltip-arrow {
    top: 50%;
    left: 0;
    margin-top: -5px;
    border-right-color: #000000;
    border-width: 5px 5px 5px 0;
}

.tooltip.left .tooltip-arrow {
    top: 50%;
    right: 0;
    margin-top: -5px;
    border-left-color: #000000;
    border-width: 5px 0 5px 5px;
}

.tooltip.bottom .tooltip-arrow {
    top: 0;
    left: 50%;
    margin-left: -5px;
    border-bottom-color: #000000;
    border-width: 0 5px 5px;
}

.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1010;
    display: none;
    max-width: 276px;
    padding: 1px;
    text-align: left;
    white-space: normal;
    background-color: #ff7518;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, 0.2);
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
}

.popover.top {
    margin-top: -10px;
}

.popover.right {
    margin-left: 10px;
}

.popover.bottom {
    margin-top: 10px;
}

.popover.left {
    margin-left: -10px;
}

.popover-title {
    padding: 8px 14px;
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 18px;
    background-color: #ff7518;
    border-bottom: 1px solid #fe6600;
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

.popover-title:empty {
    display: none;
}

.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: 16px;
}

.popover .arrow:after {
    border-width: 15px;
    content: "";
}

.popover.top .arrow {
    bottom: -16px;
    left: 50%;
    margin-left: -16px;
    border-top-color: #999;
    border-top-color: transparent;
    border-bottom-width: 0;
}

.popover.top .arrow:after {
    bottom: 1px;
    margin-left: -15px;
    border-top-color: #ff7518;
    border-bottom-width: 0;
}

.popover.right .arrow {
    top: 50%;
    left: -16px;
    margin-top: -16px;
    border-right-color: #999;
    border-right-color: transparent;
    border-left-width: 0;
}

.popover.right .arrow:after {
    bottom: -15px;
    left: 1px;
    border-right-color: #ff7518;
    border-left-width: 0;
}

.popover.bottom .arrow {
    top: -16px;
    left: 50%;
    margin-left: -16px;
    border-bottom-color: #999;
    border-bottom-color: transparent;
    border-top-width: 0;
}

.popover.bottom .arrow:after {
    top: 1px;
    margin-left: -15px;
    border-bottom-color: #ff7518;
    border-top-width: 0;
}

.popover.left .arrow {
    top: 50%;
    right: -16px;
    margin-top: -16px;
    border-left-color: #999;
    border-left-color: transparent;
    border-right-width: 0;
}

.popover.left .arrow:after {
    right: 1px;
    bottom: -15px;
    border-left-color: #ff7518;
    border-right-width: 0;
}

.thumbnails {
    margin-left: -20px;
    list-style: none;
    *zoom: 1;
}

.thumbnails:before,
.thumbnails:after {
    display: table;
    line-height: 0;
    content: "";
}

.thumbnails:after {
    clear: both;
}

.row-fluid .thumbnails {
    margin-left: 0;
}

.thumbnails > li {
    float: left;
    margin-bottom: 20px;
    margin-left: 20px;
}

.thumbnail {
    display: block;
    padding: 4px;
    line-height: 20px;
    border: 1px solid #ddd;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

a.thumbnail:hover,
a.thumbnail:focus {
    border-color: #007fff;
    -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
    -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
    box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
}

.thumbnail > img {
    display: block;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.thumbnail .caption {
    padding: 9px;
    color: #bbbbbb;
}

.media,
.media-body {
    overflow: hidden;
    *overflow: visible;
    zoom: 1;
}

.media,
.media .media {
    margin-top: 15px;
}

.media:first-child {
    margin-top: 0;
}

.media-object {
    display: block;
}

.media-heading {
    margin: 0 0 5px;
}

.media > .pull-left {
    margin-right: 10px;
}

.media > .pull-right {
    margin-left: 10px;
}

.media-list {
    margin-left: 0;
    list-style: none;
}

.label,
.badge {
    display: inline-block;
    padding: 2px 4px;
    font-size: 11.844px;
    font-weight: bold;
    line-height: 14px;
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    white-space: nowrap;
    vertical-align: baseline;
    background-color: #dfdfdf;
}

.label {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.badge {
    padding-right: 9px;
    padding-left: 9px;
    -webkit-border-radius: 9px;
    -moz-border-radius: 9px;
    border-radius: 9px;
}

.label:empty,
.badge:empty {
    display: none;
}

a.label:hover,
a.label:focus,
a.badge:hover,
a.badge:focus {
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
}

.label-important,
.badge-important {
    background-color: #ffffff;
}

.label-important[href],
.badge-important[href] {
    background-color: #e6e6e6;
}

.label-warning,
.badge-warning {
    background-color: #ff7518;
}

.label-warning[href],
.badge-warning[href] {
    background-color: #e45c00;
}

.label-success,
.badge-success {
    background-color: #ffffff;
}

.label-success[href],
.badge-success[href] {
    background-color: #e6e6e6;
}

.label-info,
.badge-info {
    background-color: #ffffff;
}

.label-info[href],
.badge-info[href] {
    background-color: #e6e6e6;
}

.label-inverse,
.badge-inverse {
    background-color: #999999;
}

.label-inverse[href],
.badge-inverse[href] {
    background-color: #808080;
}

.btn .label,
.btn .badge {
    position: relative;
    top: -1px;
}

.btn-mini .label,
.btn-mini .badge {
    top: 0;
}

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }
    to {
        background-position: 0 0;
    }
}

@-moz-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }
    to {
        background-position: 0 0;
    }
}

@-ms-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }
    to {
        background-position: 0 0;
    }
}

@-o-keyframes progress-bar-stripes {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 40px 0;
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }
    to {
        background-position: 0 0;
    }
}

.progress {
    height: 20px;
    margin-bottom: 20px;
    overflow: hidden;
    background-color: #f7f7f7;
    background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
    background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
    background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
    background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
    background-repeat: repeat-x;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', 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);
}

.progress .bar {
    float: left;
    width: 0;
    height: 100%;
    font-size: 12px;
    color: #ffffff;
    text-align: center;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #0e90d2;
    background-image: -moz-linear-gradient(top, #149bdf, #0480be);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
    background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
    background-image: -o-linear-gradient(top, #149bdf, #0480be);
    background-image: linear-gradient(to bottom, #149bdf, #0480be);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', 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-transition: width 0.6s ease;
    -moz-transition: width 0.6s ease;
    -o-transition: width 0.6s ease;
    transition: width 0.6s ease;
}

.progress .bar + .bar {
    -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}

.progress-striped .bar {
    background-color: #149bdf;
    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
    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: -moz-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;
    -moz-background-size: 40px 40px;
    -o-background-size: 40px 40px;
    background-size: 40px 40px;
}

.progress.active .bar {
    -webkit-animation: progress-bar-stripes 2s linear infinite;
    -moz-animation: progress-bar-stripes 2s linear infinite;
    -ms-animation: progress-bar-stripes 2s linear infinite;
    -o-animation: progress-bar-stripes 2s linear infinite;
    animation: progress-bar-stripes 2s linear infinite;
}

.progress-danger .bar,
.progress .bar-danger {
    background-color: #dd514c;
    background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
    background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
    background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
    background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
}

.progress-danger.progress-striped .bar,
.progress-striped .bar-danger {
    background-color: #ee5f5b;
    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
    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: -moz-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-success .bar,
.progress .bar-success {
    background-color: #5eb95e;
    background-image: -moz-linear-gradient(top, #62c462, #57a957);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
    background-image: -webkit-linear-gradient(top, #62c462, #57a957);
    background-image: -o-linear-gradient(top, #62c462, #57a957);
    background-image: linear-gradient(to bottom, #62c462, #57a957);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
}

.progress-success.progress-striped .bar,
.progress-striped .bar-success {
    background-color: #62c462;
    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
    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: -moz-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-info .bar,
.progress .bar-info {
    background-color: #4bb1cf;
    background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
    background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
    background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
    background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
}

.progress-info.progress-striped .bar,
.progress-striped .bar-info {
    background-color: #5bc0de;
    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
    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: -moz-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-warning .bar,
.progress .bar-warning {
    background-color: #ff9046;
    background-image: -moz-linear-gradient(top, #ffa365, #ff7518);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffa365), to(#ff7518));
    background-image: -webkit-linear-gradient(top, #ffa365, #ff7518);
    background-image: -o-linear-gradient(top, #ffa365, #ff7518);
    background-image: linear-gradient(to bottom, #ffa365, #ff7518);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffa365', endColorstr='#ffff7518', GradientType=0);
}

.progress-warning.progress-striped .bar,
.progress-striped .bar-warning {
    background-color: #ffa365;
    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
    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: -moz-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);
}

.accordion {
    margin-bottom: 20px;
}

.accordion-group {
    margin-bottom: 2px;
    border: 1px solid #e5e5e5;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.accordion-heading {
    border-bottom: 0;
}

.accordion-heading .accordion-toggle {
    display: block;
    padding: 8px 15px;
}

.accordion-toggle {
    cursor: pointer;
}

.accordion-inner {
    padding: 9px 15px;
    border-top: 1px solid #e5e5e5;
}

.carousel {
    position: relative;
    margin-bottom: 20px;
    line-height: 1;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-inner > .item {
    position: relative;
    display: none;
    -webkit-transition: 0.6s ease-in-out left;
    -moz-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 {
    display: block;
    line-height: 1;
}

.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: 40%;
    left: 15px;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    font-size: 60px;
    font-weight: 100;
    line-height: 30px;
    color: #ffffff;
    text-align: center;
    background: #080808;
    border: 3px solid #ffffff;
    -webkit-border-radius: 23px;
    -moz-border-radius: 23px;
    border-radius: 23px;
    opacity: 0.5;
    filter: alpha(opacity=50);
}

.carousel-control.right {
    right: 15px;
    left: auto;
}

.carousel-control:hover,
.carousel-control:focus {
    color: #ffffff;
    text-decoration: none;
    opacity: 0.9;
    filter: alpha(opacity=90);
}

.carousel-indicators {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 5;
    margin: 0;
    list-style: none;
}

.carousel-indicators li {
    display: block;
    float: left;
    width: 10px;
    height: 10px;
    margin-left: 5px;
    text-indent: -999px;
    background-color: #ccc;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 5px;
}

.carousel-indicators .active {
    background-color: #fff;
}

.carousel-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 15px;
    background: #999999;
    background: rgba(0, 0, 0, 0.75);
}

.carousel-caption h4,
.carousel-caption p {
    line-height: 20px;
    color: #ffffff;
}

.carousel-caption h4 {
    margin: 0 0 5px;
}

.carousel-caption p {
    margin-bottom: 0;
}

.hero-unit {
    padding: 60px;
    margin-bottom: 30px;
    font-size: 18px;
    font-weight: 200;
    line-height: 30px;
    color: inherit;
    background-color: #eeeeee;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

.hero-unit h1 {
    margin-bottom: 0;
    font-size: 60px;
    line-height: 1;
    letter-spacing: -1px;
    color: inherit;
}

.hero-unit li {
    line-height: 30px;
}

.pull-right {
    float: right;
}

.pull-left {
    float: left;
}

.hide {
    display: none;
}

.show {
    display: block;
}

.invisible {
    visibility: hidden;
}

.affix {
    position: fixed;
}

body {
    font-weight: 300;
}

h1 {
    font-size: 50px;
}

h2,
h3 {
    font-size: 26px;
}

h4 {
    font-size: 14px;
}

h5,
h6 {
    font-size: 11px;
}

blockquote {
    padding: 10px 15px;
    background-color: #eeeeee;
    border-left-color: #bbbbbb;
}

blockquote.pull-right {
    padding: 10px 15px;
    border-right-color: #bbbbbb;
}

blockquote small {
    color: #bbbbbb;
}

.muted {
    color: #bbbbbb;
}

.text-warning {
    color: #ff7518;
}

a.text-warning:hover {
    color: #e45c00;
}

.text-error {
    color: #ff0039;
}

a.text-error:hover {
    color: #cc002e;
}

.text-info {
    color: #9954bb;
}

a.text-info:hover {
    color: #7e3f9d;
}

.text-success {
    color: #3fb618;
}

a.text-success:hover {
    color: #2f8912;
}

.navbar .navbar-inner {
    background-image: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.navbar .brand:hover {
    color: #bbbbbb;
}

.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
    background-color: rgba(0, 0, 0, 0.05);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
    color: #ffffff;
}

.navbar .nav li.dropdown.open > .dropdown-toggle:hover,
.navbar .nav li.dropdown.active > .dropdown-toggle:hover,
.navbar .nav li.dropdown.open.active > .dropdown-toggle:hover {
    color: #eeeeee;
}

.navbar .navbar-search .search-query {
    line-height: normal;
}

.navbar-inverse .brand,
.navbar-inverse .nav > li > a {
    text-shadow: none;
}

.navbar-inverse .brand:hover,
.navbar-inverse .nav > .active > a,
.navbar-inverse .nav > .active > a:hover,
.navbar-inverse .nav > .active > a:focus {
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.05);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.navbar-inverse .navbar-search .search-query {
    color: #080808;
}

div.subnav {
    margin: 0 1px;
    background: #dfdfdf none;
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

div.subnav .nav {
    background-color: transparent;
}

div.subnav .nav > li > a {
    border-color: transparent;
}

div.subnav .nav > .active > a,
div.subnav .nav > .active > a:hover {
    color: #ffffff;
    background-color: #000000;
    border-color: transparent;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

div.subnav-fixed {
    top: 51px;
    margin: 0;
}

.nav .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover {
    color: #007fff;
}

.nav-tabs > li > a {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.nav-tabs.nav-stacked > li > a:hover {
    color: #ffffff;
    background-color: #007fff;
}

.nav-tabs.nav-stacked > .active > a,
.nav-tabs.nav-stacked > .active > a:hover {
    color: #bbbbbb;
    background-color: #ffffff;
}

.nav-tabs.nav-stacked > li:first-child > a,
.nav-tabs.nav-stacked > li:last-child > a {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.tabs-below > .nav-tabs > li > a,
.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.nav-pills > li > a {
    color: #000000;
    background-color: #dfdfdf;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.nav-pills > li > a:hover {
    color: #ffffff;
    background-color: #000000;
}

.nav-pills > .disabled > a,
.nav-pills > .disabled > a:hover {
    color: #999999;
    background-color: #eeeeee;
}

.nav-list > li > a {
    color: #080808;
}

.nav-list > li > a:hover {
    color: #ffffff;
    text-shadow: none;
    background-color: #007fff;
}

.nav-list .nav-header {
    color: #080808;
}

.nav-list .divider {
    background-color: #bbbbbb;
    border-bottom: none;
}

.pagination ul {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.pagination ul > li > a,
.pagination ul > li > span {
    margin-right: 6px;
    color: #080808;
}

.pagination ul > li > a:hover,
.pagination ul > li > span:hover {
    color: #ffffff;
    background-color: #080808;
}

.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
    margin-right: 0;
}

.pagination ul > .active > a,
.pagination ul > .active > span {
    color: #ffffff;
}

.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover {
    color: #999999;
    background-color: #eeeeee;
}

.pager li > a,
.pager li > span {
    color: #080808;
    background-color: #dfdfdf;
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.pager li > a:hover,
.pager li > span:hover {
    color: #ffffff;
    background-color: #080808;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > span {
    color: #999999;
    background-color: #eeeeee;
}

.breadcrumb {
    background-color: #dfdfdf;
}

.breadcrumb li {
    text-shadow: none;
}

.breadcrumb .divider,
.breadcrumb .active {
    color: #080808;
    text-shadow: none;
}

.btn {
    padding: 5px 12px;
    text-shadow: none;
    background-image: none;
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.btn.disabled {
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn-large {
    padding: 22px 30px;
}

.btn-small {
    padding: 2px 10px;
}

.btn-mini {
    padding: 2px 6px;
}

.btn-group > .btn:first-child,
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.btn-group > .btn + .dropdown-toggle {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.table tbody tr.success td {
    color: #ffffff;
}

.table tbody tr.error td {
    color: #ffffff;
}

.table tbody tr.info td {
    color: #ffffff;
}

.table-bordered {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.table-bordered thead:first-child tr:first-child th:first-child,
.table-bordered tbody:first-child tr:first-child td:first-child {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.table-bordered thead:last-child tr:last-child th:first-child,
.table-bordered tbody:last-child tr:last-child td:first-child,
.table-bordered tfoot:last-child tr:last-child td:first-child {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"] {
    color: #080808;
}

.control-group.warning .control-label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
    color: #ff7518;
}

.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
    color: #080808;
    border-color: #ff7518;
}

.control-group.error .control-label,
.control-group.error .help-block,
.control-group.error .help-inline {
    color: #ff0039;
}

.control-group.error input,
.control-group.error select,
.control-group.error textarea {
    color: #080808;
    border-color: #ff0039;
}

.control-group.success .control-label,
.control-group.success .help-block,
.control-group.success .help-inline {
    color: #3fb618;
}

.control-group.success input,
.control-group.success select,
.control-group.success textarea {
    color: #080808;
    border-color: #3fb618;
}

legend {
    color: #080808;
    border-bottom: none;
}

.form-actions {
    background-color: #eeeeee;
    border-top: none;
}

.dropdown-menu {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.alert {
    text-shadow: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.alert-heading,
.alert h1,
.alert h2,
.alert h3,
.alert h4,
.alert h5,
.alert h6 {
    color: #ffffff;
}

.label {
    min-width: 80px;
    min-height: 80px;
    font-weight: 300;
    text-shadow: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.label-success {
    background-color: #3fb618;
}

.label-important {
    background-color: #ff0039;
}

.label-info {
    background-color: #9954bb;
}

.label-inverse {
    background-color: #000000;
}

.badge {
    font-weight: 300;
    text-shadow: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.badge-success {
    background-color: #3fb618;
}

.badge-important {
    background-color: #ff0039;
}

.badge-info {
    background-color: #9954bb;
}

.badge-inverse {
    background-color: #000000;
}

.hero-unit {
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.well {
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

[class^="icon-"],
[class*=" icon-"] {
    margin: 0 2px;
    vertical-align: -2px;
}

a.thumbnail {
    background-color: #dfdfdf;
}

a.thumbnail:hover {
    background-color: #bbbbbb;
    border-color: transparent;
}

.progress {
    height: 6px;
    background-color: #eeeeee;
    background-image: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.progress .bar {
    background-color: #007fff;
    background-image: none;
}

.progress-info {
    background-color: #9954bb;
}

.progress-success {
    background-color: #3fb618;
}

.progress-warning {
    background-color: #ff7518;
}

.progress-danger {
    background-color: #ff0039;
}

.modal {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.modal-header {
    border-bottom: none;
}

.modal-footer {
    background-color: transparent;
    border-top: none;
}

.popover {
    color: #ffffff;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

.popover-title {
    color: #ffffff;
    border-bottom: none;
}

.pull-right {
    float: right;
}

.pull-left {
    float: left;
}

.hide {
    display: none;
}

.show {
    display: block;
}

.invisible {
    visibility: hidden;
}

.affix {
    position: fixed;
}
(function(e){"use strict";var n=6,t=4,o="asc",r="desc",i="_ng_field_",l="_ng_depth_",a="_ng_hidden_",s="_ng_column_",c=/CUSTOM_FILTERS/g,g=/COL_FIELD/g,d=/DISPLAY_CELL_TEMPLATE/g,u=/EDITABLE_CELL_TEMPLATE/g,f=/<.+>/;e.ng||(e.ng={}),e.ngGrid={},e.ngGrid.i18n={};var p=angular.module("ngGrid.services",[]),h=angular.module("ngGrid.directives",[]),m=angular.module("ngGrid.filters",[]);angular.module("ngGrid",["ngGrid.services","ngGrid.directives","ngGrid.filters"]),ng.moveSelectionHandler=function(e,t,o,r){if(void 0===e.selectionService.selectedItems)return!0;var i,l=o.which||o.keyCode,a=!1,s=!1,c=e.selectionService.lastClickedRow.rowIndex;if(e.col&&(i=e.col.index),37!=l&&38!=l&&39!=l&&40!=l&&9!=l&&13!=l)return!0;if(e.enableCellSelection){9==l&&o.preventDefault();var g=e.showSelectionCheckbox?1==e.col.index:0==e.col.index,d=1==e.$index||0==e.$index,u=e.$index==e.renderedColumns.length-1||e.$index==e.renderedColumns.length-2,f=e.col.index==e.columns.length-1;37==l||9==l&&o.shiftKey?(d&&(g&&9==l&&o.shiftKey?(r.$viewport.scrollLeft(r.$canvas.width()),i=e.columns.length-1,s=!0):r.$viewport.scrollLeft(r.$viewport.scrollLeft()-e.col.width)),g||(i-=1)):(39==l||9==l&&!o.shiftKey)&&(u&&(f&&9==l&&!o.shiftKey?(r.$viewport.scrollLeft(0),i=e.showSelectionCheckbox?1:0,a=!0):r.$viewport.scrollLeft(r.$viewport.scrollLeft()+e.col.width)),f||(i+=1))}var p;p=e.configGroups.length>0?r.rowFactory.parsedData.filter(function(e){return!e.isAggRow}):r.filteredRows;var h=0;if(0!=c&&(38==l||13==l&&o.shiftKey||9==l&&o.shiftKey&&s)?h=-1:c!=p.length-1&&(40==l||13==l&&!o.shiftKey||9==l&&a)&&(h=1),h){var m=p[c+h];m.beforeSelectionChange(m,o)&&(m.continueSelection(o),e.$emit("ngGridEventDigestGridParent"),e.selectionService.lastClickedRow.renderedRowIndex>=e.renderedRows.length-n-2?r.$viewport.scrollTop(r.$viewport.scrollTop()+e.rowHeight):n+2>=e.selectionService.lastClickedRow.renderedRowIndex&&r.$viewport.scrollTop(r.$viewport.scrollTop()-e.rowHeight))}return e.enableCellSelection&&setTimeout(function(){e.domAccessProvider.focusCellElement(e,e.renderedColumns.indexOf(e.columns[i]))},3),!1},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){var n=this.length>>>0,t=Number(arguments[1])||0;for(t=0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n);n>t;t++)if(t in this&&this[t]===e)return t;return-1}),Array.prototype.filter||(Array.prototype.filter=function(e){var n=Object(this),t=n.length>>>0;if("function"!=typeof e)throw new TypeError;for(var o=[],r=arguments[1],i=0;t>i;i++)if(i in n){var l=n[i];e.call(r,l,i,n)&&o.push(l)}return o}),m.filter("checkmark",function(){return function(e){return e?"✔":"✘"}}),m.filter("ngColumns",function(){return function(e){return e.filter(function(e){return!e.isAggCol})}}),p.factory("$domUtilityService",["$utilityService",function(e){var n={},t={},o=function(){var e=$("<div></div>");e.appendTo("body"),e.height(100).width(100).css("position","absolute").css("overflow","scroll"),e.append('<div style="height: 400px; width: 400px;"></div>'),n.ScrollH=e.height()-e[0].clientHeight,n.ScrollW=e.width()-e[0].clientWidth,e.empty(),e.attr("style",""),e.append('<span style="font-family: Verdana, Helvetica, Sans-Serif; font-size: 14px;"><strong>M</strong></span>'),n.LetterW=e.children().first().width(),e.remove()};return n.eventStorage={},n.AssignGridContainers=function(e,t,o){o.$root=$(t),o.$topPanel=o.$root.find(".ngTopPanel"),o.$groupPanel=o.$root.find(".ngGroupPanel"),o.$headerContainer=o.$topPanel.find(".ngHeaderContainer"),e.$headerContainer=o.$headerContainer,o.$headerScroller=o.$topPanel.find(".ngHeaderScroller"),o.$headers=o.$headerScroller.children(),o.$viewport=o.$root.find(".ngViewport"),o.$canvas=o.$viewport.find(".ngCanvas"),o.$footerPanel=o.$root.find(".ngFooterPanel"),e.$watch(function(){return o.$viewport.scrollLeft()},function(e){return o.$headerContainer.scrollLeft(e)}),n.UpdateGridLayout(e,o)},n.getRealWidth=function(e){var n=0,t={visibility:"hidden",display:"block"},o=e.parents().andSelf().not(":visible");return $.swap(o[0],t,function(){n=e.outerWidth()}),n},n.UpdateGridLayout=function(e,t){var o=t.$viewport.scrollTop();t.elementDims.rootMaxW=t.$root.width(),t.$root.is(":hidden")&&(t.elementDims.rootMaxW=n.getRealWidth(t.$root)),t.elementDims.rootMaxH=t.$root.height(),t.refreshDomSizes(),e.adjustScrollTop(o,!0)},n.numberOfGrids=0,n.BuildStyles=function(t,o,r){var i,l=o.config.rowHeight,a=o.$styleSheet,s=o.gridId,c=t.columns,g=0;a||(a=$("#"+s),a[0]||(a=$("<style id='"+s+"' type='text/css' rel='stylesheet' />").appendTo(o.$root))),a.empty();var d=t.totalRowWidth();i="."+s+" .ngCanvas { width: "+d+"px; }"+"."+s+" .ngRow { width: "+d+"px; }"+"."+s+" .ngCanvas { width: "+d+"px; }"+"."+s+" .ngHeaderScroller { width: "+(d+n.ScrollH+2)+"px}";for(var u=0;c.length>u;u++){var f=c[u];if(f.visible!==!1){var p=f.pinned?o.$viewport.scrollLeft()+g:g;i+="."+s+" .col"+u+" { width: "+f.width+"px; left: "+p+"px; height: "+l+"px }"+"."+s+" .colt"+u+" { width: "+f.width+"px; }",g+=f.width}}e.isIe?a[0].styleSheet.cssText=i:a[0].appendChild(document.createTextNode(i)),o.$styleSheet=a,r&&(t.adjustScrollLeft(o.$viewport.scrollLeft()),n.digest(t))},n.setColLeft=function(n,o,r){if(r.$styleSheet){var i=t[n.index];i||(i=t[n.index]=RegExp(".col"+n.index+" { width: [0-9]+px; left: [0-9]+px"));var l=r.$styleSheet.html(),a=l.replace(i,".col"+n.index+" { width: "+n.width+"px; left: "+o+"px");e.isIe?setTimeout(function(){r.$styleSheet.html(a)}):r.$styleSheet.html(a)}},n.setColLeft.immediate=1,n.RebuildGrid=function(e,t){n.UpdateGridLayout(e,t),t.config.maintainColumnRatios&&t.configureColumnWidths(),e.adjustScrollLeft(t.$viewport.scrollLeft()),n.BuildStyles(e,t,!0)},n.digest=function(e){e.$root.$$phase||e.$digest()},n.ScrollH=17,n.ScrollW=17,n.LetterW=10,o(),n}]),p.factory("$sortService",["$parse",function(e){var n={};return n.colSortFnCache={},n.guessSortFn=function(e){var t=typeof e;switch(t){case"number":return n.sortNumber;case"boolean":return n.sortBool;case"string":return e.match(/^-?[£$¤]?[\d,.]+%?$/)?n.sortNumberStr:n.sortAlpha;default:return"[object Date]"===Object.prototype.toString.call(e)?n.sortDate:n.basicSort}},n.basicSort=function(e,n){return e==n?0:n>e?-1:1},n.sortNumber=function(e,n){return e-n},n.sortNumberStr=function(e,n){var t,o,r=!1,i=!1;return t=parseFloat(e.replace(/[^0-9.-]/g,"")),isNaN(t)&&(r=!0),o=parseFloat(n.replace(/[^0-9.-]/g,"")),isNaN(o)&&(i=!0),r&&i?0:r?1:i?-1:t-o},n.sortAlpha=function(e,n){var t=e.toLowerCase(),o=n.toLowerCase();return t==o?0:o>t?-1:1},n.sortDate=function(e,n){var t=e.getTime(),o=n.getTime();return t==o?0:o>t?-1:1},n.sortBool=function(e,n){return e&&n?0:e||n?e?1:-1:0},n.sortData=function(t,r){if(r&&t){var i,l,a=t.fields.length,s=t.fields,c=r.slice(0);r.sort(function(r,g){for(var d,u=0,f=0;0==u&&a>f;){i=t.columns[f],l=t.directions[f],d=n.getSortFn(i,c);var p=e(s[f])(r),h=e(s[f])(g);!p&&0!=p||!h&&0!=h?h||p?p?h||(u=-1):u=1:u=0:u=d(p,h),f++}return l===o?u:0-u})}},n.Sort=function(e,t){n.isSorting||(n.isSorting=!0,n.sortData(e,t),n.isSorting=!1)},n.getSortFn=function(t,o){var r,i=void 0;if(n.colSortFnCache[t.field])i=n.colSortFnCache[t.field];else if(void 0!=t.sortingAlgorithm)i=t.sortingAlgorithm,n.colSortFnCache[t.field]=t.sortingAlgorithm;else{if(r=o[0],!r)return i;i=n.guessSortFn(e(t.field)(r)),i?n.colSortFnCache[t.field]=i:i=n.sortAlpha}return i},n}]),p.factory("$utilityService",["$parse",function(n){var t={visualLength:function(e){var n=document.getElementById("testDataLength");return n||(n=document.createElement("SPAN"),n.id="testDataLength",n.style.visibility="hidden",document.body.appendChild(n)),$(n).css("font",$(e).css("font")),n.innerHTML=$(e).text(),n.offsetWidth},forIn:function(e,n){for(var t in e)e.hasOwnProperty(t)&&n(e[t],t)},evalProperty:function(e,t){return n(t)(e)},endsWith:function(e,n){return e&&n&&"string"==typeof e?-1!==e.indexOf(n,e.length-n.length):!1},isNullOrUndefined:function(e){return void 0===e||null===e?!0:!1},getElementsByClassName:function(e){for(var n=[],t=RegExp("\\b"+e+"\\b"),o=document.getElementsByTagName("*"),r=0;o.length>r;r++){var i=o[r].className;t.test(i)&&n.push(o[r])}return n},newId:function(){var e=(new Date).getTime();return function(){return e+=1}}(),seti18n:function(n,t){var o=e.ngGrid.i18n[t];for(var r in o)n.i18n[r]=o[r]},ieVersion:function(){for(var e=3,n=document.createElement("div"),t=n.getElementsByTagName("i");n.innerHTML="<!--[if gt IE "+ ++e+"]><i></i><![endif]-->",t[0];);return e>4?e:void 0}()};return $.extend(t,{isIe:function(){return void 0!==t.ieVersion}()}),t}]),ng.Aggregate=function(e,n,t){var o=this;o.rowIndex=0,o.offsetTop=o.rowIndex*t,o.entity=e,o.label=e.gLabel,o.field=e.gField,o.depth=e.gDepth,o.parent=e.parent,o.children=e.children,o.aggChildren=e.aggChildren,o.aggIndex=e.aggIndex,o.collapsed=!0,o.isAggRow=!0,o.offsetleft=25*e.gDepth,o.aggLabelFilter=e.aggLabelFilter,o.toggleExpand=function(){o.collapsed=o.collapsed?!1:!0,o.orig&&(o.orig.collapsed=o.collapsed),o.notifyChildren()},o.setExpand=function(e){o.collapsed=e,o.notifyChildren()},o.notifyChildren=function(){for(var e=Math.max(n.aggCache.length,o.children.length),t=0;e>t;t++)if(o.aggChildren[t]&&(o.aggChildren[t].entity[a]=o.collapsed,o.collapsed&&o.aggChildren[t].setExpand(o.collapsed)),o.children[t]&&(o.children[t][a]=o.collapsed),t>o.aggIndex&&n.aggCache[t]){var r=n.aggCache[t],i=30*o.children.length;r.offsetTop=o.collapsed?r.offsetTop-i:r.offsetTop+i}n.renderedChange()},o.aggClass=function(){return o.collapsed?"ngAggArrowCollapsed":"ngAggArrowExpanded"},o.totalChildren=function(){if(o.aggChildren.length>0){var e=0,n=function(t){t.aggChildren.length>0?angular.forEach(t.aggChildren,function(e){n(e)}):e+=t.children.length};return n(o),e}return o.children.length},o.copy=function(){var e=new ng.Aggregate(o.entity,n,t);return e.orig=o,e}},ng.Column=function(e,n,t,i,l,a){var s=this,g=e.colDef,d=500,u=0,p=null;s.width=g.width,s.groupIndex=0,s.isGroupedBy=!1,s.minWidth=g.minWidth?g.minWidth:50,s.maxWidth=g.maxWidth?g.maxWidth:9e3,s.enableCellEdit=e.enableCellEdit||g.enableCellEdit,s.headerRowHeight=e.headerRowHeight,s.displayName=g.displayName||g.field,s.index=e.index,s.isAggCol=e.isAggCol,s.cellClass=g.cellClass,s.sortPriority=void 0,s.zIndex=function(){return s.pinned?5:0},s.cellFilter=g.cellFilter?g.cellFilter:"",s.field=g.field,s.aggLabelFilter=g.cellFilter||g.aggLabelFilter,s.visible=a.isNullOrUndefined(g.visible)||g.visible,s.sortable=!1,s.resizable=!1,s.pinnable=!1,s.pinned=g.pinned,s.originalIndex=s.index,s.groupable=a.isNullOrUndefined(g.groupable)||g.groupable,e.enableSort&&(s.sortable=a.isNullOrUndefined(g.sortable)||g.sortable),e.enableResize&&(s.resizable=a.isNullOrUndefined(g.resizable)||g.resizable),e.enablePinning&&(s.pinnable=a.isNullOrUndefined(g.pinnable)||g.pinnable),s.sortDirection=void 0,s.sortingAlgorithm=g.sortFn,s.headerClass=g.headerClass,s.cursor=s.sortable?"pointer":"default",s.headerCellTemplate=g.headerCellTemplate||l.get("headerCellTemplate.html"),s.cellTemplate=g.cellTemplate||l.get("cellTemplate.html").replace(c,s.cellFilter?"|"+s.cellFilter:""),s.enableCellEdit&&(s.cellEditTemplate=l.get("cellEditTemplate.html"),s.editableCellTemplate=g.editableCellTemplate||l.get("editableCellTemplate.html")),g.cellTemplate&&!f.test(g.cellTemplate)&&(s.cellTemplate=$.ajax({type:"GET",url:g.cellTemplate,async:!1}).responseText),s.enableCellEdit&&g.editableCellTemplate&&!f.test(g.editableCellTemplate)&&(s.editableCellTemplate=$.ajax({type:"GET",url:g.editableCellTemplate,async:!1}).responseText),g.headerCellTemplate&&!f.test(g.headerCellTemplate)&&(s.headerCellTemplate=$.ajax({type:"GET",url:g.headerCellTemplate,async:!1}).responseText),s.colIndex=function(){return"col"+s.index+" colt"+s.index},s.groupedByClass=function(){return s.isGroupedBy?"ngGroupedByIcon":"ngGroupIcon"},s.toggleVisible=function(){s.visible=!s.visible},s.showSortButtonUp=function(){return s.sortable?s.sortDirection===r:s.sortable},s.showSortButtonDown=function(){return s.sortable?s.sortDirection===o:s.sortable},s.noSortVisible=function(){return!s.sortDirection},s.sort=function(n){if(!s.sortable)return!0;var t=s.sortDirection===o?r:o;return s.sortDirection=t,e.sortCallback(s,n),!1},s.gripClick=function(){u++,1===u?p=setTimeout(function(){u=0},d):(clearTimeout(p),e.resizeOnDataCallback(s),u=0)},s.gripOnMouseDown=function(e){return e.ctrlKey&&!s.pinned?(s.toggleVisible(),i.BuildStyles(n,t),!0):(e.target.parentElement.style.cursor="col-resize",s.startMousePosition=e.clientX,s.origWidth=s.width,$(document).mousemove(s.onMouseMove),$(document).mouseup(s.gripOnMouseUp),!1)},s.onMouseMove=function(e){var o=e.clientX-s.startMousePosition,r=o+s.origWidth;return s.width=s.minWidth>r?s.minWidth:r>s.maxWidth?s.maxWidth:r,i.BuildStyles(n,t),!1},s.gripOnMouseUp=function(e){return $(document).off("mousemove",s.onMouseMove),$(document).off("mouseup",s.gripOnMouseUp),e.target.parentElement.style.cursor="default",n.adjustScrollLeft(0),i.digest(n),!1},s.copy=function(){var o=new ng.Column(e,n,t,i,l);return o.isClone=!0,o.orig=s,o},s.setVars=function(e){s.orig=e,s.width=e.width,s.groupIndex=e.groupIndex,s.isGroupedBy=e.isGroupedBy,s.displayName=e.displayName,s.index=e.index,s.isAggCol=e.isAggCol,s.cellClass=e.cellClass,s.cellFilter=e.cellFilter,s.field=e.field,s.aggLabelFilter=e.aggLabelFilter,s.visible=e.visible,s.sortable=e.sortable,s.resizable=e.resizable,s.pinnable=e.pinnable,s.pinned=e.pinned,s.originalIndex=e.originalIndex,s.sortDirection=e.sortDirection,s.sortingAlgorithm=e.sortingAlgorithm,s.headerClass=e.headerClass,s.headerCellTemplate=e.headerCellTemplate,s.cellTemplate=e.cellTemplate,s.cellEditTemplate=e.cellEditTemplate}},ng.Dimension=function(e){this.outerHeight=null,this.outerWidth=null,$.extend(this,e)},ng.DomAccessProvider=function(e){var n,t=this;t.selectInputElement=function(e){var n=e.nodeName.toLowerCase();("input"==n||"textarea"==n)&&e.select()},t.focusCellElement=function(t,o){if(t.selectionProvider.lastClickedRow){var r=void 0!=o?o:n,i=t.selectionProvider.lastClickedRow.clone?t.selectionProvider.lastClickedRow.clone.elm:t.selectionProvider.lastClickedRow.elm;if(void 0!=r&&i){var l=angular.element(i[0].children).filter(function(){return 8!=this.nodeType}),a=Math.max(Math.min(t.renderedColumns.length-1,r),0);e.config.showSelectionCheckbox&&angular.element(l[a]).scope()&&0==angular.element(l[a]).scope().col.index&&(a=1),l[a]&&l[a].children[0].focus(),n=r}}};var o=function(e,n){e.css({"-webkit-touch-callout":n,"-webkit-user-select":n,"-khtml-user-select":n,"-moz-user-select":"none"==n?"-moz-none":n,"-ms-user-select":n,"user-select":n})};t.selectionHandlers=function(n,t){var r=!1;t.bind("keydown",function(i){if(16==i.keyCode)return o(t,"none",i),!0;if(!r){r=!0;var l=ng.moveSelectionHandler(n,t,i,e);return r=!1,l}return!0}),t.bind("keyup",function(e){return 16==e.keyCode&&o(t,"text",e),!0})}},ng.EventProvider=function(n,t,o){var r=this;r.colToMove=void 0,r.groupToMove=void 0,r.assignEvents=function(){n.config.jqueryUIDraggable&&!n.config.enablePinning?(n.$groupPanel.droppable({addClasses:!1,drop:function(e){r.onGroupDrop(e)}}),t.$evalAsync(r.setDraggables)):(n.$groupPanel.on("mousedown",r.onGroupMouseDown).on("dragover",r.dragOver).on("drop",r.onGroupDrop),n.$headerScroller.on("mousedown",r.onHeaderMouseDown).on("dragover",r.dragOver),n.config.enableColumnReordering&&!n.config.enablePinning&&n.$headerScroller.on("drop",r.onHeaderDrop),n.config.enableRowReordering&&n.$viewport.on("mousedown",r.onRowMouseDown).on("dragover",r.dragOver).on("drop",r.onRowDrop)),t.$watch("columns",r.setDraggables,!0)},r.dragStart=function(e){e.dataTransfer.setData("text","")},r.dragOver=function(e){e.preventDefault()},r.setDraggables=function(){if(n.config.jqueryUIDraggable)n.$root.find(".ngHeaderSortColumn").draggable({helper:"clone",appendTo:"body",stack:"div",addClasses:!1,start:function(e){r.onHeaderMouseDown(e)}}).droppable({drop:function(e){r.onHeaderDrop(e)}});else{var e=n.$root.find(".ngHeaderSortColumn");angular.forEach(e,function(e){e.setAttribute("draggable","true"),e.addEventListener&&e.addEventListener("dragstart",r.dragStart)}),-1!=navigator.userAgent.indexOf("MSIE")&&n.$root.find(".ngHeaderSortColumn").bind("selectstart",function(){return this.dragDrop(),!1})}},r.onGroupMouseDown=function(e){var t=$(e.target);if("ngRemoveGroup"!=t[0].className){var o=angular.element(t).scope();o&&(n.config.jqueryUIDraggable||(t.attr("draggable","true"),this.addEventListener&&this.addEventListener("dragstart",r.dragStart),-1!=navigator.userAgent.indexOf("MSIE")&&t.bind("selectstart",function(){return this.dragDrop(),!1})),r.groupToMove={header:t,groupName:o.group,index:o.$index})}else r.groupToMove=void 0},r.onGroupDrop=function(e){e.stopPropagation();var o,i;r.groupToMove?(o=$(e.target).closest(".ngGroupElement"),"ngGroupPanel"==o.context.className?(t.configGroups.splice(r.groupToMove.index,1),t.configGroups.push(r.groupToMove.groupName)):(i=angular.element(o).scope(),i&&r.groupToMove.index!=i.$index&&(t.configGroups.splice(r.groupToMove.index,1),t.configGroups.splice(i.$index,0,r.groupToMove.groupName))),r.groupToMove=void 0,n.fixGroupIndexes()):r.colToMove&&(-1==t.configGroups.indexOf(r.colToMove.col)&&(o=$(e.target).closest(".ngGroupElement"),"ngGroupPanel"==o.context.className||"ngGroupPanelDescription ng-binding"==o.context.className?t.groupBy(r.colToMove.col):(i=angular.element(o).scope(),i&&t.removeGroup(i.$index))),r.colToMove=void 0),t.$$phase||t.$apply()},r.onHeaderMouseDown=function(e){var n=$(e.target).closest(".ngHeaderSortColumn"),t=angular.element(n).scope();t&&(r.colToMove={header:n,col:t.col})},r.onHeaderDrop=function(e){if(r.colToMove){var i=$(e.target).closest(".ngHeaderSortColumn"),l=angular.element(i).scope();if(l){if(r.colToMove.col==l.col)return;t.columns.splice(r.colToMove.col.index,1),t.columns.splice(l.col.index,0,r.colToMove.col),n.fixColumnIndexes(),o.BuildStyles(t,n,!0),r.colToMove=void 0}}},r.onRowMouseDown=function(e){var n=$(e.target).closest(".ngRow"),t=angular.element(n).scope();t&&(n.attr("draggable","true"),o.eventStorage.rowToMove={targetRow:n,scope:t})},r.onRowDrop=function(e){var t=$(e.target).closest(".ngRow"),r=angular.element(t).scope();if(r){var i=o.eventStorage.rowToMove;if(i.scope.row==r.row)return;n.changeRowOrder(i.scope.row,r.row),n.searchProvider.evalFilter(),o.eventStorage.rowToMove=void 0,o.digest(r.$root)}},r.assignGridEventHandlers=function(){-1===n.config.tabIndex?(n.$viewport.attr("tabIndex",o.numberOfGrids),o.numberOfGrids++):n.$viewport.attr("tabIndex",n.config.tabIndex),$(e).resize(function(){o.RebuildGrid(t,n)})},r.assignGridEventHandlers(),r.assignEvents()},ng.Footer=function(e,n){e.maxRows=function(){var t=Math.max(e.pagingOptions.totalServerItems,n.data.length);return t},e.multiSelect=n.config.enableRowSelection&&n.config.multiSelect,e.selectedItemCount=n.selectedItemCount,e.maxPages=function(){return Math.ceil(e.maxRows()/e.pagingOptions.pageSize)},e.pageForward=function(){var n=e.pagingOptions.currentPage;e.pagingOptions.totalServerItems>0?e.pagingOptions.currentPage=Math.min(n+1,e.maxPages()):e.pagingOptions.currentPage++},e.pageBackward=function(){var n=e.pagingOptions.currentPage;e.pagingOptions.currentPage=Math.max(n-1,1)},e.pageToFirst=function(){e.pagingOptions.currentPage=1},e.pageToLast=function(){var n=e.maxPages();e.pagingOptions.currentPage=n},e.cantPageForward=function(){var t=e.pagingOptions.currentPage,o=e.maxPages();return e.pagingOptions.totalServerItems>0?!(o>t):1>n.data.length},e.cantPageToLast=function(){return e.pagingOptions.totalServerItems>0?e.cantPageForward():!0},e.cantPageBackward=function(){var n=e.pagingOptions.currentPage;return!(n>1)}},ng.Grid=function(o,r,i,l,s,c,g,d){var u={aggregateTemplate:void 0,afterSelectionChange:function(){},beforeSelectionChange:function(){return!0},checkboxCellTemplate:void 0,checkboxHeaderTemplate:void 0,columnDefs:void 0,data:[],dataUpdated:function(){},enableCellEdit:!1,enableCellSelection:!1,enableColumnResize:!1,enableColumnReordering:!1,enableColumnHeavyVirt:!1,enablePaging:!1,enablePinning:!1,enableRowReordering:!1,enableRowSelection:!0,enableSorting:!0,excludeProperties:[],filterOptions:{filterText:"",useExternalFilter:!1},footerRowHeight:55,groups:[],headerRowHeight:30,headerRowTemplate:void 0,jqueryUIDraggable:!1,jqueryUITheme:!1,keepLastSelected:!0,maintainColumnRatios:void 0,multiSelect:!0,pagingOptions:{pageSizes:[250,500,1e3],pageSize:250,totalServerItems:0,currentPage:1},pinSelectionCheckbox:!1,plugins:[],rowHeight:30,rowTemplate:void 0,selectedItems:[],selectWithCheckboxOnly:!1,showColumnMenu:!1,showFilter:!1,showFooter:!1,showGroupPanel:!1,showSelectionCheckbox:!1,sortInfo:{fields:[],columns:[],directions:[]},tabIndex:-1,useExternalSorting:!1,i18n:"en",virtualizationThreshold:50},p=this;p.maxCanvasHt=0,p.config=$.extend(u,e.ngGrid.config,r),p.config.showSelectionCheckbox=p.config.showSelectionCheckbox&&p.config.enableColumnHeavyVirt===!1,p.config.enablePinning=p.config.enablePinning&&p.config.enableColumnHeavyVirt===!1,p.config.selectWithCheckboxOnly=p.config.selectWithCheckboxOnly&&p.config.showSelectionCheckbox!==!1,p.config.pinSelectionCheckbox=p.config.enablePinning,"string"==typeof r.columnDefs&&(p.config.columnDefs=o.$eval(r.columnDefs)),p.rowCache=[],p.rowMap=[],p.gridId="ng"+g.newId(),p.$root=null,p.$groupPanel=null,p.$topPanel=null,p.$headerContainer=null,p.$headerScroller=null,p.$headers=null,p.$viewport=null,p.$canvas=null,p.rootDim=p.config.gridDim,p.data=[],p.lateBindColumns=!1,p.filteredRows=[];var h=function(e){var n=p.config[e],t=p.gridId+e+".html";if(n&&!f.test(n))c.put(t,$.ajax({type:"GET",url:n,async:!1}).responseText);else if(n)c.put(t,n);else{var o=e+".html";c.put(t,c.get(o))}};h("rowTemplate"),h("aggregateTemplate"),h("headerRowTemplate"),h("checkboxCellTemplate"),h("checkboxHeaderTemplate"),"object"==typeof p.config.data&&(p.data=p.config.data),p.calcMaxCanvasHeight=function(){return p.config.groups.length>0?p.rowFactory.parsedData.filter(function(e){return!e[a]}).length*p.config.rowHeight:p.filteredRows.length*p.config.rowHeight},p.elementDims={scrollW:0,scrollH:0,rowIndexCellW:25,rowSelectedCellW:25,rootMaxW:0,rootMaxH:0},p.setRenderedRows=function(e){o.renderedRows.length=e.length;for(var n=0;e.length>n;n++)!o.renderedRows[n]||e[n].isAggRow||o.renderedRows[n].isAggRow?(o.renderedRows[n]=e[n].copy(),o.renderedRows[n].collapsed=e[n].collapsed,e[n].isAggRow||o.renderedRows[n].setVars(e[n])):o.renderedRows[n].setVars(e[n]),o.renderedRows[n].rowIndex=e[n].rowIndex,o.renderedRows[n].offsetTop=e[n].offsetTop,e[n].renderedRowIndex=n;p.refreshDomSizes(),o.$emit("ngGridEventRows",e)},p.minRowsToRender=function(){var e=o.viewportDimHeight()||1;return Math.floor(e/p.config.rowHeight)},p.refreshDomSizes=function(){var e=new ng.Dimension;e.outerWidth=p.elementDims.rootMaxW,e.outerHeight=p.elementDims.rootMaxH,p.rootDim=e,p.maxCanvasHt=p.calcMaxCanvasHeight()},p.buildColumnDefsFromData=function(){p.config.columnDefs=[];var e=p.data[0];return e?(g.forIn(e,function(e,n){-1==p.config.excludeProperties.indexOf(n)&&p.config.columnDefs.push({field:n})}),void 0):(p.lateBoundColumns=!0,void 0)},p.buildColumns=function(){var e=p.config.columnDefs,n=[];if(e||(p.buildColumnDefsFromData(),e=p.config.columnDefs),p.config.showSelectionCheckbox&&n.push(new ng.Column({colDef:{field:"✔",width:p.elementDims.rowSelectedCellW,sortable:!1,resizable:!1,groupable:!1,headerCellTemplate:c.get(o.gridId+"checkboxHeaderTemplate.html"),cellTemplate:c.get(o.gridId+"checkboxCellTemplate.html"),pinned:p.config.pinSelectionCheckbox},index:0,headerRowHeight:p.config.headerRowHeight,sortCallback:p.sortData,resizeOnDataCallback:p.resizeOnData,enableResize:p.config.enableColumnResize,enableSort:p.config.enableSorting},o,p,l,c,g)),e.length>0){var t=p.config.showSelectionCheckbox?p.config.groups.length+1:p.config.groups.length;o.configGroups.length=0,angular.forEach(e,function(e,r){r+=t;var i=new ng.Column({colDef:e,index:r,headerRowHeight:p.config.headerRowHeight,sortCallback:p.sortData,resizeOnDataCallback:p.resizeOnData,enableResize:p.config.enableColumnResize,enableSort:p.config.enableSorting,enablePinning:p.config.enablePinning,enableCellEdit:p.config.enableCellEdit},o,p,l,c,g),a=p.config.groups.indexOf(e.field);-1!=a&&(i.isGroupedBy=!0,o.configGroups.splice(a,0,i),i.groupIndex=o.configGroups.length),n.push(i)}),o.columns=n}},p.configureColumnWidths=function(){var e=p.config.columnDefs,n=p.config.showSelectionCheckbox?o.configGroups.length+1:o.configGroups.length,t=e.length+n,r=[],i=[],a=0,s=0;if(s+=p.config.showSelectionCheckbox?25:0,angular.forEach(e,function(e,t){t+=n;var l=!1,c=void 0;if(g.isNullOrUndefined(e.width)?e.width="*":(l=isNaN(e.width)?g.endsWith(e.width,"%"):!1,c=l?e.width:parseInt(e.width,10)),isNaN(c)){if(c=e.width,"auto"==c){o.columns[t].width=e.minWidth,s+=o.columns[t].width;var u=o.columns[t];return d(function(){p.resizeOnData(u,!0)}),void 0}if(-1!=c.indexOf("*"))return e.visible!==!1&&(a+=c.length),e.index=t,r.push(e),void 0;if(l)return e.index=t,i.push(e),void 0;throw'unable to parse column width, use percentage ("10%","20%", etc...) or "*" to use remaining width of grid'}e.visible!==!1&&(s+=o.columns[t].width=parseInt(e.width,10))}),r.length>0){p.config.maintainColumnRatios===!1?angular.noop():p.config.maintainColumnRatios=!0;var c=p.rootDim.outerWidth-s,u=Math.floor(c/a);angular.forEach(r,function(e){var n=e.width.length;if(o.columns[e.index].width=u*n,e.index+1==t){var r=2;p.maxCanvasHt>o.viewportDimHeight()&&(r+=l.ScrollW),o.columns[e.index].width-=r}e.visible!==!1&&(s+=o.columns[e.index].width)})}i.length>0&&angular.forEach(i,function(e){var n=e.width;o.columns[e.index].width=Math.floor(p.rootDim.outerWidth*(parseInt(n.slice(0,-1),10)/100))})},p.init=function(){o.selectionProvider=new ng.selectionProvider(p,o),o.domAccessProvider=new ng.DomAccessProvider(p),p.rowFactory=new ng.RowFactory(p,o,l,c,g),p.searchProvider=new ng.SearchProvider(o,p,s),p.styleProvider=new ng.StyleProvider(o,p,l),o.$watch("configGroups",function(e){var n=[];angular.forEach(e,function(e){n.push(e.field||e)}),p.config.groups=n,p.rowFactory.filteredRowsChanged(),o.$emit("ngGridEventGroups",e)},!0),o.$watch("columns",function(e){l.BuildStyles(o,p,!0),o.$emit("ngGridEventColumns",e)},!0),o.$watch(function(){return r.i18n},function(e){g.seti18n(o,e)}),p.maxCanvasHt=p.calcMaxCanvasHeight(),p.config.sortInfo.fields&&p.config.sortInfo.fields.length>0&&(p.config.sortInfo.columns?p.config.sortInfo.columns.length=0:p.config.sortInfo.columns=[],angular.forEach(o.columns,function(e){return-1!=p.config.sortInfo.fields.indexOf(e.field)&&p.config.sortInfo.columns.push(e),!1}),p.sortData(p.config.sortInfo.columns,{}))},p.resizeOnData=function(e){var n=e.minWidth,t=g.getElementsByClassName("col"+e.index);angular.forEach(t,function(e,t){var o;if(0===t){var r=$(e).find(".ngHeaderText");o=g.visualLength(r)+10}else{var i=$(e).find(".ngCellText");o=g.visualLength(i)+10}o>n&&(n=o)}),e.width=e.longest=Math.min(e.maxWidth,n+7),l.BuildStyles(o,p,!0)},p.lastSortedColumns=[],p.changeRowOrder=function(e,n){var t=p.rowCache.indexOf(e),r=p.rowCache.indexOf(n);p.rowCache.splice(t,1),p.rowCache.splice(r,0,e),o.$emit("ngGridEventChangeOrder",p.rowCache)},p.sortData=function(e,n){if(n.shiftKey&&p.config.sortInfo){var t=p.config.sortInfo.columns.indexOf(e);-1===t?(1==p.config.sortInfo.columns.length&&(p.config.sortInfo.columns[0].sortPriority=1),p.config.sortInfo.columns.push(e),e.sortPriority=p.config.sortInfo.columns.length,p.config.sortInfo.fields.push(e.field),p.config.sortInfo.directions.push(e.sortDirection),p.lastSortedColumns.push(e)):p.config.sortInfo.directions[t]=e.sortDirection}else{var r=$.isArray(e);p.config.sortInfo.columns.length=0,p.config.sortInfo.fields.length=0,p.config.sortInfo.directions.length=0;var l=function(e){p.config.sortInfo.columns.push(e),p.config.sortInfo.fields.push(e.field),p.config.sortInfo.directions.push(e.sortDirection),p.lastSortedColumns.push(e)};r?(p.clearSortingData(),angular.forEach(e,function(e,n){e.sortPriority=n+1,l(e)})):(p.clearSortingData(e),e.sortPriority=void 0,l(e))}if(!p.config.useExternalSorting){var a=p.data.slice(0);angular.forEach(a,function(e,n){e.preSortSelected=p.rowCache[p.rowMap[n]].selected,e.preSortIndex=n}),i.Sort(p.config.sortInfo,a),angular.forEach(a,function(e,n){p.rowCache[n].entity=e,p.rowCache[n].selected=e.preSortSelected,p.rowMap[e.preSortIndex]=n,delete e.preSortSelected,delete e.preSortIndex})}p.searchProvider.evalFilter(),o.$emit("ngGridEventSorted",p.config.sortInfo)},p.clearSortingData=function(e){e?(angular.forEach(p.lastSortedColumns,function(n){e.index!=n.index&&(n.sortDirection="",n.sortPriority=null)}),p.lastSortedColumns[0]=e,p.lastSortedColumns.length=1):(angular.forEach(p.lastSortedColumns,function(e){e.sortDirection="",e.sortPriority=null}),p.lastSortedColumns=[])},p.fixColumnIndexes=function(){for(var e=0;o.columns.length>e;e++)o.columns[e].visible!==!1&&(o.columns[e].index=e)},p.fixGroupIndexes=function(){angular.forEach(o.configGroups,function(e,n){e.groupIndex=n+1})},o.elementsNeedMeasuring=!0,o.columns=[],o.renderedRows=[],o.renderedColumns=[],o.headerRow=null,o.rowHeight=p.config.rowHeight,o.jqueryUITheme=p.config.jqueryUITheme,o.showSelectionCheckbox=p.config.showSelectionCheckbox,o.enableCellSelection=p.config.enableCellSelection,o.footer=null,o.selectedItems=p.config.selectedItems,o.multiSelect=p.config.multiSelect,o.showFooter=p.config.showFooter,o.footerRowHeight=o.showFooter?p.config.footerRowHeight:0,o.showColumnMenu=p.config.showColumnMenu,o.showMenu=!1,o.configGroups=[],o.gridId=p.gridId,o.enablePaging=p.config.enablePaging,o.pagingOptions=p.config.pagingOptions,o.i18n={},g.seti18n(o,p.config.i18n),o.adjustScrollLeft=function(e){for(var n=0,t=0,r=o.columns.length,i=[],a=!p.config.enableColumnHeavyVirt,s=0,c=function(e){a?i.push(e):o.renderedColumns[s]?o.renderedColumns[s].setVars(e):o.renderedColumns[s]=e.copy(),s++},g=0;r>g;g++){var d=o.columns[g];if(d.visible!==!1){var u=d.width+n;if(d.pinned){c(d);var f=g>0?e+t:e;l.setColLeft(d,f,p),t+=d.width}else u>=e&&e+p.rootDim.outerWidth>=n&&c(d);n+=d.width}}a&&(o.renderedColumns=i)},p.prevScrollTop=0,p.prevScrollIndex=0,o.adjustScrollTop=function(e,r){if(p.prevScrollTop!==e||r){e>0&&p.$viewport[0].scrollHeight-e<=p.$viewport.outerHeight()&&o.$emit("ngGridEventScroll");var i,l=Math.floor(e/p.config.rowHeight);if(p.filteredRows.length>p.config.virtualizationThreshold){if(e>p.prevScrollTop&&p.prevScrollIndex+t>l)return;if(p.prevScrollTop>e&&l>p.prevScrollIndex-t)return;i=new ng.Range(Math.max(0,l-n),l+p.minRowsToRender()+n)}else{var a=o.configGroups.length>0?p.rowFactory.parsedData.length:p.data.length;i=new ng.Range(0,Math.max(a,p.minRowsToRender()+n))}p.prevScrollTop=e,p.rowFactory.UpdateViewableRange(i),p.prevScrollIndex=l}},o.toggleShowMenu=function(){o.showMenu=!o.showMenu},o.toggleSelectAll=function(e){o.selectionProvider.toggleSelectAll(e)},o.totalFilteredItemsLength=function(){return p.filteredRows.length},o.showGroupPanel=function(){return p.config.showGroupPanel},o.topPanelHeight=function(){return p.config.showGroupPanel===!0?p.config.headerRowHeight+32:p.config.headerRowHeight},o.viewportDimHeight=function(){return Math.max(0,p.rootDim.outerHeight-o.topPanelHeight()-o.footerRowHeight-2)},o.groupBy=function(e){if(e.sortDirection||e.sort({shiftKey:!1}),!(1>p.data.length)&&e.groupable&&e.field){var n=o.configGroups.indexOf(e);-1==n?(e.isGroupedBy=!0,o.configGroups.push(e),e.groupIndex=o.configGroups.length):o.removeGroup(n),p.$viewport.scrollTop(0),l.digest(o)}},o.removeGroup=function(e){var n=o.columns.filter(function(n){return n.groupIndex==e+1})[0];n.isGroupedBy=!1,n.groupIndex=0,o.columns[e].isAggCol&&(o.columns.splice(e,1),o.configGroups.splice(e,1),p.fixGroupIndexes()),0===o.configGroups.length&&(p.fixColumnIndexes(),l.digest(o)),o.adjustScrollLeft(0)},o.togglePin=function(e){for(var n=e.index,t=0,r=0;o.columns.length>r&&o.columns[r].pinned;r++)t++;e.pinned&&(t=Math.max(e.originalIndex,t-1)),e.pinned=!e.pinned,o.columns.splice(n,1),o.columns.splice(t,0,e),p.fixColumnIndexes(),l.BuildStyles(o,p,!0),p.$viewport.scrollLeft(p.$viewport.scrollLeft()-e.width)
},o.totalRowWidth=function(){for(var e=0,n=o.columns,t=0;n.length>t;t++)n[t].visible!==!1&&(e+=n[t].width);return e},o.headerScrollerDim=function(){var e=o.viewportDimHeight(),n=p.maxCanvasHt,t=n>e,r=new ng.Dimension;return r.autoFitHeight=!0,r.outerWidth=o.totalRowWidth(),t?r.outerWidth+=p.elementDims.scrollW:p.elementDims.scrollH>=n-e&&(r.outerWidth+=p.elementDims.scrollW),r},p.init()},ng.Range=function(e,n){this.topRow=e,this.bottomRow=n},ng.Row=function(e,n,t,o,r){var i=this,l=n.enableRowSelection;i.jqueryUITheme=n.jqueryUITheme,i.rowClasses=n.rowClasses,i.entity=e,i.selectionProvider=t,i.selected=t.getSelection(e),i.cursor=l?"pointer":"default",i.setSelection=function(e){i.selectionProvider.setSelection(i,e),i.selectionProvider.lastClickedRow=i},i.continueSelection=function(e){i.selectionProvider.ChangeSelection(i,e)},i.ensureEntity=function(e){i.entity!=e&&(i.entity=e,i.selected=i.selectionProvider.getSelection(i.entity))},i.toggleSelected=function(e){if(!l&&!n.enableCellSelection)return!0;var t=e.target||e;return"checkbox"==t.type&&"ngSelectionCell ng-scope"!=t.parentElement.className?!0:n.selectWithCheckboxOnly&&"checkbox"!=t.type?(i.selectionProvider.lastClickedRow=i,!0):(i.beforeSelectionChange(i,e)&&i.continueSelection(e),!1)},i.rowIndex=o,i.offsetTop=i.rowIndex*n.rowHeight,i.rowDisplayIndex=0,i.alternatingRowClass=function(){var e=0===i.rowIndex%2,n={selected:i.selected,"ui-state-default":i.jqueryUITheme&&e,"ui-state-active":i.jqueryUITheme&&!e,even:e,odd:!e};return n},i.beforeSelectionChange=n.beforeSelectionChangeCallback,i.afterSelectionChange=n.afterSelectionChangeCallback,i.getProperty=function(e){return r.evalProperty(i.entity,e)},i.copy=function(){return i.clone=new ng.Row(e,n,t,o,r),i.clone.isClone=!0,i.clone.elm=i.elm,i.clone},i.setVars=function(e){e.clone=i,i.entity=e.entity,i.selected=e.selected}},ng.RowFactory=function(e,t,o,r,c){var g=this;g.aggCache={},g.parentCache=[],g.dataChanged=!0,g.parsedData=[],g.rowConfig={},g.selectionProvider=t.selectionProvider,g.rowHeight=30,g.numberOfAggregates=0,g.groupedData=void 0,g.rowHeight=e.config.rowHeight,g.rowConfig={enableRowSelection:e.config.enableRowSelection,rowClasses:e.config.rowClasses,selectedItems:t.selectedItems,selectWithCheckboxOnly:e.config.selectWithCheckboxOnly,beforeSelectionChangeCallback:e.config.beforeSelectionChange,afterSelectionChangeCallback:e.config.afterSelectionChange,jqueryUITheme:e.config.jqueryUITheme,enableCellSelection:e.config.enableCellSelection,rowHeight:e.config.rowHeight},g.renderedRange=new ng.Range(0,e.minRowsToRender()+n),g.buildEntityRow=function(e,n){return new ng.Row(e,g.rowConfig,g.selectionProvider,n,c)},g.buildAggregateRow=function(e,n){var t=g.aggCache[e.aggIndex];return t||(t=new ng.Aggregate(e,g,g.rowConfig.rowHeight),g.aggCache[e.aggIndex]=t),t.rowIndex=n,t.offsetTop=n*g.rowConfig.rowHeight,t},g.UpdateViewableRange=function(e){g.renderedRange=e,g.renderedChange()},g.filteredRowsChanged=function(){e.lateBoundColumns&&e.filteredRows.length>0&&(e.config.columnDefs=void 0,e.buildColumns(),e.lateBoundColumns=!1,t.$evalAsync(function(){t.adjustScrollLeft(0)})),g.dataChanged=!0,e.config.groups.length>0&&g.getGrouping(e.config.groups),g.UpdateViewableRange(g.renderedRange)},g.renderedChange=function(){if(!g.groupedData||1>e.config.groups.length)return g.renderedChangeNoGroups(),e.refreshDomSizes(),void 0;g.wasGrouped=!0,g.parentCache=[];var n=0,t=g.parsedData.filter(function(e){return e.isAggRow?e.parent&&e.parent.collapsed?!1:!0:(e[a]||(e.rowIndex=n++),!e[a])});g.totalRows=t.length;for(var o=[],r=g.renderedRange.topRow;g.renderedRange.bottomRow>r;r++)t[r]&&(t[r].offsetTop=r*e.config.rowHeight,o.push(t[r]));e.setRenderedRows(o)},g.renderedChangeNoGroups=function(){for(var n=[],t=g.renderedRange.topRow;g.renderedRange.bottomRow>t;t++)e.filteredRows[t]&&(e.filteredRows[t].rowIndex=t,e.filteredRows[t].offsetTop=t*e.config.rowHeight,n.push(e.filteredRows[t]));e.setRenderedRows(n)},g.fixRowCache=function(){var n=e.data.length,t=n-e.rowCache.length;if(0>t)e.rowCache.length=e.rowMap.length=n;else for(var o=e.rowCache.length;n>o;o++)e.rowCache[o]=e.rowFactory.buildEntityRow(e.data[o],o)},g.parseGroupData=function(e){if(e.values)for(var n=0;e.values.length>n;n++)g.parentCache[g.parentCache.length-1].children.push(e.values[n]),g.parsedData.push(e.values[n]);else for(var t in e)if(t!=i&&t!=l&&t!=s&&e.hasOwnProperty(t)){var o=g.buildAggregateRow({gField:e[i],gLabel:t,gDepth:e[l],isAggRow:!0,_ng_hidden_:!1,children:[],aggChildren:[],aggIndex:g.numberOfAggregates,aggLabelFilter:e[s].aggLabelFilter},0);g.numberOfAggregates++,o.parent=g.parentCache[o.depth-1],o.parent&&(o.parent.collapsed=!1,o.parent.aggChildren.push(o)),g.parsedData.push(o),g.parentCache[o.depth]=o,g.parseGroupData(e[t])}},g.getGrouping=function(n){g.aggCache=[],g.numberOfAggregates=0,g.groupedData={};for(var d=e.filteredRows,u=n.length,f=t.columns,p=0;d.length>p;p++){var h=d[p].entity;if(!h)return;d[p][a]=!0;for(var m=g.groupedData,v=0;n.length>v;v++){var w=n[v],C=f.filter(function(e){return e.field==w})[0],b=c.evalProperty(h,w);b=b?""+b:"null",m[b]||(m[b]={}),m[i]||(m[i]=w),m[l]||(m[l]=v),m[s]||(m[s]=C),m=m[b]}m.values||(m.values=[]),m.values.push(d[p])}for(var x=0;n.length>x;x++)!f[x].isAggCol&&u>=x&&f.splice(0,0,new ng.Column({colDef:{field:"",width:25,sortable:!1,resizable:!1,headerCellTemplate:'<div class="ngAggHeader"></div>',pinned:e.config.pinSelectionCheckbox},isAggCol:!0,headerRowHeight:e.config.headerRowHeight},t,e,o,r,c));o.BuildStyles(t,e,!0),e.fixColumnIndexes(),t.adjustScrollLeft(0),g.parsedData.length=0,g.parseGroupData(g.groupedData),g.fixRowCache()},e.config.groups.length>0&&e.filteredRows.length>0&&g.getGrouping(e.config.groups)},ng.SearchProvider=function(e,n,t){var o=this,r=[];o.extFilter=n.config.filterOptions.useExternalFilter,e.showFilter=n.config.showFilter,e.filterText="",o.fieldMap={},o.evalFilter=function(){var e=function(e){for(var n=0,l=r.length;l>n;n++){var a,s=r[n];if(!s.column){for(var c in e)if(e.hasOwnProperty(c)){var g=o.fieldMap[c];if(!g)continue;var d=null,u=null;g&&g.cellFilter&&(u=g.cellFilter.split(":"),d=t(u[0]));var f=e[c];if(null!=f){if("function"==typeof d){var p=""+d("object"==typeof f?i(f,g.field):f,u[1]);a=s.regex.test(p)}else a=s.regex.test("object"==typeof f?""+i(f,g.field):""+f);if(f&&a)return!0}}return!1}var h=o.fieldMap[s.columnDisplay];if(!h)return!1;var m=h.cellFilter.split(":"),v=h.cellFilter?t(m[0]):null,w=e[s.column]||e[h.field.split(".")[0]];if(null==w)return!1;if("function"==typeof v){var C=""+v("object"==typeof w?i(w,h.field):w,m[1]);a=s.regex.test(C)}else a=s.regex.test("object"==typeof w?""+i(w,h.field):""+w);if(!w||!a)return!1}return!0};n.filteredRows=0===r.length?n.rowCache:n.rowCache.filter(function(n){return e(n.entity)});for(var l=0;n.filteredRows.length>l;l++)n.filteredRows[l].rowIndex=l;n.rowFactory.filteredRowsChanged()};var i=function(e,n){if("object"!=typeof e||"string"!=typeof n)return e;var t=n.split("."),o=e;if(t.length>1){for(var r=1,i=t.length;i>r;r++)if(o=o[t[r]],!o)return e;return o}return e},l=function(e,n){try{return RegExp(e,n)}catch(t){return RegExp(e.replace(/(\^|\$|\(|\)|\<|\>|\[|\]|\{|\}|\\|\||\.|\*|\+|\?)/g,"\\$1"))}},a=function(e){r=[];var n;if(n=$.trim(e))for(var t=n.split(";"),o=0;t.length>o;o++){var i=t[o].split(":");if(i.length>1){var a=$.trim(i[0]),s=$.trim(i[1]);a&&s&&r.push({column:a,columnDisplay:a.replace(/\s+/g,"").toLowerCase(),regex:l(s,"i")})}else{var c=$.trim(i[0]);c&&r.push({column:"",regex:l(c,"i")})}}};e.$watch(n.config.filterOptions.filterText,function(n){e.filterText=n}),e.$watch("filterText",function(n){o.extFilter||(e.$emit("ngGridEventFilter",n),a(n),o.evalFilter())}),o.extFilter||e.$watch("columns",function(e){for(var n=0;e.length>n;n++){var t=e[n];t.field&&(o.fieldMap[t.field.split(".")[0]]=t),t.displayName&&(o.fieldMap[t.displayName.toLowerCase().replace(/\s+/g,"")]=t)}})},ng.selectionProvider=function(e,n){var t=this;t.multi=e.config.multiSelect,t.selectedItems=e.config.selectedItems,t.selectedIndex=e.config.selectedIndex,t.lastClickedRow=void 0,t.ignoreSelectedItemChanges=!1,t.ChangeSelection=function(o,r){var i=o.isClone?e.filteredRows[o.rowIndex]:o;if(r&&r.shiftKey&&!r.keyCode&&t.multi&&e.config.enableRowSelection){if(t.lastClickedRow){var l;l=n.configGroups.length>0?e.rowFactory.parsedData.filter(function(e){return!e.isAggRow}):e.filteredRows;var a=i.rowIndex,s=t.lastClickedRow.rowIndex;if(t.lastClickedRow=i,a==s)return!1;s>a?(a^=s,s=a^s,a^=s,a--):s++;for(var c=[];a>=s;s++)c.push(l[s]);if(c[c.length-1].beforeSelectionChange(c,r)){for(var g=0;c.length>g;g++){var d=c[g],u=d.selected;d.selected=!u,d.clone&&(d.clone.selected=d.selected);var f=t.selectedItems.indexOf(d.entity);-1===f?t.selectedItems.push(d.entity):t.selectedItems.splice(f,1)}c[c.length-1].afterSelectionChange(c,r)}return!0}}else t.multi?r.keyCode||t.setSelection(i,!i.selected):t.lastClickedRow==i?t.setSelection(t.lastClickedRow,e.config.keepLastSelected?!0:!i.selected):(t.lastClickedRow&&t.setSelection(t.lastClickedRow,!1),t.setSelection(i,!i.selected));return t.lastClickedRow=i,!0},t.getSelection=function(e){return-1!==t.selectedItems.indexOf(e)},t.setSelection=function(n,o){var r=n.isClone?e.filteredRows[n.rowIndex]:n;if(e.config.enableRowSelection){if(r.selected=o,r.clone&&(r.clone.selected=o),o)-1===t.selectedItems.indexOf(r.entity)&&(!t.multi&&t.selectedItems.length>0&&(t.toggleSelectAll(!1,!0),r.selected=o,r.clone&&(r.clone.selected=o)),t.selectedItems.push(r.entity));else{var i=t.selectedItems.indexOf(r.entity);-1!=i&&t.selectedItems.splice(i,1)}r.afterSelectionChange(r)}},t.toggleSelectAll=function(n,o){if(o||e.config.beforeSelectionChange(e.filteredRows)){var r=t.selectedItems.length;r>0&&(t.selectedItems.length=0);for(var i=0;e.filteredRows.length>i;i++)e.filteredRows[i].selected=n,e.filteredRows[i].clone&&(e.filteredRows[i].clone.selected=n),n&&t.selectedItems.push(e.filteredRows[i].entity);o||e.config.afterSelectionChange(e.filteredRows)}}},ng.StyleProvider=function(e,n,t){e.headerCellStyle=function(e){return{height:e.headerRowHeight+"px"}},e.rowStyle=function(n){return{top:n.offsetTop+"px",height:e.rowHeight+"px"}},e.canvasStyle=function(){return{height:""+n.maxCanvasHt+"px"}},e.headerScrollerStyle=function(){return{height:n.config.headerRowHeight+"px"}},e.topPanelStyle=function(){return{width:n.rootDim.outerWidth+"px",height:e.topPanelHeight()+"px"}},e.headerStyle=function(){return{width:n.rootDim.outerWidth-t.ScrollW+"px",height:n.config.headerRowHeight+"px"}},e.groupPanelStyle=function(){return{width:n.rootDim.outerWidth-t.ScrollW+"px",height:"32px"}},e.viewportStyle=function(){return{width:n.rootDim.outerWidth+"px",height:e.viewportDimHeight()+"px"}},e.footerStyle=function(){return{width:n.rootDim.outerWidth+"px",height:e.footerRowHeight+"px"}}},h.directive("ngCellHasFocus",["$domUtilityService",function(e){var n=function(n,t){n.isFocused=!0,e.digest(n);var o=angular.element(t[0].children).filter(function(){return 8!=this.nodeType}),r=angular.element(o[0].children[0]);r.length>0&&(angular.element(r).focus(),n.domAccessProvider.selectInputElement(r[0]),angular.element(r).bind("blur",function(){return n.isFocused=!1,e.digest(n),!0}))};return function(e,t){var o=!1;e.editCell=function(){setTimeout(function(){n(e,t)},0)},t.bind("mousedown",function(){return t.focus(),!0}),t.bind("focus",function(){return o=!0,!0}),t.bind("blur",function(){return o=!1,!0}),t.bind("keydown",function(r){return o&&37!=r.keyCode&&38!=r.keyCode&&39!=r.keyCode&&40!=r.keyCode&&9!=r.keyCode&&!r.shiftKey&&13!=r.keyCode&&n(e,t),27==r.keyCode&&t.focus(),!0})}}]),h.directive("ngCellText",function(){return function(e,n){n.bind("mouseover",function(e){e.preventDefault(),n.css({cursor:"text"})}),n.bind("mouseleave",function(e){e.preventDefault(),n.css({cursor:"default"})})}}),h.directive("ngCell",["$compile","$domUtilityService",function(e,n){var t={scope:!1,compile:function(){return{pre:function(n,t){var o,r=n.col.cellTemplate.replace(g,"$eval('row.entity.' + col.field)");n.col.enableCellEdit?(o=n.col.cellEditTemplate,o=o.replace(d,r),o=o.replace(u,n.col.editableCellTemplate.replace(g,"col.field"))):o=r;var i=e(o)(n);n.enableCellSelection&&-1==i[0].className.indexOf("ngSelectionCell")&&(i[0].setAttribute("tabindex",0),i.addClass("ngCellElement")),t.append(i)},post:function(e,t){e.enableCellSelection&&e.domAccessProvider.selectionHandlers(e,t),e.$on("ngGridEventDigestCell",function(){n.digest(e)})}}}};return t}]),h.directive("ngGrid",["$compile","$filter","$templateCache","$sortService","$domUtilityService","$utilityService","$timeout",function(e,n,t,o,r,i,l){var a={scope:!0,compile:function(){return{pre:function(a,s,c){var g=$(s),d=a.$eval(c.ngGrid);d.gridDim=new ng.Dimension({outerHeight:$(g).height(),outerWidth:$(g).width()});var u=new ng.Grid(a,d,o,r,n,t,i,l);if("string"==typeof d.columnDefs?a.$parent.$watch(d.columnDefs,function(e){return e?(a.columns=[],u.config.columnDefs=e,u.buildColumns(),u.configureColumnWidths(),u.eventProvider.assignEvents(),r.RebuildGrid(a,u),void 0):(u.refreshDomSizes(),u.buildColumns(),void 0)}):u.buildColumns(),"string"==typeof d.data){var f=function(e){u.data=$.extend([],e),u.rowFactory.fixRowCache(),angular.forEach(u.data,function(e,n){var t=u.rowMap[n]||n;u.rowCache[t]&&u.rowCache[t].ensureEntity(e),u.rowMap[t]=n}),u.searchProvider.evalFilter(),u.configureColumnWidths(),u.refreshDomSizes(),u.config.sortInfo.fields.length>0&&o.sortData(u.config.sortInfo,u.data.slice(0)),a.$emit("ngGridEventData",u.gridId)};a.$parent.$watch(d.data,f),a.$parent.$watch(d.data+".length",function(){f(a.$eval(d.data))})}return u.footerController=new ng.Footer(a,u),s.addClass("ngGrid").addClass(""+u.gridId),d.jqueryUITheme&&s.addClass("ui-widget"),s.append(e(t.get("gridTemplate.html"))(a)),r.AssignGridContainers(a,s,u),u.eventProvider=new ng.EventProvider(u,a,r),angular.forEach(d.plugins,function(e){"function"==typeof e?e.call(this,[]).init(a.$new(),u,{SortService:o,DomUtilityService:r}):e.init(a.$new(),u,{SortService:o,DomUtilityService:r})}),d.selectRow=function(e,n){u.rowCache[e]&&u.rowCache[e].setSelection(n?!0:!1)},d.selectItem=function(e,n){d.selectRow(u.rowMap[e],n)},d.selectAll=function(e){a.toggleSelectAll(e)},d.groupBy=function(e){if(e)a.groupBy(a.columns.filter(function(n){return n.field==e})[0]);else{var n=$.extend(!0,[],a.configGroups);angular.forEach(n,a.groupBy)}},d.sortBy=function(e){var n=a.columns.filter(function(n){return n.field==e})[0];n&&n.sort()},d.gridId=u.gridId,d.ngGrid=u,d.$gridScope=a,a.$on("ngGridEventDigestGrid",function(){r.digest(a.$parent)}),a.$on("ngGridEventDigestGridParent",function(){r.digest(a.$parent)}),a.$evalAsync(function(){a.adjustScrollLeft(0)}),null}}}};return a}]),h.directive("ngHeaderCell",["$compile",function(e){var n={scope:!1,compile:function(){return{pre:function(n,t){t.append(e(n.col.headerCellTemplate)(n))}}}};return n}]),h.directive("ngHeaderRow",["$compile","$templateCache",function(e,n){var t={scope:!1,compile:function(){return{pre:function(t,o){0===o.children().length&&o.append(e(n.get(t.gridId+"headerRowTemplate.html"))(t))}}}};return t}]),h.directive("ngIf",[function(){return{transclude:"element",priority:1e3,terminal:!0,restrict:"A",compile:function(e,n,t){return function(e,n,o){var r,i;e.$watch(o.ngIf,function(o){r&&(r.remove(),r=void 0),i&&(i.$destroy(),i=void 0),o&&(i=e.$new(),t(i,function(e){r=e,n.after(e)}))})}}}}]),h.directive("ngInput",["$parse",function(e){return function(n,t,o){var r=e(n.$eval(o.ngInput)),i=r.assign,l=r(n.row.entity);t.val(l),t.bind("keyup",function(){var e=t.val();n.$root.$$phase||n.$apply(function(){i(n.row.entity,e)})}),t.bind("keydown",function(e){switch(e.keyCode){case 37:case 38:case 39:case 40:e.stopPropagation();break;case 27:n.$root.$$phase||n.$apply(function(){i(n.row.entity,l),t.val(l),t.blur()});default:}return!0})}}]),h.directive("ngRow",["$compile","$domUtilityService","$templateCache",function(e,n,t){var o={scope:!1,compile:function(){return{pre:function(o,r){if(o.row.elm=r,o.row.clone&&(o.row.clone.elm=r),o.row.isAggRow){var i=t.get(o.gridId+"aggregateTemplate.html");i=o.row.aggLabelFilter?i.replace(c,"| "+o.row.aggLabelFilter):i.replace(c,""),r.append(e(i)(o))}else r.append(e(t.get(o.gridId+"rowTemplate.html"))(o));o.$on("ngGridEventDigestRow",function(){n.digest(o)})}}}};return o}]),h.directive("ngViewport",[function(){return function(e,n){var t,o,r=0;n.bind("scroll",function(n){var i=n.target.scrollLeft,l=n.target.scrollTop;return e.$headerContainer&&e.$headerContainer.scrollLeft(i),e.adjustScrollLeft(i),e.adjustScrollTop(l),e.$root.$$phase||e.$digest(),o=i,r=r,t=!1,!0}),n.bind("mousewheel DOMMouseScroll",function(){return t=!0,n.focus(),!0}),e.enableCellSelection||e.domAccessProvider.selectionHandlers(e,n)}}]),e.ngGrid.i18n.en={ngAggregateLabel:"items",ngGroupPanelDescription:"Drag a column header here and drop it to group by that column.",ngSearchPlaceHolder:"Search...",ngMenuText:"Choose Columns:",ngShowingItemsLabel:"Showing Items:",ngTotalItemsLabel:"Total Items:",ngSelectedItemsLabel:"Selected Items:",ngPageSizeLabel:"Page Size:",ngPagerFirstTitle:"First Page",ngPagerNextTitle:"Next Page",ngPagerPrevTitle:"Previous Page",ngPagerLastTitle:"Last Page"},e.ngGrid.i18n.fr={ngAggregateLabel:"articles",ngGroupPanelDescription:"Faites glisser un en-tête de colonne ici et déposez-le vers un groupe par cette colonne.",ngSearchPlaceHolder:"Recherche...",ngMenuText:"Choisir des colonnes:",ngShowingItemsLabel:"Articles Affichage des:",ngTotalItemsLabel:"Nombre total d'articles:",ngSelectedItemsLabel:"Éléments Articles:",ngPageSizeLabel:"Taille de page:",ngPagerFirstTitle:"Première page",ngPagerNextTitle:"Page Suivante",ngPagerPrevTitle:"Page précédente",ngPagerLastTitle:"Dernière page"},e.ngGrid.i18n.ge={ngAggregateLabel:"artikel",ngGroupPanelDescription:"Ziehen Sie eine Spaltenüberschrift hier und legen Sie es der Gruppe nach dieser Spalte.",ngSearchPlaceHolder:"Suche...",ngMenuText:"Spalten auswählen:",ngShowingItemsLabel:"Zeige Artikel:",ngTotalItemsLabel:"Meiste Artikel:",ngSelectedItemsLabel:"Ausgewählte Artikel:",ngPageSizeLabel:"Größe Seite:",ngPagerFirstTitle:"Erste Page",ngPagerNextTitle:"Nächste Page",ngPagerPrevTitle:"Vorherige Page",ngPagerLastTitle:"Letzte Page"},e.ngGrid.i18n.sp={ngAggregateLabel:"Artículos",ngGroupPanelDescription:"Arrastre un encabezado de columna aquí y soltarlo para agrupar por esa columna.",ngSearchPlaceHolder:"Buscar...",ngMenuText:"Elegir columnas:",ngShowingItemsLabel:"Artículos Mostrando:",ngTotalItemsLabel:"Artículos Totales:",ngSelectedItemsLabel:"Artículos Seleccionados:",ngPageSizeLabel:"Tamaño de Página:",ngPagerFirstTitle:"Primera Página",ngPagerNextTitle:"Página Siguiente",ngPagerPrevTitle:"Página Anterior",ngPagerLastTitle:"Última Página"},e.ngGrid.i18n["zh-cn"]={ngAggregateLabel:"条目",ngGroupPanelDescription:"拖曳表头到此处以进行分组",ngSearchPlaceHolder:"搜索...",ngMenuText:"数据分组与选择列:",ngShowingItemsLabel:"当前显示条目:",ngTotalItemsLabel:"条目总数:",ngSelectedItemsLabel:"选中条目:",ngPageSizeLabel:"每页显示数:",ngPagerFirstTitle:"回到首页",ngPagerNextTitle:"下一页",ngPagerPrevTitle:"上一页",ngPagerLastTitle:"前往尾页"},angular.module("ngGrid").run(["$templateCache",function(e){e.put("aggregateTemplate.html",'<div ng-click="row.toggleExpand()" ng-style="{\'left\': row.offsetleft}" class="ngAggregate">    <span class="ngAggregateText">{{row.label CUSTOM_FILTERS}} ({{row.totalChildren()}} {{AggItemsLabel}})</span>    <div class="{{row.aggClass()}}"></div></div>'),e.put("cellEditTemplate.html",'<div ng-cell-has-focus ng-dblclick="editCell()">  <div ng-if="!isFocused">	DISPLAY_CELL_TEMPLATE	</div>	<div ng-if="isFocused">	EDITABLE_CELL_TEMPLATE	</div></div>'),e.put("cellTemplate.html",'<div class="ngCellText" ng-class="col.colIndex()"><span ng-cell-text>{{COL_FIELD CUSTOM_FILTERS}}</span></div>'),e.put("checkboxCellTemplate.html",'<div class="ngSelectionCell"><input tabindex="-1" class="ngSelectionCheckbox" type="checkbox" ng-checked="row.selected" /></div>'),e.put("checkboxHeaderTemplate.html",'<input class="ngSelectionHeader" type="checkbox" ng-show="multiSelect" ng-model="allSelected" ng-change="toggleSelectAll(allSelected)"/>'),e.put("editableCellTemplate.html",'<input ng-class="\'colt\' + col.index" ng-input="COL_FIELD" />'),e.put("gridTemplate.html",'<div class="ngTopPanel" ng-class="{\'ui-widget-header\':jqueryUITheme, \'ui-corner-top\': jqueryUITheme}" ng-style="topPanelStyle()">    <div class="ngGroupPanel" ng-show="showGroupPanel()" ng-style="groupPanelStyle()">        <div class="ngGroupPanelDescription" ng-show="configGroups.length == 0">{{i18n.ngGroupPanelDescription}}</div>        <ul ng-show="configGroups.length > 0" class="ngGroupList">            <li class="ngGroupItem" ng-repeat="group in configGroups">                <span class="ngGroupElement">                    <span class="ngGroupName">{{group.displayName}}                        <span ng-click="removeGroup($index)" class="ngRemoveGroup">x</span>                    </span>                    <span ng-hide="$last" class="ngGroupArrow"></span>                </span>            </li>        </ul>    </div>    <div class="ngHeaderContainer" ng-style="headerStyle()">        <div class="ngHeaderScroller" ng-style="headerScrollerStyle()" ng-header-row></div>    </div>    <div class="ngHeaderButton" ng-show="showColumnMenu || showFilter" ng-click="toggleShowMenu()">        <div class="ngHeaderButtonArrow" ng-click=""></div>    </div>    <div ng-show="showMenu" class="ngColMenu">        <div ng-show="showFilter">            <input placeholder="{{i18n.ngSearchPlaceHolder}}" type="text" ng-model="filterText"/>        </div>        <div ng-show="showColumnMenu">            <span class="ngMenuText">{{i18n.ngMenuText}}</span>            <ul class="ngColList">                <li class="ngColListItem" ng-repeat="col in columns | ngColumns">                    <label><input ng-disabled="col.pinned" type="checkbox" class="ngColListCheckbox" ng-model="col.visible"/>{{col.displayName}}</label>					<a title="Group By" ng-class="col.groupedByClass()" ng-show="col.groupable && col.visible" ng-click="groupBy(col)"></a>					<span class="ngGroupingNumber" ng-show="col.groupIndex > 0">{{col.groupIndex}}</span>                          </li>            </ul>        </div>    </div></div><div class="ngViewport" unselectable="on" ng-viewport ng-class="{\'ui-widget-content\': jqueryUITheme}" ng-style="viewportStyle()">    <div class="ngCanvas" ng-style="canvasStyle()">        <div ng-style="rowStyle(row)" ng-repeat="row in renderedRows" ng-click="row.toggleSelected($event)" class="ngRow" ng-class="row.alternatingRowClass()" ng-row></div>    </div></div><div class="ngFooterPanel" ng-class="{\'ui-widget-content\': jqueryUITheme, \'ui-corner-bottom\': jqueryUITheme}" ng-style="footerStyle()">    <div class="ngTotalSelectContainer" ng-show="showFooter">        <div class="ngFooterTotalItems" ng-class="{\'ngNoMultiSelect\': !multiSelect}" >            <span class="ngLabel">{{i18n.ngTotalItemsLabel}} {{maxRows()}}</span><span ng-show="filterText.length > 0" class="ngLabel">({{i18n.ngShowingItemsLabel}} {{totalFilteredItemsLength()}})</span>        </div>        <div class="ngFooterSelectedItems" ng-show="multiSelect">            <span class="ngLabel">{{i18n.ngSelectedItemsLabel}} {{selectedItems.length}}</span>        </div>    </div>    <div class="ngPagerContainer" style="float: right; margin-top: 10px;" ng-show="showFooter && enablePaging" ng-class="{\'ngNoMultiSelect\': !multiSelect}">        <div style="float:left; margin-right: 10px;" class="ngRowCountPicker">            <span style="float: left; margin-top: 3px;" class="ngLabel">{{i18n.ngPageSizeLabel}}</span>            <select style="float: left;height: 27px; width: 100px" ng-model="pagingOptions.pageSize" >                <option ng-repeat="size in pagingOptions.pageSizes">{{size}}</option>            </select>        </div>        <div style="float:left; margin-right: 10px; line-height:25px;" class="ngPagerControl" style="float: left; min-width: 135px;">            <button class="ngPagerButton" ng-click="pageToFirst()" ng-disabled="cantPageBackward()" title="{{i18n.ngPagerFirstTitle}}"><div class="ngPagerFirstTriangle"><div class="ngPagerFirstBar"></div></div></button>            <button class="ngPagerButton" ng-click="pageBackward()" ng-disabled="cantPageBackward()" title="{{i18n.ngPagerPrevTitle}}"><div class="ngPagerFirstTriangle ngPagerPrevTriangle"></div></button>            <input class="ngPagerCurrent" type="number" style="width:50px; height: 24px; margin-top: 1px; padding: 0px 4px;" ng-model="pagingOptions.currentPage"/>            <button class="ngPagerButton" ng-click="pageForward()" ng-disabled="cantPageForward()" title="{{i18n.ngPagerNextTitle}}"><div class="ngPagerLastTriangle ngPagerNextTriangle"></div></button>            <button class="ngPagerButton" ng-click="pageToLast()" ng-disabled="cantPageToLast()" title="{{i18n.ngPagerLastTitle}}"><div class="ngPagerLastTriangle"><div class="ngPagerLastBar"></div></div></button>        </div>    </div></div>'),e.put("headerCellTemplate.html",'<div class="ngHeaderSortColumn {{col.headerClass}}" ng-style="{\'cursor\': col.cursor}" ng-class="{ \'ngSorted\': !noSortVisible }">    <div ng-click="col.sort($event)" ng-class="\'colt\' + col.index" class="ngHeaderText">{{col.displayName}}</div>    <div class="ngSortButtonDown" ng-show="col.showSortButtonDown()"></div>    <div class="ngSortButtonUp" ng-show="col.showSortButtonUp()"></div>    <div class="ngSortPriority">{{col.sortPriority}}</div>    <div ng-class="{ ngPinnedIcon: col.pinned, ngUnPinnedIcon: !col.pinned }" ng-click="togglePin(col)" ng-show="col.pinnable"></div></div><div ng-show="col.resizable" class="ngHeaderGrip" ng-click="col.gripClick($event)" ng-mousedown="col.gripOnMouseDown($event)"></div>'),e.put("headerRowTemplate.html",'<div ng-style="{\'z-index\': col.zIndex(), height: col.headerRowHeight}" ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngHeaderCell" ng-header-cell></div>'),e.put("rowTemplate.html",'<div ng-style="{\'cursor\': row.cursor, \'z-index\': col.zIndex() }" ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngCell {{col.cellClass}}" ng-cell></div>')}])})(window);
[
    {
        "name": "Moroni",
        "age": 50
    },
    {
        "name": "Tiancum",
        "age": 43
    },
    {
        "name": "Jacob",
        "age": 27
    },
    {
        "name": "Nephi",
        "age": 29
    },
    {
        "name": "Enos",
        "age": 34
    }
]
Undo using ng-grid and angular