diff --git a/css/bootstrap-select.min.css b/css/bootstrap-select.min.css index c168431e0994cae7a5815994e7a33cf614034c85..d2ce55a8a63611c3e8c621b9807ac01e5b220ffb 100644 --- a/css/bootstrap-select.min.css +++ b/css/bootstrap-select.min.css @@ -1,6 +1,6 @@ -/*! - * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) - * - * Copyright 2013-2016 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) */select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none} \ No newline at end of file diff --git a/css/morpheus-latest.min.css b/css/morpheus-latest.min.css index 5f4150d3c03a92b68c5db1a181a8a8ae1158d48b..b327560e06103cfdda88118dd9781fbfc712b1c3 100644 --- a/css/morpheus-latest.min.css +++ b/css/morpheus-latest.min.css @@ -2,12 +2,12 @@ * Bootstrap v3.3.6 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}div.hopscotch-bubble,hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box}hr,img{border:0}.fa,.glyphicon{-moz-osx-font-smoothing:grayscale}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.bootstrap-select.btn-group .dropdown-menu li a,.btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{height:0;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}*,:after,:before,input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.dropdown-menu,.modal-content{-webkit-background-clip:padding-box}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dd{margin-left:0}@media (min-width:768px){.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}.container{width:750px}}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after,.ui-helper-clearfix:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-right:15px;padding-left:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{min-width:0;margin:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;user-select:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{right:auto;left:0}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}a.badge:focus,a.badge:hover,a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;line-break:auto;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.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}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;text-align:left;text-align:start;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.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:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-size:14px;text-align:left;text-align:start;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.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;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:" "}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.bootstrap-select.btn-group .dropdown-menu li.disabled a,.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}/*! - * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) - * - * Copyright 2013-2016 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) - */select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle,.bootstrap-select.form-control:not([class*=col-]),.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select .dropdown-toggle:focus{outline:#333 dotted thin!important;outline:-webkit-focus-ring-color auto 5px!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox,.bs-donebutton{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}/*! jQuery UI - v1.11.2 - 2014-12-08 + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}div.hopscotch-bubble,hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box}hr,img{border:0}.fa,.glyphicon{-moz-osx-font-smoothing:grayscale}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{height:0;box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}.glyphicon,address{font-style:normal}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.dropdown-menu,.modal-content{-webkit-background-clip:padding-box}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}.img-thumbnail,body{background-color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.popover,.tooltip,body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-size:14px;line-height:1.42857143;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.42857143}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dd{margin-left:0}@media (min-width:768px){.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}.container{width:750px}}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after,.ui-helper-clearfix:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-right:15px;padding-left:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{min-width:0;margin:0}legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px}.input-sm{height:30px;line-height:1.5}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;line-height:1.5}.form-group-lg .form-control,.input-lg{border-radius:6px;padding:10px 16px;font-size:18px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;line-height:1.3333333}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;line-height:1.3333333}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu-right,.dropdown-menu.pull-right{right:0;left:auto}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.42857143;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{right:auto;left:0}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center;margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:20px 0;border-radius:4px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}a.badge:focus,a.badge:hover,a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.popover,.tooltip{font-style:normal;font-weight:400;line-height:1.42857143;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;line-break:auto;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.carousel-control,.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.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}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;text-align:left;text-align:start;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.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:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-size:14px;text-align:left;text-align:start;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.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;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.left>.arrow:after,.popover.right>.arrow:after{bottom:-10px;content:" "}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.bootstrap-select.btn-group .dropdown-menu li.disabled a,.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle,.bootstrap-select.form-control:not([class*=col-]),.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select .dropdown-toggle:focus{outline:#333 dotted thin!important;outline:-webkit-focus-ring-color auto 5px!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox,.bs-donebutton{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}/*! jQuery UI - v1.11.2 - 2014-12-08 * http://jqueryui.com * Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, autocomplete.css, button.css, dialog.css, menu.css, slider.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1em&cornerRadius=4px&bgColorHeader=%23333333&bgTextureHeader=diagonals_thick&bgImgOpacityHeader=8&borderColorHeader=%23a3a3a3&fcHeader=%23eeeeee&iconColorHeader=%23bbbbbb&bgColorContent=%23f9f9f9&bgTextureContent=highlight_hard&bgImgOpacityContent=100&borderColorContent=%23cccccc&fcContent=%23222222&iconColorContent=%23222222&bgColorDefault=%23111111&bgTextureDefault=glass&bgImgOpacityDefault=40&borderColorDefault=%23777777&fcDefault=%23e3e3e3&iconColorDefault=%23ededed&bgColorHover=%231c1c1c&bgTextureHover=glass&bgImgOpacityHover=55&borderColorHover=%23000000&fcHover=%23ffffff&iconColorHover=%23ffffff&bgColorActive=%23ffffff&bgTextureActive=flat&bgImgOpacityActive=65&borderColorActive=%23cccccc&fcActive=%23222222&iconColorActive=%23222222&bgColorHighlight=%23ffeb80&bgTextureHighlight=inset_hard&bgImgOpacityHighlight=55&borderColorHighlight=%23ffde2e&fcHighlight=%23363636&iconColorHighlight=%234ca300&bgColorError=%23cd0a0a&bgTextureError=inset_hard&bgImgOpacityError=45&borderColorError=%239e0505&fcError=%23ffffff&iconColorError=%23ffcf29&bgColorOverlay=%23aaaaaa&bgTextureOverlay=highlight_hard&bgImgOpacityOverlay=40&opacityOverlay=30&bgColorShadow=%23aaaaaa&bgTextureShadow=highlight_soft&bgImgOpacityShadow=50&opacityShadow=20&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px @@ -19,4 +19,4 @@ Animate.css - http://daneden.me/animate Licensed under the MIT license - http://opensource.org/licenses/MIT Copyright (c) 2015 Daniel Eden -*/.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInY,.flipOutX{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.morpheus-sep{border-top:1px solid #eee}.dropdown-checkbox{margin-left:-16px!important}.ui-dialog .ui-dialog-titlebar{font-size:12px!important;padding:.1em 1em!important;background:#000!important}.ui-widget{font-family:inherit!important}.axis line,.axis path{fill:none;stroke:#000;shape-rendering:crispEdges}.ui-menu-item{background-color:#fff}.ui-state-focus{background:inherit!important;background-color:#F7F7F7;border:inherit!important;color:inherit!important;font-weight:inherit!important}.ui-autocomplete{max-height:400px;overflow-y:auto;overflow-x:hidden}.morpheus-button-divider{width:6px;display:inline-block}.morpheus-hover-show{display:none!important}.morpheus-hover:hover>.morpheus-hover-show{display:block!important}.morpheus-hover:hover{background-color:#f5f5f5}.morpheus-tip{font-size:12px;position:absolute;top:0;left:0;min-height:24px;max-height:24px;height:24px;line-height:1;color:#777}.morpheus-tip-inline{font-size:12px;max-width:400px;z-index:10000;position:absolute;background-color:rgba(255,255,255,.9);color:#000;text-align:left;padding-left:10px;padding-right:10px;box-shadow:rgba(0,0,0,.498039) 0 5px 15px;border:1px solid rgba(0,0,0,.2);border-radius:6px;overflow:hidden}.morpheus-form-control-inline{display:inline!important;width:auto!important;margin-right:1em!important}.morpheus-tip-dialog{font-size:12px!important;color:#777!important;padding:2px!important;background-color:#fff!important}.slick-cell{margin:0;border:none;padding:0;background-color:inherit}.slick-row{font-size:13px;line-height:100%;padding:0;margin:0}.slick-header-column.ui-state-default{height:20px;line-height:20px;padding:0;background:#f6f7f8}.slick-header-columns{background-color:#fff}.slick-table .ui-widget-content{background:0 0}.slick-table-compact .slick-row{font-size:12px}.slick-table .slick-row{background-color:#fff}.slick-striped-table .slick-row.odd{background-color:#fafafa}.slick-header-column{color:#000;background-color:#fff;font-weight:700;border-left:1px solid #000}.slick-cell,.slick-headerrow-column{overflow:hidden;text-overflow:ellipsis}.slick-header{background-color:#fff;border:none!important}.slick-cell.selected{background-color:#d9edf7}.slick-stacked .slick-visible-stacked,.slick-table:not (.slick-stacked) .slick-visible-not-stacked{display:block}.slick-visible-not-stacked,.slick-visible-stacked{display:none}.slick-sort-indicator-asc,.slick-sort-indicator-desc{background:0 0}.slick-sort-indicator-desc::after{content:"\f0dd";font-family:FontAwesome;margin-right:3px;margin-left:4px;margin-top:-3px}.slick-sort-indicator{float:none!important;margin:0!important}.slick-header-column-sorted{font-style:normal}.slick-column-name{margin-left:4px}.slick-sort-indicator-asc::after{content:"\f0de";font-family:FontAwesome;margin-right:3px;margin-left:4px;margin-top:-3px;float:none} \ No newline at end of file +*/.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.050,.855,.060);animation-timing-function:cubic-bezier(.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}@keyframes pulse{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes rubberBand{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@keyframes tada{from,to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes wobble{from,to{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{11.1%,from,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{20%,40%,60%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}.flipInY,.flipOutX{-webkit-backface-visibility:visible!important}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.morpheus-sep{border-top:1px solid #eee}.dropdown-checkbox{margin-left:-16px!important}.ui-dialog .ui-dialog-titlebar{font-size:12px!important;padding:.1em 1em!important;background:#000!important}.ui-widget{font-family:inherit!important}.axis line,.axis path{fill:none;stroke:#000;shape-rendering:crispEdges}.ui-menu-item{background-color:#fff}.ui-state-focus{background:inherit!important;background-color:#F7F7F7;border:inherit!important;color:inherit!important;font-weight:inherit!important}.ui-autocomplete{max-height:400px;overflow-y:auto;overflow-x:hidden}.morpheus-button-divider{width:6px;display:inline-block}.morpheus-hover-show{display:none!important}.morpheus-hover:hover>.morpheus-hover-show{display:block!important}.morpheus-hover:hover{background-color:#f5f5f5}.morpheus-tip{font-size:12px;position:absolute;top:0;left:0;min-height:24px;max-height:24px;height:24px;line-height:1;color:#777}.morpheus-tip-inline{font-size:12px;z-index:10000;position:absolute;background-color:rgba(255,255,255,.9);color:#000;text-align:left;padding-left:10px;padding-right:10px;box-shadow:rgba(0,0,0,.498039) 0 5px 15px;border:1px solid rgba(0,0,0,.2);border-radius:6px;overflow:hidden}.morpheus-form-control-inline{display:inline!important;width:auto!important;margin-right:1em!important}.morpheus-tip-dialog{font-size:12px!important;color:#777!important;padding:2px!important;background-color:#fff!important}.slick-cell{margin:0;border:none;padding:0;background-color:inherit}.slick-row{font-size:13px;line-height:100%;padding:0;margin:0}.slick-header-column.ui-state-default{height:20px;line-height:20px;padding:0;background:#f6f7f8}.slick-header-columns{background-color:#fff}.slick-table .ui-widget-content{background:0 0}.slick-table-compact .slick-row{font-size:12px}.slick-table .slick-row{background-color:#fff}.slick-striped-table .slick-row.odd{background-color:#fafafa}.slick-header-column{color:#000;background-color:#fff;font-weight:700;border-left:1px solid #000}.slick-cell,.slick-headerrow-column{overflow:hidden;text-overflow:ellipsis}.slick-header{background-color:#fff;border:none!important}.slick-cell.selected{background-color:#d9edf7}.slick-stacked .slick-visible-stacked,.slick-table:not (.slick-stacked) .slick-visible-not-stacked{display:block}.slick-visible-not-stacked,.slick-visible-stacked{display:none}.slick-sort-indicator-asc,.slick-sort-indicator-desc{background:0 0}.slick-sort-indicator-desc::after{content:"\f0dd";font-family:FontAwesome;margin-right:3px;margin-left:4px;margin-top:-3px}.slick-sort-indicator{float:none!important;margin:0!important}.slick-header-column-sorted{font-style:normal}.slick-column-name{margin-left:4px}.slick-sort-indicator-asc::after{content:"\f0de";font-family:FontAwesome;margin-right:3px;margin-left:4px;margin-top:-3px;float:none} \ No newline at end of file diff --git a/css/morpheus.all.css b/css/morpheus.all.css index 77bd5cb046a42534da383ece5a6526cbc3b7659a..4255df48832f42200079b05ddacf34dfcf1b9d9a 100644 --- a/css/morpheus.all.css +++ b/css/morpheus.all.css @@ -4,11 +4,11 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.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}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.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}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.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:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.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;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} /*# sourceMappingURL=bootstrap.min.css.map */ -/*! - * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) - * - * Copyright 2013-2016 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) */select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none} /*! jQuery UI - v1.11.2 - 2014-12-08 * http://jqueryui.com @@ -3541,7 +3541,6 @@ Copyright (c) 2015 Daniel Eden .morpheus-tip-inline { font-size: 12px; - max-width: 400px; z-index: 10000; position: absolute; background-color: rgba(255, 255, 255, 0.9); diff --git a/css/morpheus.css b/css/morpheus.css index 0cf86654aebb2bd1e04e68840fe37b2c1de498dd..d40eb49264054873f73e501cb3a97e2766d8acf3 100644 --- a/css/morpheus.css +++ b/css/morpheus.css @@ -72,7 +72,6 @@ .morpheus-tip-inline { font-size: 12px; - max-width: 400px; z-index: 10000; position: absolute; background-color: rgba(255, 255, 255, 0.9); diff --git a/js/bootstrap-select.min.js b/js/bootstrap-select.min.js index 0e66f5261644b914fe9896e6856b66a2dc3e0db6..12625e576263b20a9e698f995ab1831fb477443c 100644 --- a/js/bootstrap-select.min.js +++ b/js/bootstrap-select.min.js @@ -1,8 +1,8 @@ -/*! - * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) - * - * Copyright 2013-2016 bootstrap-select - * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) +/*! + * Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2016 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) */ !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},e.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1},e.prototype={constructor:e,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",d=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'
'+this.options.header+"
":"",g=this.options.liveSearch?'":"",h=this.multiple&&this.options.actionsBox?'
":"",i=this.multiple&&this.options.doneButton?'
":"",j='
";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menuInner[0].innerHTML=a},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],f=0,g=document.createElement("option"),h=-1,i=function(a,b,c,d){return""+a+""},j=function(a,e,f,g){return'"+a+''};if(this.options.title&&!this.multiple&&(h--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];g.className="bs-title-option",g.appendChild(document.createTextNode(this.options.title)),g.value="",k.insertBefore(g,k.firstChild),void 0===a(k.options[k.selectedIndex]).attr("selected")&&(g.selected=!0)}return this.$element.find("option").each(function(b){var c=a(this);if(h++,!c.hasClass("bs-title-option")){var g=this.className||"",k=this.style.cssText,l=c.data("content")?c.data("content"):c.html(),m=c.data("tokens")?c.data("tokens"):null,n="undefined"!=typeof c.data("subtext")?''+c.data("subtext")+"":"",o="undefined"!=typeof c.data("icon")?' ':"",p="OPTGROUP"===this.parentNode.tagName,q=this.disabled||p&&this.parentNode.disabled;if(""!==o&&q&&(o=""+o+""),d.options.hideDisabled&&q&&!p)return void h--;if(c.data("content")||(l=o+''+l+n+""),p&&c.data("divider")!==!0){var r=" "+this.parentNode.className||"";if(0===c.index()){f+=1;var s=this.parentNode.label,t="undefined"!=typeof c.parent().data("subtext")?''+c.parent().data("subtext")+"":"",u=c.parent().data("icon")?' ':"";s=u+''+s+t+"",0!==b&&e.length>0&&(h++,e.push(i("",null,"divider",f+"div"))),h++,e.push(i(s,null,"dropdown-header"+r,f))}if(d.options.hideDisabled&&q)return void h--;e.push(i(j(l,"opt "+g+r,k,m),b,"",f))}else c.data("divider")===!0?e.push(i("",b,"divider")):c.data("hidden")===!0?e.push(i(j(l,g,k,m),b,"hidden is-hidden")):(this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName&&(h++,e.push(i("",null,"divider",f+"div"))),e.push(i(j(l,g,k,m),b)));d.liObj[b]=h}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),e.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?' ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' '+c.data("subtext")+"":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content"):e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("span");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle?getComputedStyle(d):!1,v=u?null:a(d),w=parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),x=w+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2;document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f=this,g=this.$menu,h=this.$menuInner,i=a(window),j=this.$newElement[0].offsetHeight,k=this.sizeInfo.liHeight,l=this.sizeInfo.headerHeight,m=this.sizeInfo.searchHeight,n=this.sizeInfo.actionsHeight,o=this.sizeInfo.doneButtonHeight,p=this.sizeInfo.dividerHeight,q=this.sizeInfo.menuPadding,r=this.sizeInfo.menuExtras,s=this.options.hideDisabled?".disabled":"",t=function(){d=f.$newElement.offset().top-i.scrollTop(),e=i.height()-d-j};if(t(),"auto"===this.options.size){var u=function(){var i,j=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},p=f.$menuInner[0].getElementsByTagName("li"),s=Array.prototype.filter?Array.prototype.filter.call(p,j("hidden",!1)):f.$lis.not(".hidden"),u=Array.prototype.filter?Array.prototype.filter.call(s,j("dropdown-header",!0)):s.filter(".dropdown-header");t(),b=e-r,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&f.$newElement.toggleClass("dropup",d>e&&c>b-r),f.$newElement.hasClass("dropup")&&(b=d-r),i=s.length+u.length>3?3*k+r-2:0,g.css({"max-height":b+"px",overflow:"hidden","min-height":i+l+m+n+o+"px"}),h.css({"max-height":b-l-m-n-o-q+"px","overflow-y":"auto","min-height":Math.max(i-q,0)+"px"})};u(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",u),i.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",u)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(s).length>this.options.size){var v=this.$lis.not(".divider").not(s).children().slice(0,this.options.size).last().parent().index(),w=this.$lis.slice(0,v+1).filter(".divider").length;b=k*this.options.size+w*p+q,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&this.$newElement.toggleClass("dropup",d>e&&c>b-r),g.css({"max-height":b+l+m+n+o+"px",overflow:"hidden","min-height":""}),h.css({"max-height":b-q+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){this.$bsContainer=a('
');var b,c,d=this,e=function(a){d.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,d.$bsContainer.css({top:b.top+c,left:b.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);d.isDisabled()||(e(d.$newElement),d.$bsContainer.appendTo(d.options.container).toggleClass("open",!b.hasClass("open")).append(d.$menu))}),a(window).on("resize scroll",function(){e(d.$newElement)}),this.$element.on("hide.bs.select",function(){d.$menu.data("height",d.$menu.height()),d.$bsContainer.detach()})},setSelected:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled")),-1!=this.$button.attr("tabindex")||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&-98!==this.$element.attr("tabindex")&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l
');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("
"+r+"
")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("
"+s+"
")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.trigger("changed.bs.select",[e,i.prop("selected"),j]).triggerNative("change")}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var d=this,e=a('
  • ');this.$button.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){d.$menuInner.find(".active").removeClass("active"),d.$searchbox.val()&&(d.$searchbox.val(""),d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),d.multiple||d.$menuInner.find(".selected").addClass("active"),setTimeout(function(){d.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){var f=d.$lis.not(".is-hidden").removeClass("hidden").children("a");f=d.options.liveSearchNormalize?f.not(":a"+d._searchStyle()+'("'+b(d.$searchbox.val())+'")'):f.not(":"+d._searchStyle()+'("'+d.$searchbox.val()+'")'),f.parent().addClass("hidden"),d.$lis.filter(".dropdown-header").each(function(){var b=a(this),c=b.data("optgroup");0===d.$lis.filter("[data-optgroup="+c+"]").not(b).not(".hidden").length&&(b.addClass("hidden"),d.$lis.filter("[data-optgroup="+c+"div]").addClass("hidden"))});var g=d.$lis.not(".hidden");g.each(function(b){var c=a(this);c.hasClass("divider")&&(c.index()===g.first().index()||c.index()===g.last().index()||g.eq(b+1).hasClass("divider"))&&c.addClass("hidden")}),d.$lis.not(".hidden, .no-results").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(d.options.noneResultsText.replace("{0}",'"'+c(d.$searchbox.val())+'"')).show(),d.$menuInner.append(e))}else d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove();d.$lis.filter(".active").removeClass("active"),d.$searchbox.val()&&d.$lis.not(".hidden, .divider, .dropdown-header").eq(0).addClass("active").children("a").focus(),a(this).focus()})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){"undefined"==typeof b&&(b=!0),this.findLis();for(var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden").toggleClass("selected",b),e=d.length,f=[],g=0;e>g;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.$element.trigger("changed.bs.select").triggerNative("change")},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li",n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90)&&(o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(c.preventDefault(),o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus()),d=a("[role=menu] li"+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")}};var f=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=e,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=f,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',e.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);d.call(b,b.data())})})}(a)}); //# sourceMappingURL=bootstrap-select.js.map \ No newline at end of file diff --git a/src/matrix/dataset_util.js b/src/matrix/dataset_util.js index 6c15c1a6506f76ad5a08b67ec21229b78cb38316..cdd9a229490cd630fe5dbfc6282b47689d14cb8f 100644 --- a/src/matrix/dataset_util.js +++ b/src/matrix/dataset_util.js @@ -1,10 +1,11 @@ morpheus.DatasetUtil = function() { }; -morpheus.DatasetUtil.min = function(dataset) { +morpheus.DatasetUtil.min = function(dataset, seriesIndex) { + seriesIndex = seriesIndex || 0; var min = Number.MAX_VALUE; for (var i = 0, rows = dataset.getRowCount(); i < rows; i++) { for (var j = 0, columns = dataset.getColumnCount(); j < columns; j++) { - var d = dataset.getValue(i, j); + var d = dataset.getValue(i, j, seriesIndex); if (isNaN(d)) { continue; } @@ -20,11 +21,12 @@ morpheus.DatasetUtil.transposedView = function(dataset) { return dataset instanceof morpheus.TransposedDatasetView ? dataset .getDataset() : new morpheus.TransposedDatasetView(dataset); }; -morpheus.DatasetUtil.max = function(dataset) { +morpheus.DatasetUtil.max = function(dataset, seriesIndex) { + seriesIndex = seriesIndex || 0; var max = -Number.MAX_VALUE; for (var i = 0, rows = dataset.getRowCount(); i < rows; i++) { for (var j = 0, columns = dataset.getColumnCount(); j < columns; j++) { - var d = dataset.getValue(i, j); + var d = dataset.getValue(i, j, seriesIndex); if (isNaN(d)) { continue; } diff --git a/src/ui/heat_map.js b/src/ui/heat_map.js index fb267dcb890f3c1eb947c5ee02143371d4c4b83d..a3e341e39449b7a416b71cb26e1411243d560746 100644 --- a/src/ui/heat_map.js +++ b/src/ui/heat_map.js @@ -1,222 +1,222 @@ /** * rows and columns can contain field, renameTo, display, order - * + * */ -morpheus.HeatMap = function(options) { +morpheus.HeatMap = function (options) { morpheus.Util.loadTrackingCode(); var _this = this; options = $ - .extend( - true, - {}, - { - /** - * The element in which to render to the heat map. - */ - el : null, - /** - * A File or URL to a GCT - * 1.3, ' + 'GCT - * 1.2, ' + 'MAF, ' + 'GMT, ' + ' - * or a tab-delimitted text file. Can also be an array - * of File or URLs in which case the datasets are - * combined by matching on column ids. - */ - dataset : undefined, - /** - * - * @description Array of file, datasetField, fileField, - * and include (optional fields to include - * from file). File can be xlsx file, - * tab-delimitted text file, or gmt file. - *

    - * Example: Annotate rows matching - * 'name' field in dataset to 'id' field in - * file. - *

    - * [{file:'https://MY_URL', datasetField:'name', fileField:'id'}] - */ - rowAnnotations : undefined, - /** - * Array of file, datasetField, fileField, and include - * (optional fields to include from file). File can be - * xlsx file, tab-delimitted text file, or gmt file. - */ - columnAnnotations : undefined, - - /** - * Array of column metadata names to group the heat map - * by. - * - *

    - * Example: Group by the type and gender - * metadata field. - *

    - * - * ['type', 'gender'] - */ - columnGroupBy : undefined, - /** - * Array of row metadata names to group the heat map by. - * - *

    - * Example: Group by the gene metadata field. - *

    - * ['gene'] - */ - rowGroupBy : undefined, - /** - * Object that describes mapping of values to colors. - * Type can be 'fixed' or 'relative'. Stepped indicates - * whether color scheme is continuous (false) or - * discrete (true). - *

    - * Example: Use a fixed color scheme with color - * stops at -100, -90, 90, and 100. - *

    - * { type : 'fixed', stepped:false, map : [ { value : -100, color : + .extend( + true, + {}, + { + /** + * The element in which to render to the heat map. + */ + el: null, + /** + * A File or URL to a GCT + * 1.3, ' + 'GCT + * 1.2, ' + 'MAF, ' + 'GMT, ' + ' + * or a tab-delimitted text file. Can also be an array + * of File or URLs in which case the datasets are + * combined by matching on column ids. + */ + dataset: undefined, + /** + * + * @description Array of file, datasetField, fileField, + * and include (optional fields to include + * from file). File can be xlsx file, + * tab-delimitted text file, or gmt file. + *

    + * Example: Annotate rows matching + * 'name' field in dataset to 'id' field in + * file. + *

    + * [{file:'https://MY_URL', datasetField:'name', fileField:'id'}] + */ + rowAnnotations: undefined, + /** + * Array of file, datasetField, fileField, and include + * (optional fields to include from file). File can be + * xlsx file, tab-delimitted text file, or gmt file. + */ + columnAnnotations: undefined, + + /** + * Array of column metadata names to group the heat map + * by. + * + *

    + * Example: Group by the type and gender + * metadata field. + *

    + * + * ['type', 'gender'] + */ + columnGroupBy: undefined, + /** + * Array of row metadata names to group the heat map by. + * + *

    + * Example: Group by the gene metadata field. + *

    + * ['gene'] + */ + rowGroupBy: undefined, + /** + * Object that describes mapping of values to colors. + * Type can be 'fixed' or 'relative'. Stepped indicates + * whether color scheme is continuous (false) or + * discrete (true). + *

    + * Example: Use a fixed color scheme with color + * stops at -100, -90, 90, and 100. + *

    + * { type : 'fixed', stepped:false, map : [ { value : -100, color : * 'blue' }, { value : -90, color : 'white' }, { value : * 90, color : 'white' }, { value : 100, color : 'red' } ] }; - */ - colorScheme : undefined, - /** - * Array of metadata names and sort order. Use 0 for - * ascending and 1 for descending. To sort by values use - * modelIndices. - * - *

    - * Example: Sort ascending by gene, and then - * descending by stdev - *

    - * [{field:'gene', order:0}, {field:'stdev', + */ + colorScheme: undefined, + /** + * Array of metadata names and sort order. Use 0 for + * ascending and 1 for descending. To sort by values use + * modelIndices. + * + *

    + * Example: Sort ascending by gene, and then + * descending by stdev + *

    + * [{field:'gene', order:0}, {field:'stdev', * order:1}] - */ - rowSortBy : undefined, - /** - * Array of metadata names and sort order. Use 0 for - * ascending and 1 for descending. - * - *

    - * Example: to sort ascending by gene, and then - * descending by stdev - *

    - * [{name:'gene', + */ + rowSortBy: undefined, + /** + * Array of metadata names and sort order. Use 0 for + * ascending and 1 for descending. + * + *

    + * Example: to sort ascending by gene, and then + * descending by stdev + *

    + * [{name:'gene', * order:0}, {name:'stdev', order:1}] - */ - columnSortBy : undefined, - /** - * URL to a dendrogram in Newick - * format - */ - rowDendrogram : undefined, - /** - * URL to a dendrogram in Newick - * format - */ - columnDendrogram : undefined, - - /** - * Column metadata field in dataset used to match leaf - * node ids in column dendrogram Newick file - */ - columnDendrogramField : 'id', - /** - * Row metadata field in dataset used to match leaf node - * ids in row dendrogram Newick file - */ - rowDendrogramField : 'id', - /** - * Array of objects describing how to display row - * metadata fields. Each object in the array must have - * field, and optionally display, order, and renameTo. - * Field is the metadata field name. Display is a comma - * delimited string that describes how to render a - * metadata field. Options are text, color, stacked_bar, - * bar, highlight, shape, discrete, and continuous. - * Order is a number that indicates the order in which - * the field should appear in the heat map. RenameTo - * allows you to rename a field. - */ - rows : [], - /** - * Array of objects describing how to display column - * metadata fields. Each object in the array must have - * field, and optionally display, order, and renameTo. - * Field is the metadata field name. Display is a comma - * delimited string that describes how to render a - * metadata field. Options are text, color, stacked_bar, - * bar, highlight, shape, discrete, and continuous. - * Order is a number that indicates the order in which - * the field should appear in the heat map. RenameTo - * allows you to rename a field. - */ - columns : [], - /** - * Optional array of tools to run at load time. For - * example: tools : [ { + */ + columnSortBy: undefined, + /** + * URL to a dendrogram in Newick + * format + */ + rowDendrogram: undefined, + /** + * URL to a dendrogram in Newick + * format + */ + columnDendrogram: undefined, + + /** + * Column metadata field in dataset used to match leaf + * node ids in column dendrogram Newick file + */ + columnDendrogramField: 'id', + /** + * Row metadata field in dataset used to match leaf node + * ids in row dendrogram Newick file + */ + rowDendrogramField: 'id', + /** + * Array of objects describing how to display row + * metadata fields. Each object in the array must have + * field, and optionally display, order, and renameTo. + * Field is the metadata field name. Display is a comma + * delimited string that describes how to render a + * metadata field. Options are text, color, stacked_bar, + * bar, highlight, shape, discrete, and continuous. + * Order is a number that indicates the order in which + * the field should appear in the heat map. RenameTo + * allows you to rename a field. + */ + rows: [], + /** + * Array of objects describing how to display column + * metadata fields. Each object in the array must have + * field, and optionally display, order, and renameTo. + * Field is the metadata field name. Display is a comma + * delimited string that describes how to render a + * metadata field. Options are text, color, stacked_bar, + * bar, highlight, shape, discrete, and continuous. + * Order is a number that indicates the order in which + * the field should appear in the heat map. RenameTo + * allows you to rename a field. + */ + columns: [], + /** + * Optional array of tools to run at load time. For + * example: tools : [ { * name : 'Marker Selection', * params : { * field : [ comparisonVector.getName() ], * class_a : [ 'A' ], class_b : [ 'B' ] }} ] - */ - tools : undefined, - /** - * Optional array of {name:string, values:[]} - */ - rowFilter : undefined, - columnFilter : undefined, - customUrls : undefined, // Custom urls for File>Open. - height : 'window', // set the available height for the - // heat map. If not - // set, it will be determined automatically - width : undefined, // set the available width for the - // heat map. If not - // set, it will be determined automatically - inheritFromParent : true, - inheritFromParentOptions : { - transpose : false - }, - structureUrlProvider : undefined, - promises : undefined, // additional promises to wait - // for - renderReady : undefined, - datasetReady : undefined, - loadedCallback : undefined, - name : undefined, - rowsSortable : true, - columnsSortable : true, - popupEnabled : true, - symmetric : false, - keyboard : true, - inlineTooltip : true, - $loadingImage : $('
    Loading...
    '), - /** - * Whether this heat map tab can be closed - */ - closeable : true, - toolbar : { - zoom : true, - tools : true, - searchRows : true, - searchColumns : true, - sort : true, - options : true, - saveImage : true, - saveDataset : true, - openFile : true, - filter : true, - colorKey : true, - searchValues : false - } - }, options); + */ + tools: undefined, + /** + * Optional array of {name:string, values:[]} + */ + rowFilter: undefined, + columnFilter: undefined, + customUrls: undefined, // Custom urls for File>Open. + height: 'window', // set the available height for the + // heat map. If not + // set, it will be determined automatically + width: undefined, // set the available width for the + // heat map. If not + // set, it will be determined automatically + inheritFromParent: true, + inheritFromParentOptions: { + transpose: false + }, + structureUrlProvider: undefined, + promises: undefined, // additional promises to wait + // for + renderReady: undefined, + datasetReady: undefined, + loadedCallback: undefined, + name: undefined, + rowsSortable: true, + columnsSortable: true, + popupEnabled: true, + symmetric: false, + keyboard: true, + inlineTooltip: true, + $loadingImage: $('
    Loading...
    '), + /** + * Whether this heat map tab can be closed + */ + closeable: true, + toolbar: { + zoom: true, + tools: true, + searchRows: true, + searchColumns: true, + sort: true, + options: true, + saveImage: true, + saveDataset: true, + openFile: true, + filter: true, + colorKey: true, + searchValues: false + } + }, options); this.options = options; this.tooltipProvider = morpheus.HeatMapTooltipProvider; @@ -231,17 +231,17 @@ morpheus.HeatMap = function(options) { } if (!this.options.name) { this.options.name = morpheus.Util - .getBaseFileName(morpheus.Util - .getFileName(this.options.dataset.file ? this.options.dataset.file - : this.options.dataset)); + .getBaseFileName(morpheus.Util + .getFileName(this.options.dataset.file ? this.options.dataset.file + : this.options.dataset)); } var isPrimary = this.options.parent == null; if (this.options.parent == null) { this.tabManager = this.options.tabManager ? this.options.tabManager - : new morpheus.TabManager({ - landingPage : this.options.landingPage - }); + : new morpheus.TabManager({ + landingPage: this.options.landingPage + }); // if (window.location.hostname.indexOf('clue.io') === -1 // && window.location.pathname.indexOf('cancer/software/morpheus') === @@ -249,11 +249,11 @@ morpheus.HeatMap = function(options) { if (!morpheus.HelpMenu.ADDED) { // only show once per page morpheus.HelpMenu.ADDED = true; var $a = $(''); + + morpheus.Util.URL + + '" target="_blank">'); $a.tooltip({ - placement : 'auto' + placement: 'auto' }); // var $img = $a.find('img'); @@ -278,37 +278,37 @@ morpheus.HeatMap = function(options) { } this.$content = $('
    '); this.$content.css({ - 'width' : '100%', + 'width': '100%', - 'user-select' : 'none', + 'user-select': 'none', - '-webkit-user-select' : 'none', - '-webkit-user-drag' : 'none', - '-webkit-tap-highlight-color' : 'rgba(0, 0, 0, 0)', + '-webkit-user-select': 'none', + '-webkit-user-drag': 'none', + '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)', - '-moz-user-select' : 'none', - '-moz-user-drag' : 'none', - '-moz-tap-highlight-color' : 'rgba(0, 0, 0, 0)', + '-moz-user-select': 'none', + '-moz-user-drag': 'none', + '-moz-tap-highlight-color': 'rgba(0, 0, 0, 0)', - '-ms-user-select' : 'none', - '-ms-user-drag' : 'none', - '-ms-tap-highlight-color' : 'rgba(0, 0, 0, 0)', + '-ms-user-select': 'none', + '-ms-user-drag': 'none', + '-ms-tap-highlight-color': 'rgba(0, 0, 0, 0)', - '-o-user-select' : 'none', - '-o-user-drag' : 'none', - '-o-tap-highlight-color' : 'rgba(0, 0, 0, 0)', + '-o-user-select': 'none', + '-o-user-drag': 'none', + '-o-tap-highlight-color': 'rgba(0, 0, 0, 0)', - 'overflow-x' : 'visible', - 'overflow-y' : 'visible' + 'overflow-x': 'visible', + 'overflow-y': 'visible' }); var tab = this.tabManager.add({ - $el : this.$content, - closeable : this.options.closeable, - rename : true, - title : this.options.name, - object : this, - focus : true + $el: this.$content, + closeable: this.options.closeable, + rename: true, + title: this.options.name, + object: this, + focus: true }); if (options.$loadingImage) { options.$loadingImage.appendTo(this.$content); @@ -317,7 +317,7 @@ morpheus.HeatMap = function(options) { this.tabId = tab.id; this.$tabPanel = tab.$panel; this.options.dataSource = !options.dataset ? '' - : (options.dataset.file ? options.dataset.file : options.dataset); + : (options.dataset.file ? options.dataset.file : options.dataset); this._togglingInfoWindow = false; this.tooltipMode = 0; // 0=docked, 1=dialog, 2=follow @@ -331,10 +331,10 @@ morpheus.HeatMap = function(options) { if (options.rowAnnotations) { var rowDef = morpheus.DatasetUtil.annotate({ - annotations : options.rowAnnotations, - isColumns : false + annotations: options.rowAnnotations, + isColumns: false }); - rowDef.done(function(callbacks) { + rowDef.done(function (callbacks) { _this.whenLoaded = _this.whenLoaded.concat(callbacks); }); promises.push(rowDef); @@ -342,43 +342,43 @@ morpheus.HeatMap = function(options) { } if (options.columnAnnotations) { var columnDef = morpheus.DatasetUtil.annotate({ - annotations : options.columnAnnotations, - isColumns : true + annotations: options.columnAnnotations, + isColumns: true }); - columnDef.done(function(callbacks) { + columnDef.done(function (callbacks) { _this.whenLoaded = _this.whenLoaded.concat(callbacks); }); promises.push(columnDef); } if (options.rowDendrogram !== undefined - && _.isString(options.rowDendrogram)) { + && _.isString(options.rowDendrogram)) { var rowDendrogramDeferred = morpheus.Util - .getText(options.rowDendrogram); - rowDendrogramDeferred.done(function(text) { + .getText(options.rowDendrogram); + rowDendrogramDeferred.done(function (text) { _this.options.rowDendrogram = morpheus.AbstractDendrogram - .parseNewick(text); + .parseNewick(text); }); promises.push(rowDendrogramDeferred); } if (options.columnDendrogram !== undefined - && _.isString(options.columnDendrogram)) { + && _.isString(options.columnDendrogram)) { var columnDendrogramDeferred = morpheus.Util - .getText(options.columnDendrogram); - columnDendrogramDeferred.done(function(text) { + .getText(options.columnDendrogram); + columnDendrogramDeferred.done(function (text) { _this.options.columnDendrogram = morpheus.AbstractDendrogram - .parseNewick(text); + .parseNewick(text); }); promises.push(columnDendrogramDeferred); } - var heatMapLoaded = function() { + var heatMapLoaded = function () { if (typeof window !== 'undefined') { - var resize = function() { + var resize = function () { _this.revalidate(); }; $(window).on('orientationchange resize', resize); - _this.$content.on('remove', function() { + _this.$content.on('remove', function () { $(window).off('orientationchange resize', resize); }); } @@ -392,81 +392,81 @@ morpheus.HeatMap = function(options) { }; if (morpheus.Util.isArray(options.dataset)) { var d = morpheus.DatasetUtil.readDatasetArray(options.dataset); - d.fail(function(message) { + d.fail(function (message) { if (_this.options.$loadingImage) { _this.options.$loadingImage.remove(); } morpheus.FormBuilder.showInModal({ - title : 'Error', - html : message + title: 'Error', + html: message }); }); d - .done(function(joined) { - if (_this.options.$loadingImage) { - _this.options.$loadingImage.remove(); - } + .done(function (joined) { + if (_this.options.$loadingImage) { + _this.options.$loadingImage.remove(); + } - _this.options.dataset = joined; - _this._init(); - if (joined.getRowMetadata().getByName('Source') != null - && !_this.options.colorScheme) { - _this.heatmap.getColorScheme() - .setSeparateColorSchemeForRowMetadataField( - 'Source'); - } + _this.options.dataset = joined; + _this._init(); + if (joined.getRowMetadata().getByName('Source') != null + && !_this.options.colorScheme) { + _this.heatmap.getColorScheme() + .setSeparateColorSchemeForRowMetadataField( + 'Source'); + } + + _ + .each( + options.dataset, + function (option) { + if (option.colorScheme) { + _this.heatmap + .getColorScheme() + .setCurrentValue( + morpheus.Util + .getBaseFileName(morpheus.Util + .getFileName(option.dataset))); + _this.heatmap + .getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier(option.colorScheme)); + + } else { + try { + _this + .autoDisplay({ + extension: morpheus.Util + .getExtension(morpheus.Util + .getFileName(option.dataset)), + filename: morpheus.Util + .getBaseFileName(morpheus.Util + .getFileName(option.dataset)) + }); + } catch (x) { + console + .log('Autodisplay errror'); + } - _ - .each( - options.dataset, - function(option) { - if (option.colorScheme) { - _this.heatmap - .getColorScheme() - .setCurrentValue( - morpheus.Util - .getBaseFileName(morpheus.Util - .getFileName(option.dataset))); - _this.heatmap - .getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(option.colorScheme)); - - } else { - try { - _this - .autoDisplay({ - extension : morpheus.Util - .getExtension(morpheus.Util - .getFileName(option.dataset)), - filename : morpheus.Util - .getBaseFileName(morpheus.Util - .getFileName(option.dataset)) - }); - } catch (x) { - console - .log('Autodisplay errror'); - } - - } - }); - - heatMapLoaded(); + } }); + + heatMapLoaded(); + }); } else { var deferred = options.dataset.file ? morpheus.DatasetUtil.read( - options.dataset.file, options.dataset.options) - : morpheus.DatasetUtil.read(options.dataset); - deferred.done(function(dataset) { + options.dataset.file, options.dataset.options) + : morpheus.DatasetUtil.read(options.dataset); + deferred.done(function (dataset) { _this.options.dataset = dataset; }); - deferred.fail(function(err) { + deferred.fail(function (err) { _this.options.$loadingImage.remove(); - var message = [ 'Error opening ' - + (options.dataset.file ? morpheus.Util - .getFileName(options.dataset.file) : morpheus.Util - .getFileName(options.dataset)) + '.' ]; + var message = ['Error opening ' + + (options.dataset.file ? morpheus.Util + .getFileName(options.dataset.file) : morpheus.Util + .getFileName(options.dataset)) + '.']; if (err.message) { message.push('
    Cause: '); @@ -474,13 +474,13 @@ morpheus.HeatMap = function(options) { } morpheus.FormBuilder.showInModal({ - title : 'Error', - html : message.join('') + title: 'Error', + html: message.join('') }); }); promises.push(deferred); - $.when.apply($, promises).then(function() { + $.when.apply($, promises).then(function () { if (_this.options.$loadingImage) { _this.options.$loadingImage.remove(); } @@ -492,45 +492,45 @@ morpheus.HeatMap = function(options) { morpheus.HeatMap.SPACE_BETWEEN_HEAT_MAP_AND_ANNOTATIONS = 6; -morpheus.HeatMap.showTool = function(tool, controller, callback) { +morpheus.HeatMap.showTool = function (tool, controller, callback) { if (tool.gui) { var gui = tool.gui(controller.getProject()); var formBuilder = new morpheus.FormBuilder(); - _.each(gui, function(item) { + _.each(gui, function (item) { formBuilder.append(item); }); var tabId = controller.getTabManager().getActiveTabId(); if (tool.init) { tool.init(controller.getProject(), formBuilder, { - controller : controller + controller: controller }); } - var okCallback = function() { + var okCallback = function () { var task = { - name : tool.toString(), - tabId : tabId + name: tool.toString(), + tabId: tabId }; controller.getTabManager().addTask(task); var input = {}; - _.each(gui, function(item) { + _.each(gui, function (item) { input[item.name] = formBuilder.getValue(item.name); }); // give a chance for ui to update - setTimeout(function() { + setTimeout(function () { try { var value = tool.execute({ - controller : controller, - project : controller.getProject(), - input : input + controller: controller, + project: controller.getProject(), + input: input }); if (value instanceof Worker) { - value.onerror = function(e) { + value.onerror = function (e) { task.worker.terminate(); morpheus.FormBuilder.showInModal({ - title : 'Error', - html : e, - close : 'Close' + title: 'Error', + html: e, + close: 'Close' }); if (e.stack) { console.log(e.stack); @@ -538,7 +538,7 @@ morpheus.HeatMap.showTool = function(tool, controller, callback) { }; var terminate = _.bind(value.terminate, value); task.worker = value; - value.terminate = function() { + value.terminate = function () { terminate(); try { controller.getTabManager().removeTask(task); @@ -556,9 +556,9 @@ morpheus.HeatMap.showTool = function(tool, controller, callback) { } } catch (e) { morpheus.FormBuilder.showInModal({ - title : 'Error', - html : e, - close : 'Close' + title: 'Error', + html: e, + close: 'Close' }); if (e.stack) { console.log(e.stack); @@ -579,38 +579,38 @@ morpheus.HeatMap.showTool = function(tool, controller, callback) { }, 0); }; var $formDiv; - tool.ok = function() { + tool.ok = function () { okCallback(); $formDiv.modal('hide'); }; var guiOptions = $.extend({}, { - ok : true + ok: true }, gui.options); $formDiv = morpheus.FormBuilder.showOkCancel({ - title : tool.toString(), - apply : tool.apply, - ok : guiOptions.ok, - size : guiOptions.size, - draggable : true, - content : formBuilder.$form, - align : 'right', - okCallback : okCallback + title: tool.toString(), + apply: tool.apply, + ok: guiOptions.ok, + size: guiOptions.size, + draggable: true, + content: formBuilder.$form, + align: 'right', + okCallback: okCallback }); } else { // run headless try { var value = tool.execute({ - controller : controller, - project : controller.getProject(), - input : {} + controller: controller, + project: controller.getProject(), + input: {} }); if (callback) { callback({}); } } catch (e) { morpheus.FormBuilder.showInModal({ - title : 'Error', - html : e, - close : 'Close' + title: 'Error', + html: e, + close: 'Close' }); if (e.stack) { console.log(e.stack); @@ -622,11 +622,11 @@ morpheus.HeatMap.showTool = function(tool, controller, callback) { } } morpheus.Util.trackEvent({ - eventCategory : 'Tool', - eventAction : tool.toString() + eventCategory: 'Tool', + eventAction: tool.toString() }); }; -morpheus.HeatMap.getSpaces = function(groupByKeys, length, gapSize) { +morpheus.HeatMap.getSpaces = function (groupByKeys, length, gapSize) { var previousArray = []; var nkeys = groupByKeys.length; for (var keyIndex = 0; keyIndex < nkeys; keyIndex++) { @@ -647,7 +647,7 @@ morpheus.HeatMap.getSpaces = function(groupByKeys, length, gapSize) { isEqual = false; for (var keyIndex2 = 0; keyIndex2 < nkeys; keyIndex2++) { previousArray[keyIndex2] = groupByKeys[keyIndex2] - .getValue(i); + .getValue(i); } break; } @@ -659,57 +659,57 @@ morpheus.HeatMap.getSpaces = function(groupByKeys, length, gapSize) { } return spaces; }; -morpheus.HeatMap.createGroupBySpaces = function(dataset, groupByKeys, gapSize) { +morpheus.HeatMap.createGroupBySpaces = function (dataset, groupByKeys, gapSize) { if (groupByKeys.length > 0) { var nkeys = groupByKeys.length; for (var keyIndex = 0; keyIndex < nkeys; keyIndex++) { groupByKeys[keyIndex].init(dataset); } return morpheus.HeatMap.getSpaces(groupByKeys, dataset.getRowCount(), - gapSize); + gapSize); } }; -morpheus.HeatMap.isDendrogramVisible = function(project, isColumns) { +morpheus.HeatMap.isDendrogramVisible = function (project, isColumns) { var sortKeys = isColumns ? project.getColumnSortKeys() : project - .getRowSortKeys(); + .getRowSortKeys(); // var filter = isColumns ? this.project.getColumnFilter() // : this.project.getRowFilter(); var size = isColumns ? project.getSortedFilteredDataset().getColumnCount() - : project.getSortedFilteredDataset().getRowCount(); + : project.getSortedFilteredDataset().getRowCount(); if (sortKeys.length === 1) { return sortKeys[0] instanceof morpheus.SpecifiedModelSortOrder - && sortKeys[0].name === 'dendrogram' - && sortKeys[0].nvisible === size; + && sortKeys[0].name === 'dendrogram' + && sortKeys[0].nvisible === size; } }; morpheus.HeatMap.prototype = { - gapSize : 10, - updatingScroll : false, - autoDisplay : function(options) { + gapSize: 10, + updatingScroll: false, + autoDisplay: function (options) { if (options.filename == null) { options.filename = ''; } var colorScheme; if (options.extension === 'segtab' || options.extension === 'seg') { colorScheme = { - type : 'fixed', - map : morpheus.HeatMapColorScheme.Predefined.CN().map - .map(function(item) { - return { - value : Math.pow(2, 1 + item.value), - color : item.color - }; - }) + type: 'fixed', + map: morpheus.HeatMapColorScheme.Predefined.CN().map + .map(function (item) { + return { + value: Math.pow(2, 1 + item.value), + color: item.color + }; + }) }; } else if (options.extension === 'maf') { colorScheme = morpheus.HeatMapColorScheme.Predefined.MAF(); var colorMap = morpheus.HeatMapColorScheme.Predefined.MAF().map; var rowMutProfile = this.project.getFullDataset().getRowMetadata() - .getByName('mutation_summary'); + .getByName('mutation_summary'); var columnMutProfile = this.project.getFullDataset() - .getColumnMetadata().getByName('mutation_summary'); + .getColumnMetadata().getByName('mutation_summary'); var track = this.getTrack('mutation_summary', false); if (track) { @@ -722,67 +722,67 @@ morpheus.HeatMap.prototype = { for (var i = 1; i < colorMap.length; i++) { if (rowMutProfile) { this.getProject().getRowColorModel().setMappedValue( - rowMutProfile, i - 1, colorMap[i].color); + rowMutProfile, i - 1, colorMap[i].color); } if (columnMutProfile) { this.getProject().getColumnColorModel().setMappedValue( - columnMutProfile, i - 1, colorMap[i].color); + columnMutProfile, i - 1, colorMap[i].color); } } } else if (options.extension === 'gmt') { colorScheme = morpheus.HeatMapColorScheme.Predefined.BINARY(); } else if (options.filename === 'all_lesions.conf_99' - || options.filename === 'all_data_by_genes.txt') { + || options.filename === 'all_data_by_genes.txt') { colorScheme = { - type : 'fixed', - map : [ { - value : -0.5, - color : 'blue' + type: 'fixed', + map: [{ + value: -0.5, + color: 'blue' }, { - value : 0, - color : 'white' + value: 0, + color: 'white' }, { - value : 0.5, - color : 'red' - } ] + value: 0.5, + color: 'red' + }] }; } else if (options.filename.toLowerCase().indexOf('copynumber') !== -1) { colorScheme = { - type : 'fixed', - map : [ { - value : -1.5, - color : 'blue' + type: 'fixed', + map: [{ + value: -1.5, + color: 'blue' }, { - value : 0, - color : 'white' + value: 0, + color: 'white' }, { - value : 1.5, - color : 'red' - } ] + value: 1.5, + color: 'red' + }] }; } if (colorScheme && options.filename) { this.heatmap.getColorScheme().setCurrentValue(options.filename); this.heatmap.getColorScheme().setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(colorScheme)); + morpheus.HeatMapColorScheme + .createColorSupplier(colorScheme)); } return colorScheme; }, /** - * + * * @param sortOrder * @param isColumns * Whether sorting based on column selection * @param append * Whether to add to existing sort order */ - sortBasedOnSelection : function(sortOrder, isColumns, append) { + sortBasedOnSelection: function (sortOrder, isColumns, append) { // if isColumns, sort rows var project = this.project; var selectionModel = isColumns ? project.getColumnSelectionModel() - : project.getRowSelectionModel(); + : project.getRowSelectionModel(); var modelIndices = selectionModel.toModelIndices(); if (modelIndices.length === 0) { return; @@ -792,12 +792,12 @@ morpheus.HeatMap.prototype = { if (sortOrder == null) { // toggle sort order? var existingSortKeys = isColumns ? project.getRowSortKeys() - : project.getColumnSortKeys(); + : project.getColumnSortKeys(); for (var i = 0, length = existingSortKeys.length; i < length; i++) { var key = existingSortKeys[i]; if (key instanceof morpheus.SortByValuesKey - && morpheus.Util.arrayEquals(key.modelIndices, - modelIndices)) { + && morpheus.Util.arrayEquals(key.modelIndices, + modelIndices)) { priorSortKeyIndex = i; if (key.getSortOrder() === morpheus.SortKey.SortOrder.UNSORTED) { sortOrder = morpheus.SortKey.SortOrder.DESCENDING; // 1st @@ -825,7 +825,7 @@ morpheus.HeatMap.prototype = { var sortKeys; if (append) { sortKeys = !isColumns ? project.getColumnSortKeys() : project - .getRowSortKeys(); + .getRowSortKeys(); if (priorSortKeyIndex !== -1) { if (sortOrder === morpheus.SortKey.SortOrder.UNSORTED) { @@ -838,22 +838,22 @@ morpheus.HeatMap.prototype = { } else { if (sortOrder !== morpheus.SortKey.SortOrder.UNSORTED) { sortKeys.push(new morpheus.SortByValuesKey(modelIndices, - sortOrder, !isColumns)); + sortOrder, !isColumns)); } // add new sort key } sortKeys = morpheus.SortKey.keepExistingSortKeys(sortKeys, - !isColumns ? project.getColumnSortKeys() : project - .getRowSortKeys()); + !isColumns ? project.getColumnSortKeys() : project + .getRowSortKeys()); } else { var newSortKeys = sortOrder === morpheus.SortKey.SortOrder.UNSORTED ? [] - : [ new morpheus.SortByValuesKey(modelIndices, sortOrder, - !isColumns) ]; + : [new morpheus.SortByValuesKey(modelIndices, sortOrder, + !isColumns)]; sortKeys = morpheus.SortKey.keepExistingSortKeys(newSortKeys, - !isColumns ? project.getColumnSortKeys() : project - .getRowSortKeys()); + !isColumns ? project.getColumnSortKeys() : project + .getRowSortKeys()); } if (!isColumns) { // sort columns by selected rows @@ -865,22 +865,22 @@ morpheus.HeatMap.prototype = { } }, - getToolbarElement : function() { + getToolbarElement: function () { return this.toolbar.$el; }, - getToolbar : function() { + getToolbar: function () { return this.toolbar; }, - setName : function(name) { + setName: function (name) { this.options.name = name; }, - getName : function() { + getName: function () { return this.options.name; }, - showOptions : function() { + showOptions: function () { new morpheus.HeatMapOptions(this); }, - getProject : function() { + getProject: function () { return this.project; }, /** @@ -888,7 +888,7 @@ morpheus.HeatMap.prototype = { * An object with maxHeight, a rootNode, leafNodes, and * nLeafNodes */ - setDendrogram : function(tree, isColumns, viewIndices) { + setDendrogram: function (tree, isColumns, viewIndices) { var dendrogram = isColumns ? this.columnDendrogram : this.rowDendrogram; if (dendrogram) { dendrogram.dispose(); @@ -898,16 +898,16 @@ morpheus.HeatMap.prototype = { var modelIndices = []; var modelIndexSet = new morpheus.Set(); var size = isColumns ? this.project.getFullDataset() - .getColumnCount() : this.project.getFullDataset() - .getRowCount(); + .getColumnCount() : this.project.getFullDataset() + .getRowCount(); for (var i = 0; i < size; i++) { modelIndexSet.add(i); } for (var i = 0, length = viewIndices.length; i < length; i++) { var modelIndex = isColumns ? this.project - .convertViewColumnIndexToModel(viewIndices[i]) - : this.project - .convertViewRowIndexToModel(viewIndices[i]); + .convertViewColumnIndexToModel(viewIndices[i]) + : this.project + .convertViewRowIndexToModel(viewIndices[i]); modelIndices.push(modelIndex); modelIndexSet.remove(modelIndex); } @@ -921,21 +921,21 @@ morpheus.HeatMap.prototype = { } if (isColumns) { dendrogram = new morpheus.ColumnDendrogram(this, tree, - this.heatmap.getColumnPositions(), this.project); + this.heatmap.getColumnPositions(), this.project); dendrogram.filter = this.project.getColumnFilter() - .shallowClone(); + .shallowClone(); this.columnDendrogram = dendrogram; this.project.setColumnSortKeys( - [ new morpheus.SpecifiedModelSortOrder(modelIndices, - nvisible, 'dendrogram') ], true); + [new morpheus.SpecifiedModelSortOrder(modelIndices, + nvisible, 'dendrogram')], true); } else { dendrogram = new morpheus.RowDendrogram(this, tree, - this.heatmap.getRowPositions(), this.project); + this.heatmap.getRowPositions(), this.project); dendrogram.filter = this.project.getRowFilter().shallowClone(); this.rowDendrogram = dendrogram; this.project.setRowSortKeys( - [ new morpheus.SpecifiedModelSortOrder(modelIndices, - nvisible, 'dendrogram') ], true); + [new morpheus.SpecifiedModelSortOrder(modelIndices, + nvisible, 'dendrogram')], true); } dendrogram.appendTo(this.$parent); dendrogram.$label.appendTo(this.$parent); @@ -943,11 +943,11 @@ morpheus.HeatMap.prototype = { } else { // no more dendrogram var sortKeys = isColumns ? this.project.getColumnSortKeys() - : this.project.getRowSortKeys(); + : this.project.getRowSortKeys(); // remove dendrogram sort key for (var i = 0; i < sortKeys.length; i++) { if (sortKeys[i] instanceof morpheus.SpecifiedModelSortOrder - && sortKeys[i].name === 'dendrogram') { + && sortKeys[i].name === 'dendrogram') { sortKeys.splice(i, 1); i--; } @@ -965,46 +965,46 @@ morpheus.HeatMap.prototype = { } // FIXME update grouping this.trigger('dendrogramChanged', { - isColumns : isColumns + isColumns: isColumns }); }, - setCustomUrls : function(customUrls) { + setCustomUrls: function (customUrls) { this._customUrls = customUrls; }, - getTabManager : function() { + getTabManager: function () { return this.tabManager; }, - getSelectedElementsText : function() { + getSelectedElementsText: function () { var _this = this; var project = this.project; var selectedViewIndices = project.getElementSelectionModel() - .getViewIndices(); + .getViewIndices(); if (selectedViewIndices.size() > 0) { var tipText = []; var dataset = project.getSortedFilteredDataset(); - var rowTracks = _this.rowTracks.filter(function(t) { + var rowTracks = _this.rowTracks.filter(function (t) { return t.settings.inlineTooltip; }); - var columnTracks = _this.columnTracks.filter(function(t) { + var columnTracks = _this.columnTracks.filter(function (t) { return t.settings.inlineTooltip; }); - selectedViewIndices.forEach(function(id) { + selectedViewIndices.forEach(function (id) { var rowIndex = id.getArray()[0]; var columnIndex = id.getArray()[1]; tipText.push(morpheus.Util.nf(dataset.getValue(rowIndex, - columnIndex))); - rowTracks.forEach(function(track) { + columnIndex))); + rowTracks.forEach(function (track) { tipText.push('\t'); tipText.push(morpheus.Util.formatObject(dataset - .getRowMetadata().getByName(track.name).getValue( - rowIndex))); + .getRowMetadata().getByName(track.name).getValue( + rowIndex))); }); - columnTracks.forEach(function(track) { + columnTracks.forEach(function (track) { tipText.push('\t'); tipText.push(morpheus.Util.formatObject(dataset - .getColumnMetadata().getByName(track.name) - .getValue(columnIndex))); + .getColumnMetadata().getByName(track.name) + .getValue(columnIndex))); }); tipText.push('\n'); @@ -1015,13 +1015,13 @@ morpheus.HeatMap.prototype = { } }, - _init : function() { + _init: function () { var _this = this; morpheus.MetadataUtil.renameFields(this.options.dataset, this.options); var dataset = this.options.dataset; var rowDendrogram = this.options.rowDendrogram; var columnDendrogram = this.options.columnDendrogram; - _.each(this.whenLoaded, function(f) { + _.each(this.whenLoaded, function (f) { try { f(_this.options.dataset); } catch (x) { @@ -1047,48 +1047,48 @@ morpheus.HeatMap.prototype = { } this.project = this.options.symmetric ? new morpheus.SymmetricProject( - dataset) : new morpheus.Project(dataset); + dataset) : new morpheus.Project(dataset); this.tabManager.setTabTitle(this.tabId, this.project.getFullDataset() - .getRowCount() - + ' row' - + morpheus.Util.s(this.project.getFullDataset().getRowCount()) - + ' x ' - + this.project.getFullDataset().getColumnCount() - + ' column' - + morpheus.Util.s(this.project.getFullDataset() - .getColumnCount())); + .getRowCount() + + ' row' + + morpheus.Util.s(this.project.getFullDataset().getRowCount()) + + ' x ' + + this.project.getFullDataset().getColumnCount() + + ' column' + + morpheus.Util.s(this.project.getFullDataset() + .getColumnCount())); if (this.options.inheritFromParent && this.options.parent != null) { morpheus.HeatMap.copyFromParent(this.project, this.options); } - var createFiltersFromOptions = function(filters, isColumns) { + var createFiltersFromOptions = function (filters, isColumns) { // name, 1. set if string filter, 2. min, max if range filter // 3. top and isTop if top n filter - _.each(filters, function(filter) { + _.each(filters, function (filter) { if (filter.values) { if ((isColumns ? _this.project.getFullDataset() - .getColumnMetadata().getByName(filter.name) + .getColumnMetadata().getByName(filter.name) : _this.project.getFullDataset().getRowMetadata() - .getByName(filter.name)) != null) { + .getByName(filter.name)) != null) { var set = new morpheus.Set(); for (var i = 0; i < filter.values.length; i++) { set.add(filter.values[i]); } (isColumns ? _this.project.getColumnFilter() - : _this.project.getRowFilter()) - .add(new morpheus.VectorFilter(set, -1, - filter.name)); + : _this.project.getRowFilter()) + .add(new morpheus.VectorFilter(set, -1, + filter.name)); } } else { (isColumns ? _this.project.getColumnFilter() - : _this.project.getRowFilter()).add(filter); + : _this.project.getRowFilter()).add(filter); } }); // filter ui will be initialized automatically if (isColumns) { _this.project.setColumnFilter(_this.project.getColumnFilter(), - true); + true); } else { _this.project.setRowFilter(_this.project.getRowFilter()); } @@ -1115,15 +1115,15 @@ morpheus.HeatMap.prototype = { // size of the heat map this.vscroll = new morpheus.ScrollBar(true); this.vscroll.appendTo(this.$parent); - this.vscroll.on('scroll', function() { + this.vscroll.on('scroll', function () { if (_this.updatingScroll) { return; } _this.paintAll({ - paintRows : true, - paintColumns : false, - invalidateRows : true, - invalidateColumns : false + paintRows: true, + paintColumns: false, + invalidateRows: true, + invalidateColumns: false }); }); @@ -1131,14 +1131,14 @@ morpheus.HeatMap.prototype = { this.beforeColumnTrackDivider = new morpheus.Divider(false); this.beforeColumnTrackDivider.appendTo(this.$parent); var dragStartHeight = 0; - this.beforeColumnTrackDivider.on('resizeStart', function(e) { + this.beforeColumnTrackDivider.on('resizeStart', function (e) { dragStartHeight = _this.columnDendrogram.getUnscaledHeight(); - }).on('resize', function(e) { + }).on('resize', function (e) { // grow or shrink the column dendrogram var newHeight = Math.max(8, dragStartHeight + e.delta); _this.columnDendrogram.setPrefHeight(newHeight); _this.revalidate(); - }).on('resizeEnd', function() { + }).on('resizeEnd', function () { dragStartHeight = 0; }); @@ -1146,23 +1146,23 @@ morpheus.HeatMap.prototype = { this.afterRowDendrogramDivider = new morpheus.Divider(true); this.afterRowDendrogramDivider.appendTo(this.$parent); var rowDendrogramStartWidth = 0; - this.afterRowDendrogramDivider.on('resizeStart', function(e) { + this.afterRowDendrogramDivider.on('resizeStart', function (e) { rowDendrogramStartWidth = _this.rowDendrogram.getUnscaledWidth(); - }).on('resize', function(e) { + }).on('resize', function (e) { // grow or shrink the column dendrogram var newWidth = Math.max(8, rowDendrogramStartWidth + e.delta); _this.rowDendrogram.setPrefWidth(newWidth); _this.revalidate(); - }).on('resizeEnd', function() { + }).on('resizeEnd', function () { rowDendrogramStartWidth = 0; }); this.afterVerticalScrollBarDivider = new morpheus.Divider(true); this.afterVerticalScrollBarDivider.appendTo(this.$parent); var resizeStartHeatMapWidth = 0; - this.afterVerticalScrollBarDivider.on('resizeStart', function(e) { + this.afterVerticalScrollBarDivider.on('resizeStart', function (e) { resizeStartHeatMapWidth = _this.heatmap.getUnscaledWidth(); - }).on('resize', function(e) { + }).on('resize', function (e) { // grow or shrink the heat map _this.heatmap.prefWidth = resizeStartHeatMapWidth + e.delta; _this.revalidate(); @@ -1170,15 +1170,15 @@ morpheus.HeatMap.prototype = { // horizontal scroll this.hscroll = new morpheus.ScrollBar(false); this.hscroll.appendTo(this.$parent); - this.hscroll.on('scroll', function() { + this.hscroll.on('scroll', function () { if (_this.updatingScroll) { return; } _this.paintAll({ - paintRows : false, - paintColumns : true, - invalidateRows : false, - invalidateColumns : true + paintRows: false, + paintColumns: true, + invalidateRows: false, + invalidateColumns: true }); }); var heatmap = new morpheus.HeatMapElementCanvas(this.project); @@ -1187,73 +1187,73 @@ morpheus.HeatMap.prototype = { } $(heatmap.canvas) - .on( - 'contextmenu', - function(e) { - - morpheus.Popup - .showPopup( - [ - - { - name : 'Copy', - disabled : _this.project - .getElementSelectionModel() - .count() === 0 - }, - { - name : 'Save Image (Ctrl-S)' - }, - { - separator : true - }, - { - name : 'Show Inline Tooltip', - checked : _this.options.inlineTooltip - } ], - { - x : e.pageX, - y : e.pageY - }, - e.target, - function(event, item) { - if (item === 'Show Inline Tooltip') { - _this.options.inlineTooltip = !_this.options.inlineTooltip; - } else if (item === 'Save Image (Ctrl-S)') { - morpheus.HeatMap - .showTool( - new morpheus.SaveImageTool(), - _this); - } else if ('Copy') { - var text = _this - .getSelectedElementsText(); - if (text !== '') { - event.clipboardData - .setData( - 'text/plain', - text); - } - } - }); - - e.preventDefault(); - e.stopPropagation(); - e.stopImmediatePropagation(); - }); + .on( + 'contextmenu', + function (e) { + + morpheus.Popup + .showPopup( + [ + + { + name: 'Copy', + disabled: _this.project + .getElementSelectionModel() + .count() === 0 + }, + { + name: 'Save Image (Ctrl-S)' + }, + { + separator: true + }, + { + name: 'Show Inline Tooltip', + checked: _this.options.inlineTooltip + }], + { + x: e.pageX, + y: e.pageY + }, + e.target, + function (event, item) { + if (item === 'Show Inline Tooltip') { + _this.options.inlineTooltip = !_this.options.inlineTooltip; + } else if (item === 'Save Image (Ctrl-S)') { + morpheus.HeatMap + .showTool( + new morpheus.SaveImageTool(), + _this); + } else if ('Copy') { + var text = _this + .getSelectedElementsText(); + if (text !== '') { + event.clipboardData + .setData( + 'text/plain', + text); + } + } + }); + + e.preventDefault(); + e.stopPropagation(); + e.stopImmediatePropagation(); + }); heatmap.appendTo(this.$parent); this.heatmap = heatmap; var rowDendrogramSortKey = null; if (rowDendrogram != undefined) { var tree = rowDendrogram; if (tree.leafNodes.length !== this.project.getFullDataset() - .getRowCount()) { + .getRowCount()) { throw '# leaf nodes in row dendrogram ' + tree.leafNodes.length - + ' != ' + this.project.getFullDataset().getRowCount(); + + ' != ' + this.project.getFullDataset().getRowCount(); } if (this.options.rowDendrogramField != null) { var vector = dataset.getRowMetadata().getByName( - this.options.rowDendrogramField); + this.options.rowDendrogramField); var rowIndices = []; var map = new morpheus.Map(); var re = /[,:]/g; @@ -1268,8 +1268,8 @@ morpheus.HeatMap.prototype = { var index = map.get(tree.leafNodes[i].name); if (index === undefined) { throw 'Unable to find row dendrogram id ' - + tree.leafNodes[i].name - + ' in row annotations'; + + tree.leafNodes[i].name + + ' in row annotations'; } rowIndices.push(index); } @@ -1279,9 +1279,9 @@ morpheus.HeatMap.prototype = { } } this.rowDendrogram = new morpheus.RowDendrogram(this, tree, heatmap - .getRowPositions(), this.project, true); + .getRowPositions(), this.project, true); rowDendrogramSortKey = new morpheus.SpecifiedModelSortOrder( - rowIndices, rowIndices.length, 'dendrogram'); + rowIndices, rowIndices.length, 'dendrogram'); this.rowDendrogram.appendTo(this.$parent); this.rowDendrogram.$label.appendTo(this.$parent); this.rowDendrogram.$squishedLabel.appendTo(this.$parent); @@ -1291,15 +1291,15 @@ morpheus.HeatMap.prototype = { var tree = columnDendrogram; if (tree.leafNodes.length !== this.project.getFullDataset() - .getColumnCount()) { + .getColumnCount()) { throw '# leaf nodes ' + tree.leafNodes.length + ' != ' - + this.project.getFullDataset().getColumnCount(); + + this.project.getFullDataset().getColumnCount(); } var columnIndices = []; if (this.options.columnDendrogramField != null) { var vector = dataset.getColumnMetadata().getByName( - this.options.columnDendrogramField); + this.options.columnDendrogramField); var map = new morpheus.Map(); var re = /[,:]/g; for (var j = 0, size = vector.size(); j < size; j++) { @@ -1311,8 +1311,8 @@ morpheus.HeatMap.prototype = { var index = map.get(tree.leafNodes[i].name); if (index === undefined) { throw 'Unable to find column dendrogram id ' - + tree.leafNodes[i].name - + ' in column annotations'; + + tree.leafNodes[i].name + + ' in column annotations'; } columnIndices.push(index); } @@ -1323,23 +1323,23 @@ morpheus.HeatMap.prototype = { } this.columnDendrogram = new morpheus.ColumnDendrogram(this, tree, - heatmap.getColumnPositions(), this.project, true); + heatmap.getColumnPositions(), this.project, true); columnDendrogramSortKey = new morpheus.SpecifiedModelSortOrder( - columnIndices, columnIndices.length, 'dendrogram'); + columnIndices, columnIndices.length, 'dendrogram'); this.columnDendrogram.appendTo(this.$parent); this.columnDendrogram.$label.appendTo(this.$parent); this.columnDendrogram.$squishedLabel.appendTo(this.$parent); } if (rowDendrogramSortKey !== null) { - this.project.setRowSortKeys([ rowDendrogramSortKey ]); + this.project.setRowSortKeys([rowDendrogramSortKey]); } if (columnDendrogramSortKey !== null) { - this.project.setColumnSortKeys([ columnDendrogramSortKey ]); + this.project.setColumnSortKeys([columnDendrogramSortKey]); } if (this.options.rowGroupBy != null) { for (var i = 0; i < this.options.rowGroupBy.length; i++) { var key = new morpheus.SortKey(this.options.rowGroupBy[i], - morpheus.SortKey.SortOrder.UNSORTED); + morpheus.SortKey.SortOrder.UNSORTED); this.project.groupRows.push(key); } } @@ -1348,16 +1348,16 @@ morpheus.HeatMap.prototype = { for (var i = 0; i < this.options.rowSortBy.length; i++) { var sortBy = this.options.rowSortBy[i]; if (sortBy.modelIndices != null - && morpheus.Util.isArray(sortBy.modelIndices)) { + && morpheus.Util.isArray(sortBy.modelIndices)) { // sort by values keys.push(new morpheus.SortByValuesKey( - this.options.rowSortBy[i].modelIndices, - this.options.rowSortBy[i].order, false)); + this.options.rowSortBy[i].modelIndices, + this.options.rowSortBy[i].order, false)); } else { // name is deprecated, use field var name = sortBy.name != null ? sortBy.name : sortBy.field; if (this.project.getFullDataset().getRowMetadata() - .getByName(name) != null) { + .getByName(name) != null) { keys.push(new morpheus.SortKey(name, sortBy.order)); } } @@ -1367,7 +1367,7 @@ morpheus.HeatMap.prototype = { if (this.options.columnGroupBy != null) { for (var i = 0; i < this.options.columnGroupBy.length; i++) { var key = new morpheus.SortKey(this.options.columnGroupBy[i], - morpheus.SortKey.SortOrder.UNSORTED); + morpheus.SortKey.SortOrder.UNSORTED); this.project.groupColumns.push(key); } } @@ -1376,14 +1376,14 @@ morpheus.HeatMap.prototype = { for (var i = 0; i < this.options.columnSortBy.length; i++) { var sortBy = this.options.columnSortBy[i]; if (sortBy.modelIndices != null - && morpheus.Util.isArray(sortBy.modelIndices)) { + && morpheus.Util.isArray(sortBy.modelIndices)) { keys.push(new morpheus.SortByValuesKey(sortBy.modelIndices, - sortBy.order, true)); + sortBy.order, true)); } else { // name is deprecated, use field var name = sortBy.name != null ? sortBy.name : sortBy.field; if (this.project.getFullDataset().getColumnMetadata() - .getByName(name) != null) { + .getByName(name) != null) { keys.push(new morpheus.SortKey(name, sortBy.order)); } } @@ -1391,22 +1391,22 @@ morpheus.HeatMap.prototype = { this.project.setColumnSortKeys(keys, false); } this.vSortByValuesIndicator = new morpheus.SortByValuesIndicator( - this.project, true, heatmap.getRowPositions()); + this.project, true, heatmap.getRowPositions()); this.vSortByValuesIndicator.appendTo(this.$parent); this.hSortByValuesIndicator = new morpheus.SortByValuesIndicator( - this.project, false, heatmap.getColumnPositions()); + this.project, false, heatmap.getColumnPositions()); this.hSortByValuesIndicator.appendTo(this.$parent); this.verticalSearchBar = new morpheus.ScentedSearch(this.project - .getRowSelectionModel(), heatmap.getRowPositions(), true, - this.vscroll, this); + .getRowSelectionModel(), heatmap.getRowPositions(), true, + this.vscroll, this); this.horizontalSearchBar = new morpheus.ScentedSearch(this.project - .getColumnSelectionModel(), heatmap.getColumnPositions(), - false, this.hscroll, this); + .getColumnSelectionModel(), heatmap.getColumnPositions(), + false, this.hscroll, this); this.rowTracks = []; this.rowTrackHeaders = []; this.columnTracks = []; this.columnTrackHeaders = []; - var setInitialDisplay = function(isColumns, options) { + var setInitialDisplay = function (isColumns, options) { var nameToOption = new morpheus.Map(); // at // least @@ -1414,29 +1414,29 @@ morpheus.HeatMap.prototype = { // display option // supplied var displaySpecified = false || (_this.options.parent != null && _this.options.inheritFromParent); - _.each(options, function(option) { + _.each(options, function (option) { if (!displaySpecified) { displaySpecified = option.display != null; } nameToOption.set(option.renameTo != null ? option.renameTo - : option.field, option); + : option.field, option); }); var displayMetadata = isColumns ? dataset.getColumnMetadata() - : dataset.getRowMetadata(); + : dataset.getRowMetadata(); // see if default fields found if (!displaySpecified) { if (displayMetadata.getByName('pert_iname')) { var defaultFieldsToShow = new morpheus.Set(); - [ 'pert_iname', 'moa', 'target', 'description' ] - .forEach(function(field) { - defaultFieldsToShow.add(field); - }); + ['pert_iname', 'moa', 'target', 'description'] + .forEach(function (field) { + defaultFieldsToShow.add(field); + }); for (var i = 0, metadataCount = displayMetadata - .getMetadataCount(); i < metadataCount; i++) { + .getMetadataCount(); i < metadataCount; i++) { var v = displayMetadata.get(i); if (defaultFieldsToShow.has(v.getName())) { nameToOption.set(v.getName(), { - display : 'text' + display: 'text' }); } @@ -1447,22 +1447,22 @@ morpheus.HeatMap.prototype = { } var isFirst = true; for (var i = 0, metadataCount = isColumns ? dataset - .getColumnMetadata().getMetadataCount() : dataset - .getRowMetadata().getMetadataCount(); i < metadataCount; i++) { + .getColumnMetadata().getMetadataCount() : dataset + .getRowMetadata().getMetadataCount(); i < metadataCount; i++) { var display = displaySpecified ? 'None' : undefined; var v = isColumns ? dataset.getColumnMetadata().get(i) - : dataset.getRowMetadata().get(i); + : dataset.getRowMetadata().get(i); var name = v.getName(); var option = nameToOption.get(name); if (morpheus.MetadataUtil.DEFAULT_HIDDEN_FIELDS.has(name) - && option == null) { + && option == null) { continue; } var count = isColumns ? dataset.getColumnCount() : dataset - .getRowCount(); + .getRowCount(); if (!option && !displaySpecified && count > 1 - && !morpheus.VectorUtil.containsMoreThanOneValue(v)) { + && !morpheus.VectorUtil.containsMoreThanOneValue(v)) { continue; } if (option == null) { @@ -1470,7 +1470,7 @@ morpheus.HeatMap.prototype = { } if (option.title) { v.getProperties().set(morpheus.VectorKeys.TITLE, - option.title); + option.title); } if (option.display) { if (typeof option.display == 'function') { @@ -1483,24 +1483,24 @@ morpheus.HeatMap.prototype = { if (add) { if (isColumns && display == null) { display = name === 'pert_iname' || name === 'id' - || isFirst ? 'text' : 'color,highlight'; + || isFirst ? 'text' : 'color,highlight'; } isFirst = false; var track = isColumns ? _this.addColumnTrack(name, display) - : _this.addRowTrack(name, display); + : _this.addRowTrack(name, display); if (track.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) - && option.color) { + && option.color) { var m = isColumns ? _this.project.getColumnColorModel() - : _this.project.getRowColorModel(); + : _this.project.getRowColorModel(); if (track.isDiscrete()) { - _.each(options.color, function(p) { + _.each(options.color, function (p) { m.setMappedValue(v, p.value, p.color); }); } else { var cs = m.createContinuousColorMap(v); var min = Number.MAX_VALUE; var max = -Number.MAX_VALUE; - _.each(options.color, function(p) { + _.each(options.color, function (p) { min = Math.min(min, p.value); max = Math.max(max, p.value); }); @@ -1508,26 +1508,26 @@ morpheus.HeatMap.prototype = { cs.setMin(min); cs.setMax(max); var valueToFraction = d3.scale.linear().domain( - [ cs.getMin(), cs.getMax() ]).range( - [ 0, 1 ]).clamp(true); + [cs.getMin(), cs.getMax()]).range( + [0, 1]).clamp(true); var fractions = []; var colors = []; - _.each(options.color, function(p) { + _.each(options.color, function (p) { fractions.push(valueToFraction(p.value)); colors.push(p.color); }); cs.setFractions({ - fractions : fractions, - colors : colors + fractions: fractions, + colors: colors }); } } if (track.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE) - && option.shape) { + && option.shape) { var m = isColumns ? _this.project.getColumnShapeModel() - : _this.project.getRowShapeModel(); - _.each(options.shape, function(p) { + : _this.project.getRowShapeModel(); + _.each(options.shape, function (p) { m.setMappedValue(v, p.value, p.shape); }); @@ -1540,7 +1540,7 @@ morpheus.HeatMap.prototype = { function reorderTracks(array, isColumns) { var nameOrderPairs = []; var found = false; - _.each(array, function(item) { + _.each(array, function (item) { var name = item.renameTo || item.field; var order = 999; if (item.order != null) { @@ -1548,18 +1548,18 @@ morpheus.HeatMap.prototype = { found = true; } nameOrderPairs.push({ - name : name, - order : order + name: name, + order: order }); }); if (found) { - nameOrderPairs.sort(function(a, b) { + nameOrderPairs.sort(function (a, b) { return (a.order === b.order ? 0 : (a.order < b.order ? -1 - : 1)); + : 1)); }); for (var i = 0, counter = 0; i < nameOrderPairs.length; i++) { var index = _this.getTrackIndex(nameOrderPairs[i].name, - isColumns); + isColumns); if (index !== -1) { _this.moveTrack(index, counter, isColumns); counter++; @@ -1576,18 +1576,18 @@ morpheus.HeatMap.prototype = { if (this.options.dataSource) { try { ext = morpheus.Util.getExtension(morpheus.Util - .getFileName(this.options.dataSource)); + .getFileName(this.options.dataSource)); } catch (x) { } } var colorScheme = this.autoDisplay({ - extension : ext + extension: ext }); if (colorScheme == null) { colorScheme = { - type : 'relative' + type: 'relative' }; } this.options.colorScheme = colorScheme; @@ -1597,38 +1597,38 @@ morpheus.HeatMap.prototype = { if (this.project.getFullDataset().getRowMetadata().getByName( 'order')) { sortKeys.push(new morpheus.SortKey('order', - morpheus.SortKey.SortOrder.ASCENDING)); + morpheus.SortKey.SortOrder.ASCENDING)); } sortKeys.push(new morpheus.SortKey('id', - morpheus.SortKey.SortOrder.ASCENDING)); + morpheus.SortKey.SortOrder.ASCENDING)); this.project.setRowSortKeys(sortKeys, false); } if (morpheus.DatasetUtil.getSeriesIndex(this.project - .getFullDataset(), 'allelic_fraction') !== -1) { + .getFullDataset(), 'allelic_fraction') !== -1) { this.options.sizeBy = 'allelic_fraction'; } } if (this.options.parent && this.options.inheritFromParent - && !colorSchemeSpecified) { + && !colorSchemeSpecified) { heatmap.setColorScheme(this.options.parent.heatmap.getColorScheme() - .copy(this.project)); + .copy(this.project)); } else { heatmap.setColorScheme(new morpheus.HeatMapColorScheme( - this.project, this.options.colorScheme)); + this.project, this.options.colorScheme)); if (this.options.dataset.getRowMetadata().getByName('Source') != null) { // separate color scheme for each source file var sourcesSet = morpheus.VectorUtil - .getSet(this.options.dataset.getRowMetadata() - .getByName('Source')); + .getSet(this.options.dataset.getRowMetadata() + .getByName('Source')); this.heatmap.getColorScheme() - .setSeparateColorSchemeForRowMetadataField('Source'); - sourcesSet.forEach(function(source) { + .setSeparateColorSchemeForRowMetadataField('Source'); + sourcesSet.forEach(function (source) { _this.autoDisplay({ - extension : morpheus.Util.getExtension(source), - filename : '' + source + extension: morpheus.Util.getExtension(source), + filename: '' + source }); }); } @@ -1636,7 +1636,7 @@ morpheus.HeatMap.prototype = { if (this.options.sizeBy) { heatmap.getColorScheme().getSizer().setSeriesName( - this.options.sizeBy); + this.options.sizeBy); } this.updateDataset(); if (this.options.uiReady) { @@ -1672,20 +1672,20 @@ morpheus.HeatMap.prototype = { this.heatmap.getRowPositions().setSize(this.options.rowSize); } this.revalidate({ - paint : false + paint: false }); } if (this.options.columnSize != null) { if (this.options.columnSize === 'fit') { this.heatmap.getColumnPositions().setSize( - this.getFitColumnSize()); + this.getFitColumnSize()); } else { this.heatmap.getColumnPositions().setSize( - this.options.columnSize); + this.options.columnSize); } this.revalidate({ - paint : false + paint: false }); } if (this.options.rowSize != null && this.options.columnSize != null) { @@ -1693,93 +1693,95 @@ morpheus.HeatMap.prototype = { // dependent on row sizes and vice versa if (this.options.columnSize === 'fit') { this.heatmap.getColumnPositions().setSize( - this.getFitColumnSize()); + this.getFitColumnSize()); this.revalidate({ - paint : false + paint: false }); } if (this.options.rowSize === 'fit') { this.heatmap.getRowPositions().setSize(this.getFitRowSize()); this.revalidate({ - paint : false + paint: false }); } this.paintAll({ - paintRows : true, - paintColumns : true, - invalidateRows : true, - invalidateColumns : true + paintRows: true, + paintColumns: true, + invalidateRows: true, + invalidateColumns: true }); } this.options.parent = null; this.$tipFollow = $('
    '); this.$tipFollow.appendTo(this.$parent); + + this.$tipInfoWindow = $('
    '); this.$tipInfoWindow.appendTo(this.$parent); this.$tipInfoWindow.dialog({ - close : function(event, ui) { + close: function (event, ui) { if (!_this._togglingInfoWindow) { _this.toggleInfoWindow(); } }, - autoOpen : false, - width : 220, - height : 280, - minHeight : 38, - minWidth : 10, - collision : 'fit', - position : { - my : 'right-30 bottom', - at : 'right top', - of : this.$parent + autoOpen: false, + width: 220, + height: 280, + minHeight: 38, + minWidth: 10, + collision: 'fit', + position: { + my: 'right-30 bottom', + at: 'right top', + of: this.$parent }, - title : 'Info' + title: 'Info' }); this - .getProject() - .on( - 'rowFilterChanged columnFilterChanged rowGroupByChanged columnGroupByChanged rowSortOrderChanged columnSortOrderChanged datasetChanged', - function(e) { - if (e.type === 'datasetChanged') { // remove - // tracks - // that are no - // longer in the - // dataset - - var dataset = _this.getProject() - .getFullDataset(); - for (var i = 0; i < _this.rowTracks.length; i++) { - var track = _this.rowTracks[i]; - if (!dataset.getRowMetadata().getByName( - track.getName())) { - _this.removeTrack(track.getName(), - false); - i--; - } - } - for (var i = 0; i < _this.columnTracks.length; i++) { - var track = _this.columnTracks[i]; - if (!dataset.getColumnMetadata().getByName( - track.getName())) { - _this - .removeTrack(track.getName(), - true); - i--; - } - } + .getProject() + .on( + 'rowFilterChanged columnFilterChanged rowGroupByChanged columnGroupByChanged rowSortOrderChanged columnSortOrderChanged datasetChanged', + function (e) { + if (e.type === 'datasetChanged') { // remove + // tracks + // that are no + // longer in the + // dataset + + var dataset = _this.getProject() + .getFullDataset(); + for (var i = 0; i < _this.rowTracks.length; i++) { + var track = _this.rowTracks[i]; + if (!dataset.getRowMetadata().getByName( + track.getName())) { + _this.removeTrack(track.getName(), + false); + i--; + } + } + for (var i = 0; i < _this.columnTracks.length; i++) { + var track = _this.columnTracks[i]; + if (!dataset.getColumnMetadata().getByName( + track.getName())) { + _this + .removeTrack(track.getName(), + true); + i--; + } + } - } + } - _this.updateDataset(); - _this.revalidate(); - }); + _this.updateDataset(); + _this.revalidate(); + }); - this.getProject().on('trackChanged', function(e) { + this.getProject().on('trackChanged', function (e) { var columns = e.columns; - _.each(e.vectors, function(v, i) { + _.each(e.vectors, function (v, i) { var index = _this.getTrackIndex(v.getName(), columns); if (index === -1) { if (columns) { @@ -1799,264 +1801,264 @@ morpheus.HeatMap.prototype = { }); _this.revalidate(); }); - this.getProject().on('rowTrackRemoved', function(e) { + this.getProject().on('rowTrackRemoved', function (e) { _this.removeTrack(e.vector.getName(), false); _this.revalidate(); }); - this.getProject().on('columnTrackRemoved', function(e) { + this.getProject().on('columnTrackRemoved', function (e) { _this.removeTrack(e.vector.getName(), true); _this.revalidate(); }); this - .getProject() - .getRowSelectionModel() - .on( - 'selectionChanged', - function() { - // repaint tracks that indicate selection - for (var i = 0; i < _this.columnTracks.length; i++) { - var track = _this.columnTracks[i]; - if (track.settings.stackedBar - && track - .isRenderAs(morpheus.VectorTrack.RENDER.BAR)) { - track.setInvalid(true); - track.repaint(); + .getProject() + .getRowSelectionModel() + .on( + 'selectionChanged', + function () { + // repaint tracks that indicate selection + for (var i = 0; i < _this.columnTracks.length; i++) { + var track = _this.columnTracks[i]; + if (track.settings.stackedBar + && track + .isRenderAs(morpheus.VectorTrack.RENDER.BAR)) { + track.setInvalid(true); + track.repaint(); - } - } - _this.verticalSearchBar.update(); - _this.paintAll({ - paintRows : true, - paintColumns : false, - invalidateRows : false, - invalidateColumns : false - }); - }); + } + } + _this.verticalSearchBar.update(); + _this.paintAll({ + paintRows: true, + paintColumns: false, + invalidateRows: false, + invalidateColumns: false + }); + }); this.getProject().getColumnSelectionModel().on('selectionChanged', - function() { - - _this.horizontalSearchBar.update(); - _this.paintAll({ - paintRows : false, - paintColumns : true, - invalidateRows : false, - invalidateColumns : false - }); + function () { + + _this.horizontalSearchBar.update(); + _this.paintAll({ + paintRows: false, + paintColumns: true, + invalidateRows: false, + invalidateColumns: false }); + }); $(window) - .on( - 'paste.morpheus', - function(e) { - if (_this.isActiveComponent()) { - var text = e.originalEvent.clipboardData - .getData('text/plain'); - if (text != null && text.length > 0) { - var blob = new Blob([ text ]); - var url = window.URL.createObjectURL(blob); - e.preventDefault(); - e.stopPropagation(); - morpheus.HeatMap.showTool( - new morpheus.OpenFileTool({ - file : url - }), _this); - } - } - }) - .on('beforecopy.morpheus', function(e) { - if (_this.isActiveComponent()) { + .on( + 'paste.morpheus', + function (e) { + if (_this.isActiveComponent()) { + var text = e.originalEvent.clipboardData + .getData('text/plain'); + if (text != null && text.length > 0) { + var blob = new Blob([text]); + var url = window.URL.createObjectURL(blob); e.preventDefault(); + e.stopPropagation(); + morpheus.HeatMap.showTool( + new morpheus.OpenFileTool({ + file: url + }), _this); } - }) - .on( - 'copy.morpheus', - function(ev) { - if (_this.isActiveComponent()) { - var activeComponent = _this - .getActiveComponent(); - var project = _this.project; - - if (activeComponent === 2) { - var text = _this.getSelectedElementsText(); - if (text !== '') { - ev.originalEvent.clipboardData.setData( - 'text/plain', text); - ev.preventDefault(); - ev.stopImmediatePropagation(); - return; - } - } - // copy all selected rows and columns - var dataset = project.getSelectedDataset({ - emptyToAll : false - }); - var columnMetadata = dataset - .getColumnMetadata(); - var rowMetadata = dataset.getRowMetadata(); - // only copy visible tracks - var visibleColumnFields = _this - .getVisibleTrackNames(true); - var columnFieldIndices = []; - _.each(visibleColumnFields, function(name) { - var index = morpheus.MetadataUtil.indexOf( - columnMetadata, name); - if (index !== -1) { - columnFieldIndices.push(index); - } - }); - columnMetadata = new morpheus.MetadataModelColumnView( - columnMetadata, columnFieldIndices); - var rowMetadata = dataset.getRowMetadata(); - // only copy visible tracks - var visibleRowFields = _this - .getVisibleTrackNames(false); - var rowFieldIndices = []; - _.each(visibleRowFields, function(name) { - var index = morpheus.MetadataUtil.indexOf( - rowMetadata, name); - if (index !== -1) { - rowFieldIndices.push(index); - } - }); - rowMetadata = new morpheus.MetadataModelColumnView( - rowMetadata, rowFieldIndices); - var text = []; - var rowsSelected = dataset.getRowCount() > 0; - var columnsSelected = dataset.getColumnCount() > 0; - if (rowsSelected && columnsSelected) { // copy - // as - // gct - // 1.3 - text = new morpheus.GctWriter() - .write(dataset); - } else { - var text = []; - var model = rowsSelected ? rowMetadata - : columnMetadata; - for (var i = 0, count = model - .getItemCount(); i < count; i++) { - for (var j = 0, nfields = model - .getMetadataCount(); j < nfields; j++) { - var v = model.get(j); - if (j > 0) { - text.push('\t'); - } - text.push(morpheus.Util.toString(v - .getValue(i))); - } - text.push('\n'); - } - text = text.join(''); + } + }) + .on('beforecopy.morpheus', function (e) { + if (_this.isActiveComponent()) { + e.preventDefault(); + } + }) + .on( + 'copy.morpheus', + function (ev) { + if (_this.isActiveComponent()) { + var activeComponent = _this + .getActiveComponent(); + var project = _this.project; + + if (activeComponent === 2) { + var text = _this.getSelectedElementsText(); + if (text !== '') { + ev.originalEvent.clipboardData.setData( + 'text/plain', text); + ev.preventDefault(); + ev.stopImmediatePropagation(); + return; + } + } + // copy all selected rows and columns + var dataset = project.getSelectedDataset({ + emptyToAll: false + }); + var columnMetadata = dataset + .getColumnMetadata(); + var rowMetadata = dataset.getRowMetadata(); + // only copy visible tracks + var visibleColumnFields = _this + .getVisibleTrackNames(true); + var columnFieldIndices = []; + _.each(visibleColumnFields, function (name) { + var index = morpheus.MetadataUtil.indexOf( + columnMetadata, name); + if (index !== -1) { + columnFieldIndices.push(index); + } + }); + columnMetadata = new morpheus.MetadataModelColumnView( + columnMetadata, columnFieldIndices); + var rowMetadata = dataset.getRowMetadata(); + // only copy visible tracks + var visibleRowFields = _this + .getVisibleTrackNames(false); + var rowFieldIndices = []; + _.each(visibleRowFields, function (name) { + var index = morpheus.MetadataUtil.indexOf( + rowMetadata, name); + if (index !== -1) { + rowFieldIndices.push(index); + } + }); + rowMetadata = new morpheus.MetadataModelColumnView( + rowMetadata, rowFieldIndices); + var text = []; + var rowsSelected = dataset.getRowCount() > 0; + var columnsSelected = dataset.getColumnCount() > 0; + if (rowsSelected && columnsSelected) { // copy + // as + // gct + // 1.3 + text = new morpheus.GctWriter() + .write(dataset); + } else { + var text = []; + var model = rowsSelected ? rowMetadata + : columnMetadata; + for (var i = 0, count = model + .getItemCount(); i < count; i++) { + for (var j = 0, nfields = model + .getMetadataCount(); j < nfields; j++) { + var v = model.get(j); + if (j > 0) { + text.push('\t'); } - ev.originalEvent.clipboardData.setData( - 'text/plain', text); - ev.preventDefault(); - ev.stopImmediatePropagation(); - + text.push(morpheus.Util.toString(v + .getValue(i))); } - }); + text.push('\n'); + } + text = text.join(''); + } + ev.originalEvent.clipboardData.setData( + 'text/plain', text); + ev.preventDefault(); + ev.stopImmediatePropagation(); + + } + }); if (this.options.keyboard) { new morpheus.HeatMapKeyListener(this); } var dragStartScrollTop; var dragStartScrollLeft; this.hammer = morpheus.Util - .hammer(_this.heatmap.canvas, [ 'pan', 'pinch', 'tap' ]) - .on('panmove', function(event) { - _this.updatingScroll = true; - var rows = false; - var columns = false; - if (event.deltaY !== 0) { - var pos = dragStartScrollTop + event.deltaY; - _this.scrollTop(pos); - rows = true; - } - if (event.deltaX !== 0) { - var pos = dragStartScrollLeft + event.deltaX; - _this.scrollLeft(pos); - columns = true; - } - _this.updatingScroll = false; - _this.paintAll({ - paintRows : rows, - paintColumns : rows, - invalidateRows : rows, - invalidateColumns : columns - }); - event.preventDefault(); - }) - .on('panstart', function(event) { - dragStartScrollTop = _this.scrollTop(); - dragStartScrollLeft = _this.scrollLeft(); - }) - .on( - 'tap', - function(event) { - var commandKey = morpheus.Util.IS_MAC ? event.srcEvent.metaKey - : event.srcEvent.ctrlKey; - if (morpheus.Util.IS_MAC && event.srcEvent.ctrlKey) { // right-click - // on - // Mac - return; - } - var position = morpheus.CanvasUtil - .getMousePosWithScroll(event.target, event, - _this.scrollLeft(), _this - .scrollTop()); - var rowIndex = _this.heatmap.getRowPositions() - .getIndex(position.y, false); - var columnIndex = _this.heatmap - .getColumnPositions().getIndex(position.x, - false); - _this.project.getElementSelectionModel().click( - rowIndex, columnIndex, - event.srcEvent.shiftKey || commandKey); - }) - .on( - 'pinch', - function(event) { - var scale = event.scale; - _this.heatmap.getRowPositions().setSize(13 * scale); - _this.heatmap.getColumnPositions().setSize( - 13 * scale); - var reval = {}; - if (_this.project.getHoverRowIndex() !== -1) { - reval.scrollTop = this.heatmap - .getRowPositions() - .getPosition( - this.project.getHoverRowIndex()); - } - if (_this.project.getHoverColumnIndex() !== -1) { - reval.scrollLeft = this.heatmap - .getColumnPositions().getPosition( - this.project - .getHoverColumnIndex()); - } + .hammer(_this.heatmap.canvas, ['pan', 'pinch', 'tap']) + .on('panmove', function (event) { + _this.updatingScroll = true; + var rows = false; + var columns = false; + if (event.deltaY !== 0) { + var pos = dragStartScrollTop + event.deltaY; + _this.scrollTop(pos); + rows = true; + } + if (event.deltaX !== 0) { + var pos = dragStartScrollLeft + event.deltaX; + _this.scrollLeft(pos); + columns = true; + } + _this.updatingScroll = false; + _this.paintAll({ + paintRows: rows, + paintColumns: rows, + invalidateRows: rows, + invalidateColumns: columns + }); + event.preventDefault(); + }) + .on('panstart', function (event) { + dragStartScrollTop = _this.scrollTop(); + dragStartScrollLeft = _this.scrollLeft(); + }) + .on( + 'tap', + function (event) { + var commandKey = morpheus.Util.IS_MAC ? event.srcEvent.metaKey + : event.srcEvent.ctrlKey; + if (morpheus.Util.IS_MAC && event.srcEvent.ctrlKey) { // right-click + // on + // Mac + return; + } + var position = morpheus.CanvasUtil + .getMousePosWithScroll(event.target, event, + _this.scrollLeft(), _this + .scrollTop()); + var rowIndex = _this.heatmap.getRowPositions() + .getIndex(position.y, false); + var columnIndex = _this.heatmap + .getColumnPositions().getIndex(position.x, + false); + _this.project.getElementSelectionModel().click( + rowIndex, columnIndex, + event.srcEvent.shiftKey || commandKey); + }) + .on( + 'pinch', + function (event) { + var scale = event.scale; + _this.heatmap.getRowPositions().setSize(13 * scale); + _this.heatmap.getColumnPositions().setSize( + 13 * scale); + var reval = {}; + if (_this.project.getHoverRowIndex() !== -1) { + reval.scrollTop = this.heatmap + .getRowPositions() + .getPosition( + this.project.getHoverRowIndex()); + } + if (_this.project.getHoverColumnIndex() !== -1) { + reval.scrollLeft = this.heatmap + .getColumnPositions().getPosition( + this.project + .getHoverColumnIndex()); + } - _this.revalidate(reval); - event.preventDefault(); - }); - var heatMapMouseMoved = function(event) { + _this.revalidate(reval); + event.preventDefault(); + }); + var heatMapMouseMoved = function (event) { var mouseI, mouseJ; if (event.type === 'mouseout') { mouseI = -1; mouseJ = -1; } else { var position = morpheus.CanvasUtil.getMousePosWithScroll( - event.target, event, _this.scrollLeft(), _this - .scrollTop()); + event.target, event, _this.scrollLeft(), _this + .scrollTop()); mouseI = _this.heatmap.getRowPositions().getIndex(position.y, - false); + false); mouseJ = _this.heatmap.getColumnPositions().getIndex( - position.x, false); + position.x, false); } _this.setMousePosition(mouseI, mouseJ, { - event : event + event: event }); }; $(_this.heatmap.canvas).on('mouseout', heatMapMouseMoved).on( - 'mousemove', heatMapMouseMoved); - _.each(this.options.tools, function(item) { + 'mousemove', heatMapMouseMoved); + _.each(this.options.tools, function (item) { var tool = _this.toolbar.getToolByName(item.name); if (tool == null) { @@ -2065,24 +2067,24 @@ morpheus.HeatMap.prototype = { try { var gui = tool.gui(_this.getProject()); var formBuilder = new morpheus.FormBuilder(); - _.each(gui, function(item) { + _.each(gui, function (item) { formBuilder.append(item); }); var input = {}; - _.each(gui, function(item) { + _.each(gui, function (item) { input[item.name] = formBuilder.getValue(item.name); }); if (item.params) { // overide default values - for ( var key in item.params) { + for (var key in item.params) { input[key] = item.params[key]; } } tool.execute({ - controller : _this, - project : _this.getProject(), - input : input + controller: _this, + project: _this.getProject(), + input: input }); } catch (x) { if (x.stack) { @@ -2098,7 +2100,7 @@ morpheus.HeatMap.prototype = { }); }, - setMousePosition : function(i, j, options) { + setMousePosition: function (i, j, options) { this.mousePositionOptions = options; var updateColumns = this.project.getHoverColumnIndex() !== j; var updateRows = this.project.getHoverRowIndex() !== i; @@ -2107,10 +2109,10 @@ morpheus.HeatMap.prototype = { this.project.setHoverColumnIndex(j); this.setToolTip(i, j, options); this.paintAll({ - paintRows : updateRows, - paintColumns : updateColumns, - invalidateRows : false, - invalidateColumns : false + paintRows: updateRows, + paintColumns: updateColumns, + invalidateRows: false, + invalidateColumns: false }); } else { this._updateTipFollowPosition(options); @@ -2122,19 +2124,19 @@ morpheus.HeatMap.prototype = { // // } this.trigger('change', { - name : 'setMousePosition', - source : this, - arguments : arguments + name: 'setMousePosition', + source: this, + arguments: arguments }); }, - setTooltipMode : function(mode) { + setTooltipMode: function (mode) { this._togglingInfoWindow = true; this.tooltipMode = mode; this.$tipInfoWindow.html(''); this.toolbar.$tip.html(''); this.$tipFollow.html('').css({ - left : -1000, - top : -1000 + left: -1000, + top: -1000 }); this.setToolTip(-1, -1); if (this.tooltipMode === 1) { @@ -2144,24 +2146,158 @@ morpheus.HeatMap.prototype = { } this._togglingInfoWindow = false; }, - toggleInfoWindow : function() { + toggleInfoWindow: function () { this.setTooltipMode(this.tooltipMode == 1 ? 0 : 1); }, - setToolTip : function(rowIndex, columnIndex, options) { + setToolTip: function (rowIndex, columnIndex, options) { options = options || {}; if (this.options.showSeriesNameInTooltip) { options.showSeriesNameInTooltip = true; } + if (options.dataLens) { + // don't draw lens if currently visible + + // row lens + if (rowIndex >= 0 && (rowIndex >= this.heatmap.lastPosition.bottom || rowIndex < this.heatmap.lastPosition.top)) { + var heatMapWidth = this.heatmap.getUnscaledWidth(); + var top = rowIndex; // Math.max(0, rowIndex - 1); + var bottom = rowIndex + 1; //Math.min(rowIndex + 1, this.heatmap.rowPositions.getLength()); + var startPix = this.heatmap.rowPositions.getPosition(top); + var endPix = startPix + this.heatmap.rowPositions.getItemSize(top); + var heatMapHeight = endPix - startPix; + var canvas = morpheus.CanvasUtil.createCanvas(); + var trackWidth = 0; + for (var i = 0, ntracks = this.rowTracks.length; i < ntracks; i++) { + var track = this.rowTracks[i]; + if (track.isVisible()) { + trackWidth += track.getUnscaledWidth(); + } + } + var canvasWidth = trackWidth + heatMapWidth + 1; + canvas.width = canvasWidth * morpheus.CanvasUtil.BACKING_SCALE; + canvas.style.width = canvasWidth + 'px'; + canvas.height = heatMapHeight * morpheus.CanvasUtil.BACKING_SCALE; + canvas.style.height = heatMapHeight + 'px'; + var context = canvas.getContext('2d'); + context.translate(-this.heatmap.lastClip.x, -startPix); + + this.heatmap._draw({ + left: this.heatmap.lastPosition.left, + right: this.heatmap.lastPosition.right, + top: top, + bottom: bottom, + context: context + }); + context.translate(heatMapWidth + 1, 0); + trackWidth = 0; + for (var i = 0, ntracks = this.rowTracks.length; i < ntracks; i++) { + var track = this.rowTracks[i]; + if (track.isVisible()) { + context.save(); + context.translate(trackWidth, 0); + track._draw({ + start: top, + end: bottom, + vector: track.getVector(), + context: context, + availableSpace: track.isColumns ? track.getUnscaledHeight() + : track.getUnscaledWidth() + }); + context.restore(); + trackWidth += track.getUnscaledWidth(); + } + } + var $wrapper = $('
    '); + $wrapper.css({ + height: canvas.style.height, + width: parseFloat(canvas.style.width) + }); + $(canvas).appendTo($wrapper); + var rect = this.$parent[0].getBoundingClientRect(); + this.$tipFollow.html($wrapper).css({ + left: parseFloat(this.heatmap.canvas.style.left) - 12, + top: options.event.clientY - rect.top + }); + return; + } + + // column lens + if (columnIndex >= 0 && (columnIndex >= this.heatmap.lastPosition.right || columnIndex < this.heatmap.lastPosition.left)) { + var heatMapHeight = this.heatmap.getUnscaledHeight(); + var left = columnIndex; // Math.max(0, rowIndex - 1); + var right = columnIndex + 1; //Math.min(rowIndex + 1, this.heatmap.rowPositions.getLength()); + var startPix = this.heatmap.columnPositions.getPosition(left); + var endPix = startPix + this.heatmap.columnPositions.getItemSize(left); + var heatMapWidth = endPix - startPix; + var canvas = morpheus.CanvasUtil.createCanvas(); + var trackHeight = 0; + for (var i = 0, ntracks = this.columnTracks.length; i < ntracks; i++) { + var track = this.columnTracks[i]; + if (track.isVisible()) { + trackHeight += track.getUnscaledHeight(); + } + } + var canvasHeight = trackHeight + heatMapHeight + 1; + canvas.width = heatMapWidth * morpheus.CanvasUtil.BACKING_SCALE; + canvas.style.width = heatMapWidth + 'px'; + canvas.height = canvasHeight * morpheus.CanvasUtil.BACKING_SCALE; + canvas.style.height = canvasHeight + 'px'; + var context = canvas.getContext('2d'); + context.translate(-startPix, -this.heatmap.lastClip.y); + trackHeight = 0; + for (var i = 0, ntracks = this.columnTracks.length; i < ntracks; i++) { + var track = this.columnTracks[i]; + if (track.isVisible()) { + context.save(); + context.translate(0, trackHeight); + track._draw({ + start: left, + end: right, + vector: track.getVector(), + context: context, + availableSpace: track.getUnscaledHeight(), + clip: { + x: track.lastClip.x, + y: track.lastClip.y + } + }); + context.restore(); + trackHeight += track.getUnscaledHeight(); + } + } + context.translate(0, trackHeight); + this.heatmap._draw({ + top: this.heatmap.lastPosition.top, + bottom: this.heatmap.lastPosition.bottom, + left: left, + right: right, + context: context + }); + var $wrapper = $('
    '); + $wrapper.css({ + width: canvas.style.width, + height: parseFloat(canvas.style.height) + 12 + }); + $(canvas).appendTo($wrapper); + var rect = this.$parent[0].getBoundingClientRect(); + this.$tipFollow.html($wrapper).css({ + top: parseFloat(this.heatmap.canvas.style.top) - trackHeight - 12, + left: (options.event.clientX - rect.left) - (parseFloat(canvas.style.width) / 2) + }); + return; + } + + } // tooltipMode=0 top, 1=window, 2=inline var tipText = this.tooltipProvider(this, rowIndex, columnIndex, - options, this.tooltipMode === 0 ? '   ' - : '
    '); + options, this.tooltipMode === 0 ? '   ' + : '
    '); var tipFollowText = ''; if (this.options.inlineTooltip) { tipFollowText = this.tooltipProvider(this, rowIndex, columnIndex, - options, '
    ', true); + options, '
    ', true); } if (this.tooltipMode === 0) { @@ -2171,22 +2307,23 @@ morpheus.HeatMap.prototype = { } if (tipFollowText !== '') { this.tipFollowHidden = false; - this.$tipFollow.html(tipFollowText); + this.$tipFollow.html('' + tipFollowText + ''); this._updateTipFollowPosition(options); } else { this.tipFollowHidden = true; this.$tipFollow.html('').css({ - left : -1000, - top : -1000 + left: -1000, + top: -1000 }); } this.trigger('change', { - name : 'setToolTip', - source : this, - arguments : arguments + name: 'setToolTip', + source: this, + arguments: arguments }); - }, - _updateTipFollowPosition : function(options) { + } + , + _updateTipFollowPosition: function (options) { if (this.tipFollowHidden) { return; } @@ -2203,28 +2340,30 @@ morpheus.HeatMap.prototype = { top = options.event.clientY - rect.top - 16 - tipHeight; } this.$tipFollow.css({ - left : left, - top : top + left: left, + top: top }); - }, - setTrackVisibility : function(tracks) { + } + , + setTrackVisibility: function (tracks) { var _this = this; - _.each(tracks, function(track) { + _.each(tracks, function (track) { var existingTrack = _this.getTrack(track.name, track.isColumns); if (track.visible && existingTrack != null - && _.keys(existingTrack.renderSettings).length === 0) { + && _.keys(existingTrack.renderSettings).length === 0) { existingTrack.settingFromConfig('Text'); } _this.setTrackVisible(track.name, track.visible, track.isColumns); }); this.revalidate(); this.trigger('change', { - name : 'setTrackVisibility', - source : this, - arguments : arguments + name: 'setTrackVisibility', + source: this, + arguments: arguments }); - }, - setTrackVisible : function(name, visible, isColumns) { + } + , + setTrackVisible: function (name, visible, isColumns) { var trackIndex = this.getTrackIndex(name, isColumns); if (trackIndex === -1) { // not currently visible if (!visible) { @@ -2237,9 +2376,9 @@ morpheus.HeatMap.prototype = { } } else { var track = isColumns ? this.columnTracks[trackIndex] - : this.rowTracks[trackIndex]; + : this.rowTracks[trackIndex]; var header = isColumns ? this.columnTrackHeaders[trackIndex] - : this.rowTrackHeaders[trackIndex]; + : this.rowTrackHeaders[trackIndex]; if (track.isVisible() !== visible) { track.setVisible(visible); header.setVisible(visible); @@ -2248,12 +2387,13 @@ morpheus.HeatMap.prototype = { } } this.trigger('change', { - name : 'setTrackVisible', - source : this, - arguments : arguments + name: 'setTrackVisible', + source: this, + arguments: arguments }); - }, - addRowTrack : function(name, renderSettings) { + } + , + addRowTrack: function (name, renderSettings) { if (name === undefined) { throw 'Name not specified'; } @@ -2262,34 +2402,36 @@ morpheus.HeatMap.prototype = { } if (renderSettings == null) { renderSettings = morpheus.VectorUtil.getDataType(this.project - .getFullDataset().getRowMetadata().getByName(name)) === '[number]' ? 'bar' - : morpheus.VectorTrack.RENDER.TEXT; + .getFullDataset().getRowMetadata().getByName(name)) === '[number]' ? 'bar' + : morpheus.VectorTrack.RENDER.TEXT; } var track = new morpheus.VectorTrack(this.project, name, this.heatmap - .getRowPositions(), false, this); + .getRowPositions(), false, this); track.settingFromConfig(renderSettings); this.rowTracks.push(track); track.appendTo(this.$parent); $(track.canvas).css('z-index', '0'); var header = new morpheus.VectorTrackHeader(this.project, name, false, - this); + this); this.rowTrackHeaders.push(header); header.appendTo(this.$parent); $(header.canvas).css('z-index', '0'); track._selection = new morpheus.TrackSelection(track, this.heatmap - .getRowPositions(), this.project.getRowSelectionModel(), false, - this); + .getRowPositions(), this.project.getRowSelectionModel(), false, + this); return track; - }, - addTrack : function(name, isColumns, renderSettings) { + } + , + addTrack: function (name, isColumns, renderSettings) { if (isColumns) { this.addColumnTrack(name, renderSettings); } else { this.addRowTrack(name, renderSettings); } - }, - addColumnTrack : function(name, renderSettings) { + } + , + addColumnTrack: function (name, renderSettings) { if (name === undefined) { throw 'Name not specified'; } @@ -2298,33 +2440,36 @@ morpheus.HeatMap.prototype = { } if (renderSettings == null) { renderSettings = morpheus.VectorUtil.getDataType(this.project - .getFullDataset().getColumnMetadata().getByName(name)) === '[number]' ? 'bar' - : morpheus.VectorTrack.RENDER.TEXT; + .getFullDataset().getColumnMetadata().getByName(name)) === '[number]' ? 'bar' + : morpheus.VectorTrack.RENDER.TEXT; } var track = new morpheus.VectorTrack(this.project, name, this.heatmap - .getColumnPositions(), true, this); + .getColumnPositions(), true, this); track.settingFromConfig(renderSettings); this.columnTracks.push(track); track.appendTo(this.$parent); var header = new morpheus.VectorTrackHeader(this.project, name, true, - this); + this); this.columnTrackHeaders.push(header); header.appendTo(this.$parent); track._selection = new morpheus.TrackSelection(track, this.heatmap - .getColumnPositions(), this.project.getColumnSelectionModel(), - true, this); + .getColumnPositions(), this.project.getColumnSelectionModel(), + true, this); return track; - }, - addPopup : function(item) { + } + , + addPopup: function (item) { if (!this.popupItems) { this.popupItems = []; } this.popupItems.push(item); - }, - getPopupItems : function() { + } + , + getPopupItems: function () { return this.popupItems || []; - }, - removeTrack : function(name, isColumns) { + } + , + removeTrack: function (name, isColumns) { var index = this.getTrackIndex(name, isColumns); var tracks = isColumns ? this.columnTracks : this.rowTracks; if (isNaN(index) || index < 0 || index >= tracks.length) { @@ -2333,7 +2478,7 @@ morpheus.HeatMap.prototype = { } var headers = isColumns ? this.columnTrackHeaders - : this.rowTrackHeaders; + : this.rowTrackHeaders; var track = tracks[index]; var header = headers[index]; track.dispose(); @@ -2342,70 +2487,73 @@ morpheus.HeatMap.prototype = { tracks.splice(index, 1); headers.splice(index, 1); this.trigger('change', { - name : 'removeTrack', - source : this, - arguments : arguments + name: 'removeTrack', + source: this, + arguments: arguments }); - }, - updateDataset : function() { + } + , + updateDataset: function () { var dataset = this.project.getSortedFilteredDataset(); this.verticalSearchBar.update(); this.horizontalSearchBar.update(); this.heatmap.setDataset(dataset); this.heatmap.getRowPositions().spaces = morpheus.HeatMap - .createGroupBySpaces(dataset, this.project.getGroupRows(), - this.gapSize); + .createGroupBySpaces(dataset, this.project.getGroupRows(), + this.gapSize); this.heatmap.getColumnPositions().spaces = morpheus.HeatMap - .createGroupBySpaces( - new morpheus.TransposedDatasetView(dataset), - this.project.getGroupColumns(), this.gapSize); + .createGroupBySpaces( + new morpheus.TransposedDatasetView(dataset), + this.project.getGroupColumns(), this.gapSize); this.trigger('change', { - name : 'updateDataset', - source : this, - arguments : arguments + name: 'updateDataset', + source: this, + arguments: arguments }); - }, - zoom : function(isZoomIn, options) { + } + , + zoom: function (isZoomIn, options) { options = $.extend({}, { - rows : true, - columns : true + rows: true, + columns: true }, options); if (isZoomIn) { if (options.rows) { this.heatmap.getRowPositions().setSize( - this.heatmap.getRowPositions().getSize() * 1.5); + this.heatmap.getRowPositions().getSize() * 1.5); } if (options.columns) { this.heatmap.getColumnPositions().setSize( - this.heatmap.getColumnPositions().getSize() * 1.5); + this.heatmap.getColumnPositions().getSize() * 1.5); } } else { if (options.rows) { this.heatmap.getRowPositions().setSize( - this.heatmap.getRowPositions().getSize() / 1.5); + this.heatmap.getRowPositions().getSize() / 1.5); } if (options.columns) { this.heatmap.getColumnPositions().setSize( - this.heatmap.getColumnPositions().getSize() / 1.5); + this.heatmap.getColumnPositions().getSize() / 1.5); } } var reval = {}; if (options.rows && this.project.getHoverRowIndex() !== -1) { reval.scrollTop = this.heatmap.getRowPositions().getPosition( - this.project.getHoverRowIndex()); + this.project.getHoverRowIndex()); } if (options.columns && this.project.getHoverColumnIndex() !== -1) { reval.scrollLeft = this.heatmap.getColumnPositions().getPosition( - this.project.getHoverColumnIndex()); + this.project.getHoverColumnIndex()); } this.revalidate(reval); this.trigger('change', { - name : 'zoom', - source : this, - arguments : arguments + name: 'zoom', + source: this, + arguments: arguments }); - }, - getTrackIndex : function(name, isColumns) { + } + , + getTrackIndex: function (name, isColumns) { var tracks = isColumns ? this.columnTracks : this.rowTracks; for (var i = 0, length = tracks.length; i < length; i++) { if (tracks[i].name !== undefined && tracks[i].name === name) { @@ -2413,14 +2561,16 @@ morpheus.HeatMap.prototype = { } } return -1; - }, - getNumTracks : function(isColumns) { + } + , + getNumTracks: function (isColumns) { return isColumns ? this.columnTracks.length : this.rowTracks.length; - }, - moveTrack : function(index, newIndex, isColumns) { + } + , + moveTrack: function (index, newIndex, isColumns) { var tracks = isColumns ? this.columnTracks : this.rowTracks; var headers = isColumns ? this.columnTrackHeaders - : this.rowTrackHeaders; + : this.rowTrackHeaders; var track = tracks[index]; tracks.splice(index, 1); var header = headers[index]; @@ -2428,37 +2578,42 @@ morpheus.HeatMap.prototype = { tracks.splice(newIndex, 0, track); headers.splice(newIndex, 0, header); this.trigger('change', { - name : 'moveTrack', - source : this, - arguments : arguments + name: 'moveTrack', + source: this, + arguments: arguments }); - }, - getTrackByIndex : function(index, isColumns) { + } + , + getTrackByIndex: function (index, isColumns) { return isColumns ? this.columnTracks[index] : this.rowTracks[index]; - }, - getTrackHeaderByIndex : function(index, isColumns) { + } + , + getTrackHeaderByIndex: function (index, isColumns) { return isColumns ? this.columnTrackHeaders[index] - : this.rowTrackHeaders[index]; - }, - getTrack : function(name, isColumns) { + : this.rowTrackHeaders[index]; + } + , + getTrack: function (name, isColumns) { var index = this.getTrackIndex(name, isColumns); if (index === -1) { return undefined; } return isColumns ? this.columnTracks[index] : this.rowTracks[index]; - }, + } + , /** * @return true if active element is an ancestor of this heat map. */ - isActiveComponent : function() { + isActiveComponent: function () { var active = document.activeElement; var tagName = active.tagName; if (tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA') { return false; } return this.$tabPanel[0].contains(active); - }, - getActiveComponent : function() { + } + , + getActiveComponent: function () { var active = document.activeElement; if (active.tagName === 'CANVAS') { for (var i = 0, ntracks = this.columnTracks.length; i < ntracks; i++) { @@ -2476,8 +2631,9 @@ morpheus.HeatMap.prototype = { } } return -1; - }, - getVisibleTrackNames : function(isColumns) { + } + , + getVisibleTrackNames: function (isColumns) { var names = []; var tracks = isColumns ? this.columnTracks : this.rowTracks; for (var i = 0, length = tracks.length; i < length; i++) { @@ -2486,8 +2642,9 @@ morpheus.HeatMap.prototype = { } } return names; - }, - resizeTrack : function(name, width, height, isColumns) { + } + , + resizeTrack: function (name, width, height, isColumns) { var index = this.getTrackIndex(name, isColumns); if (index === -1) { throw name + ' not found in resize track'; @@ -2515,28 +2672,30 @@ morpheus.HeatMap.prototype = { } this.revalidate(); this.trigger('change', { - name : 'resizeTrack', - source : this, - arguments : arguments + name: 'resizeTrack', + source: this, + arguments: arguments }); - }, - isDendrogramVisible : function(isColumns) { + } + , + isDendrogramVisible: function (isColumns) { var dendrogram = isColumns ? this.columnDendrogram : this.rowDendrogram; if (dendrogram !== undefined) { return morpheus.HeatMap - .isDendrogramVisible(this.project, isColumns); + .isDendrogramVisible(this.project, isColumns); } - }, + } + , /** - * + * * Paint all the components - * + * * @param options.paintRows * @param options.paintColumns * @param options.invalidateRows * @param options.invalidateColumns */ - paintAll : function(options) { + paintAll: function (options) { var unscaledHeight = this.heatmap.getUnscaledHeight(); var unscaledWidth = this.heatmap.getUnscaledWidth(); var y = this.scrollTop(); @@ -2549,20 +2708,20 @@ morpheus.HeatMap.prototype = { var invalidateColumns = options.invalidateColumns; // FIXME double buffer search bars this.hSortByValuesIndicator.setInvalid(invalidateRows - || invalidateColumns); + || invalidateColumns); this.hSortByValuesIndicator.paint({ - x : x, - y : 0, - width : unscaledWidth, - height : this.hSortByValuesIndicator.getUnscaledHeight() + x: x, + y: 0, + width: unscaledWidth, + height: this.hSortByValuesIndicator.getUnscaledHeight() }); this.vSortByValuesIndicator.setInvalid(invalidateRows - || invalidateColumns); + || invalidateColumns); this.vSortByValuesIndicator.paint({ - x : 0, - y : y, - width : this.vSortByValuesIndicator.getUnscaledWidth(), - height : unscaledHeight + x: 0, + y: y, + width: this.vSortByValuesIndicator.getUnscaledWidth(), + height: unscaledHeight }); if (rows) { for (var i = 0, length = this.rowTracks.length; i < length; i++) { @@ -2570,10 +2729,10 @@ morpheus.HeatMap.prototype = { track.setInvalid(invalidateRows); if (track.isVisible()) { track.paint({ - x : 0, - y : y, - height : unscaledHeight, - width : unscaledWidth + x: 0, + y: y, + height: unscaledHeight, + width: unscaledWidth }); this.rowTrackHeaders[i].paint(); } @@ -2583,10 +2742,10 @@ morpheus.HeatMap.prototype = { if (this.isDendrogramVisible(false)) { this.rowDendrogram.setVisible(true); this.rowDendrogram.paint({ - x : 0, - y : y, - height : unscaledHeight, - width : this.rowDendrogram.getUnscaledWidth() + x: 0, + y: y, + height: unscaledHeight, + width: this.rowDendrogram.getUnscaledWidth() }); } else { this.rowDendrogram.setVisible(false); @@ -2598,10 +2757,10 @@ morpheus.HeatMap.prototype = { var track = this.columnTracks[i]; track.setInvalid(invalidateColumns); track.paint({ - x : x, - y : 0, - width : unscaledWidth, - height : track.getUnscaledHeight() + x: x, + y: 0, + width: unscaledWidth, + height: track.getUnscaledHeight() }); this.columnTrackHeaders[i].paint(); } @@ -2610,10 +2769,10 @@ morpheus.HeatMap.prototype = { if (this.isDendrogramVisible(true)) { this.columnDendrogram.setVisible(true); this.columnDendrogram.paint({ - x : x, - y : 0, - width : unscaledWidth, - height : this.columnDendrogram.getUnscaledHeight() + x: x, + y: 0, + width: unscaledWidth, + height: this.columnDendrogram.getUnscaledHeight() }); } else { this.columnDendrogram.setVisible(false); @@ -2624,71 +2783,75 @@ morpheus.HeatMap.prototype = { this.heatmap.setInvalid(true); } this.heatmap.paint({ - x : x, - y : y, - width : unscaledWidth, - height : unscaledHeight + x: x, + y: y, + width: unscaledWidth, + height: unscaledHeight }); this.trigger('change', { - name : 'paintAll', - source : this, - arguments : arguments + name: 'paintAll', + source: this, + arguments: arguments }); - }, - scrollTop : function(pos) { + } + , + scrollTop: function (pos) { if (pos === undefined) { return this.vscroll.getValue(); } this.vscroll.setValue(pos, true); this.trigger('change', { - name : 'scrollTop', - source : this, - arguments : arguments + name: 'scrollTop', + source: this, + arguments: arguments }); - }, - scrollLeft : function(pos) { + } + , + scrollLeft: function (pos) { if (pos === undefined) { return this.hscroll.getValue(); } this.trigger('change', { - name : 'scrollLeft', - source : this, - arguments : arguments + name: 'scrollLeft', + source: this, + arguments: arguments }); this.hscroll.setValue(pos, true); - }, - setSelectedTrack : function(name, isColumns) { + } + , + setSelectedTrack: function (name, isColumns) { if (name !== this.selectedTrackName - || isColumns !== this.selectedTrackIsColumns) { + || isColumns !== this.selectedTrackIsColumns) { var index = this.getTrackIndex(this.selectedTrackName, - this.selectedTrackIsColumns); + this.selectedTrackIsColumns); if (index !== -1) { this.getTrackHeaderByIndex(index, this.selectedTrackIsColumns) - .setSelected(false); + .setSelected(false); } this.selectedTrackName = name; this.selectedTrackIsColumns = isColumns; var index = this.getTrackIndex(this.selectedTrackName, - this.selectedTrackIsColumns); + this.selectedTrackIsColumns); if (index !== -1) { this.getTrackHeaderByIndex(index, this.selectedTrackIsColumns) - .setSelected(true); + .setSelected(true); } this.trigger('change', { - name : 'setSelected', - source : this, - arguments : arguments + name: 'setSelected', + source: this, + arguments: arguments }); } - }, - saveImage : function(file, format) { + } + , + saveImage: function (file, format) { var bounds = this.getTotalSize(); if (format === 'svg') { var context = new C2S(bounds.width, bounds.height); this.snapshot(context); var svg = context.getSerializedSvg(); - var blob = new Blob([ svg ], { - type : 'text/plain;charset=utf-8' + var blob = new Blob([svg], { + type: 'text/plain;charset=utf-8' }); saveAs(blob, file, true); } else { @@ -2701,7 +2864,7 @@ morpheus.HeatMap.prototype = { canvas.width = width; canvas.style.width = bounds.width + 'px'; this.snapshot(canvas.getContext('2d')); - canvas.toBlob(function(blob) { + canvas.toBlob(function (blob) { if (blob.size === 0) { throw 'Image is too large.'; } @@ -2709,16 +2872,17 @@ morpheus.HeatMap.prototype = { saveAs(blob, file, true); }); } - }, - getTotalSize : function(options) { + } + , + getTotalSize: function (options) { options = $.extend({}, { - legend : true + legend: true }, options); var _this = this; var heatmapPrefSize = this.heatmap.getPreferredSize(); var totalSize = { - width : heatmapPrefSize.width, - height : heatmapPrefSize.height + width: heatmapPrefSize.width, + height: heatmapPrefSize.height }; if (this.isDendrogramVisible(false)) { // row dendrogram totalSize.width += this.rowDendrogram.getUnscaledWidth(); @@ -2733,7 +2897,7 @@ morpheus.HeatMap.prototype = { if (track.isVisible()) { var headerSize = this.rowTrackHeaders[i].getPrintSize(); totalSize.width += Math.max(headerSize.width, track - .getPrintSize().width); + .getPrintSize().width); maxHeaderHeight = Math.max(maxHeaderHeight, headerSize.height); } } @@ -2743,7 +2907,7 @@ morpheus.HeatMap.prototype = { if (track.isVisible()) { totalSize.height += track.getPrintSize().height; maxHeaderWidth = Math.max(maxHeaderWidth, - this.columnTrackHeaders[i].getPrintSize().width); + this.columnTrackHeaders[i].getPrintSize().width); } } maxHeaderWidth += 10; // spacer between column track header and heat @@ -2752,56 +2916,58 @@ morpheus.HeatMap.prototype = { // color legend if (options.legend) { var legendHeight = this.heatmap.getColorScheme().getNames() != null ? this.heatmap - .getColorScheme().getNames().length * 14 - : 40; + .getColorScheme().getNames().length * 14 + : 40; totalSize.height += legendHeight; } var trackLegendSize = new morpheus.HeatMapTrackColorLegend( - _ - .filter( - this.columnTracks, - function(track) { - return track.isVisible() - && (track - .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track - .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); - }), this.getProject().getColumnColorModel()) - .getPreferredSize(); + _ + .filter( + this.columnTracks, + function (track) { + return track.isVisible() + && (track + .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track + .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); + }), this.getProject().getColumnColorModel()) + .getPreferredSize(); totalSize.height += trackLegendSize.height; totalSize.width = Math.max(totalSize.width, trackLegendSize.width); trackLegendSize = new morpheus.HeatMapTrackColorLegend( - _ - .filter( - this.rowTracks, - function(track) { - return track.isVisible() - && (track - .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track - .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); - }), this.getProject().getRowColorModel()) - .getPreferredSize(); + _ + .filter( + this.rowTracks, + function (track) { + return track.isVisible() + && (track + .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track + .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); + }), this.getProject().getRowColorModel()) + .getPreferredSize(); totalSize.height += trackLegendSize.height; totalSize.width = 10 + Math.max(totalSize.width, trackLegendSize.width); return totalSize; - }, - getHeatMapElementComponent : function() { + } + , + getHeatMapElementComponent: function () { return this.heatmap; - }, - snapshot : function(context, options) { + } + , + snapshot: function (context, options) { options = $.extend({}, { - legend : true + legend: true }, options); var heatmapPrefSize = this.heatmap.getPreferredSize(); var totalSize = this.getTotalSize(options); var legendHeight = 0; if (options.legend) { legendHeight = this.heatmap.getColorScheme().getNames() != null ? this.heatmap - .getColorScheme().getNames().length * 14 - : 40; + .getColorScheme().getNames().length * 14 + : 40; context.save(); context.translate(50, 0); morpheus.HeatMapColorSchemeLegend.drawColorScheme(context, - this.heatmap.getColorScheme(), 200, true); + this.heatmap.getColorScheme(), 200, true); context.restore(); } @@ -2809,15 +2975,15 @@ morpheus.HeatMap.prototype = { context.translate(4, legendHeight); // column color legend var columnTrackLegend = new morpheus.HeatMapTrackColorLegend( - _ - .filter( - this.columnTracks, - function(track) { - return track.isVisible() - && (track - .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track - .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); - }), this.getProject().getColumnColorModel()); + _ + .filter( + this.columnTracks, + function (track) { + return track.isVisible() + && (track + .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track + .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); + }), this.getProject().getColumnColorModel()); columnTrackLegend.draw({}, context); context.restore(); // row color legend @@ -2825,24 +2991,24 @@ morpheus.HeatMap.prototype = { context.save(); context.translate(4 + columnTrackLegendSize.width, legendHeight); var rowTrackLegend = new morpheus.HeatMapTrackColorLegend( - _ - .filter( - this.rowTracks, - function(track) { - return track.isVisible() - && (track - .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track - .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); - }), this.getProject().getRowColorModel()); + _ + .filter( + this.rowTracks, + function (track) { + return track.isVisible() + && (track + .isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || track + .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)); + }), this.getProject().getRowColorModel()); rowTrackLegend.draw({}, context); context.restore(); legendHeight += Math.max(rowTrackLegend.getPreferredSize().height, - columnTrackLegendSize.height); + columnTrackLegendSize.height); var heatmapY = this.isDendrogramVisible(true) ? this.columnDendrogram - .getUnscaledHeight() : 0; + .getUnscaledHeight() : 0; heatmapY += legendHeight + 10; // 10 pixels after track var heatmapX = this.isDendrogramVisible(false) ? this.rowDendrogram - .getUnscaledWidth() : 0; + .getUnscaledWidth() : 0; var totalColumnTrackHeight = 0; for (var i = 0, length = this.columnTracks.length; i < length; i++) { var track = this.columnTracks[i]; @@ -2864,10 +3030,10 @@ morpheus.HeatMap.prototype = { } if (this.isDendrogramVisible(false)) { var rowDendrogramClip = { - x : 0, - y : 0, - width : this.rowDendrogram.getUnscaledWidth(), - height : heatmapPrefSize.height + x: 0, + y: 0, + width: this.rowDendrogram.getUnscaledWidth(), + height: heatmapPrefSize.height }; context.save(); context.translate(0, heatmapY); @@ -2879,10 +3045,10 @@ morpheus.HeatMap.prototype = { context.save(); context.translate(heatmapX, legendHeight); var columnDendrogramClip = { - x : 0, - y : 0, - width : heatmapPrefSize.width, - height : this.columnDendrogram.getUnscaledHeight() + x: 0, + y: 0, + width: heatmapPrefSize.width, + height: this.columnDendrogram.getUnscaledHeight() }; this.columnDendrogram.prePaint(columnDendrogramClip, context); this.columnDendrogram.draw(columnDendrogramClip, context); @@ -2897,10 +3063,10 @@ morpheus.HeatMap.prototype = { var tx = heatmapX; context.translate(tx, columnTrackY); var trackClip = { - x : 0, - y : 0, - width : heatmapPrefSize.width, - height : track.getPrintSize().height + x: 0, + y: 0, + width: heatmapPrefSize.width, + height: track.getPrintSize().height }; track.print(trackClip, context); @@ -2910,10 +3076,10 @@ morpheus.HeatMap.prototype = { context.save(); var headerSize = header.getPrintSize(); var headerClip = { - x : 0, - y : 0, - width : headerSize.width, - height : headerSize.height + x: 0, + y: 0, + width: headerSize.width, + height: headerSize.height }; context.translate(tx - 10, columnTrackY + trackClip.height); header.print(headerClip, context); @@ -2924,10 +3090,10 @@ morpheus.HeatMap.prototype = { context.save(); context.translate(heatmapX, heatmapY); this.heatmap.draw({ - x : 0, - y : 0, - width : heatmapPrefSize.width, - height : heatmapPrefSize.height + x: 0, + y: 0, + width: heatmapPrefSize.width, + height: heatmapPrefSize.height }, context); context.restore(); var sum = 0; @@ -2938,10 +3104,10 @@ morpheus.HeatMap.prototype = { var tx = 10 + heatmapX + heatmapPrefSize.width + sum; var ty = heatmapY; var trackClip = { - x : 0, - y : 0, - width : track.getPrintSize().width, - height : heatmapPrefSize.height + x: 0, + y: 0, + width: track.getPrintSize().width, + height: heatmapPrefSize.height }; context.translate(tx, ty); context.strokeStyle = 'white'; @@ -2957,10 +3123,10 @@ morpheus.HeatMap.prototype = { context.save(); var headerSize = header.getPrintSize(); var headerClip = { - x : 0, - y : 0, - width : headerSize.width, - height : headerSize.height + x: 0, + y: 0, + width: headerSize.width, + height: headerSize.height }; context.translate(tx, ty - 4); header.print(headerClip, context); @@ -2968,8 +3134,9 @@ morpheus.HeatMap.prototype = { sum += Math.max(headerSize.width, trackClip.width); } } - }, - resetZoom : function() { + } + , + resetZoom: function () { var heatmap = this.heatmap; var rowSizes = heatmap.getRowPositions(); var columnSizes = heatmap.getColumnPositions(); @@ -2978,15 +3145,16 @@ morpheus.HeatMap.prototype = { var reval = {}; if (this.project.getHoverRowIndex() !== -1) { reval.scrollTop = this.heatmap.getRowPositions().getPosition( - this.project.getHoverRowIndex()); + this.project.getHoverRowIndex()); } if (this.project.getHoverColumnIndex() !== -1) { reval.scrollLeft = this.heatmap.getColumnPositions().getPosition( - this.project.getHoverColumnIndex()); + this.project.getHoverColumnIndex()); } this.revalidate(reval); - }, - getFitColumnSize : function() { + } + , + getFitColumnSize: function () { var heatmap = this.heatmap; var availablePixels = this.getAvailableWidth(); if (this.rowDendrogram) { @@ -3012,13 +3180,14 @@ morpheus.HeatMap.prototype = { var positions = heatmap.getColumnPositions(); var totalCurrent = positions.getItemSize(positions.getLength() - 1) - + positions.getPosition(positions.getLength() - 1); + + positions.getPosition(positions.getLength() - 1); var size = positions.getSize(); size = size * (availablePixels / totalCurrent); size = Math.min(13, size); return size; - }, - getFitRowSize : function() { + } + , + getFitRowSize: function () { var heatmap = this.heatmap; var availablePixels = this.getAvailableHeight(); @@ -3035,30 +3204,32 @@ morpheus.HeatMap.prototype = { availablePixels -= trackPixels; var positions = heatmap.getRowPositions(); var totalCurrent = positions.getItemSize(positions.getLength() - 1) - + positions.getPosition(positions.getLength() - 1); + + positions.getPosition(positions.getLength() - 1); var size = positions.getSize(); size = size * (availablePixels / totalCurrent); size = Math.min(13, size); return size; - }, - fitToWindow : function(repaint) { + } + , + fitToWindow: function (repaint) { this.heatmap.getRowPositions().setSize(this.getFitRowSize()); this.heatmap.getColumnPositions().setSize(this.getFitColumnSize()); if (repaint) { var reval = {}; if (this.project.getHoverRowIndex() !== -1) { reval.scrollTop = this.heatmap.getRowPositions().getPosition( - this.project.getHoverRowIndex()); + this.project.getHoverRowIndex()); } if (this.project.getHoverColumnIndex() !== -1) { reval.scrollLeft = this.heatmap.getColumnPositions() - .getPosition(this.project.getHoverColumnIndex()); + .getPosition(this.project.getHoverColumnIndex()); } this.revalidate(reval); } - }, - getAvailableHeight : function() { + } + , + getAvailableHeight: function () { if (_.isNumber(this.options.height)) { return this.options.height; } @@ -3067,21 +3238,23 @@ morpheus.HeatMap.prototype = { return height; } return Math.max(Math.round(screen.height * 0.7), height); - }, - getAvailableWidth : function() { + } + , + getAvailableWidth: function () { if (this.options.width) { return this.options.width; } // (this.$el.parent().outerWidth() - 30); // return this.$el.width() - 30; return this.tabManager.getWidth() - 30; - }, + } + , /** * Layout all the components */ - revalidate : function(options) { + revalidate: function (options) { options = $.extend({}, { - paint : true + paint: true }, options); this.updatingScroll = true; var availableHeight = this.getAvailableHeight(); @@ -3092,21 +3265,21 @@ morpheus.HeatMap.prototype = { var rowDendrogramWidth = 0; if (this.columnDendrogram) { columnDendrogramHeight = morpheus.CanvasUtil - .getPreferredSize(this.columnDendrogram).height; + .getPreferredSize(this.columnDendrogram).height; } if (this.rowDendrogram) { rowDendrogramWidth = morpheus.CanvasUtil - .getPreferredSize(this.rowDendrogram).width; + .getPreferredSize(this.rowDendrogram).width; } var rowTrackWidthSum = 0; for (var i = 0, length = this.rowTracks.length; i < length; i++) { if (this.rowTracks[i].isVisible()) { rowTrackWidthSum += Math - .max( - morpheus.CanvasUtil - .getPreferredSize(this.rowTrackHeaders[i]).width, - morpheus.CanvasUtil - .getPreferredSize(this.rowTracks[i]).width); + .max( + morpheus.CanvasUtil + .getPreferredSize(this.rowTrackHeaders[i]).width, + morpheus.CanvasUtil + .getPreferredSize(this.rowTracks[i]).width); } } var ypos = columnDendrogramHeight; @@ -3114,15 +3287,15 @@ morpheus.HeatMap.prototype = { for (var i = 0, length = this.columnTracks.length; i < length; i++) { if (this.columnTracks[i].isVisible()) { var width = morpheus.CanvasUtil - .getPreferredSize(this.columnTrackHeaders[i]).width; + .getPreferredSize(this.columnTrackHeaders[i]).width; maxHeaderWidth = Math.max(maxHeaderWidth, width); } } var xpos = Math.max(rowDendrogramWidth, maxHeaderWidth); var heatMapWidth = heatmapPrefSize.width; var maxHeatMapWidth = Math.max(50, availableWidth - rowTrackWidthSum - - xpos - - morpheus.HeatMap.SPACE_BETWEEN_HEAT_MAP_AND_ANNOTATIONS); + - xpos + - morpheus.HeatMap.SPACE_BETWEEN_HEAT_MAP_AND_ANNOTATIONS); if (maxHeatMapWidth > 0 && heatMapWidth > maxHeatMapWidth) { heatMapWidth = maxHeatMapWidth; heatMapWidth = Math.min(heatMapWidth, heatmapPrefSize.width); // can't @@ -3135,27 +3308,27 @@ morpheus.HeatMap.prototype = { if (this.heatmap.prefWidth !== undefined) { // heat map was manually // resized heatMapWidth = Math.min(heatmapPrefSize.width, - this.heatmap.prefWidth); + this.heatmap.prefWidth); } if (this.columnDendrogram !== undefined) { this.columnDendrogram.setBounds({ - width : heatMapWidth, - height : columnDendrogramHeight, - left : xpos, - top : 0 + width: heatMapWidth, + height: columnDendrogramHeight, + left: xpos, + top: 0 }); this.columnDendrogram.$label.css('left', - xpos + this.columnDendrogram.getUnscaledWidth() + 10).css( - 'top', 2); + xpos + this.columnDendrogram.getUnscaledWidth() + 10).css( + 'top', 2); this.columnDendrogram.$squishedLabel.css('left', - xpos + this.columnDendrogram.getUnscaledWidth() + 10).css( - 'top', 18); + xpos + this.columnDendrogram.getUnscaledWidth() + 10).css( + 'top', 18); this.beforeColumnTrackDivider.setVisible(true); this.beforeColumnTrackDivider.setBounds({ - left : xpos - maxHeaderWidth, - top : ypos, - width : maxHeaderWidth + left: xpos - maxHeaderWidth, + top: ypos, + width: maxHeaderWidth }); ypos++; } else { @@ -3167,19 +3340,19 @@ morpheus.HeatMap.prototype = { if (track.isVisible()) { var size = morpheus.CanvasUtil.getPreferredSize(track); var headerSize = morpheus.CanvasUtil - .getPreferredSize(this.columnTrackHeaders[i]); + .getPreferredSize(this.columnTrackHeaders[i]); size.height = Math.max(size.height, headerSize.height); track.setBounds({ - width : heatMapWidth, - height : size.height, - left : xpos, - top : ypos + width: heatMapWidth, + height: size.height, + left: xpos, + top: ypos }); this.columnTrackHeaders[i].setBounds({ - width : maxHeaderWidth, - height : size.height, - left : xpos - maxHeaderWidth, - top : ypos + width: maxHeaderWidth, + height: size.height, + left: xpos - maxHeaderWidth, + top: ypos }); ypos += size.height; } @@ -3188,52 +3361,52 @@ morpheus.HeatMap.prototype = { var heatMapHeight = heatmapPrefSize.height; if (heatMapHeight > (availableHeight - ypos)) { heatMapHeight = Math.max(100, Math.min(heatmapPrefSize.height, - availableHeight - ypos)); + availableHeight - ypos)); } if (ypos < 0) { ypos = 0; } if (this.rowDendrogram) { this.rowDendrogram.setBounds({ - width : Math.max(rowDendrogramWidth, maxHeaderWidth), - height : heatMapHeight, - left : 0, - top : ypos + width: Math.max(rowDendrogramWidth, maxHeaderWidth), + height: heatMapHeight, + left: 0, + top: ypos }); this.rowDendrogram.$label.css('left', 0).css('top', 2); this.afterRowDendrogramDivider.setVisible(true); this.afterRowDendrogramDivider.setBounds({ - height : heatMapHeight, - left : this.rowDendrogram.getUnscaledWidth(), - top : ypos + height: heatMapHeight, + left: this.rowDendrogram.getUnscaledWidth(), + top: ypos }); xpos++; } else { this.afterRowDendrogramDivider.setVisible(false); } this.heatmap.setBounds({ - width : heatMapWidth, - height : heatMapHeight, - left : xpos, - top : ypos + width: heatMapWidth, + height: heatMapHeight, + left: xpos, + top: ypos }); this.hSortByValuesIndicator.setBounds({ - height : 4, - width : heatMapWidth, - left : xpos, - top : ypos - 4 + height: 4, + width: heatMapWidth, + left: xpos, + top: ypos - 4 }); this.hscroll.setVisible(heatMapWidth < heatmapPrefSize.width); this.hscroll.setExtent(heatMapWidth, heatmapPrefSize.width, - options.scrollLeft !== undefined ? options.scrollLeft - : (heatmapPrefSize.width === this.hscroll - .getTotalExtent() ? this.hscroll.getValue() - : heatmapPrefSize.width - * this.hscroll.getValue() - / this.hscroll.getMaxValue())); + options.scrollLeft !== undefined ? options.scrollLeft + : (heatmapPrefSize.width === this.hscroll + .getTotalExtent() ? this.hscroll.getValue() + : heatmapPrefSize.width + * this.hscroll.getValue() + / this.hscroll.getMaxValue())); this.hscroll.setBounds({ - left : xpos, - top : ypos + heatMapHeight + 2 + left: xpos, + top: ypos + heatMapHeight + 2 }); xpos += heatMapWidth; var nvisibleRowTracks = 0; @@ -3245,14 +3418,14 @@ morpheus.HeatMap.prototype = { } } this.vSortByValuesIndicator.setBounds({ - width : 4, - height : heatMapHeight, - left : xpos, - top : ypos + width: 4, + height: heatMapHeight, + left: xpos, + top: ypos }); if (nvisibleRowTracks > 0) { xpos = xpos - + morpheus.HeatMap.SPACE_BETWEEN_HEAT_MAP_AND_ANNOTATIONS; // leave + + morpheus.HeatMap.SPACE_BETWEEN_HEAT_MAP_AND_ANNOTATIONS; // leave // space // after // afterVerticalScrollBarDivider @@ -3263,43 +3436,43 @@ morpheus.HeatMap.prototype = { if (track.isVisible()) { var size = morpheus.CanvasUtil.getPreferredSize(track); var headerSize = morpheus.CanvasUtil - .getPreferredSize(this.rowTrackHeaders[i]); + .getPreferredSize(this.rowTrackHeaders[i]); size.width = Math.max(headerSize.width, size.width); size.height = heatMapHeight; track.setBounds({ - width : size.width, - height : size.height, - left : xpos, - top : ypos + width: size.width, + height: size.height, + left: xpos, + top: ypos }); this.rowTrackHeaders[i].setBounds({ - width : size.width, - left : xpos, - top : ypos - headerSize.height - 5, - height : headerSize.height + width: size.width, + left: xpos, + top: ypos - headerSize.height - 5, + height: headerSize.height }); xpos += size.width; } } this.afterVerticalScrollBarDivider - .setVisible(nvisibleRowTracks > 0 ? true : false); + .setVisible(nvisibleRowTracks > 0 ? true : false); this.afterVerticalScrollBarDivider.setBounds({ - left : rowAnnotationXStart - 2, - top : ypos - 18 + left: rowAnnotationXStart - 2, + top: ypos - 18 }); this.vscroll.setVisible(heatMapHeight < heatmapPrefSize.height); this.vscroll.setExtent(heatMapHeight, heatmapPrefSize.height, - options.scrollTop !== undefined ? options.scrollTop - : (heatmapPrefSize.height === this.vscroll - .getTotalExtent() ? this.vscroll.getValue() - : heatmapPrefSize.height - * this.vscroll.getValue() - / this.vscroll.getMaxValue())); + options.scrollTop !== undefined ? options.scrollTop + : (heatmapPrefSize.height === this.vscroll + .getTotalExtent() ? this.vscroll.getValue() + : heatmapPrefSize.height + * this.vscroll.getValue() + / this.vscroll.getMaxValue())); xpos += 2; this.vscroll.setBounds({ - left : xpos, - top : ypos + left: xpos, + top: ypos }); xpos += this.vscroll.getUnscaledWidth(); if (this.hscroll.isVisible()) { @@ -3308,36 +3481,36 @@ morpheus.HeatMap.prototype = { var totalHeight = 2 + ypos + heatMapHeight; if (options.paint) { this.paintAll({ - paintRows : true, - paintColumns : true, - invalidateRows : true, - invalidateColumns : true + paintRows: true, + paintColumns: true, + invalidateRows: true, + invalidateColumns: true }); } this.$parent.css({ - height : Math.ceil(totalHeight) + 'px' + height: Math.ceil(totalHeight) + 'px' }); this.updatingScroll = false; this.trigger('change', { - name : 'revalidate', - source : this, - arguments : arguments + name: 'revalidate', + source: this, + arguments: arguments }); } }; -morpheus.HeatMap.copyFromParent = function(project, options) { +morpheus.HeatMap.copyFromParent = function (project, options) { // TODO persist sort order, grouping, dendrogram project.rowColorModel = options.parent.getProject().getRowColorModel() - .copy(); + .copy(); project.columnColorModel = options.parent.getProject() - .getColumnColorModel().copy(); + .getColumnColorModel().copy(); project.rowShapeModel = options.parent.getProject().getRowShapeModel() - .copy(); + .copy(); project.columnShapeModel = options.parent.getProject() - .getColumnShapeModel().copy(); + .getColumnShapeModel().copy(); var parentRowTracks = options.parent.rowTracks || []; var parentColumnTracks = options.parent.columnTracks || []; @@ -3373,10 +3546,10 @@ morpheus.HeatMap.copyFromParent = function(project, options) { var track = parentRowTracks[i]; if (track.isVisible()) { options.rows.push({ - order : options.rows.length, - field : track.getName(), - display : $.extend(true, {}, track.settings), - force : true + order: options.rows.length, + field: track.getName(), + display: $.extend(true, {}, track.settings), + force: true }); } } @@ -3385,10 +3558,10 @@ morpheus.HeatMap.copyFromParent = function(project, options) { var track = parentColumnTracks[i]; if (track.isVisible()) { options.columns.push({ - order : options.columns.length, - field : track.getName(), - display : $.extend(true, {}, track.settings), - force : true + order: options.columns.length, + field: track.getName(), + display: $.extend(true, {}, track.settings), + force: true }); } } diff --git a/src/ui/heat_map_element_canvas.js b/src/ui/heat_map_element_canvas.js index e7aaa9a79dbd4031df3788c064a460035315d48f..e1f796d9cd3d9b80ed1ec3cc354d0e54abb008bd 100644 --- a/src/ui/heat_map_element_canvas.js +++ b/src/ui/heat_map_element_canvas.js @@ -1,4 +1,4 @@ -morpheus.HeatMapElementCanvas = function(project) { +morpheus.HeatMapElementCanvas = function (project) { morpheus.AbstractCanvas.call(this, true); this.colorScheme = null; this.project = project; @@ -7,56 +7,56 @@ morpheus.HeatMapElementCanvas = function(project) { this.columnPositions = new morpheus.Positions(); this.rowPositions = new morpheus.Positions(); this.lastPosition = { - left : -1, - right : -1, - top : -1, - bottom : -1 + left: -1, + right: -1, + top: -1, + bottom: -1 }; - project.getElementSelectionModel().on('selectionChanged', function() { + project.getElementSelectionModel().on('selectionChanged', function () { _this.repaint(); }); }; morpheus.HeatMapElementCanvas.GRID_COLOR = 'rgb(128,128,128)'; morpheus.HeatMapElementCanvas.prototype = { - drawGrid : true, - getColorScheme : function() { + drawGrid: true, + getColorScheme: function () { return this.colorScheme; }, - isDrawGrid : function() { + isDrawGrid: function () { return this.drawGrid; }, - setDrawGrid : function(drawGrid) { + setDrawGrid: function (drawGrid) { this.drawGrid = drawGrid; }, - setColorScheme : function(colorScheme) { + setColorScheme: function (colorScheme) { this.colorScheme = colorScheme; }, - setDataset : function(dataset) { + setDataset: function (dataset) { this.dataset = dataset; this.columnPositions.setLength(this.dataset.getColumnCount()); this.rowPositions.setLength(this.dataset.getRowCount()); }, - getColumnPositions : function() { + getColumnPositions: function () { return this.columnPositions; }, - getRowPositions : function() { + getRowPositions: function () { return this.rowPositions; }, - getPreferredSize : function(context) { + getPreferredSize: function (context) { var w = Math.ceil(this.columnPositions.getPosition(this.columnPositions .getLength() - 1) - + this.columnPositions.getItemSize(this.columnPositions - .getLength() - 1)); + + this.columnPositions.getItemSize(this.columnPositions + .getLength() - 1)); var h = Math.ceil(this.rowPositions.getPosition(this.rowPositions .getLength() - 1) - + this.rowPositions - .getItemSize(this.rowPositions.getLength() - 1)); + + this.rowPositions + .getItemSize(this.rowPositions.getLength() - 1)); return { - width : w, - height : h + width: w, + height: h }; }, - prePaint : function(clip, context) { + prePaint: function (clip, context) { var lastPosition = this.lastPosition; var columnPositions = this.columnPositions; var rowPositions = this.rowPositions; @@ -65,8 +65,8 @@ morpheus.HeatMapElementCanvas.prototype = { var top = morpheus.Positions.getTop(clip, rowPositions); var bottom = morpheus.Positions.getBottom(clip, rowPositions); if (this.invalid || left !== lastPosition.left - || right !== lastPosition.right || top !== lastPosition.top - || bottom !== lastPosition.bottom) { + || right !== lastPosition.right || top !== lastPosition.top + || bottom !== lastPosition.bottom) { lastPosition.right = right; lastPosition.left = left; lastPosition.top = top; @@ -74,7 +74,7 @@ morpheus.HeatMapElementCanvas.prototype = { this.invalid = true; } }, - postPaint : function(clip, context) { + postPaint: function (clip, context) { // draw mouse over stuff morpheus.CanvasUtil.resetTransform(context); var project = this.project; @@ -83,33 +83,33 @@ morpheus.HeatMapElementCanvas.prototype = { var rowPositions = this.getRowPositions(); var columnPositions = this.getColumnPositions(); if (project.getHoverColumnIndex() >= 0 - || project.getHoverRowIndex() >= 0) { + || project.getHoverRowIndex() >= 0) { var height = rowPositions - .getItemSize(project.getHoverColumnIndex()); + .getItemSize(project.getHoverColumnIndex()); var width = columnPositions.getItemSize(project - .getHoverColumnIndex()); + .getHoverColumnIndex()); var y = (project.getHoverRowIndex() === -1 ? rowPositions - .getPosition(rowPositions.getLength() - 1) : rowPositions - .getPosition(project.getHoverRowIndex())); + .getPosition(rowPositions.getLength() - 1) : rowPositions + .getPosition(project.getHoverRowIndex())); var x = (project.getHoverColumnIndex() === -1 ? columnPositions - .getPosition(0) : columnPositions.getPosition(project - .getHoverColumnIndex())); + .getPosition(0) : columnPositions.getPosition(project + .getHoverColumnIndex())); if (project.getHoverColumnIndex() !== -1) { context.strokeRect(x - clip.x, 0, width, this - .getUnscaledHeight()); + .getUnscaledHeight()); } if (project.getHoverRowIndex() !== -1) { context.strokeRect(0, y - clip.y, this.getUnscaledWidth(), - height); + height); } if (project.getHoverColumnIndex() !== -1 - && project.getHoverRowIndex() !== -1) { + && project.getHoverRowIndex() !== -1) { context.strokeStyle = 'black'; context.lineWidth = 3; context.strokeRect(x - clip.x + 1.5, y - clip.y + 1.5, - width - 1.5, height - 1.5); + width - 1.5, height - 1.5); } } var left = morpheus.Positions.getLeft(clip, columnPositions); @@ -121,20 +121,20 @@ morpheus.HeatMapElementCanvas.prototype = { // context.fillRect(0, 0, this.canvas.width, this.canvas.height); context.translate(-clip.x, -clip.y); var selectedElements = project.getElementSelectionModel() - .getViewIndices(); + .getViewIndices(); if (selectedElements != null) { - selectedElements.forEach(function(id) { + selectedElements.forEach(function (id) { var rowIndex = id.getArray()[0]; var columnIndex = id.getArray()[1]; if (rowIndex >= top && rowIndex < bottom && columnIndex >= left - && columnIndex < right) { + && columnIndex < right) { var rowSize = rowPositions.getItemSize(rowIndex); var py = rowPositions.getPosition(rowIndex); var columnSize = columnPositions.getItemSize(columnIndex); var px = columnPositions.getPosition(columnIndex); context.strokeRect(px + 1.5, py + 1.5, columnSize - 1.5, - rowSize - 1.5); + rowSize - 1.5); } }); @@ -158,23 +158,33 @@ morpheus.HeatMapElementCanvas.prototype = { // emptySelection = emptySelection && selectedColumnElements.size() == // 0; }, - setElementDrawCallback : function(elementDrawCallback) { + setElementDrawCallback: function (elementDrawCallback) { this._elementDrawCallback = elementDrawCallback; }, - setDrawCallback : function(drawCallback) { - this.drawCallback = drawCallback; - }, - draw : function(clip, context) { + draw: function (clip, context) { var columnPositions = this.columnPositions; var rowPositions = this.rowPositions; var left = morpheus.Positions.getLeft(clip, columnPositions); var right = morpheus.Positions.getRight(clip, columnPositions); var top = morpheus.Positions.getTop(clip, rowPositions); var bottom = morpheus.Positions.getBottom(clip, rowPositions); + context.translate(-clip.x, -clip.y); + this._draw({left: left, right: right, top: top, bottom: bottom, context: context}); + context.translate(clip.x, clip.y); + + }, + _draw: function (options) { + var left = options.left; + var right = options.right; + var top = options.top; + var bottom = options.bottom; + var context = options.context; var dataset = this.dataset; + var columnPositions = this.columnPositions; + var rowPositions = this.rowPositions; + // context.fillStyle = 'LightGrey'; // context.fillRect(0, 0, this.canvas.width, this.canvas.height); - context.translate(-clip.x, -clip.y); var colorScheme = this.colorScheme; var drawGrid = this.drawGrid; @@ -197,19 +207,19 @@ morpheus.HeatMapElementCanvas.prototype = { var columnSize = columnPositions.getItemSize(column); var px = columnPositions.getPosition(column); context.fillStyle = colorScheme.getColor(row, column, dataset - .getValue(row, column)); + .getValue(row, column)); if (column === left) { // check if the color scheme for this // row is sizing sizer = colorScheme.getSizer(); sizeBySeriesName = sizer.getSeriesName(); sizeBySeriesIndex = sizeBySeriesName != null ? seriesNameToIndex[sizeBySeriesName] - : undefined; + : undefined; conditionSeriesIndices = []; conditions = colorScheme.getConditions().getConditions(); for (var ci = 0, nconditions = conditions.length; ci < nconditions; ci++) { conditionSeriesIndices - .push(seriesNameToIndex[conditions[ci].series]); + .push(seriesNameToIndex[conditions[ci].series]); } } @@ -217,7 +227,7 @@ morpheus.HeatMapElementCanvas.prototype = { var cellRowSize = rowSize; if (sizeBySeriesIndex !== undefined) { var sizeByValue = dataset.getValue(row, column, - sizeBySeriesIndex); + sizeBySeriesIndex); if (!isNaN(sizeByValue)) { var f = sizer.valueToFraction(sizeByValue); var rowDiff = rowSize - rowSize * f; @@ -230,7 +240,7 @@ morpheus.HeatMapElementCanvas.prototype = { for (var ci = 0, nconditions = conditions.length; ci < nconditions; ci++) { var cond = conditions[ci]; var condValue = dataset.getValue(row, column, - conditionSeriesIndices[ci]); + conditionSeriesIndices[ci]); if (!isNaN(condValue) && cond.accept(condValue)) { condition = cond; @@ -240,17 +250,17 @@ morpheus.HeatMapElementCanvas.prototype = { } if (condition !== null) { context.fillRect(px, py + yoffset, columnSize, - cellRowSize); + cellRowSize); // x and y are at center var x = px + cellRowSize / 2; var y = py + yoffset + columnSize / 2; context.fillStyle = condition.color; morpheus.CanvasUtil.drawShape(context, condition.shape, - x, y, Math.min(columnSize, cellRowSize) / 4); + x, y, Math.min(columnSize, cellRowSize) / 4); context.fill(); } else { context.fillRect(px, py + yoffset, columnSize, - cellRowSize); + cellRowSize); } } else { context.fillRect(px, py + yoffset, columnSize, cellRowSize); @@ -258,7 +268,7 @@ morpheus.HeatMapElementCanvas.prototype = { if (elementDrawCallback) { elementDrawCallback(context, dataset, row, column, px, py, - columnSize, rowSize); + columnSize, rowSize); } } } @@ -279,22 +289,8 @@ morpheus.HeatMapElementCanvas.prototype = { } } - if (this.drawCallback) { - this.drawCallback({ - context : context, - dataset : dataset, - top : top, - bottom : bottom, - left : left, - right : right, - rowPositions : rowPositions, - columnPositions : columnPositions, - project : this.project, - clip : clip - }); - } context.lineWidth = 1; - context.translate(clip.x, clip.y); + } }; morpheus.Util.extend(morpheus.HeatMapElementCanvas, morpheus.AbstractCanvas); diff --git a/src/ui/heat_map_options.js b/src/ui/heat_map_options.js index a1e9a9aa3c63e0ae8a83729d5eaff896ab46a944..efc79668e7392cf5ec8ffe4d1a4839246e1cb925 100644 --- a/src/ui/heat_map_options.js +++ b/src/ui/heat_map_options.js @@ -1,181 +1,184 @@ -morpheus.HeatMapOptions = function(controller) { +morpheus.HeatMapOptions = function (controller) { var items = [ - { - name : 'color_by', - required : true, - type : 'select', - options : [ '(None)' ].concat(morpheus.MetadataUtil - .getMetadataNames(controller.getProject() - .getFullDataset().getRowMetadata())), - value : controller.heatmap.getColorScheme() - .getSeparateColorSchemeForRowMetadataField() + { + name: 'color_by', + required: true, + type: 'select', + options: ['(None)'].concat(morpheus.MetadataUtil + .getMetadataNames(controller.getProject() + .getFullDataset().getRowMetadata())), + value: controller.heatmap.getColorScheme() + .getSeparateColorSchemeForRowMetadataField() + }, { + name: 'color_by_value', + required: true, + type: 'select', + options: [] + }, { + name: 'load_predefined_scheme', + required: true, + type: 'select', + options: [{ + name: '', + value: '' + }, { + name: 'relative', + value: 'gene' }, { - name : 'color_by_value', - required : true, - type : 'select', - options : [] + name: 'binary', + value: 'binary' }, { - name : 'load_predefined_scheme', - required : true, - type : 'select', - options : [ { - name : '', - value : '' - }, { - name : 'relative', - value : 'gene' - }, { - name : 'binary', - value : 'binary' - }, { - name : 'MAF', - value : 'MAF' - }, { - name : 'fixed (-1, -0.5, 0.5, 1)', - value : 'wtcs' - }, { - name : 'fixed (-1.5, -0.1, 0.1, 1.5)', - value : 'cn' - }, { - name : 'fixed (-90, -80, 80, 90)', - value : '100scale2' - }, { - name : 'fixed (-90, 90)', - value : '100scale1' - } ] + name: 'MAF', + value: 'MAF' }, { - name : 'save_color_scheme', - type : 'button' + name: 'fixed (-1, -0.5, 0.5, 1)', + value: 'wtcs' }, { - name : 'load_color_scheme', - type : 'file' - } ]; + name: 'fixed (-1.5, -0.1, 0.1, 1.5)', + value: 'cn' + }, { + name: 'fixed (-90, -80, 80, 90)', + value: '100scale2' + }, { + name: 'fixed (-90, 90)', + value: '100scale1' + }] + }, { + name: 'save_color_scheme', + type: 'button' + }, { + name: 'load_color_scheme', + type: 'file' + }]; if (controller.getProject().getFullDataset().getSeriesCount() > 1) { items.push({ - name : 'size_by', - required : true, - type : 'select', - options : [ '(None)' ].concat(morpheus.DatasetUtil - .getSeriesNames(controller.getProject().getFullDataset())) + name: 'size_by', + required: true, + type: 'select', + options: ['(None)'].concat(morpheus.DatasetUtil + .getSeriesNames(controller.getProject().getFullDataset())) }); items.push({ - name : 'size_by_minimum', - title : 'Size by minimum', - required : true, - type : 'text', - col : 'col-xs-4' + name: 'size_by_minimum', + title: 'Size by minimum', + required: true, + type: 'text', + col: 'col-xs-4' }); items.push({ - name : 'size_by_maximum', - title : 'Size by maximum', - required : true, - type : 'text', - col : 'col-xs-4' + name: 'size_by_maximum', + title: 'Size by maximum', + required: true, + type: 'text', + col: 'col-xs-4' }); items.push({ - name : 'conditional_rendering', - required : true, - type : 'button', - col : 'col-xs-4' + name: 'conditional_rendering', + required: true, + type: 'button', + col: 'col-xs-4' }); } var displayItems = [ - { - name : 'show_grid', - required : true, - type : 'checkbox', - value : controller.heatmap.isDrawGrid() - }, - { - name : 'row_size', - required : true, - type : 'text', - col : 'col-xs-4', - value : morpheus.Util.nf(controller.heatmap.getRowPositions() - .getSize()) - }, - { - name : 'column_size', - required : true, - type : 'text', - col : 'col-xs-4', - value : morpheus.Util.nf(controller.heatmap - .getColumnPositions().getSize()) - } ]; + { + name: 'show_grid', + required: true, + type: 'checkbox', + value: controller.heatmap.isDrawGrid() + }, + { + name: 'row_size', + required: true, + type: 'text', + col: 'col-xs-4', + value: morpheus.Util.nf(controller.heatmap.getRowPositions() + .getSize()) + }, + { + name: 'column_size', + required: true, + type: 'text', + col: 'col-xs-4', + value: morpheus.Util.nf(controller.heatmap + .getColumnPositions().getSize()) + }]; if (controller.rowDendrogram) { displayItems - .push({ - name : 'row_dendrogram_line_thickness', - required : true, - type : 'text', - col : 'col-xs-4', - value : morpheus.Util - .nf(controller.rowDendrogram ? controller.rowDendrogram.lineWidth - : 1) - }); + .push({ + name: 'row_dendrogram_line_thickness', + required: true, + type: 'text', + col: 'col-xs-4', + value: morpheus.Util + .nf(controller.rowDendrogram ? controller.rowDendrogram.lineWidth + : 1) + }); } if (controller.columnDendrogram) { displayItems - .push({ - name : 'column_dendrogram_line_thickness', - required : true, - type : 'text', - col : 'col-xs-4', - value : morpheus.Util - .nf(controller.columnDendrogram ? controller.columnDendrogram.lineWidth - : 1) - }); + .push({ + name: 'column_dendrogram_line_thickness', + required: true, + type: 'text', + col: 'col-xs-4', + value: morpheus.Util + .nf(controller.columnDendrogram ? controller.columnDendrogram.lineWidth + : 1) + }); } displayItems.push({ - name : 'info_window', - required : true, - type : 'select', - col : 'col-xs-4', - options : [ { - name : 'Fixed To Top', - value : 0 + name: 'info_window', + required: true, + type: 'select', + col: 'col-xs-4', + options: [{ + name: 'Fixed To Top', + value: 0 }, { - name : 'New Window', - value : 1 - } ], - value : controller.tooltipMode + name: 'New Window', + value: 1 + }], + value: controller.tooltipMode }); displayItems.push({ - name : 'inline_tooltip', - required : true, - type : 'checkbox', - value : controller.options.inlineTooltip + name: 'inline_tooltip', + required: true, + type: 'checkbox', + value: controller.options.inlineTooltip }); var colorSchemeFormBuilder = new morpheus.FormBuilder(); - _.each(items, function(item) { + _.each(items, function (item) { colorSchemeFormBuilder.append(item); }); var displayFormBuilder = new morpheus.FormBuilder(); - _.each(displayItems, function(item) { + _.each(displayItems, function (item) { displayFormBuilder.append(item); }); var colorSchemeChooser = new morpheus.HeatMapColorSchemeChooser({ - showRelative : true + showRelative: true }); - colorSchemeChooser.on('change', function() { + var updatingSizer = false; + colorSchemeChooser.on('change', function () { if (controller.heatmap.getColorScheme().getSizer - && controller.heatmap.getColorScheme().getSizer() != null) { + && controller.heatmap.getColorScheme().getSizer() != null) { colorSchemeFormBuilder.setValue('size_by', controller.heatmap - .getColorScheme().getSizer().getSeriesName()); + .getColorScheme().getSizer().getSeriesName()); colorSchemeFormBuilder.setEnabled('size_by_minimum', - controller.heatmap.getColorScheme().getSizer() - .getSeriesName() != null); + controller.heatmap.getColorScheme().getSizer() + .getSeriesName() != null); colorSchemeFormBuilder.setEnabled('size_by_maximum', - controller.heatmap.getColorScheme().getSizer() - .getSeriesName() != null); + controller.heatmap.getColorScheme().getSizer() + .getSeriesName() != null); - colorSchemeFormBuilder.setValue('size_by_minimum', + if (!updatingSizer) { + colorSchemeFormBuilder.setValue('size_by_minimum', controller.heatmap.getColorScheme().getSizer().getMin()); - colorSchemeFormBuilder.setValue('size_by_maximum', + colorSchemeFormBuilder.setValue('size_by_maximum', controller.heatmap.getColorScheme().getSizer().getMax()); + } } // repaint the heat map when color scheme changes @@ -187,59 +190,61 @@ morpheus.HeatMapOptions = function(controller) { var options = []; var value = {}; var field = { - type : 'bootstrap-select', - name : isColumns ? 'column_annotations' : 'row_annotations', - multiple : true, - value : value, - options : options, - toggle : true + type: 'bootstrap-select', + name: isColumns ? 'column_annotations' : 'row_annotations', + multiple: true, + value: value, + options: options, + toggle: true }; - _.each(controller.getVisibleTrackNames(isColumns), function(name) { + _.each(controller.getVisibleTrackNames(isColumns), function (name) { value[name] = true; }); _.each(morpheus.MetadataUtil.getMetadataNames(isColumns ? controller - .getProject().getFullDataset().getColumnMetadata() : controller - .getProject().getFullDataset().getRowMetadata()), - function(name) { - options.push(name); - }); + .getProject().getFullDataset().getColumnMetadata() : controller + .getProject().getFullDataset().getRowMetadata()), + function (name) { + options.push(name); + }); return field; } + var annotationsBuilder = new morpheus.FormBuilder(); annotationsBuilder.append(createMetadataField(false)); annotationsBuilder.append(createMetadataField(true)); function annotationsListener($select, isColumns) { var names = []; - _.each(controller.getVisibleTrackNames(isColumns), function(name) { + _.each(controller.getVisibleTrackNames(isColumns), function (name) { names.push(name); }); var values = $select.val(); var selectedNow = _.difference(values, names); var unselectedNow = _.difference(names, values); var tracks = []; - _.each(selectedNow, function(name) { + _.each(selectedNow, function (name) { tracks.push({ - name : name, - isColumns : isColumns, - visible : true + name: name, + isColumns: isColumns, + visible: true }); }); - _.each(unselectedNow, function(name) { + _.each(unselectedNow, function (name) { tracks.push({ - name : name, - isColumns : isColumns, - visible : false + name: name, + isColumns: isColumns, + visible: false }); }); controller.setTrackVisibility(tracks); colorSchemeChooser.restoreCurrentValue(); } + var $ca = annotationsBuilder.$form.find('[name=column_annotations]'); - $ca.on('change', function(e) { + $ca.on('change', function (e) { annotationsListener($(this), true); }); var $ra = annotationsBuilder.$form.find('[name=row_annotations]'); - $ra.on('change', function(e) { + $ra.on('change', function (e) { annotationsListener($(this), false); }); var annotationOptionsTabId = _.uniqueId('morpheus'); @@ -247,48 +252,48 @@ morpheus.HeatMapOptions = function(controller) { var displayOptionsTabId = _.uniqueId('morpheus'); var $metadataDiv = $('
    '); + + '">'); $metadataDiv.append($(annotationsBuilder.$form)); var $heatMapDiv = $('
    '); + + heatMapOptionsTabId + '">'); $heatMapDiv.append(colorSchemeChooser.$div); $heatMapDiv.append($(colorSchemeFormBuilder.$form)); var $displayDiv = $('
    '); + + '">'); $displayDiv.append($(displayFormBuilder.$form)); - displayFormBuilder.$form.find('[name=show_grid]').on('click', function(e) { + displayFormBuilder.$form.find('[name=show_grid]').on('click', function (e) { var grid = $(this).prop('checked'); controller.heatmap.setDrawGrid(grid); controller.revalidate(); colorSchemeChooser.restoreCurrentValue(); }); displayFormBuilder.$form.find('[name=inline_tooltip]').on('click', - function(e) { - controller.options.inlineTooltip = $(this).prop('checked'); - }); + function (e) { + controller.options.inlineTooltip = $(this).prop('checked'); + }); displayFormBuilder.$form.find('[name=row_size]').on( - 'keyup', - _.debounce(function(e) { - controller.heatmap.getRowPositions().setSize( - parseFloat($(this).val())); - controller.revalidate(); - colorSchemeChooser.restoreCurrentValue(); + 'keyup', + _.debounce(function (e) { + controller.heatmap.getRowPositions().setSize( + parseFloat($(this).val())); + controller.revalidate(); + colorSchemeChooser.restoreCurrentValue(); - }, 100)); + }, 100)); displayFormBuilder.$form.find('[name=info_window]').on('change', - function(e) { - controller.setTooltipMode(parseInt($(this).val())); - }); + function (e) { + controller.setTooltipMode(parseInt($(this).val())); + }); var $colorByValue = colorSchemeFormBuilder.$form - .find('[name=color_by_value]'); + .find('[name=color_by_value]'); var separateSchemesField = controller.heatmap.getColorScheme() - .getSeparateColorSchemeForRowMetadataField(); + .getSeparateColorSchemeForRowMetadataField(); if (separateSchemesField != null) { $colorByValue.html(morpheus.Util.createOptions(morpheus.VectorUtil - .createValueToIndexMap( - controller.project.getFullDataset().getRowMetadata() - .getByName(separateSchemesField)).keys())); + .createValueToIndexMap( + controller.project.getFullDataset().getRowMetadata() + .getByName(separateSchemesField)).keys())); } colorSchemeChooser.setColorScheme(controller.heatmap.getColorScheme()); @@ -296,81 +301,84 @@ morpheus.HeatMapOptions = function(controller) { colorSchemeChooser.setCurrentValue($colorByValue.val()); } if (controller.heatmap.getColorScheme().getSizer - && controller.heatmap.getColorScheme().getSizer() != null - && controller.heatmap.getColorScheme().getSizer().getSeriesName()) { + && controller.heatmap.getColorScheme().getSizer() != null + && controller.heatmap.getColorScheme().getSizer().getSeriesName()) { colorSchemeFormBuilder.setValue('size_by', controller.heatmap - .getColorScheme().getSizer().getSeriesName()); + .getColorScheme().getSizer().getSeriesName()); } colorSchemeFormBuilder.$form.find('[name=size_by]') - .on( - 'change', - function(e) { - var series = $(this).val(); - if (series == '(None)') { - series = null; - } - colorSchemeChooser.colorScheme.getSizer() - .setSeriesName(series); - colorSchemeChooser.fireChanged(); - }); + .on( + 'change', + function (e) { + var series = $(this).val(); + if (series == '(None)') { + series = null; + } + colorSchemeChooser.colorScheme.getSizer() + .setSeriesName(series); + colorSchemeChooser.fireChanged(); + }); colorSchemeFormBuilder.$form.find('[name=size_by_minimum]').on( - 'keyup', - _.debounce(function(e) { - colorSchemeChooser.colorScheme.getSizer().setMax( - parseFloat($(this).val())); - colorSchemeChooser.fireChanged(); - - }, 100)); - + 'keyup', + _.debounce(function (e) { + updatingSizer = true; + colorSchemeChooser.colorScheme.getSizer().setMax( + parseFloat($(this).val())); + colorSchemeChooser.fireChanged(true); + updatingSizer = false; + }, 100)); + colorSchemeFormBuilder.$form.find('[name=size_by_maximum]').on( + 'keyup', + _.debounce(function (e) { + updatingSizer = true; + colorSchemeChooser.colorScheme.getSizer().setMax( + parseFloat($(this).val())); + colorSchemeChooser.fireChanged(true); + updatingSizer = false; + }, 100)); colorSchemeFormBuilder.$form - .find('[name=conditional_rendering]') - .on( - 'click', - function(e) { - e.preventDefault(); - var conditionalRenderingUI = new morpheus.ConditionalRenderingUI( - controller); - morpheus.FormBuilder.showInModal({ - title : 'Conditional Rendering', - html : conditionalRenderingUI.$div, - close : 'Close', - z : 1051, - callback : function() { + .find('[name=conditional_rendering]') + .on( + 'click', + function (e) { + e.preventDefault(); + var conditionalRenderingUI = new morpheus.ConditionalRenderingUI( + controller); + morpheus.FormBuilder.showInModal({ + title: 'Conditional Rendering', + html: conditionalRenderingUI.$div, + close: 'Close', + z: 1051, + callback: function () { - } - }); - }); - colorSchemeFormBuilder.$form.find('[name=size_by_maximum]').on( - 'keyup', - _.debounce(function(e) { - colorSchemeChooser.colorScheme.getSizer().setMax( - parseFloat($(this).val())); - colorSchemeChooser.fireChanged(); - }, 100)); - colorSchemeFormBuilder.find('save_color_scheme').on('click', function(e) { + } + }); + }); + + colorSchemeFormBuilder.find('save_color_scheme').on('click', function (e) { e.preventDefault(); - var blob = new Blob([ controller.heatmap.getColorScheme().toJson() ], { - type : 'application/json' + var blob = new Blob([controller.heatmap.getColorScheme().toJson()], { + type: 'application/json' }); saveAs(blob, 'color_scheme.json'); }); - colorSchemeFormBuilder.on('change', function(e) { + colorSchemeFormBuilder.on('change', function (e) { if (e.name === 'load_color_scheme') { if (e.value !== '' && e.value != null) { morpheus.Util.getText(e.value).done( - function(text) { - var json = JSON.parse($.trim(text)); - controller.heatmap.getColorScheme().fromJson(json); - colorSchemeChooser - .setColorScheme(controller.heatmap - .getColorScheme()); - controller.heatmap.setInvalid(true); - controller.heatmap.repaint(); + function (text) { + var json = JSON.parse($.trim(text)); + controller.heatmap.getColorScheme().fromJson(json); + colorSchemeChooser + .setColorScheme(controller.heatmap + .getColorScheme()); + controller.heatmap.setInvalid(true); + controller.heatmap.repaint(); - }).fail(function() { + }).fail(function () { morpheus.FormBuilder.showInModal({ - title : 'Error', - html : 'Unable to read saved color scheme.' + title: 'Error', + html: 'Unable to read saved color scheme.' }); }); @@ -379,195 +387,195 @@ morpheus.HeatMapOptions = function(controller) { }); colorSchemeFormBuilder.$form - .on( - 'change', - '[name=load_predefined_scheme]', - function(e) { - var val = $(this).val(); - if (val !== '') { - if (val === 'gene') { - controller.heatmap - .getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(morpheus.HeatMapColorScheme.Predefined - .RELATIVE())); - } else if (val === 'cn') { - controller.heatmap - .getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(morpheus.HeatMapColorScheme.Predefined - .CN())); - } else if (val === 'wtcs') { - controller.heatmap.getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier({ - type : 'fixed', - map : [ { - value : -1, - color : 'blue' - }, { - value : -0.5, - color : 'white' - }, { - value : 0.5, - color : 'white' - }, { - value : 1, - color : 'red' - } ] - })); - } else if (val === 'MAF') { - controller.heatmap - .getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(morpheus.HeatMapColorScheme.Predefined - .MAF())); - } else if (val === 'binary') { - controller.heatmap - .getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(morpheus.HeatMapColorScheme.Predefined - .BINARY())); - } else if (val === '100scale1') { - controller.heatmap - .getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(morpheus.HeatMapColorScheme.Predefined - .SUMMLY())); + .on( + 'change', + '[name=load_predefined_scheme]', + function (e) { + var val = $(this).val(); + if (val !== '') { + if (val === 'gene') { + controller.heatmap + .getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier(morpheus.HeatMapColorScheme.Predefined + .RELATIVE())); + } else if (val === 'cn') { + controller.heatmap + .getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier(morpheus.HeatMapColorScheme.Predefined + .CN())); + } else if (val === 'wtcs') { + controller.heatmap.getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier({ + type: 'fixed', + map: [{ + value: -1, + color: 'blue' + }, { + value: -0.5, + color: 'white' + }, { + value: 0.5, + color: 'white' + }, { + value: 1, + color: 'red' + }] + })); + } else if (val === 'MAF') { + controller.heatmap + .getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier(morpheus.HeatMapColorScheme.Predefined + .MAF())); + } else if (val === 'binary') { + controller.heatmap + .getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier(morpheus.HeatMapColorScheme.Predefined + .BINARY())); + } else if (val === '100scale1') { + controller.heatmap + .getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier(morpheus.HeatMapColorScheme.Predefined + .SUMMLY())); - } else if (val === '100scale2') { - controller.heatmap - .getColorScheme() - .setColorSupplierForCurrentValue( - morpheus.HeatMapColorScheme - .createColorSupplier(morpheus.HeatMapColorScheme.Predefined - .SUMMLY2())); + } else if (val === '100scale2') { + controller.heatmap + .getColorScheme() + .setColorSupplierForCurrentValue( + morpheus.HeatMapColorScheme + .createColorSupplier(morpheus.HeatMapColorScheme.Predefined + .SUMMLY2())); - } else { - console.log('not found'); - } - colorSchemeChooser - .setColorScheme(controller.heatmap - .getColorScheme()); - controller.heatmap.setInvalid(true); - controller.heatmap.repaint(); - $(this).val(''); - } else { - console.log('empty option selected'); - } - colorSchemeChooser.restoreCurrentValue(); - }); + } else { + console.log('not found'); + } + colorSchemeChooser + .setColorScheme(controller.heatmap + .getColorScheme()); + controller.heatmap.setInvalid(true); + controller.heatmap.repaint(); + $(this).val(''); + } else { + console.log('empty option selected'); + } + colorSchemeChooser.restoreCurrentValue(); + }); colorSchemeFormBuilder.$form - .find('[name=color_by]') - .on( - 'change', - function(e) { - var colorByField = $(this).val(); - if (colorByField == '(None)') { - colorByField = null; - } - controller.heatmap.getColorScheme() - .setSeparateColorSchemeForRowMetadataField( - colorByField); - if (colorByField != null) { - $colorByValue - .html(morpheus.Util - .createOptions(morpheus.VectorUtil - .createValueToIndexMap( - controller.project - .getFullDataset() - .getRowMetadata() - .getByName( - colorByField)) - .keys())); - } - var colorByValue = $colorByValue.val(); - controller.heatmap.getColorScheme().setCurrentValue( - colorByValue); - colorSchemeChooser.setCurrentValue(colorByValue); - controller.heatmap.setInvalid(true); - controller.heatmap.repaint(); - colorSchemeChooser.setColorScheme(controller.heatmap - .getColorScheme()); - }); - $colorByValue.on('change', function(e) { + .find('[name=color_by]') + .on( + 'change', + function (e) { + var colorByField = $(this).val(); + if (colorByField == '(None)') { + colorByField = null; + } + controller.heatmap.getColorScheme() + .setSeparateColorSchemeForRowMetadataField( + colorByField); + if (colorByField != null) { + $colorByValue + .html(morpheus.Util + .createOptions(morpheus.VectorUtil + .createValueToIndexMap( + controller.project + .getFullDataset() + .getRowMetadata() + .getByName( + colorByField)) + .keys())); + } + var colorByValue = $colorByValue.val(); + controller.heatmap.getColorScheme().setCurrentValue( + colorByValue); + colorSchemeChooser.setCurrentValue(colorByValue); + controller.heatmap.setInvalid(true); + controller.heatmap.repaint(); + colorSchemeChooser.setColorScheme(controller.heatmap + .getColorScheme()); + }); + $colorByValue.on('change', function (e) { if (controller.heatmap.getColorScheme() - .getSeparateColorSchemeForRowMetadataField() == null) { + .getSeparateColorSchemeForRowMetadataField() == null) { colorSchemeChooser.setCurrentValue(null); controller.heatmap.getColorScheme().setCurrentValue(null); colorSchemeChooser.setColorScheme(controller.heatmap - .getColorScheme()); + .getColorScheme()); } else { colorSchemeChooser.setCurrentValue($colorByValue.val()); colorSchemeChooser.setColorScheme(controller.heatmap - .getColorScheme()); + .getColorScheme()); } }); displayFormBuilder.$form.find('[name=column_size]').on( - 'keyup', - _.debounce(function(e) { - controller.heatmap.getColumnPositions().setSize( - parseFloat($(this).val())); - controller.revalidate(); - colorSchemeChooser.restoreCurrentValue(); + 'keyup', + _.debounce(function (e) { + controller.heatmap.getColumnPositions().setSize( + parseFloat($(this).val())); + controller.revalidate(); + colorSchemeChooser.restoreCurrentValue(); - }, 100)); + }, 100)); displayFormBuilder.$form.find('[name=gap_size]').on('keyup', - _.debounce(function(e) { - controller.gapSize = parseFloat($(this).val()); - controller.revalidate(); - colorSchemeChooser.restoreCurrentValue(); - }, 100)); + _.debounce(function (e) { + controller.gapSize = parseFloat($(this).val()); + controller.revalidate(); + colorSchemeChooser.restoreCurrentValue(); + }, 100)); displayFormBuilder.$form.find('[name=squish_factor]').on('keyup', - _.debounce(function(e) { - var f = parseFloat($(this).val()); - controller.heatmap.getColumnPositions().setSquishFactor(f); - controller.heatmap.getRowPositions().setSquishFactor(f); - controller.revalidate(); - colorSchemeChooser.restoreCurrentValue(); - }, 100)); + _.debounce(function (e) { + var f = parseFloat($(this).val()); + controller.heatmap.getColumnPositions().setSquishFactor(f); + controller.heatmap.getRowPositions().setSquishFactor(f); + controller.revalidate(); + colorSchemeChooser.restoreCurrentValue(); + }, 100)); displayFormBuilder.$form.find('[name=row_dendrogram_line_thickness]').on( - 'keyup', _.debounce(function(e) { - controller.rowDendrogram.lineWidth = parseFloat($(this).val()); - controller.revalidate(); - colorSchemeChooser.restoreCurrentValue(); + 'keyup', _.debounce(function (e) { + controller.rowDendrogram.lineWidth = parseFloat($(this).val()); + controller.revalidate(); + colorSchemeChooser.restoreCurrentValue(); - }, 100)); + }, 100)); displayFormBuilder.$form.find('[name=column_dendrogram_line_thickness]') - .on( - 'keyup', - _.debounce(function(e) { - controller.columnDendrogram.lineWidth = parseFloat($( - this).val()); - controller.revalidate(); - colorSchemeChooser.restoreCurrentValue(); - }, 100)); + .on( + 'keyup', + _.debounce(function (e) { + controller.columnDendrogram.lineWidth = parseFloat($( + this).val()); + controller.revalidate(); + colorSchemeChooser.restoreCurrentValue(); + }, 100)); var $tab = $('
    '); $metadataDiv.appendTo($tab); $heatMapDiv.appendTo($tab); $displayDiv.appendTo($tab); var $div = $('
    '); var $ul = $(''); + + annotationOptionsTabId + + '" role="tab" data-toggle="tab">Annotations' + + '
  • Color Scheme
  • ' + + '
  • Display
  • ' + ''); $ul.appendTo($div); $tab.appendTo($div); $ul.find('[role=tab]:eq(1)').tab('show'); morpheus.FormBuilder.showInModal({ - title : 'Options', - html : $div, - close : 'Close', - callback : function() { + title: 'Options', + html: $div, + close: 'Close', + callback: function () { $div.find('input').off('keyup'); $ca.off('change'); $ra.off('change'); diff --git a/src/ui/scented_search.js b/src/ui/scented_search.js index a1467a60afe80646b96b38a70af44f504196f458..c9f66f21f59f5f6732e94225596c335c979324f2 100644 --- a/src/ui/scented_search.js +++ b/src/ui/scented_search.js @@ -1,8 +1,8 @@ /** * @param model{morpheus.SelectionModel} */ -morpheus.ScentedSearch = function(model, positions, isVertical, scrollbar, - controller) { +morpheus.ScentedSearch = function (model, positions, isVertical, scrollbar, + controller) { morpheus.AbstractCanvas.call(this, false); this.model = model; this.positions = positions; @@ -12,41 +12,42 @@ morpheus.ScentedSearch = function(model, positions, isVertical, scrollbar, this.searchIndices = []; scrollbar.decorator = this; var _this = this; - var mouseMove = function(e) { + var mouseMove = function (e) { var index = _this.getIndex(e); _this.mouseMovedIndex = index; document.body.style.cursor = index < 0 ? 'default' : 'pointer'; scrollbar.canvas.style.cursor = index < 0 ? 'default' : 'pointer'; var tipOptions = { - event : e + event: e, + dataLens: true }; if (isVertical) { controller.setToolTip(index >= 0 ? _this.searchIndices[index] : -1, - -1, tipOptions); + -1, tipOptions); } else { controller.setToolTip(-1, index >= 0 ? _this.searchIndices[index] - : -1, tipOptions); + : -1, tipOptions); } }; - var mouseExit = function(e) { + var mouseExit = function (e) { // need to set body cursor b/c mouse can be partially on the scroll bar, // but the canvas cursor has no effect document.body.style.cursor = 'default'; scrollbar.canvas.style.cursor = 'default'; }; - $(scrollbar.canvas).on('mousemove', mouseMove).on('mouseexit', mouseExit); + $(scrollbar.canvas).on('mousemove', mouseMove).on('mouseout', mouseExit); }; morpheus.ScentedSearch.LINE_HEIGHT = 3.5; morpheus.ScentedSearch.prototype = { - mouseMovedIndex : -1, - getIndex : function(event) { + mouseMovedIndex: -1, + getIndex: function (event) { var pix = morpheus.CanvasUtil.getMousePos(event.target, event); var val = pix[this.isVertical ? 'y' : 'x']; return this.getIndexForPix(val); }, - getIndexForPix : function(pix) { + getIndexForPix: function (pix) { var indices = this.searchIndices; if (indices == null) { return -1; @@ -54,8 +55,8 @@ morpheus.ScentedSearch.prototype = { var tolerance = morpheus.ScentedSearch.LINE_HEIGHT; if (this.mouseMovedIndex > 0) { var midVal = this.positions - .getPosition(indices[this.mouseMovedIndex]) - * scale; + .getPosition(indices[this.mouseMovedIndex]) + * scale; if (Math.abs(midVal - pix) <= tolerance) { return this.mouseMovedIndex; } @@ -85,71 +86,71 @@ morpheus.ScentedSearch.prototype = { return -1; // -(low + 1); // key not found. }, - tap : function(position) { + tap: function (position) { var val = position[this.isVertical ? 'y' : 'x']; var index = this.getIndexForPix(val); this.scrollbar.canvas.style.cursor = index < 0 ? 'default' : 'pointer'; if (index >= 0) { if (this.isVertical) { this.controller.scrollTop(this.positions - .getPosition(this.searchIndices[index])); + .getPosition(this.searchIndices[index])); } else { this.controller.scrollLeft(this.positions - .getPosition(this.searchIndices[index])); + .getPosition(this.searchIndices[index])); } return true; } return false; }, - update : function() { + update: function () { this.searchIndices = this.model.getViewIndices().values().sort( - function(a, b) { - return a < b ? -1 : 1; - }); + function (a, b) { + return a < b ? -1 : 1; + }); }, - draw : function(clip, context) { + draw: function (clip, context) { var width = this.scrollbar.getUnscaledWidth(); var height = this.scrollbar.getUnscaledHeight(); var availableLength = ((this.isVertical ? height : width)) - - morpheus.ScentedSearch.LINE_HEIGHT; + - morpheus.ScentedSearch.LINE_HEIGHT; this.scale = availableLength - / (this.positions.getPosition(this.positions.getLength() - 1) + this.positions - .getItemSize(this.positions.getLength() - 1)); + / (this.positions.getPosition(this.positions.getLength() - 1) + this.positions + .getItemSize(this.positions.getLength() - 1)); context.strokeStyle = 'rgb(106,137,177)'; context.fillStyle = 'rgb(182,213,253)'; context.lineWidth = 1; this.drawIndices(context, this.searchIndices); this.drawHoverMatchingValues(context); }, - drawHoverMatchingValues : function(context) { + drawHoverMatchingValues: function (context) { var heatmap = this.controller; context.fillStyle = 'black'; if (heatmap.mousePositionOptions - && heatmap.mousePositionOptions.name != null) { + && heatmap.mousePositionOptions.name != null) { var isColumns = !this.isVertical; var track = heatmap.getTrack(heatmap.mousePositionOptions.name, - isColumns); + isColumns); if (track == null) { return; } if (track.settings.highlightMatchingValues) { var hoverIndex = isColumns ? heatmap.getProject() - .getHoverColumnIndex() : heatmap.getProject() - .getHoverRowIndex(); + .getHoverColumnIndex() : heatmap.getProject() + .getHoverRowIndex(); if (hoverIndex === -1) { return; } var vector = track.getVector(); var value = vector.getValue(hoverIndex); var valueToModelIndices = track.getFullVector().getProperties() - .get(morpheus.VectorKeys.VALUE_TO_INDICES); + .get(morpheus.VectorKeys.VALUE_TO_INDICES); if (!valueToModelIndices) { var fullVector = track.getFullVector(); valueToModelIndices = morpheus.VectorUtil - .createValueToIndicesMap(fullVector); + .createValueToIndicesMap(fullVector); fullVector.getProperties().set( - morpheus.VectorKeys.VALUE_TO_INDICES, - valueToModelIndices); + morpheus.VectorKeys.VALUE_TO_INDICES, + valueToModelIndices); } var modelIndices = valueToModelIndices.get(value); @@ -159,26 +160,26 @@ morpheus.ScentedSearch.prototype = { } var scale = this.scale; var lineLength = !this.isVertical ? this.scrollbar - .getUnscaledHeight() : this.scrollbar - .getUnscaledWidth(); + .getUnscaledHeight() : this.scrollbar + .getUnscaledWidth(); var isVertical = this.isVertical; var positions = this.positions; var project = heatmap.getProject(); for (var i = 0, length = modelIndices.length; i < length; i++) { var modelIndex = modelIndices[i]; var index = isVertical ? project - .convertModelRowIndexToView(modelIndex) : project - .convertModelColumnIndexToView(modelIndex); + .convertModelRowIndexToView(modelIndex) : project + .convertModelColumnIndexToView(modelIndex); if (index === -1) { continue; } var pix = positions.getPosition(index) * scale; if (isVertical) { context.fillRect(0, pix, lineLength, - morpheus.ScentedSearch.LINE_HEIGHT); + morpheus.ScentedSearch.LINE_HEIGHT); } else { context.fillRect(pix, 0, - morpheus.ScentedSearch.LINE_HEIGHT, lineLength); + morpheus.ScentedSearch.LINE_HEIGHT, lineLength); } } @@ -186,10 +187,10 @@ morpheus.ScentedSearch.prototype = { } }, - drawIndices : function(context, highlightedIndices) { + drawIndices: function (context, highlightedIndices) { var scale = this.scale; var lineLength = !this.isVertical ? this.scrollbar.getUnscaledHeight() - : this.scrollbar.getUnscaledWidth(); + : this.scrollbar.getUnscaledWidth(); var isVertical = this.isVertical; var positions = this.positions; @@ -199,14 +200,14 @@ morpheus.ScentedSearch.prototype = { if (isVertical) { context.beginPath(); context.rect(0, pix, lineLength, - morpheus.ScentedSearch.LINE_HEIGHT); + morpheus.ScentedSearch.LINE_HEIGHT); context.fill(); context.stroke(); } else { context.beginPath(); context.rect(pix, 0, morpheus.ScentedSearch.LINE_HEIGHT, - lineLength); + lineLength); context.fill(); context.stroke(); } diff --git a/src/ui/vector_track.js b/src/ui/vector_track.js index d9aa1955bbf4fe9d23b959a81b91231b15f0033a..53bc20dc82977b1bb3ffd76b2abdd0515513b4bd 100644 --- a/src/ui/vector_track.js +++ b/src/ui/vector_track.js @@ -1,8 +1,8 @@ -morpheus.VectorTrack = function(project, name, positions, isColumns, heatmap) { +morpheus.VectorTrack = function (project, name, positions, isColumns, heatmap) { morpheus.AbstractCanvas.call(this, true); this.preferredSize = { - width : 0, - height : 0 + width: 0, + height: 0 }; this.project = project; this.positions = positions; @@ -14,17 +14,17 @@ morpheus.VectorTrack = function(project, name, positions, isColumns, heatmap) { // this.highlightColor = 'rgb(255,255,0)'; this.id = _.uniqueId(); var _this = this; - this.updateSpanMapFunction = function() { + this.updateSpanMapFunction = function () { _this.spanMap = morpheus.VectorUtil.createSpanMap(_this.getVector()); }; this.lastPosition = { - start : -1, - end : -1 + start: -1, + end: -1 }; // for molecule span this.events = 'rowSortOrderChanged rowFilterChanged datasetChanged'; - var isTruncated = function(index) { + var isTruncated = function (index) { if (index !== -1) { var size = _this.positions.getItemSize(index); if (size < 6) { @@ -41,40 +41,40 @@ morpheus.VectorTrack = function(project, name, positions, isColumns, heatmap) { } } }; - var mouseMoved = function(event) { + var mouseMoved = function (event) { var index = -1; if (event.type !== 'mouseout') { var position = morpheus.CanvasUtil.getMousePosWithScroll( - event.target, event, heatmap.scrollLeft(), heatmap - .scrollTop()); + event.target, event, heatmap.scrollLeft(), heatmap + .scrollTop()); if (_this.settings.squished) { var total = positions.getPosition(positions.getLength() - 1) - + positions.getItemSize(positions.getLength() - 1); + + positions.getItemSize(positions.getLength() - 1); var squishFactor = total - / (isColumns ? _this.getUnscaledWidth() : _this - .getUnscaledHeight()); + / (isColumns ? _this.getUnscaledWidth() : _this + .getUnscaledHeight()); position[isColumns ? 'x' : 'y'] *= squishFactor; } index = !isColumns ? _this.positions.getIndex(position.y, false) - : _this.positions.getIndex(position.x, false); + : _this.positions.getIndex(position.x, false); } if (isColumns) { heatmap.setMousePosition(-1, index, { - name : _this.name, - event : event + name: _this.name, + event: event }); } else { heatmap.setMousePosition(index, -1, { - name : _this.name, - event : event + name: _this.name, + event: event }); } }; - $(this.canvas).on('contextmenu.morpheus', function(e) { + $(this.canvas).on('contextmenu.morpheus', function (e) { e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); @@ -89,49 +89,49 @@ morpheus.VectorTrack = function(project, name, positions, isColumns, heatmap) { // - color and bar-discrete or contin // - color by for bar plots this.settings = { - maxTextWidth : undefined, - squished : false, - inlineTooltip : false, - tooltip : true, - discrete : true, // will be set automatically if + maxTextWidth: undefined, + squished: false, + inlineTooltip: false, + tooltip: true, + discrete: true, // will be set automatically if // discreteAutoDetermined is false - highlightMatchingValues : false, - discreteAutoDetermined : false, - colorBarSize : 12, - stackedBar : false, - renderMethod : {}, - selectionColor : 'rgb(182,213,253)', - colorByField : null, // color this vector by another vector - barColor : '#bdbdbd', - barSize : 40, - arcSize : 60, - min : undefined, - mid : undefined, - max : undefined, - minMaxReversed : false - // whether to reverse min and max when auto-setting min and max + highlightMatchingValues: false, + discreteAutoDetermined: false, + colorBarSize: 12, + stackedBar: false, + renderMethod: {}, + selectionColor: 'rgb(182,213,253)', + colorByField: null, // color this vector by another vector + barColor: '#bdbdbd', + barSize: 40, + arcSize: 60, + min: undefined, + mid: undefined, + max: undefined, + minMaxReversed: false + // whether to reverse min and max when auto-setting min and max }; $(this.canvas).on('mousemove.morpheus mouseout.morpheus', mouseMoved); }; morpheus.VectorTrack.RENDER = { - TEXT : 0, - COLOR : 1, - BAR : 2, - MOLECULE : 3, - TEXT_AND_COLOR : 4, - SHAPE : 5, - ARC : 6, - BOX_PLOT : 7 + TEXT: 0, + COLOR: 1, + BAR: 2, + MOLECULE: 3, + TEXT_AND_COLOR: 4, + SHAPE: 5, + ARC: 6, + BOX_PLOT: 7 }; -morpheus.VectorTrack.vectorToString = function(vector) { - var formatter = function(v) { +morpheus.VectorTrack.vectorToString = function (vector) { + var formatter = function (v) { return '' + v; }; var dataType = morpheus.VectorUtil.getDataType(vector); if (dataType === 'number') { formatter = morpheus.Util.nf; } else if (dataType === '[number]') { - formatter = function(v) { + formatter = function (v) { var s = []; if (v != null) { for (var i = 0, arrayLength = v.length; i < arrayLength; i++) { @@ -141,7 +141,7 @@ morpheus.VectorTrack.vectorToString = function(vector) { return s.join(', '); }; } else if (dataType === '[string]') { - formatter = function(v) { + formatter = function (v) { var s = []; if (v != null) { for (var i = 0, arrayLength = v.length; i < arrayLength; i++) { @@ -155,7 +155,7 @@ morpheus.VectorTrack.vectorToString = function(vector) { }; morpheus.VectorTrack.prototype = { - settingFromConfig : function(conf) { + settingFromConfig: function (conf) { var settings = this.settings; if (_.isString(conf)) { settings.renderMethod = {}; @@ -194,56 +194,56 @@ morpheus.VectorTrack.prototype = { this._update(); }, - isDiscrete : function() { + isDiscrete: function () { return this.settings.discrete; }, - setShowTooltip : function(value) { + setShowTooltip: function (value) { this.settings.tooltip = value; }, - isShowTooltip : function() { + isShowTooltip: function () { return this.settings.tooltip; }, - isRenderAs : function(value) { + isRenderAs: function (value) { return this.settings.renderMethod[value]; }, - dispose : function() { + dispose: function () { morpheus.AbstractCanvas.prototype.dispose.call(this); $(this.canvas).off( - 'contextmenu.morpheus mousemove.morpheus mouseout.morpheus'); + 'contextmenu.morpheus mousemove.morpheus mouseout.morpheus'); this.project.off(this.events, this.updateSpanMapFunction); }, - getName : function() { + getName: function () { return this.name; }, - getVector : function(name) { + getVector: function (name) { name = name == null ? this.name : name; var vector = this.isColumns ? this.project.getSortedFilteredDataset() - .getColumnMetadata().getByName(name) : this.project - .getSortedFilteredDataset().getRowMetadata().getByName(name); + .getColumnMetadata().getByName(name) : this.project + .getSortedFilteredDataset().getRowMetadata().getByName(name); return !vector ? new morpheus.Vector(name, 0) : vector; }, - getFullVector : function() { + getFullVector: function () { var vector = this.isColumns ? this.project.getFullDataset() - .getColumnMetadata().getByName(this.name) : this.project - .getFullDataset().getRowMetadata().getByName(this.name); + .getColumnMetadata().getByName(this.name) : this.project + .getFullDataset().getRowMetadata().getByName(this.name); return !vector ? new morpheus.Vector(this.name, 0) : vector; }, - _updatePreferredSize : function() { + _updatePreferredSize: function () { var size = this._computePreferredSize(); this.preferredSize.width = size.width; this.preferredSize.height = size.height; }, - _computePreferredSize : function(forPrint) { + _computePreferredSize: function (forPrint) { var width = 0; var height = 0; if (this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT) - || this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)) { + || this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)) { if (this.positions.getSize() >= 6) { var context = this.canvas.getContext('2d'); var textWidth = morpheus.CanvasUtil.getVectorStringWidth( - context, this.getVector(), this.positions, - forPrint ? -1 : (this.isColumns ? 120 : 100)); + context, this.getVector(), this.positions, + forPrint ? -1 : (this.isColumns ? 120 : 100)); if (!forPrint) { textWidth = Math.min(textWidth, this.isColumns ? 100 : 500); this.settings.maxTextWidth = textWidth; @@ -284,21 +284,21 @@ morpheus.VectorTrack.prototype = { } width = Math.max(0, width); return this.isColumns ? { - width : height, - height : width + width: height, + height: width } : { - width : width, - height : height + width: width, + height: height }; }, - getPreferredSize : function() { + getPreferredSize: function () { return this.preferredSize; }, - getPrintSize : function() { + getPrintSize: function () { return this._computePreferredSize(true); }, - _createDiscreteValueMap : function() { + _createDiscreteValueMap: function () { var values = morpheus.VectorUtil.getValues(this.getFullVector()); values.sort(morpheus.SortKey.ASCENDING_COMPARATOR); this.discreteValueMap = new morpheus.Map(); @@ -309,17 +309,17 @@ morpheus.VectorTrack.prototype = { this.settings.mid = 0; this.settings.max = values.length; }, - _setChartMinMax : function() { + _setChartMinMax: function () { if (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) - || this.isRenderAs(morpheus.VectorTrack.RENDER.BOX_PLOT)) { + || this.isRenderAs(morpheus.VectorTrack.RENDER.BOX_PLOT)) { if (!this.settings.stackedBar && this.settings.discrete - && !this.isRenderAs(morpheus.VectorTrack.RENDER.BOX_PLOT)) { + && !this.isRenderAs(morpheus.VectorTrack.RENDER.BOX_PLOT)) { if (!this.discreteValueMap) { this._createDiscreteValueMap(); } } else { if (this.settings.min == null || this.settings.max == null - || this.settings.mid == null) { + || this.settings.mid == null) { var vector = this.getFullVector(); var minMax = morpheus.VectorUtil.getMinMax(vector); var min = minMax.min; @@ -337,7 +337,7 @@ morpheus.VectorTrack.prototype = { } if (this.settings.mid == null) { this.settings.mid = this.settings.min < 0 ? 0 - : this.settings.min; + : this.settings.min; } } @@ -345,14 +345,14 @@ morpheus.VectorTrack.prototype = { } }, - _update : function() { + _update: function () { if (!this.settings.discreteAutoDetermined - && (this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) - || this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || this - .isRenderAs(morpheus.VectorTrack.RENDER.BAR))) { + && (this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) + || this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) || this + .isRenderAs(morpheus.VectorTrack.RENDER.BAR))) { if (this.getFullVector().getProperties().has( morpheus.VectorKeys.FIELDS) - || morpheus.VectorUtil.getDataType(this.getFullVector()) === 'number') { + || morpheus.VectorUtil.getDataType(this.getFullVector()) === 'number') { this.settings.discrete = false; this.settings.highlightMatchingValues = false; } @@ -369,53 +369,53 @@ morpheus.VectorTrack.prototype = { var _this = this; var valueToModelIndices = this.getFullVector().getProperties() - .get(morpheus.VectorKeys.VALUE_TO_INDICES); + .get(morpheus.VectorKeys.VALUE_TO_INDICES); if (!valueToModelIndices) { var fullVector = this.getFullVector(); valueToModelIndices = morpheus.VectorUtil - .createValueToIndicesMap(fullVector); + .createValueToIndicesMap(fullVector); fullVector.getProperties().set( - morpheus.VectorKeys.VALUE_TO_INDICES, - valueToModelIndices); + morpheus.VectorKeys.VALUE_TO_INDICES, + valueToModelIndices); } if (_this.heatmap.options.structureUrlProvider !== undefined) { - valueToModelIndices.forEach(function(indices, value) { + valueToModelIndices.forEach(function (indices, value) { var url = _this.heatmap.options - .structureUrlProvider(value); + .structureUrlProvider(value); var image = new Image(); image.src = url; _this.moleculeCache[value] = image; }); - setTimeout(2000, function() { + setTimeout(2000, function () { _this.setInvalid(true); _this.repaint(); }); } else { var values = valueToModelIndices.keys(); - var doRequest = function(smile) { + var doRequest = function (smile) { $ - .ajax( - { - contentType : 'text/plain', - context : { - smile : smile - }, - data : { - 'string' : smile, - 'representation' : 'sdf' - }, - url : 'http://cactus.nci.nih.gov/chemical/structure', - }).done(function(text) { - _this.moleculeCache[this.smile] = text; - if (values.length > 0) { - doRequest(values.pop()); - } - _this.invalid = true; - _this.repaint(); - }); + .ajax( + { + contentType: 'text/plain', + context: { + smile: smile + }, + data: { + 'string': smile, + 'representation': 'sdf' + }, + url: 'http://cactus.nci.nih.gov/chemical/structure', + }).done(function (text) { + _this.moleculeCache[this.smile] = text; + if (values.length > 0) { + doRequest(values.pop()); + } + _this.invalid = true; + _this.repaint(); + }); }; for (var i = 0; i < 6; i++) { doRequest(values.pop()); @@ -426,7 +426,8 @@ morpheus.VectorTrack.prototype = { } this._updatePreferredSize(); }, - postPaint : function(clip, context) { + postPaint: function (clip, context) { + // draw hover, matching values context.lineWidth = 1; context.strokeStyle = 'Grey'; var project = this.project; @@ -439,40 +440,40 @@ morpheus.VectorTrack.prototype = { if (this.isColumns) { if (project.getHoverColumnIndex() !== -1) { this.drawColumnBorder(context, this.positions, project - .getHoverColumnIndex(), this.getUnscaledHeight()); + .getHoverColumnIndex(), this.getUnscaledHeight()); } } else { if (project.getHoverRowIndex() !== -1) { this.drawRowBorder(context, this.positions, project - .getHoverRowIndex(), this.getUnscaledWidth()); + .getHoverRowIndex(), this.getUnscaledWidth()); } } this._highlightMatchingValues(context, vector, start, end); }, - _highlightMatchingValues : function(context, viewVector, start, end) { + _highlightMatchingValues: function (context, viewVector, start, end) { var project = this.project; var positions = this.positions; context.strokeStyle = 'black'; context.lineWidth = 3; var hoverIndex = this.isColumns ? project.getHoverColumnIndex() - : project.getHoverRowIndex(); + : project.getHoverRowIndex(); var value = viewVector.getValue(hoverIndex); if (this.settings.highlightMatchingValues - && hoverIndex !== -1 - && this.heatmap.mousePositionOptions - && this.heatmap.mousePositionOptions.name === viewVector - .getName()) { + && hoverIndex !== -1 + && this.heatmap.mousePositionOptions + && this.heatmap.mousePositionOptions.name === viewVector + .getName()) { var valueToModelIndices = this.getFullVector().getProperties().get( - morpheus.VectorKeys.VALUE_TO_INDICES); + morpheus.VectorKeys.VALUE_TO_INDICES); if (!valueToModelIndices) { var fullVector = this.getFullVector(); valueToModelIndices = morpheus.VectorUtil - .createValueToIndicesMap(fullVector); + .createValueToIndicesMap(fullVector); fullVector.getProperties().set( - morpheus.VectorKeys.VALUE_TO_INDICES, - valueToModelIndices); + morpheus.VectorKeys.VALUE_TO_INDICES, + valueToModelIndices); } var indices = valueToModelIndices.get(value); @@ -490,7 +491,7 @@ morpheus.VectorTrack.prototype = { context.beginPath(); for (var i = 0, nindices = indices.length; i < nindices; i++) { var viewIndex = project - .convertModelColumnIndexToView(indices[i]); + .convertModelColumnIndexToView(indices[i]); if (viewIndex >= start && viewIndex < end) { var size = positions.getItemSize(viewIndex); var pix = positions.getPosition(viewIndex); @@ -506,7 +507,7 @@ morpheus.VectorTrack.prototype = { var indices = valueToModelIndices.get(value); for (var i = 0, nindices = indices.length; i < nindices; i++) { var viewIndex = project - .convertModelRowIndexToView(indices[i]); + .convertModelRowIndexToView(indices[i]); if (viewIndex >= start && viewIndex < end) { var size = positions.getItemSize(viewIndex); var pix = positions.getPosition(viewIndex); @@ -519,23 +520,20 @@ morpheus.VectorTrack.prototype = { } }, - prePaint : function(clip, context) { - // draw selection, highlighted, hover + + drawSelection: function (options) { var project = this.project; var positions = this.positions; - var height = this.getUnscaledHeight(); - var width = this.getUnscaledWidth(); - var setup = this._setup(context, clip); - var start = setup.start; - var end = setup.end; - // selection + var context = options.context; + var start = options.start; + var end = options.end; context.lineWidth = 1; context.fillStyle = this.settings.selectionColor; - var _this = this; if (this.isColumns) { + var height = this.getUnscaledHeight(); var viewIndices = project.getColumnSelectionModel() - .getViewIndices(); - viewIndices.forEach(function(i) { + .getViewIndices(); + viewIndices.forEach(function (i) { if (i >= start && i <= end) { var size = positions.getItemSize(i); var pix = positions.getPosition(i); @@ -543,10 +541,11 @@ morpheus.VectorTrack.prototype = { } }); } else { + var width = this.getUnscaledWidth(); if (!this.isRenderAs(morpheus.VectorTrack.RENDER.MOLECULE)) { var viewIndices = project.getRowSelectionModel() - .getViewIndices(); - viewIndices.forEach(function(i) { + .getViewIndices(); + viewIndices.forEach(function (i) { if (i >= start && i <= end) { var size = positions.getItemSize(i); var pix = positions.getPosition(i); @@ -556,14 +555,27 @@ morpheus.VectorTrack.prototype = { } } + }, + prePaint: function (clip, context) { + // draw selection + var project = this.project; + var positions = this.positions; + var setup = this._setup(context, clip); + var start = setup.start; + var end = setup.end; + this.drawSelection({ + context: context, + start: start, + end: end + }); if (this.invalid || start !== this.lastPosition.start - || end !== this.lastPosition.end) { + || end !== this.lastPosition.end) { this.lastPosition.start = start; this.lastPosition.end = end; this.invalid = true; } }, - drawRowBorder : function(context, positions, index, gridSize) { + drawRowBorder: function (context, positions, index, gridSize) { var size = positions.getItemSize(index); var pix = positions.getPosition(index); // top and bottom lines @@ -576,7 +588,7 @@ morpheus.VectorTrack.prototype = { context.lineTo(gridSize, pix); context.stroke(); }, - drawColumnBorder : function(context, positions, index, gridSize) { + drawColumnBorder: function (context, positions, index, gridSize) { var size = positions.getItemSize(index); var pix = positions.getPosition(index); // top and bottom lines @@ -589,10 +601,10 @@ morpheus.VectorTrack.prototype = { context.lineTo(pix, gridSize); context.stroke(); }, - isSquished : function() { + isSquished: function () { return this.settings.squished; }, - _setup : function(context, clip) { + _setup: function (context, clip) { var start = 0; var vector = this.getVector(); var end = vector.size(); @@ -612,7 +624,7 @@ morpheus.VectorTrack.prototype = { if (settings.squished) { var total = positions.getPosition(positions.getLength() - 1) - + positions.getItemSize(positions.getLength() - 1); + + positions.getItemSize(positions.getLength() - 1); if (!this.isColumns) { var squishFactor = height / total; context.scale(1, squishFactor); @@ -625,26 +637,53 @@ morpheus.VectorTrack.prototype = { context.translate(-clip.x, -clip.y); } return { - start : start, - end : end, - vector : vector + start: start, + end: end, + vector: vector }; }, - draw : function(clip, context) { - this._draw(clip, context, this.isColumns ? this.getUnscaledHeight() - : this.getUnscaledWidth()); + draw: function (clip, context) { + var setup = this._setup(context, clip); + this._draw({ + start: setup.start, + end: setup.end, + vector: setup.vector, + context: context, + availableSpace: this.isColumns ? this.getUnscaledHeight() + : this.getUnscaledWidth(), + clip: clip + }); }, - print : function(clip, context) { - this._draw(clip, context, this.isColumns ? clip.height : clip.width); + print: function (clip, context) { + var vector = this.getVector(); + this._draw({ + start: 0, + end: vector.size(), + vector: vector, + context: context, + availableSpace: this.isColumns ? clip.height + : clip.width, + clip: clip + }); }, - _draw : function(clip, context, availableSpace) { + /** + * @param options.vector + * @param options.context + * @param options.start + * @param options.end + * @param options.availableSpace + */ + _draw: function (options) { var _this = this; - var fullAvailableSpace = availableSpace; + var context = options.context; + var vector = options.vector; + var availableSpace = options.availableSpace; + var fullAvailableSpace = options.availableSpace; + var start = options.start; + var end = options.end; + var clip = options.clip; var positions = this.positions; - var setup = this._setup(context, clip); - var start = setup.start; - var end = setup.end; - var vector = setup.vector; + context.textAlign = 'left'; context.fillStyle = morpheus.CanvasUtil.FONT_COLOR; @@ -689,61 +728,61 @@ morpheus.VectorTrack.prototype = { if (this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR)) { this.renderColor(context, vector, start, end, clip, - this.isColumns ? availableSpace : 0, - !this.settings.discrete); + this.isColumns ? availableSpace : 0, + !this.settings.discrete); offset += this.settings.colorBarSize + 2; availableSpace -= offset; } if (!this.settings.squished - && this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE)) { + && this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE)) { this.renderShape(context, vector, start, end, clip, - this.isColumns ? availableSpace - offset : offset); + this.isColumns ? availableSpace - offset : offset); offset += this.settings.colorBarSize + 2; availableSpace -= offset; } if (this.isRenderAs(morpheus.VectorTrack.RENDER.ARC)) { this.renderArc(context, vector, start, end, clip, - this.settings.arcSize); + this.settings.arcSize); offset += this.settings.arcSize + 2; availableSpace -= offset; } if (!this.settings.squished - && this.isRenderAs(morpheus.VectorTrack.RENDER.MOLECULE)) { + && this.isRenderAs(morpheus.VectorTrack.RENDER.MOLECULE)) { this.renderMolecule(context, vector, start, end, clip, offset, - availableSpace); + availableSpace); } if (this.isRenderAs(morpheus.VectorTrack.RENDER.BOX_PLOT)) { var barSize = !this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT) ? (availableSpace - 2) - : this.settings.barSize; + : this.settings.barSize; offset++; this.renderBoxPlot(context, vector, start, end, clip, offset, - barSize); + barSize); offset += barSize + 2; availableSpace -= offset; } if (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR)) { var barSize = !this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT) ? (availableSpace - 1) - : this.settings.barSize; + : this.settings.barSize; if (this.settings.stackedBar) { this.renderStackedBar(context, vector, start, end, clip, - offset, barSize); + offset, barSize); } else { var fields = vector.getProperties().get( - morpheus.VectorKeys.FIELDS); + morpheus.VectorKeys.FIELDS); var visibleFieldIndices = vector.getProperties().get( - morpheus.VectorKeys.VISIBLE_FIELDS); + morpheus.VectorKeys.VISIBLE_FIELDS); if (fields != null && visibleFieldIndices == null) { visibleFieldIndices = morpheus.Util.seq(fields.length); } if (fields != null) { this.renderUnstackedBar(context, vector, start, end, clip, - offset, barSize, visibleFieldIndices); + offset, barSize, visibleFieldIndices); } else { this.renderBar(context, vector, start, end, clip, offset, - barSize); + barSize); } } offset += barSize + 2; @@ -751,24 +790,24 @@ morpheus.VectorTrack.prototype = { } if (!this.settings.squished - && this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)) { + && this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR)) { this.renderText(context, vector, true, start, end, clip, offset, - this.isColumns ? fullAvailableSpace : 0); + this.isColumns ? fullAvailableSpace : 0); offset += this.settings.maxTextWidth + 2; availableSpace -= offset; } this.textWidth = 0; if (!this.settings.squished - && this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT)) { + && this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT)) { this.textWidth = availableSpace; this.renderText(context, vector, false, start, end, clip, offset, - this.isColumns ? fullAvailableSpace : 0); + this.isColumns ? fullAvailableSpace : 0); offset += this.settings.textWidth + 2; availableSpace -= offset; } }, - showPopup : function(e, isHeader) { + showPopup: function (e, isHeader) { if (!this.heatmap.options.popupEnabled) { return; } @@ -776,7 +815,7 @@ morpheus.VectorTrack.prototype = { var project = this.project; var isColumns = this.isColumns; var hasSelection = isColumns ? project.getColumnSelectionModel() - .count() > 0 : project.getRowSelectionModel().count() > 0; + .count() > 0 : project.getRowSelectionModel().count() > 0; var ANNOTATE_SELECTION = 'Annotate Selection'; var INVERT_SELECTION = 'Invert Selection'; var SELECT_ALL = 'Select All'; @@ -808,13 +847,13 @@ morpheus.VectorTrack.prototype = { var heatmap = this.heatmap; var sectionToItems = { - 'Sort' : [], - 'Selection' : [], - 'Display' : [] + 'Sort': [], + 'Selection': [], + 'Display': [] }; if (isHeader) { sectionToItems.Sort.push({ - name : FILTER + name: FILTER }); // sectionToItems['Sort'].push({ // name : SORT_ASC @@ -828,23 +867,23 @@ morpheus.VectorTrack.prototype = { var dataset = project.getSortedFilteredDataset(); try { project.getRowSelectionModel().getViewIndices().forEach( - function(index) { - if (dataset.getState(index) !== -1) { - toggle = true; - throw 'break'; - } - }); + function (index) { + if (dataset.getState(index) !== -1) { + toggle = true; + throw 'break'; + } + }); } catch (x) { // break out of loop } if (toggle) { sectionToItems.Selection.push({ - name : TOGGLE + name: TOGGLE }); } } var customItems = this.heatmap.getPopupItems(); if (customItems && customItems.length > 0) { - customItems.forEach(function(item) { + customItems.forEach(function (item) { if (item.columns === isColumns) { sectionToItems[item.section].push(item); } @@ -852,89 +891,89 @@ morpheus.VectorTrack.prototype = { } if (sectionToItems.Selection.length > 0) { sectionToItems.Selection.push({ - separator : true + separator: true }); } sectionToItems.Selection.push({ - name : 'Copy' + name: 'Copy' }); sectionToItems.Selection.push({ - separator : true + separator: true }); sectionToItems.Selection.push({ - name : ANNOTATE_SELECTION + name: ANNOTATE_SELECTION }); sectionToItems.Selection.push({ - name : INVERT_SELECTION + name: INVERT_SELECTION }); sectionToItems.Selection.push({ - name : SELECT_ALL + name: SELECT_ALL }); sectionToItems.Selection.push({ - name : CLEAR_SELECTION + name: CLEAR_SELECTION }); // sectionToItems.Selection.push({ // name : SHOW_SELECTION_ONLY // }); var combinedFilter = isColumns ? project.getColumnFilter() : project - .getRowFilter(); + .getRowFilter(); var showSelectionOnlyIndex = combinedFilter - .indexOf(SHOW_SELECTION_ONLY); + .indexOf(SHOW_SELECTION_ONLY); if (showSelectionOnlyIndex !== -1) { sectionToItems.Selection.push({ - name : REMOVE_SHOW_SELECTION_ONLY + name: REMOVE_SHOW_SELECTION_ONLY }); } if (!isHeader) { sectionToItems['Sort'].push({ - name : SORT_SEL_ASC, - disabled : !hasSelection + name: SORT_SEL_ASC, + disabled: !hasSelection }); sectionToItems['Sort'].push({ - name : SORT_SEL_DESC, - disabled : !hasSelection + name: SORT_SEL_DESC, + disabled: !hasSelection }); sectionToItems['Sort'].push({ - name : SORT_SEL_TOP_N, - disabled : !hasSelection + name: SORT_SEL_TOP_N, + disabled: !hasSelection }); } var dataType = morpheus.VectorUtil.getDataType(this.getFullVector()); var arrayFields = this.getFullVector().getProperties().get( - morpheus.VectorKeys.FIELDS); + morpheus.VectorKeys.FIELDS); var isArray = arrayFields !== undefined; var isNumber = dataType === 'number' || dataType === '[number]'; if (isNumber || isArray) { sectionToItems.Display.push({ - name : DISPLAY_BAR, - checked : this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) + name: DISPLAY_BAR, + checked: this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) }); } if (isArray) { sectionToItems.Display.push({ - name : DISPLAY_STACKED_BAR, - checked : this.settings.stackedBar + name: DISPLAY_STACKED_BAR, + checked: this.settings.stackedBar }); sectionToItems.Display.push({ - name : FIELDS, + name: FIELDS, }); } if (!isArray) { sectionToItems.Display.push({ - name : DISPLAY_COLOR, - checked : this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) + name: DISPLAY_COLOR, + checked: this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) }); sectionToItems.Display.push({ - name : DISPLAY_TEXT, - checked : this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT) + name: DISPLAY_TEXT, + checked: this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT) }); sectionToItems.Display.push({ - name : DISPLAY_SHAPE, - checked : this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE) + name: DISPLAY_SHAPE, + checked: this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE) }); // sectionToItems.Display.push({ // name : DISPLAY_ARC, @@ -949,100 +988,100 @@ morpheus.VectorTrack.prototype = { // }); if (!isArray && !isNumber && !this.isColumns - && name.toLowerCase().indexOf('smile') !== -1) { + && name.toLowerCase().indexOf('smile') !== -1) { sectionToItems.Display.push({ - name : DISPLAY_STRUCTURE, - checked : this.isRenderAs(morpheus.VectorTrack.RENDER.MOLECULE) + name: DISPLAY_STRUCTURE, + checked: this.isRenderAs(morpheus.VectorTrack.RENDER.MOLECULE) }); } sectionToItems.Display.push({ - name : TOOLTIP, - checked : this.settings.inlineTooltip + name: TOOLTIP, + checked: this.settings.inlineTooltip }); if (!isArray) { sectionToItems.Display.push({ - name : HIGHLIGHT_MATCHING_VALUES, - checked : this.settings.highlightMatchingValues + name: HIGHLIGHT_MATCHING_VALUES, + checked: this.settings.highlightMatchingValues }); } sectionToItems.Display.push({ - name : 'Squished', - checked : this.settings.squished + name: 'Squished', + checked: this.settings.squished }); if (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) - || this.isRenderAs(morpheus.VectorTrack.RENDER.BOX_PLOT)) { + || this.isRenderAs(morpheus.VectorTrack.RENDER.BOX_PLOT)) { sectionToItems.Display.push({ - separator : true + separator: true }); if (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR)) { sectionToItems.Display.push({ - name : 'Edit Bar Color...' + name: 'Edit Bar Color...' }); } sectionToItems.Display.push({ - name : 'Auto Range' + name: 'Auto Range' }); sectionToItems.Display.push({ - name : 'Custom Range...' + name: 'Custom Range...' }); } if (this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) - || this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) - || this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) - || this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE)) { + || this.isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) + || this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) + || this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE)) { sectionToItems.Display.push({ - separator : true + separator: true }); if (isNumber) { sectionToItems.Display.push({ - name : DISPLAY_CONTINUOUS, - checked : !this.settings.discrete + name: DISPLAY_CONTINUOUS, + checked: !this.settings.discrete }); } if (this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) - || this - .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) - || (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) && isArray)) { + || this + .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) + || (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) && isArray)) { sectionToItems.Display.push({ - name : 'Edit Colors...' + name: 'Edit Colors...' }); } if (this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE)) { sectionToItems.Display.push({ - name : 'Edit Shapes...' + name: 'Edit Shapes...' }); } if (this.isRenderAs(morpheus.VectorTrack.RENDER.COLOR) - || this - .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) - || (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) && isArray)) { + || this + .isRenderAs(morpheus.VectorTrack.RENDER.TEXT_AND_COLOR) + || (this.isRenderAs(morpheus.VectorTrack.RENDER.BAR) && isArray)) { sectionToItems.Display.push({ - name : 'Color Key', - icon : 'fa fa-key' + name: 'Color Key', + icon: 'fa fa-key' }); } } if (this.isRenderAs(morpheus.VectorTrack.RENDER.SHAPE)) { sectionToItems.Display.push({ - name : 'Shape Key', - icon : 'fa fa-key' + name: 'Shape Key', + icon: 'fa fa-key' }); } sectionToItems.Display.push({ - separator : true + separator: true }); sectionToItems.Display.push({ - name : HIDE + name: HIDE }); sectionToItems.Display.push({ - separator : true + separator: true }); sectionToItems.Display.push({ - name : DELETE + name: DELETE }); var items = []; @@ -1050,16 +1089,16 @@ morpheus.VectorTrack.prototype = { function addSection(name) { if (items.length > 0) { items.push({ - separator : true + separator: true }); } items = items.concat(sectionToItems[name]); } addSection('Sort'); - _.each(sectionToItems.Selection, function(item) { + _.each(sectionToItems.Selection, function (item) { if (item.name !== REMOVE_SHOW_SELECTION_ONLY - && item.name !== SELECT_ALL) { + && item.name !== SELECT_ALL) { item.disabled = !hasSelection; } }); @@ -1073,646 +1112,642 @@ morpheus.VectorTrack.prototype = { } morpheus.Popup - .showPopup( - items, - { - x : e.pageX, - y : e.pageY - }, - e.target, - function(event, item) { - var customItem; - if (item === 'Copy') { - var dataset = project - .getSortedFilteredDataset(); - var v = isColumns ? dataset.getColumnMetadata() - .getByName(_this.name) : dataset - .getRowMetadata().getByName(_this.name); - var selectionModel = isColumns ? project - .getColumnSelectionModel() : project - .getRowSelectionModel(); - var text = []; - selectionModel.getViewIndices().forEach( - function(index) { - text.push(morpheus.Util.toString(v - .getValue(index))); - }); - event.clipboardData.setData('text/plain', text - .join('\t')); - } else if (item === FIELDS) { - var visibleFieldIndices = _this - .getFullVector() - .getProperties() - .get(morpheus.VectorKeys.VISIBLE_FIELDS); - var visibleFields; - if (visibleFieldIndices == null) { - visibleFields = arrayFields.slice(0); - } else { - visibleFields = []; - for (var i = 0; i < visibleFieldIndices.length; i++) { - visibleFields - .push(arrayFields[visibleFieldIndices[i]]); - } - - } - var availableFields = []; - for (var i = 0; i < arrayFields.length; i++) { - if (visibleFields.indexOf(arrayFields[i]) === -1) { - availableFields.push(arrayFields[i]); - } - } + .showPopup( + items, + { + x: e.pageX, + y: e.pageY + }, + e.target, + function (event, item) { + var customItem; + if (item === 'Copy') { + var dataset = project + .getSortedFilteredDataset(); + var v = isColumns ? dataset.getColumnMetadata() + .getByName(_this.name) : dataset + .getRowMetadata().getByName(_this.name); + var selectionModel = isColumns ? project + .getColumnSelectionModel() : project + .getRowSelectionModel(); + var text = []; + selectionModel.getViewIndices().forEach( + function (index) { + text.push(morpheus.Util.toString(v + .getValue(index))); + }); + event.clipboardData.setData('text/plain', text + .join('\t')); + } else if (item === FIELDS) { + var visibleFieldIndices = _this + .getFullVector() + .getProperties() + .get(morpheus.VectorKeys.VISIBLE_FIELDS); + var visibleFields; + if (visibleFieldIndices == null) { + visibleFields = arrayFields.slice(0); + } else { + visibleFields = []; + for (var i = 0; i < visibleFieldIndices.length; i++) { + visibleFields + .push(arrayFields[visibleFieldIndices[i]]); + } - var leftOptions = []; - var rightOptions = []; - for (var i = 0; i < availableFields.length; i++) { - leftOptions.push(new Option( - availableFields[i], - availableFields[i])); - } - for (var i = 0; i < visibleFields.length; i++) { - rightOptions - .push(new Option(visibleFields[i], - visibleFields[i])); - } + } + var availableFields = []; + for (var i = 0; i < arrayFields.length; i++) { + if (visibleFields.indexOf(arrayFields[i]) === -1) { + availableFields.push(arrayFields[i]); + } + } - var list = new morpheus.DualList(leftOptions, - rightOptions); - - morpheus.FormBuilder - .showOkCancel({ - title : 'Fields', - okCallback : function() { - var visibleFields = list - .getOptions(false); - var visibleFieldIndices = []; - for (var i = 0; i < visibleFields.length; i++) { - visibleFieldIndices - .push(arrayFields - .indexOf(visibleFields[i])); - } - var fullVector = _this - .getFullVector(); - fullVector - .getProperties() - .set( - morpheus.VectorKeys.VISIBLE_FIELDS, - visibleFieldIndices); - // remove cached box field - var summaryFunction = fullVector - .getProperties() - .get( - morpheus.VectorKeys.ARRAY_SUMMARY_FUNCTION); - if (summaryFunction) { - summaryFunction.indices = visibleFieldIndices; - } - var updatedVector = _this.isColumns ? _this.project - .getFullDataset() - .getColumnMetadata() - .add(_this.name) - : _this.project - .getFullDataset() - .getRowMetadata() - .add(_this.name); - - for (var i = 0; i < updatedVector - .size(); i++) { - var array = fullVector - .getValue(i); - if (array != null) { - array.box = null; - } - - } - - _this.setInvalid(true); - _this.repaint(); - }, - content : list.$el - }); - } else if (item === 'Edit Bar Color...') { - var formBuilder = new morpheus.FormBuilder(); - formBuilder.append({ - name : 'bar_color', - type : 'color', - value : _this.settings.barColor, - required : true, - col : 'col-xs-2' - }); - formBuilder.find('bar_color').on( - 'change', - function() { - _this.settings.barColor = $(this) - .val(); - _this.setInvalid(true); - _this.repaint(); - }); - morpheus.FormBuilder.showInModal({ - title : 'Bar Color', - close : 'Close', - html : formBuilder.$form - }); - } else if (item === TOGGLE) { - var dataset = project - .getSortedFilteredDataset(); - project.getRowSelectionModel().getViewIndices() - .forEach(function(index) { - dataset.setState(index, undefined); // FIXME - }); - project.setFullDataset( - project.getFullDataset(), true); - } else if (item === ANNOTATE_SELECTION) { - var formBuilder = new morpheus.FormBuilder(); - formBuilder.append({ - name : 'annotation_name', - type : 'text', - required : true - }); - formBuilder.append({ - name : 'annotation_value', - type : 'text', - required : true - }); - morpheus.FormBuilder - .showOkCancel({ - title : ANNOTATE_SELECTION, - content : formBuilder.$form, - okCallback : function() { - var value = formBuilder - .getValue('annotation_value'); - var annotationName = formBuilder - .getValue('annotation_name'); - var dataset = project - .getSortedFilteredDataset(); - var fullDataset = project - .getFullDataset(); - if (isColumns) { - dataset = morpheus.DatasetUtil - .transposedView(dataset); - fullDataset = morpheus.DatasetUtil - .transposedView(fullDataset); - } - - var existingVector = fullDataset - .getRowMetadata() - .getByName( - annotationName); - var v = dataset - .getRowMetadata().add( - annotationName); - - var selectionModel = isColumns ? project - .getColumnSelectionModel() - : project - .getRowSelectionModel(); - selectionModel - .getViewIndices() - .forEach( - function(index) { - v - .setValue( - index, - value); - }); - morpheus.VectorUtil - .maybeConvertStringToNumber(v); - project - .trigger( - 'trackChanged', - { - vectors : [ v ], - render : existingVector != null ? [] - : [ morpheus.VectorTrack.RENDER.TEXT ], - columns : isColumns - }); - } - }); - } else if (item === DELETE) { - morpheus.FormBuilder - .showOkCancel({ - title : 'Delete', - content : 'Are you sure you want to delete ' - + _this.name + '?', - okCallback : function() { - var metadata = isColumns ? project - .getFullDataset() - .getColumnMetadata() - : project - .getFullDataset() - .getRowMetadata(); - metadata - .remove(morpheus.MetadataUtil - .indexOf( - metadata, - _this.name)); - var sortKeys = isColumns ? project - .getColumnSortKeys() - : project - .getRowSortKeys(); - var sortKeyIndex = _.indexOf( - sortKeys.map(function( - key) { - return key.field; - }), _this.name); - if (sortKeyIndex !== -1) { - sortKeys.splice( - sortKeyIndex, 1); - if (isColumns) { - project - .setColumnSortKeys( - sortKeys, - true); - } else { - project.setRowSortKeys( - sortKeys, true); - } - } - var groupByKeys = isColumns ? project - .getGroupColumns() - : project - .getGroupRows(); - var groupByKeyIndex = _ - .indexOf( - groupByKeys - .map(function( - key) { - return key.field; - }), - _this.name); - if (groupByKeyIndex !== -1) { - groupByKeys.splice( - groupByKeyIndex, 1); - if (isColumns) { - project - .setGroupColumns( - groupByKeys, - true); - } else { - project.setGroupRows( - groupByKeys, - true); - } - } - if (!isColumns) { - // remove from any group - // by or sort by - project - .trigger( - 'rowTrackRemoved', - { - vector : _this - .getFullVector() - }); - } else { - project - .trigger( - 'columnTrackRemoved', - { - vector : _this - .getFullVector() - }); - } - } - }); - } else if (item === CLEAR_SELECTION) { - var model = isColumns ? project - .getColumnSelectionModel() : project - .getRowSelectionModel(); - model.setViewIndices(new morpheus.Set(), true); - } else if (item === INVERT_SELECTION) { - var model = isColumns ? project - .getColumnSelectionModel() : project - .getRowSelectionModel(); - var viewIndices = model.getViewIndices(); - var inverse = new morpheus.Set(); - for (var i = 0, n = positions.getLength(); i < n; i++) { - if (!viewIndices.has(i)) { - inverse.add(i); - } - } - model.setViewIndices(inverse, true); - } else if (item === FILTER) { - var vector = _this.getFullVector(); - var filter; - var index = _this.isColumns ? _this.project - .getColumnFilter().indexOf( - vector.getName()) - : _this.project.getRowFilter().indexOf( - vector.getName()); - if (index === -1) { - if (morpheus.VectorUtil.isNumber(vector) - && morpheus.VectorUtil - .containsMoreThanNValues( - vector, 9)) { - filter = new morpheus.RangeFilter(NaN, - NaN, vector.getName()); - - } else { - var set = morpheus.VectorUtil - .getSet(vector); - var array = set.values(); - array - .sort(morpheus.SortKey.ASCENDING_COMPARATOR); - filter = new morpheus.VectorFilter(set, - set.size(), vector.getName()); - } - if (filter) { - if (_this.isColumns) { - _this.project.getColumnFilter() - .add(filter, true); - } else { - _this.project.getRowFilter().add( - filter, true); - } - } + var leftOptions = []; + var rightOptions = []; + for (var i = 0; i < availableFields.length; i++) { + leftOptions.push(new Option( + availableFields[i], + availableFields[i])); + } + for (var i = 0; i < visibleFields.length; i++) { + rightOptions + .push(new Option(visibleFields[i], + visibleFields[i])); + } + var list = new morpheus.DualList(leftOptions, + rightOptions); + + morpheus.FormBuilder + .showOkCancel({ + title: 'Fields', + okCallback: function () { + var visibleFields = list + .getOptions(false); + var visibleFieldIndices = []; + for (var i = 0; i < visibleFields.length; i++) { + visibleFieldIndices + .push(arrayFields + .indexOf(visibleFields[i])); + } + var fullVector = _this + .getFullVector(); + fullVector + .getProperties() + .set( + morpheus.VectorKeys.VISIBLE_FIELDS, + visibleFieldIndices); + // remove cached box field + var summaryFunction = fullVector + .getProperties() + .get( + morpheus.VectorKeys.ARRAY_SUMMARY_FUNCTION); + if (summaryFunction) { + summaryFunction.indices = visibleFieldIndices; + } + var updatedVector = _this.isColumns ? _this.project + .getFullDataset() + .getColumnMetadata() + .add(_this.name) + : _this.project + .getFullDataset() + .getRowMetadata() + .add(_this.name); + + for (var i = 0; i < updatedVector + .size(); i++) { + var array = fullVector + .getValue(i); + if (array != null) { + array.box = null; } - if (_this.isColumns) { - _this.project.getColumnFilter().trigger( - 'focus', {}); - } else { - _this.project.getRowFilter().trigger( - 'focus', {}); - } + } - } else if (item === SORT_ASC || item === SORT_DESC) { - var sortKey = new morpheus.SortKey( - _this.name, - item === SORT_ASC ? morpheus.SortKey.SortOrder.ASCENDING - : morpheus.SortKey.SortOrder.DESCENDING); - if (_this.isColumns) { - _this.project - .setColumnSortKeys( - morpheus.SortKey - .keepExistingSortKeys( - [ sortKey ], - project - .getColumnSortKeys()), - true); - } else { - _this.project - .setRowSortKeys( - morpheus.SortKey - .keepExistingSortKeys( - [ sortKey ], - project - .getRowSortKeys()), - true); - } - } else if (item == SORT_SEL_ASC - || item == SORT_SEL_DESC - || item === SORT_SEL_TOP_N) { - var sortOrder; - if (item === SORT_SEL_ASC) { - sortOrder = morpheus.SortKey.SortOrder.ASCENDING; - } else if (item === SORT_SEL_DESC) { - sortOrder = morpheus.SortKey.SortOrder.DESCENDING; - } else { - sortOrder = morpheus.SortKey.SortOrder.TOP_N; - } - heatmap.sortBasedOnSelection(sortOrder, - isColumns, e && e.shiftKey); - } else if (item === SELECT_ALL) { - var selectionModel = !isColumns ? heatmap - .getProject().getRowSelectionModel() - : heatmap.getProject() - .getColumnSelectionModel(); - var count = !isColumns ? heatmap.getProject() - .getSortedFilteredDataset() - .getRowCount() : heatmap.getProject() - .getSortedFilteredDataset() - .getColumnCount(); - var indices = new morpheus.Set(); - for (var i = 0; i < count; i++) { - indices.add(i); - } - selectionModel.setViewIndices(indices, true); - } else if (item === 'Auto Range') { - delete _this.settings.min; - delete _this.settings.max; - delete _this.settings.mid; - _this._update(); - heatmap.revalidate(); - } else if (item === 'Custom Range...') { - var formBuilder = new morpheus.FormBuilder(); - var items = [ { - name : 'min', - required : true, - type : 'number', - value : _this.settings.min - }, { - name : 'mid', - required : true, - type : 'number', - value : _this.settings.mid - }, { - name : 'max', - required : true, - type : 'number', - value : _this.settings.max - } ]; - _.each(items, function(item) { - formBuilder.append(item); - }); - morpheus.FormBuilder - .showOkCancel({ - title : 'Range', - content : formBuilder.$form, - okCallback : function() { - _this.settings.min = parseFloat(formBuilder - .getValue('min')); - _this.settings.mid = parseFloat(formBuilder - .getValue('mid')); - _this.settings.max = parseFloat(formBuilder - .getValue('max')); - _this._update(); - heatmap.revalidate(); - } - }); - } else if (item === 'Squished') { - _this.settings.squished = !_this.settings.squished; - heatmap.revalidate(); - } else if (item === 'Color Key') { - - var legend = new morpheus.HeatMapTrackColorLegend( - [ _this ], isColumns ? _this.project - .getColumnColorModel() - : _this.project - .getRowColorModel()); - var size = legend.getPreferredSize(); - legend.setBounds(size); - legend.repaint(); - - morpheus.FormBuilder.showInModal({ - title : 'Color Key', - html : legend.canvas - }); - } else if (item === 'Shape Key') { - var legend = new morpheus.HeatMapTrackShapeLegend( - [ _this ], isColumns ? _this.project - .getColumnShapeModel() - : _this.project - .getRowShapeModel()); - var size = legend.getPreferredSize(); - legend.setBounds(size); - legend.repaint(); - - morpheus.FormBuilder.showInModal({ - title : 'Shape Key', - html : legend.canvas - }); - } else if (item === 'Edit Shapes...') { - var shapeFormBuilder = new morpheus.FormBuilder(); - var shapeModel = isColumns ? _this.project - .getColumnShapeModel() : _this.project - .getRowShapeModel(); - var chooser = new morpheus.ShapeChooser({ - map : shapeModel.getMap(_this.name) - }); + _this.setInvalid(true); + _this.repaint(); + }, + content: list.$el + }); + } else if (item === 'Edit Bar Color...') { + var formBuilder = new morpheus.FormBuilder(); + formBuilder.append({ + name: 'bar_color', + type: 'color', + value: _this.settings.barColor, + required: true, + col: 'col-xs-2' + }); + formBuilder.find('bar_color').on( + 'change', + function () { + _this.settings.barColor = $(this) + .val(); + _this.setInvalid(true); + _this.repaint(); + }); + morpheus.FormBuilder.showInModal({ + title: 'Bar Color', + close: 'Close', + html: formBuilder.$form + }); + } else if (item === TOGGLE) { + var dataset = project + .getSortedFilteredDataset(); + project.getRowSelectionModel().getViewIndices() + .forEach(function (index) { + dataset.setState(index, undefined); // FIXME + }); + project.setFullDataset( + project.getFullDataset(), true); + } else if (item === ANNOTATE_SELECTION) { + var formBuilder = new morpheus.FormBuilder(); + formBuilder.append({ + name: 'annotation_name', + type: 'text', + required: true + }); + formBuilder.append({ + name: 'annotation_value', + type: 'text', + required: true + }); + morpheus.FormBuilder + .showOkCancel({ + title: ANNOTATE_SELECTION, + content: formBuilder.$form, + okCallback: function () { + var value = formBuilder + .getValue('annotation_value'); + var annotationName = formBuilder + .getValue('annotation_name'); + var dataset = project + .getSortedFilteredDataset(); + var fullDataset = project + .getFullDataset(); + if (isColumns) { + dataset = morpheus.DatasetUtil + .transposedView(dataset); + fullDataset = morpheus.DatasetUtil + .transposedView(fullDataset); + } - chooser.on('change', function(event) { - shapeModel.setMappedValue(_this - .getFullVector(), event.value, - event.shape); - _this.setInvalid(true); - _this.repaint(); + var existingVector = fullDataset + .getRowMetadata() + .getByName( + annotationName); + var v = dataset + .getRowMetadata().add( + annotationName); + + var selectionModel = isColumns ? project + .getColumnSelectionModel() + : project + .getRowSelectionModel(); + selectionModel + .getViewIndices() + .forEach( + function (index) { + v + .setValue( + index, + value); }); - morpheus.FormBuilder.showInModal({ - title : 'Edit Shapes', - html : chooser.$div, - close : 'Close' + morpheus.VectorUtil + .maybeConvertStringToNumber(v); + project + .trigger( + 'trackChanged', + { + vectors: [v], + render: existingVector != null ? [] + : [morpheus.VectorTrack.RENDER.TEXT], + columns: isColumns }); - } else if (item === 'Edit Colors...') { - var colorSchemeChooser; - var colorModel = isColumns ? _this.project - .getColumnColorModel() : _this.project - .getRowColorModel(); - if (_this.settings.discrete) { - colorSchemeChooser = new morpheus.DiscreteColorSchemeChooser( - { - colorScheme : { - scale : colorModel - .getDiscreteColorScheme(_this - .getFullVector()) - } - }); - colorSchemeChooser.on('change', function( - event) { - colorModel.setMappedValue(_this - .getFullVector(), event.value, - event.color); - _this.setInvalid(true); - _this.repaint(); - }); + } + }); + } else if (item === DELETE) { + morpheus.FormBuilder + .showOkCancel({ + title: 'Delete', + content: 'Are you sure you want to delete ' + + _this.name + '?', + okCallback: function () { + var metadata = isColumns ? project + .getFullDataset() + .getColumnMetadata() + : project + .getFullDataset() + .getRowMetadata(); + metadata + .remove(morpheus.MetadataUtil + .indexOf( + metadata, + _this.name)); + var sortKeys = isColumns ? project + .getColumnSortKeys() + : project + .getRowSortKeys(); + var sortKeyIndex = _.indexOf( + sortKeys.map(function (key) { + return key.field; + }), _this.name); + if (sortKeyIndex !== -1) { + sortKeys.splice( + sortKeyIndex, 1); + if (isColumns) { + project + .setColumnSortKeys( + sortKeys, + true); } else { - colorSchemeChooser = new morpheus.HeatMapColorSchemeChooser( - { - showRelative : false, - }); - colorSchemeChooser - .setColorScheme(colorModel - .getContinuousColorScheme(_this - .getFullVector())); - colorSchemeChooser.on('change', function( - event) { - _this.setInvalid(true); - _this.repaint(); - }); + project.setRowSortKeys( + sortKeys, true); } - morpheus.FormBuilder.showInModal({ - title : 'Edit Colors', - html : colorSchemeChooser.$div, - close : 'Close', - callback : function() { - colorSchemeChooser.dispose(); - } - }); - } else if (item === TOOLTIP) { - _this.settings.inlineTooltip = !_this.settings.inlineTooltip; - } else if (item === HIGHLIGHT_MATCHING_VALUES) { - _this.settings.highlightMatchingValues = !_this.settings.highlightMatchingValues; - } else if ((customItem = _ - .find( - customItems, - function(customItem) { - return customItem.name === item - && customItem.columns === isColumns; - }))) { - if (customItem.task) { - // add task - var task = { - tabId : _this.heatmap.getTabManager() - .getActiveTabId() - }; - - _this.heatmap.getTabManager().addTask(task); - setTimeout(function() { - try { - customItem.callback(heatmap); - } catch (x) { - - } - _this.heatmap.getTabManager() - .removeTask(task); - }, 1); + } + var groupByKeys = isColumns ? project + .getGroupColumns() + : project + .getGroupRows(); + var groupByKeyIndex = _ + .indexOf( + groupByKeys + .map(function (key) { + return key.field; + }), + _this.name); + if (groupByKeyIndex !== -1) { + groupByKeys.splice( + groupByKeyIndex, 1); + if (isColumns) { + project + .setGroupColumns( + groupByKeys, + true); } else { - customItem.callback(heatmap); + project.setGroupRows( + groupByKeys, + true); } - - } else if (item === DISPLAY_CONTINUOUS) { - _this.settings.discrete = !_this.settings.discrete; - _this._setChartMinMax(); - _this.setInvalid(true); - _this.repaint(); - } else if (item === HIDE) { - heatmap.setTrackVisible(_this.name, false, - _this.isColumns); - heatmap.revalidate(); - } else if (item === DISPLAY_STACKED_BAR) { - _this.settings.stackedBar = !_this.settings.stackedBar; - _this._update(); - heatmap.revalidate(); + } + if (!isColumns) { + // remove from any group + // by or sort by + project + .trigger( + 'rowTrackRemoved', + { + vector: _this + .getFullVector() + }); } else { - if (item === DISPLAY_BAR) { - item = morpheus.VectorTrack.RENDER.BAR; - } else if (item === DISPLAY_COLOR) { - item = morpheus.VectorTrack.RENDER.COLOR; - } else if (item === DISPLAY_TEXT) { - item = morpheus.VectorTrack.RENDER.TEXT; - } else if (item === DISPLAY_TEXT_AND_COLOR) { - item = morpheus.VectorTrack.RENDER.TEXT_AND_COLOR; - } else if (item === DISPLAY_STRUCTURE) { - item = morpheus.VectorTrack.RENDER.MOLECULE; - } else if (item === DISPLAY_SHAPE) { - item = morpheus.VectorTrack.RENDER.SHAPE; - } else if (item === DISPLAY_ARC) { - item = morpheus.VectorTrack.RENDER.ARC; - } else { - console.log('Unknown item ' + item); - } - var show = !_this.isRenderAs(item); - if (!show) { - delete _this.settings.renderMethod[item]; - } else { - _this.settings.renderMethod[item] = true; - } - _this._update(); - heatmap.revalidate(); + project + .trigger( + 'columnTrackRemoved', + { + vector: _this + .getFullVector() + }); + } + } + }); + } else if (item === CLEAR_SELECTION) { + var model = isColumns ? project + .getColumnSelectionModel() : project + .getRowSelectionModel(); + model.setViewIndices(new morpheus.Set(), true); + } else if (item === INVERT_SELECTION) { + var model = isColumns ? project + .getColumnSelectionModel() : project + .getRowSelectionModel(); + var viewIndices = model.getViewIndices(); + var inverse = new morpheus.Set(); + for (var i = 0, n = positions.getLength(); i < n; i++) { + if (!viewIndices.has(i)) { + inverse.add(i); + } + } + model.setViewIndices(inverse, true); + } else if (item === FILTER) { + var vector = _this.getFullVector(); + var filter; + var index = _this.isColumns ? _this.project + .getColumnFilter().indexOf( + vector.getName()) + : _this.project.getRowFilter().indexOf( + vector.getName()); + if (index === -1) { + if (morpheus.VectorUtil.isNumber(vector) + && morpheus.VectorUtil + .containsMoreThanNValues( + vector, 9)) { + filter = new morpheus.RangeFilter(NaN, + NaN, vector.getName()); + + } else { + var set = morpheus.VectorUtil + .getSet(vector); + var array = set.values(); + array + .sort(morpheus.SortKey.ASCENDING_COMPARATOR); + filter = new morpheus.VectorFilter(set, + set.size(), vector.getName()); + } + if (filter) { + if (_this.isColumns) { + _this.project.getColumnFilter() + .add(filter, true); + } else { + _this.project.getRowFilter().add( + filter, true); } + } + + } + + if (_this.isColumns) { + _this.project.getColumnFilter().trigger( + 'focus', {}); + } else { + _this.project.getRowFilter().trigger( + 'focus', {}); + } + + } else if (item === SORT_ASC || item === SORT_DESC) { + var sortKey = new morpheus.SortKey( + _this.name, + item === SORT_ASC ? morpheus.SortKey.SortOrder.ASCENDING + : morpheus.SortKey.SortOrder.DESCENDING); + if (_this.isColumns) { + _this.project + .setColumnSortKeys( + morpheus.SortKey + .keepExistingSortKeys( + [sortKey], + project + .getColumnSortKeys()), + true); + } else { + _this.project + .setRowSortKeys( + morpheus.SortKey + .keepExistingSortKeys( + [sortKey], + project + .getRowSortKeys()), + true); + } + } else if (item == SORT_SEL_ASC + || item == SORT_SEL_DESC + || item === SORT_SEL_TOP_N) { + var sortOrder; + if (item === SORT_SEL_ASC) { + sortOrder = morpheus.SortKey.SortOrder.ASCENDING; + } else if (item === SORT_SEL_DESC) { + sortOrder = morpheus.SortKey.SortOrder.DESCENDING; + } else { + sortOrder = morpheus.SortKey.SortOrder.TOP_N; + } + heatmap.sortBasedOnSelection(sortOrder, + isColumns, e && e.shiftKey); + } else if (item === SELECT_ALL) { + var selectionModel = !isColumns ? heatmap + .getProject().getRowSelectionModel() + : heatmap.getProject() + .getColumnSelectionModel(); + var count = !isColumns ? heatmap.getProject() + .getSortedFilteredDataset() + .getRowCount() : heatmap.getProject() + .getSortedFilteredDataset() + .getColumnCount(); + var indices = new morpheus.Set(); + for (var i = 0; i < count; i++) { + indices.add(i); + } + selectionModel.setViewIndices(indices, true); + } else if (item === 'Auto Range') { + delete _this.settings.min; + delete _this.settings.max; + delete _this.settings.mid; + _this._update(); + heatmap.revalidate(); + } else if (item === 'Custom Range...') { + var formBuilder = new morpheus.FormBuilder(); + var items = [{ + name: 'min', + required: true, + type: 'number', + value: _this.settings.min + }, { + name: 'mid', + required: true, + type: 'number', + value: _this.settings.mid + }, { + name: 'max', + required: true, + type: 'number', + value: _this.settings.max + }]; + _.each(items, function (item) { + formBuilder.append(item); + }); + morpheus.FormBuilder + .showOkCancel({ + title: 'Range', + content: formBuilder.$form, + okCallback: function () { + _this.settings.min = parseFloat(formBuilder + .getValue('min')); + _this.settings.mid = parseFloat(formBuilder + .getValue('mid')); + _this.settings.max = parseFloat(formBuilder + .getValue('max')); + _this._update(); + heatmap.revalidate(); + } + }); + } else if (item === 'Squished') { + _this.settings.squished = !_this.settings.squished; + heatmap.revalidate(); + } else if (item === 'Color Key') { + + var legend = new morpheus.HeatMapTrackColorLegend( + [_this], isColumns ? _this.project + .getColumnColorModel() + : _this.project + .getRowColorModel()); + var size = legend.getPreferredSize(); + legend.setBounds(size); + legend.repaint(); + + morpheus.FormBuilder.showInModal({ + title: 'Color Key', + html: legend.canvas + }); + } else if (item === 'Shape Key') { + var legend = new morpheus.HeatMapTrackShapeLegend( + [_this], isColumns ? _this.project + .getColumnShapeModel() + : _this.project + .getRowShapeModel()); + var size = legend.getPreferredSize(); + legend.setBounds(size); + legend.repaint(); + + morpheus.FormBuilder.showInModal({ + title: 'Shape Key', + html: legend.canvas + }); + } else if (item === 'Edit Shapes...') { + var shapeFormBuilder = new morpheus.FormBuilder(); + var shapeModel = isColumns ? _this.project + .getColumnShapeModel() : _this.project + .getRowShapeModel(); + var chooser = new morpheus.ShapeChooser({ + map: shapeModel.getMap(_this.name) + }); + + chooser.on('change', function (event) { + shapeModel.setMappedValue(_this + .getFullVector(), event.value, + event.shape); + _this.setInvalid(true); + _this.repaint(); + }); + morpheus.FormBuilder.showInModal({ + title: 'Edit Shapes', + html: chooser.$div, + close: 'Close' + }); + } else if (item === 'Edit Colors...') { + var colorSchemeChooser; + var colorModel = isColumns ? _this.project + .getColumnColorModel() : _this.project + .getRowColorModel(); + if (_this.settings.discrete) { + colorSchemeChooser = new morpheus.DiscreteColorSchemeChooser( + { + colorScheme: { + scale: colorModel + .getDiscreteColorScheme(_this + .getFullVector()) + } + }); + colorSchemeChooser.on('change', function (event) { + colorModel.setMappedValue(_this + .getFullVector(), event.value, + event.color); + _this.setInvalid(true); + _this.repaint(); }); + } else { + colorSchemeChooser = new morpheus.HeatMapColorSchemeChooser( + { + showRelative: false, + }); + colorSchemeChooser + .setColorScheme(colorModel + .getContinuousColorScheme(_this + .getFullVector())); + colorSchemeChooser.on('change', function (event) { + _this.setInvalid(true); + _this.repaint(); + }); + } + morpheus.FormBuilder.showInModal({ + title: 'Edit Colors', + html: colorSchemeChooser.$div, + close: 'Close', + callback: function () { + colorSchemeChooser.dispose(); + } + }); + } else if (item === TOOLTIP) { + _this.settings.inlineTooltip = !_this.settings.inlineTooltip; + } else if (item === HIGHLIGHT_MATCHING_VALUES) { + _this.settings.highlightMatchingValues = !_this.settings.highlightMatchingValues; + } else if ((customItem = _ + .find( + customItems, + function (customItem) { + return customItem.name === item + && customItem.columns === isColumns; + }))) { + if (customItem.task) { + // add task + var task = { + tabId: _this.heatmap.getTabManager() + .getActiveTabId() + }; + + _this.heatmap.getTabManager().addTask(task); + setTimeout(function () { + try { + customItem.callback(heatmap); + } catch (x) { + + } + _this.heatmap.getTabManager() + .removeTask(task); + }, 1); + } else { + customItem.callback(heatmap); + } + + } else if (item === DISPLAY_CONTINUOUS) { + _this.settings.discrete = !_this.settings.discrete; + _this._setChartMinMax(); + _this.setInvalid(true); + _this.repaint(); + } else if (item === HIDE) { + heatmap.setTrackVisible(_this.name, false, + _this.isColumns); + heatmap.revalidate(); + } else if (item === DISPLAY_STACKED_BAR) { + _this.settings.stackedBar = !_this.settings.stackedBar; + _this._update(); + heatmap.revalidate(); + } else { + if (item === DISPLAY_BAR) { + item = morpheus.VectorTrack.RENDER.BAR; + } else if (item === DISPLAY_COLOR) { + item = morpheus.VectorTrack.RENDER.COLOR; + } else if (item === DISPLAY_TEXT) { + item = morpheus.VectorTrack.RENDER.TEXT; + } else if (item === DISPLAY_TEXT_AND_COLOR) { + item = morpheus.VectorTrack.RENDER.TEXT_AND_COLOR; + } else if (item === DISPLAY_STRUCTURE) { + item = morpheus.VectorTrack.RENDER.MOLECULE; + } else if (item === DISPLAY_SHAPE) { + item = morpheus.VectorTrack.RENDER.SHAPE; + } else if (item === DISPLAY_ARC) { + item = morpheus.VectorTrack.RENDER.ARC; + } else { + console.log('Unknown item ' + item); + } + var show = !_this.isRenderAs(item); + if (!show) { + delete _this.settings.renderMethod[item]; + } else { + _this.settings.renderMethod[item] = true; + } + _this._update(); + heatmap.revalidate(); + } + }); }, - renderColor : function(context, vector, start, end, clip, offset, - continuous) { + renderColor: function (context, vector, start, end, clip, offset, + continuous) { var isColumns = this.isColumns; var positions = this.positions; var colorModel = isColumns ? this.project.getColumnColorModel() - : this.project.getRowColorModel(); + : this.project.getRowColorModel(); var settings = this.settings; var canvasSize = isColumns ? this.getUnscaledHeight() : this - .getUnscaledWidth(); + .getUnscaledWidth(); if (settings.colorBarSize > canvasSize) { settings.colorBarSize = canvasSize >= 5 ? (canvasSize - 1) - : canvasSize; + : canvasSize; } var getColor; if (!continuous) { @@ -1729,7 +1764,7 @@ morpheus.VectorTrack.prototype = { if (isColumns) { context.beginPath(); context.rect(position, offset - settings.colorBarSize, size, - settings.colorBarSize); + settings.colorBarSize); context.fill(); } else { context.beginPath(); @@ -1738,17 +1773,17 @@ morpheus.VectorTrack.prototype = { } } }, - renderShape : function(context, vector, start, end, clip, offset) { + renderShape: function (context, vector, start, end, clip, offset) { var isColumns = this.isColumns; var positions = this.positions; var shapeModel = isColumns ? this.project.getColumnShapeModel() - : this.project.getRowShapeModel(); + : this.project.getRowShapeModel(); var settings = this.settings; var canvasSize = isColumns ? this.getUnscaledHeight() : this - .getUnscaledWidth(); + .getUnscaledWidth(); if (settings.colorBarSize > canvasSize) { settings.colorBarSize = canvasSize >= 5 ? (canvasSize - 1) - : canvasSize; + : canvasSize; } context.fillStyle = 'black'; context.strokeStyle = 'black'; @@ -1771,19 +1806,19 @@ morpheus.VectorTrack.prototype = { } context.lineWidth = lineWidth; }, - renderArc : function(context, vector, start, end, clip, size) { + renderArc: function (context, vector, start, end, clip, size) { var isColumns = this.isColumns; var positions = this.positions; var project = this.project; context.save(); context.lineWidth = 1; - var scale = d3.scale.linear().domain([ 1, size ]).range([ 0.8, 1 ]) - .clamp(true); + var scale = d3.scale.linear().domain([1, size]).range([0.8, 1]) + .clamp(true); var fill = d3.scale.category20b(); var valueToIndices = morpheus.VectorUtil - .createValueToIndicesMap(vector); + .createValueToIndicesMap(vector); var total = positions.getPosition(positions.getLength() - 1) - + positions.getItemSize(positions.getLength() - 1); + + positions.getItemSize(positions.getLength() - 1); context.translate(clip.x, clip.y); var width = clip.width; var height = clip.height; @@ -1802,14 +1837,14 @@ morpheus.VectorTrack.prototype = { context.strokeStyle = fill(value); var indices = valueToIndices.get(value); var pix = positions.getPosition(i) + positions.getItemSize(i) - / 2; + / 2; for (var j = 0, nindices = indices.length; j < nindices; j++) { var viewIndex = indices[j]; if (viewIndex === i) { continue; } var endPix = positions.getPosition(viewIndex) - + positions.getItemSize(viewIndex) / 2; + + positions.getItemSize(viewIndex) / 2; var midPix = (endPix + pix) / 2; var distance = Math.abs(i - viewIndex); var arcRadius = size; // scale(distance) * size; @@ -1831,14 +1866,14 @@ morpheus.VectorTrack.prototype = { } context.restore(); }, - sdfToSvg : function(sdf, width, height) { + sdfToSvg: function (sdf, width, height) { if (!this.jsme && typeof JSApplet !== 'undefined') { this.jsmeId = _.uniqueId('m'); this.$jsmeDiv = $( - '
    ') - .appendTo($(document.body)); + '
    ') + .appendTo($(document.body)); this.jsme = new JSApplet.JSME(this.jsmeId, '380px', '340px', {}); } // this.$jsmeDiv.css('width', width + 'px').css('height', height + @@ -1850,10 +1885,10 @@ morpheus.VectorTrack.prototype = { var svgHeight = svg.height.baseVal.value; var scale = Math.min(width / svgWidth, height / svgHeight); var text = '' + svg.innerHTML - + ''; + + ''; return text; }, - renderMolecule : function(context, vector, start, end, clip, offset) { + renderMolecule: function (context, vector, start, end, clip, offset) { var isColumns = this.isColumns; var positions = this.positions; context.fillStyle = morpheus.CanvasUtil.FONT_COLOR; @@ -1861,8 +1896,8 @@ morpheus.VectorTrack.prototype = { var width = this.getUnscaledWidth(); var customUrlProvider = this.heatmap.options.structureUrlProvider !== undefined; var dummyTarget = { - childNodes : [], - getContext : function() { + childNodes: [], + getContext: function () { return context; } }; @@ -1871,7 +1906,7 @@ morpheus.VectorTrack.prototype = { if (spanEnd !== undefined) { var startPix = positions.getPosition(i); var endPix = positions.getPosition(spanEnd - 1) - + positions.getSize(); + + positions.getSize(); var size = endPix - startPix; var value = vector.getValue(i); var cache = this.moleculeCache[value]; @@ -1880,14 +1915,14 @@ morpheus.VectorTrack.prototype = { if (cache.complete) { // 800 x 400 var scaleFactor = Math.min(size / cache.height, - width / cache.width); + width / cache.width); var scaledWidth = cache.width * scaleFactor; var scaledHeight = cache.height * scaleFactor; var diff = cache.height - scaledHeight; startPix += diff / 2; try { context.drawImage(cache, offset, startPix, - scaledWidth, scaledHeight); + scaledWidth, scaledHeight); } catch (x) { } @@ -1895,35 +1930,35 @@ morpheus.VectorTrack.prototype = { } else { var text = this.sdfToSvg(cache, width, size); canvg(dummyTarget, text, { - ignoreMouse : true, - ignoreAnimation : true, - offsetY : startPix, - ignoreClear : true, - ignoreDimensions : true + ignoreMouse: true, + ignoreAnimation: true, + offsetY: startPix, + ignoreClear: true, + ignoreDimensions: true }); } } } } }, - createChartScale : function(availableSpace) { + createChartScale: function (availableSpace) { var domain; var range; if (this.settings.mid !== this.settings.min - && this.settings.mid !== this.settings.max) { - domain = [ this.settings.min, this.settings.mid, this.settings.max ]; - range = this.isColumns ? [ availableSpace, availableSpace / 2, 0 ] - : [ 0, availableSpace / 2, availableSpace ]; + && this.settings.mid !== this.settings.max) { + domain = [this.settings.min, this.settings.mid, this.settings.max]; + range = this.isColumns ? [availableSpace, availableSpace / 2, 0] + : [0, availableSpace / 2, availableSpace]; } else { - domain = [ this.settings.min, this.settings.max ]; - range = this.isColumns ? [ availableSpace, 0 ] : [ 0, - availableSpace ]; + domain = [this.settings.min, this.settings.max]; + range = this.isColumns ? [availableSpace, 0] : [0, + availableSpace]; } var scale = d3.scale.linear().domain(domain).range(range).clamp(true); return scale; }, - renderBar : function(context, vector, start, end, clip, offset, - availableSpace) { + renderBar: function (context, vector, start, end, clip, offset, + availableSpace) { var isColumns = this.isColumns; var positions = this.positions; context.fillStyle = this.settings.barColor; @@ -1942,18 +1977,18 @@ morpheus.VectorTrack.prototype = { if (isColumns) { context.beginPath(); context.rect(position, Math.min(midPix, scaledValue), size, - Math.abs(midPix - scaledValue)); + Math.abs(midPix - scaledValue)); context.fill(); } else { context.beginPath(); context.rect(offset + Math.min(midPix, scaledValue), position, - Math.abs(midPix - scaledValue), size); + Math.abs(midPix - scaledValue), size); context.fill(); } } }, - renderBoxPlot : function(context, vector, start, end, clip, offset, - availableSpace) { + renderBoxPlot: function (context, vector, start, end, clip, offset, + availableSpace) { var isColumns = this.isColumns; var positions = this.positions; context.strokeStyle = 'black'; @@ -1961,16 +1996,16 @@ morpheus.VectorTrack.prototype = { context.translate(offset, 0); var scale = this.createChartScale(availableSpace); var visibleFieldIndices = vector.getProperties().get( - morpheus.VectorKeys.VISIBLE_FIELDS); + morpheus.VectorKeys.VISIBLE_FIELDS); if (visibleFieldIndices == null) { visibleFieldIndices = morpheus.Util.seq(vector.getProperties().get( - morpheus.VectorKeys.FIELDS).length); + morpheus.VectorKeys.FIELDS).length); } var colorByVector = this.settings.colorByField != null ? this - .getVector(this.settings.colorByField) : null; + .getVector(this.settings.colorByField) : null; var colorModel = isColumns ? this.project.getColumnColorModel() - : this.project.getRowColorModel(); + : this.project.getRowColorModel(); for (var i = start; i < end; i++) { var array = vector.getValue(i); if (array != null) { @@ -1989,9 +2024,9 @@ morpheus.VectorTrack.prototype = { if (box == null) { var v = morpheus.VectorUtil.arrayAsVector(array); box = morpheus - .BoxPlotItem(visibleFieldIndices != null ? new morpheus.SlicedVector( - v, visibleFieldIndices) - : v); + .BoxPlotItem(visibleFieldIndices != null ? new morpheus.SlicedVector( + v, visibleFieldIndices) + : v); array.box = box; } context.fillStyle = '#bdbdbd'; @@ -1999,18 +2034,18 @@ morpheus.VectorTrack.prototype = { if (!isColumns) { // box from q1 (25th q) to q3 context.fillRect(Math.min(scale(box.q1), scale(box.q3)), - start, Math.abs(scale(box.q1) - scale(box.q3)), - _itemSize); + start, Math.abs(scale(box.q1) - scale(box.q3)), + _itemSize); // draw line from q1 to lav context.fillRect(Math.min(scale(box.q1), - scale(box.lowerAdjacentValue)), center - lineHeight - / 2, Math.abs(scale(box.q1) - - scale(box.lowerAdjacentValue)), lineHeight); + scale(box.lowerAdjacentValue)), center - lineHeight + / 2, Math.abs(scale(box.q1) + - scale(box.lowerAdjacentValue)), lineHeight); // draw line from q3 to uav context.fillRect(Math.min(scale(box.q3), - scale(box.upperAdjacentValue)), center - lineHeight - / 2, Math.abs(scale(box.q3) - - scale(box.upperAdjacentValue)), lineHeight); + scale(box.upperAdjacentValue)), center - lineHeight + / 2, Math.abs(scale(box.q3) + - scale(box.upperAdjacentValue)), lineHeight); // points context.fillStyle = '#636363'; @@ -2021,9 +2056,9 @@ morpheus.VectorTrack.prototype = { var colorByArray = colorByVector.getValue(i); if (colorByArray != null) { var color = colorModel - .getMappedValue( - colorByVector, - colorByArray[visibleFieldIndices[j]]); + .getMappedValue( + colorByVector, + colorByArray[visibleFieldIndices[j]]); context.fillStyle = color; } else { context.fillStyle = '#636363'; @@ -2033,8 +2068,8 @@ morpheus.VectorTrack.prototype = { var pix = scale(value); context.beginPath(); context - .arc(pix, center, radius, Math.PI * 2, - false); + .arc(pix, center, radius, Math.PI * 2, + false); context.fill(); } } @@ -2047,8 +2082,8 @@ morpheus.VectorTrack.prototype = { } context.restore(); }, - renderStackedBar : function(context, vector, start, end, clip, offset, - availableSpace) { + renderStackedBar: function (context, vector, start, end, clip, offset, + availableSpace) { var isColumns = this.isColumns; var positions = this.positions; @@ -2056,12 +2091,12 @@ morpheus.VectorTrack.prototype = { var midPix = scale(this.settings.mid); var settings = this.settings; var colorModel = isColumns ? this.project.getColumnColorModel() - : this.project.getRowColorModel(); + : this.project.getRowColorModel(); var selectionModel = isColumns ? this.project.getRowSelectionModel() - : null; + : null; var selectedModelIndices = selectionModel == null ? [] : selectionModel - .toModelIndices(); + .toModelIndices(); context.strokeStyle = 'black'; context.lineWidth = 2; for (var i = start; i < end; i++) { @@ -2071,7 +2106,7 @@ morpheus.VectorTrack.prototype = { if (array.modelIndexToBin != null) { for (var j = 0; j < selectedModelIndices.length; j++) { var bin = array.modelIndexToBin - .get(selectedModelIndices[j]); + .get(selectedModelIndices[j]); if (bin !== undefined) { selectedBins.add(bin); } @@ -2086,19 +2121,19 @@ morpheus.VectorTrack.prototype = { var value = array[j]; if (value >= this.settings.mid) { positivePairs.push({ - value : value, - index : j + value: value, + index: j }); } else if (value < 0) { negativePairs.push({ - value : value, - index : j + value: value, + index: j }); } } var positiveIndices = morpheus.Util.indexSortPairs( - positivePairs, false); // draw bigger values 1st + positivePairs, false); // draw bigger values 1st for (var j = 0, length = positiveIndices.length; j < length; j++) { var index = positiveIndices[j]; var value = array[index]; @@ -2106,19 +2141,19 @@ morpheus.VectorTrack.prototype = { context.fillStyle = color; var scaledValue = scale(value); var nextScaledValue = j === (length - 1) ? midPix - : scale(array[positiveIndices[j + 1]]); + : scale(array[positiveIndices[j + 1]]); if (isColumns) { context.beginPath(); context.rect(position, Math.min(nextScaledValue, - scaledValue), size, Math.abs(nextScaledValue - - scaledValue)); + scaledValue), size, Math.abs(nextScaledValue + - scaledValue)); context.fill(); } else { context.beginPath(); context.rect(offset - + Math.min(nextScaledValue, scaledValue), - position, Math.abs(nextScaledValue - - scaledValue), size); + + Math.min(nextScaledValue, scaledValue), + position, Math.abs(nextScaledValue + - scaledValue), size); context.fill(); } if (selectedBins.has(index)) { @@ -2131,7 +2166,7 @@ morpheus.VectorTrack.prototype = { } } var negativeIndices = morpheus.Util.indexSortPairs( - negativePairs, true); // draw smaller (more negative) + negativePairs, true); // draw smaller (more negative) // values 1st for (var j = 0, length = negativeIndices.length; j < length; j++) { var index = negativeIndices[j]; @@ -2140,19 +2175,19 @@ morpheus.VectorTrack.prototype = { context.fillStyle = color; var scaledValue = scale(value); var nextScaledValue = j === (length - 1) ? midPix - : scale(array[negativeIndices[j + 1]]); + : scale(array[negativeIndices[j + 1]]); if (isColumns) { context.beginPath(); context.rect(position, Math.min(nextScaledValue, - scaledValue), size, Math.abs(nextScaledValue - - scaledValue)); + scaledValue), size, Math.abs(nextScaledValue + - scaledValue)); context.fill(); } else { context.beginPath(); context.rect(offset - + Math.min(nextScaledValue, scaledValue), - position, Math.abs(nextScaledValue - - scaledValue), size); + + Math.min(nextScaledValue, scaledValue), + position, Math.abs(nextScaledValue + - scaledValue), size); context.fill(); } if (selectedBins.has(index)) { @@ -2168,20 +2203,20 @@ morpheus.VectorTrack.prototype = { } context.lineWidth = 1; }, - renderUnstackedBar : function(context, vector, start, end, clip, offset, - availableSpace, fieldIndices) { + renderUnstackedBar: function (context, vector, start, end, clip, offset, + availableSpace, fieldIndices) { var isColumns = this.isColumns; var positions = this.positions; var nvalues = fieldIndices.length; var settings = this.settings; var colorModel = isColumns ? this.project.getColumnColorModel() - : this.project.getRowColorModel(); + : this.project.getRowColorModel(); context.fillStyle = this.settings.barColor; // context.strokeStyle = '0000f0'; var barSpacer = 0; var barWidth = (availableSpace - (nvalues - 1) * barSpacer) / nvalues; var colorByVector = this.settings.colorByField != null ? this - .getVector(this.settings.colorByField) : null; + .getVector(this.settings.colorByField) : null; context.strokeStyle = 'white'; for (var i = start; i < end; i++) { var array = vector.getValue(i); @@ -2197,10 +2232,10 @@ morpheus.VectorTrack.prototype = { if (colorByVector != null) { var colorByArray = colorByVector.getValue(i); var color = colorModel - .getMappedValue( - colorByVector, - colorByArray != null ? colorByArray[fieldIndices[j]] - : null); + .getMappedValue( + colorByVector, + colorByArray != null ? colorByArray[fieldIndices[j]] + : null); context.fillStyle = color; } @@ -2209,15 +2244,15 @@ morpheus.VectorTrack.prototype = { if (isColumns) { context.beginPath(); context.rect(Math.min(midPix, scaledValue), offset - + xpix, Math.abs(midPix - scaledValue), - barWidth); + + xpix, Math.abs(midPix - scaledValue), + barWidth); context.fill(); } else { // bar always goes to midpix context.beginPath(); var barHeight = Math.abs(midPix - scaledValue); var ypix = position + itemSize - - Math.max(midPix, scaledValue); + - Math.max(midPix, scaledValue); context.rect(offset + xpix, ypix, barWidth, barHeight); context.fill(); @@ -2230,18 +2265,18 @@ morpheus.VectorTrack.prototype = { } }, - renderText : function(context, vector, isColor, start, end, clip, offset, - canvasSize) { + renderText: function (context, vector, isColor, start, end, clip, offset, + canvasSize) { context.fillStyle = morpheus.CanvasUtil.FONT_COLOR; context.textBaseline = 'middle'; var positions = this.positions; var isColumns = this.isColumns; var colorModel = isColumns ? this.project.getColumnColorModel() - : this.project.getRowColorModel(); + : this.project.getRowColorModel(); if (isColumns) { - context.translate(clip.x, clip.y); // reset transform + context.translate(clip.x, clip.y); // reset transform, needed for export to svg } var toStringFunction = morpheus.VectorTrack.vectorToString(vector); for (var i = start; i < end; i++) { @@ -2255,12 +2290,12 @@ morpheus.VectorTrack.prototype = { var position = positions.getPosition(i); if (isColor) { context.fillStyle = colorModel - .getMappedValue(vector, value); + .getMappedValue(vector, value); } if (isColumns) { context.save(); context.translate(position + size / 2 - clip.x, canvasSize - - clip.y - offset); + - clip.y - offset); context.rotate(-Math.PI / 2); context.fillText(value, 0, 0); context.restore();