wpDataTables Lite - Version 2.1.27

Version Description

  • Feature: Chart.js enabled with 9 new chart types as second chart rendering engine. Beside Google Charts, we have added Chart.js that renders simple and flexible charts with a lot of customization options.
  • Improvement: Improved integration with Divi Builder.
  • Improvement: Added new filters for each chart engine render data: wpdatatables_filter_google_charts_render_data and wpdatatables_filter_chartjs_render_data.
  • Compatibility with WordPress 5.9.2 approved. Other small bug fixes and stability improvements.
Download this release

Release Info

Developer wpDataTables
Plugin Icon 128x128 wpDataTables Lite
Version 2.1.27
Comparing to
See all releases

Code changes from version 2.1.26 to 2.1.27

assets/css/bootstrap/wpdatatables-bootstrap.css CHANGED
@@ -7225,7 +7225,7 @@ select.input-group-lg > .input-group-btn > .btn {
7225
  }
7226
  .wpdt-c .popover.wdt-premium-popover .popover-body .popover-footer{
7227
  display: block;
7228
- margin-top: 4px;
7229
  }
7230
 
7231
  .wpdt-c .popover.top {
7225
  }
7226
  .wpdt-c .popover.wdt-premium-popover .popover-body .popover-footer{
7227
  display: block;
7228
+ margin-top: 4px;
7229
  }
7230
 
7231
  .wpdt-c .popover.top {
assets/css/bootstrap/wpdatatables-bootstrap.min.css CHANGED
@@ -1,9 +1,5 @@
1
- @import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap);
2
  /*!
3
  * Bootstrap v3.3.6 (http://getbootstrap.com)
4
  * Copyright 2011-2015 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
- */
7
-
8
- /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
9
- @font-face{font-family:'wpDataTablesIcons'!important;src:url(../../fonts/wpDataTablesIcons.eot);src:url(../../fonts/wpDataTablesIcons.eot?#iefix) format('embedded-opentype'),url(../../fonts/wpDataTablesIcons.woff) format('woff'),url(../../fonts/wpDataTablesIcons.ttf) format('truetype'),url(../../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg')}.wpdt-c article,.wpdt-c aside,.wpdt-c details,.wpdt-c figcaption,.wpdt-c figure,.wpdt-c footer,.wpdt-c header,.wpdt-c hgroup,.wpdt-c main,.wpdt-c menu,.wpdt-c nav,.wpdt-c section,.wpdt-c summary{display:block}.wpdt-c audio,.wpdt-c canvas,.wpdt-c progress,.wpdt-c video{display:inline-block;vertical-align:baseline}.wpdt-c audio:not([controls]){display:none;height:0}.wpdt-c [hidden],.wpdt-c template{display:none}.wpdt-c a{background-color:transparent}.wpdt-c a:active,.wpdt-c a:hover{outline:0}.wpdt-c abbr[title]{border-bottom:1px dotted}.wpdt-c b,.wpdt-c strong{font-weight:700}.wpdt-c dfn{font-style:italic}.wpdt-c h1{font-size:2em;margin:.67em 0}.wpdt-c mark{background:#ff0;color:#000}.wpdt-c small{font-size:80%}.wpdt-c sub,.wpdt-c sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wpdt-c sup{top:-.5em}.wpdt-c sub{bottom:-.25em}.wpdt-c img{border:0}.wpdt-c svg:not(:root){overflow:hidden}.wpdt-c figure{margin:1em 40px}.wpdt-c hr{box-sizing:content-box;height:0}.wpdt-c pre{overflow:auto}.wpdt-c code,.wpdt-c kbd,.wpdt-c samp{font-family:monospace,monospace;font-size:1em}.wpdt-c button,.wpdt-c input,.wpdt-c optgroup,.wpdt-c select,.wpdt-c textarea{color:inherit;font:inherit;margin:0}.wpdt-c button{overflow:visible}.wpdt-c button,.wpdt-c select{text-transform:none}.wpdt-c button,.wpdt-c html input[type="button"],.wpdt-c input[type="reset"],.wpdt-c input[type="submit"]{-webkit-appearance:button;cursor:pointer}.wpdt-c button[disabled],.wpdt-c html input[disabled]{cursor:default}.wpdt-c button::-moz-focus-inner,.wpdt-c input::-moz-focus-inner{border:0;padding:0}.wpdt-c input{line-height:normal}.wpdt-c input[type="checkbox"],.wpdt-c input[type="radio"]{box-sizing:border-box;padding:0}.wpdt-c input[type="number"]::-webkit-inner-spin-button,.wpdt-c input[type="number"]::-webkit-outer-spin-button{height:auto}.wpdt-c input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}.wpdt-c input[type="search"]::-webkit-search-cancel-button,.wpdt-c input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}.wpdt-c fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.wpdt-c legend{border:0;padding:0}.wpdt-c textarea{overflow:auto}.wpdt-c optgroup{font-weight:700}.wpdt-c table{border-collapse:collapse;border-spacing:0}@media print{*,.wpdt-c *:before,.wpdt-c *:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.wpdt-c a,.wpdt-c a:visited{text-decoration:underline}.wpdt-c a[href]:after{content:" (" attr(href) ")"}.wpdt-c abbr[title]:after{content:" (" attr(title) ")"}.wpdt-c a[href^="#"]:after,.wpdt-c a[href^="javascript:"]:after{content:""}.wpdt-c pre,.wpdt-c blockquote{border:1px solid #999;page-break-inside:avoid}.wpdt-c thead{display:table-header-group}.wpdt-c tr,.wpdt-c img{page-break-inside:avoid}.wpdt-c img{max-width:100%!important}.wpdt-c p,.wpdt-c h2,.wpdt-c h3{orphans:3;widows:3}.wpdt-c h2,.wpdt-c h3{page-break-after:avoid}.wpdt-c .navbar{display:none}.wpdt-c .btn>.caret,.wpdt-c .dropup>.btn>.caret{border-top-color:#000!important}.wpdt-c .label{border:1px solid #000}.wpdt-c .table{border-collapse:collapse!important}.wpdt-c .table td,.wpdt-c .table th{background-color:#fff!important}.wpdt-c .table-bordered th,.wpdt-c .table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../../fonts/glyphicons/glyphicons-halflings-regular.eot);src:url('../../fonts/glyphicons/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url(../../fonts/glyphicons/glyphicons-halflings-regular.woff2) format('woff2'),url(../../fonts/glyphicons/glyphicons-halflings-regular.woff) format('woff'),url(../../fonts/glyphicons/glyphicons-halflings-regular.ttf) format('truetype'),url('../../fonts/glyphicons/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.wpdt-c .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}.wpdt-c .glyphicon-asterisk:before{content:"\002a"}.wpdt-c .glyphicon-plus:before{content:"\002b"}.wpdt-c .glyphicon-euro:before,.wpdt-c .glyphicon-eur:before{content:"\20ac"}.wpdt-c .glyphicon-minus:before{content:"\2212"}.wpdt-c .glyphicon-cloud:before{content:"\2601"}.wpdt-c .glyphicon-envelope:before{content:"\2709"}.wpdt-c .glyphicon-pencil:before{content:"\270f"}.wpdt-c .glyphicon-glass:before{content:"\e001"}.wpdt-c .glyphicon-music:before{content:"\e002"}.wpdt-c .glyphicon-search:before{content:"\e003"}.wpdt-c .glyphicon-heart:before{content:"\e005"}.wpdt-c .glyphicon-star:before{content:"\e006"}.wpdt-c .glyphicon-star-empty:before{content:"\e007"}.wpdt-c .glyphicon-user:before{content:"\e008"}.wpdt-c .glyphicon-film:before{content:"\e009"}.wpdt-c .glyphicon-th-large:before{content:"\e010"}.wpdt-c .glyphicon-th:before{content:"\e011"}.wpdt-c .glyphicon-th-list:before{content:"\e012"}.wpdt-c .glyphicon-ok:before{content:"\e013"}.wpdt-c .glyphicon-remove:before{content:"\e014"}.wpdt-c .glyphicon-zoom-in:before{content:"\e015"}.wpdt-c .glyphicon-zoom-out:before{content:"\e016"}.wpdt-c .glyphicon-off:before{content:"\e017"}.wpdt-c .glyphicon-signal:before{content:"\e018"}.wpdt-c .glyphicon-cog:before{content:"\e019"}.wpdt-c .glyphicon-trash:before{content:"\f273"}.wpdt-c .glyphicon-home:before{content:"\e021"}.wpdt-c .glyphicon-file:before{content:"\e022"}.wpdt-c .glyphicon-time:before{content:"\e023"}.wpdt-c .glyphicon-road:before{content:"\e024"}.wpdt-c .glyphicon-download-alt:before{content:"\e025"}.wpdt-c .glyphicon-download:before{content:"\e026"}.wpdt-c .glyphicon-upload:before{content:"\e027"}.wpdt-c .glyphicon-inbox:before{content:"\e028"}.wpdt-c .glyphicon-play-circle:before{content:"\e029"}.wpdt-c .glyphicon-repeat:before{content:"\e030"}.wpdt-c .glyphicon-refresh:before{content:"\e031"}.wpdt-c .glyphicon-list-alt:before{content:"\e032"}.wpdt-c .glyphicon-lock:before{content:"\e033"}.wpdt-c .glyphicon-flag:before{content:"\e034"}.wpdt-c .glyphicon-headphones:before{content:"\e035"}.wpdt-c .glyphicon-volume-off:before{content:"\e036"}.wpdt-c .glyphicon-volume-down:before{content:"\e037"}.wpdt-c .glyphicon-volume-up:before{content:"\e038"}.wpdt-c .glyphicon-qrcode:before{content:"\e039"}.wpdt-c .glyphicon-barcode:before{content:"\e040"}.wpdt-c .glyphicon-tag:before{content:"\e041"}.wpdt-c .glyphicon-tags:before{content:"\e042"}.wpdt-c .glyphicon-book:before{content:"\e043"}.wpdt-c .glyphicon-bookmark:before{content:"\e044"}.wpdt-c .glyphicon-print:before{content:"\e045"}.wpdt-c .glyphicon-camera:before{content:"\e046"}.wpdt-c .glyphicon-font:before{content:"\e047"}.wpdt-c .glyphicon-bold:before{content:"\e048"}.wpdt-c .glyphicon-italic:before{content:"\e049"}.wpdt-c .glyphicon-text-height:before{content:"\e050"}.wpdt-c .glyphicon-text-width:before{content:"\e051"}.wpdt-c .glyphicon-align-left:before{content:"\e052"}.wpdt-c .glyphicon-align-center:before{content:"\e053"}.wpdt-c .glyphicon-align-right:before{content:"\e054"}.wpdt-c .glyphicon-align-justify:before{content:"\e055"}.wpdt-c .glyphicon-list:before{content:"\e056"}.wpdt-c .glyphicon-indent-left:before{content:"\e057"}.wpdt-c .glyphicon-indent-right:before{content:"\e058"}.wpdt-c .glyphicon-facetime-video:before{content:"\e059"}.wpdt-c .glyphicon-picture:before{content:"\e060"}.wpdt-c .glyphicon-map-marker:before{content:"\e062"}.wpdt-c .glyphicon-adjust:before{content:"\e063"}.wpdt-c .glyphicon-tint:before{content:"\e064"}.wpdt-c .glyphicon-edit:before{content:"\e065"}.wpdt-c .glyphicon-share:before{content:"\e066"}.wpdt-c .glyphicon-check:before{content:"\e067"}.wpdt-c .glyphicon-move:before{content:"\e068"}.wpdt-c .glyphicon-step-backward:before{content:"\e069"}.wpdt-c .glyphicon-fast-backward:before{content:"\e070"}.wpdt-c .glyphicon-backward:before{content:"\e071"}.wpdt-c .glyphicon-play:before{content:"\e072"}.wpdt-c .glyphicon-pause:before{content:"\e073"}.wpdt-c .glyphicon-stop:before{content:"\e074"}.wpdt-c .glyphicon-forward:before{content:"\e075"}.wpdt-c .glyphicon-fast-forward:before{content:"\e076"}.wpdt-c .glyphicon-step-forward:before{content:"\e077"}.wpdt-c .glyphicon-eject:before{content:"\e078"}.wpdt-c .glyphicon-chevron-left:before{content:"\e079"}.wpdt-c .glyphicon-chevron-right:before{content:"\e080"}.wpdt-c .glyphicon-plus-sign:before{content:"\e081"}.wpdt-c .glyphicon-minus-sign:before{content:"\e082"}.wpdt-c .glyphicon-remove-sign:before{content:"\e083"}.wpdt-c .glyphicon-ok-sign:before{content:"\e084"}.wpdt-c .glyphicon-question-sign:before{content:"\e085"}.wpdt-c .glyphicon-info-sign:before{content:"\e086"}.wpdt-c .glyphicon-screenshot:before{content:"\e087"}.wpdt-c .glyphicon-remove-circle:before{content:"\e088"}.wpdt-c .glyphicon-ok-circle:before{content:"\e089"}.wpdt-c .glyphicon-ban-circle:before{content:"\e090"}.wpdt-c .glyphicon-arrow-left:before{content:"\e091"}.wpdt-c .glyphicon-arrow-right:before{content:"\e092"}.wpdt-c .glyphicon-arrow-up:before{content:"\e093"}.wpdt-c .glyphicon-arrow-down:before{content:"\e094"}.wpdt-c .glyphicon-share-alt:before{content:"\e095"}.wpdt-c .glyphicon-resize-full:before{content:"\e096"}.wpdt-c .glyphicon-resize-small:before{content:"\e097"}.wpdt-c .glyphicon-exclamation-sign:before{content:"\e101"}.wpdt-c .glyphicon-gift:before{content:"\e102"}.wpdt-c .glyphicon-leaf:before{content:"\e103"}.wpdt-c .glyphicon-fire:before{content:"\e104"}.wpdt-c .glyphicon-eye-open:before{content:"\e105"}.wpdt-c .glyphicon-eye-close:before{content:"\e106"}.wpdt-c .glyphicon-warning-sign:before{content:"\e107"}.wpdt-c .glyphicon-plane:before{content:"\e108"}.wpdt-c .glyphicon-calendar:before{content:"\e109"}.wpdt-c .glyphicon-random:before{content:"\e110"}.wpdt-c .glyphicon-comment:before{content:"\e111"}.wpdt-c .glyphicon-magnet:before{content:"\e112"}.wpdt-c .glyphicon-chevron-up:before{content:"\e113"}.wpdt-c .glyphicon-chevron-down:before{content:"\e114"}.wpdt-c .glyphicon-retweet:before{content:"\e115"}.wpdt-c .glyphicon-shopping-cart:before{content:"\e116"}.wpdt-c .glyphicon-folder-close:before{content:"\e117"}.wpdt-c .glyphicon-folder-open:before{content:"\e118"}.wpdt-c .glyphicon-resize-vertical:before{content:"\e119"}.wpdt-c .glyphicon-resize-horizontal:before{content:"\e120"}.wpdt-c .glyphicon-hdd:before{content:"\e121"}.wpdt-c .glyphicon-bullhorn:before{content:"\e122"}.wpdt-c .glyphicon-bell:before{content:"\e123"}.wpdt-c .glyphicon-certificate:before{content:"\e124"}.wpdt-c .glyphicon-thumbs-up:before{content:"\e125"}.wpdt-c .glyphicon-thumbs-down:before{content:"\e126"}.wpdt-c .glyphicon-hand-right:before{content:"\e127"}.wpdt-c .glyphicon-hand-left:before{content:"\e128"}.wpdt-c .glyphicon-hand-up:before{content:"\e129"}.wpdt-c .glyphicon-hand-down:before{content:"\e130"}.wpdt-c .glyphicon-circle-arrow-right:before{content:"\e131"}.wpdt-c .glyphicon-circle-arrow-left:before{content:"\e132"}.wpdt-c .glyphicon-circle-arrow-up:before{content:"\e133"}.wpdt-c .glyphicon-circle-arrow-down:before{content:"\e134"}.wpdt-c .glyphicon-globe:before{content:"\e135"}.wpdt-c .glyphicon-wrench:before{content:"\e136"}.wpdt-c .glyphicon-tasks:before{content:"\e137"}.wpdt-c .glyphicon-filter:before{content:"\e138"}.wpdt-c .glyphicon-briefcase:before{content:"\e139"}.wpdt-c .glyphicon-fullscreen:before{content:"\e140"}.wpdt-c .glyphicon-dashboard:before{content:"\e141"}.wpdt-c .glyphicon-paperclip:before{content:"\e142"}.wpdt-c .glyphicon-heart-empty:before{content:"\e143"}.wpdt-c .glyphicon-link:before{content:"\e144"}.wpdt-c .glyphicon-phone:before{content:"\e145"}.wpdt-c .glyphicon-pushpin:before{content:"\e146"}.wpdt-c .glyphicon-usd:before{content:"\e148"}.wpdt-c .glyphicon-gbp:before{content:"\e149"}.wpdt-c .glyphicon-sort:before{content:"\e150"}.wpdt-c .glyphicon-sort-by-alphabet:before{content:"\e151"}.wpdt-c .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.wpdt-c .glyphicon-sort-by-order:before{content:"\e153"}.wpdt-c .glyphicon-sort-by-order-alt:before{content:"\e154"}.wpdt-c .glyphicon-sort-by-attributes:before{content:"\e155"}.wpdt-c .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.wpdt-c .glyphicon-unchecked:before{content:"\e157"}.wpdt-c .glyphicon-expand:before{content:"\e158"}.wpdt-c .glyphicon-collapse-down:before{content:"\e159"}.wpdt-c .glyphicon-collapse-up:before{content:"\e160"}.wpdt-c .glyphicon-log-in:before{content:"\e161"}.wpdt-c .glyphicon-flash:before{content:"\e162"}.wpdt-c .glyphicon-log-out:before{content:"\e163"}.wpdt-c .glyphicon-new-window:before{content:"\e164"}.wpdt-c .glyphicon-record:before{content:"\e165"}.wpdt-c .glyphicon-save:before{content:"\e166"}.wpdt-c .glyphicon-open:before{content:"\e167"}.wpdt-c .glyphicon-saved:before{content:"\e168"}.wpdt-c .glyphicon-import:before{content:"\e169"}.wpdt-c .glyphicon-export:before{content:"\e170"}.wpdt-c .glyphicon-send:before{content:"\e171"}.wpdt-c .glyphicon-floppy-disk:before{content:"\e172"}.wpdt-c .glyphicon-floppy-saved:before{content:"\e173"}.wpdt-c .glyphicon-floppy-remove:before{content:"\e174"}.wpdt-c .glyphicon-floppy-save:before{content:"\e175"}.wpdt-c .glyphicon-floppy-open:before{content:"\e176"}.wpdt-c .glyphicon-credit-card:before{content:"\e177"}.wpdt-c .glyphicon-transfer:before{content:"\e178"}.wpdt-c .glyphicon-cutlery:before{content:"\e179"}.wpdt-c .glyphicon-header:before{content:"\e180"}.wpdt-c .glyphicon-compressed:before{content:"\e181"}.wpdt-c .glyphicon-earphone:before{content:"\e182"}.wpdt-c .glyphicon-phone-alt:before{content:"\e183"}.wpdt-c .glyphicon-tower:before{content:"\e184"}.wpdt-c .glyphicon-stats:before{content:"\e185"}.wpdt-c .glyphicon-sd-video:before{content:"\e186"}.wpdt-c .glyphicon-hd-video:before{content:"\e187"}.wpdt-c .glyphicon-subtitles:before{content:"\e188"}.wpdt-c .glyphicon-sound-stereo:before{content:"\e189"}.wpdt-c .glyphicon-sound-dolby:before{content:"\e190"}.wpdt-c .glyphicon-sound-5-1:before{content:"\e191"}.wpdt-c .glyphicon-sound-6-1:before{content:"\e192"}.wpdt-c .glyphicon-sound-7-1:before{content:"\e193"}.wpdt-c .glyphicon-copyright-mark:before{content:"\e194"}.wpdt-c .glyphicon-registration-mark:before{content:"\e195"}.wpdt-c .glyphicon-cloud-download:before{content:"\e197"}.wpdt-c .glyphicon-cloud-upload:before{content:"\e198"}.wpdt-c .glyphicon-tree-conifer:before{content:"\e199"}.wpdt-c .glyphicon-tree-deciduous:before{content:"\e200"}.wpdt-c .glyphicon-cd:before{content:"\e201"}.wpdt-c .glyphicon-save-file:before{content:"\e202"}.wpdt-c .glyphicon-open-file:before{content:"\e203"}.wpdt-c .glyphicon-level-up:before{content:"\e204"}.wpdt-c .glyphicon-copy:before{content:"\e205"}.wpdt-c .glyphicon-paste:before{content:"\e206"}.wpdt-c .glyphicon-alert:before{content:"\e209"}.wpdt-c .glyphicon-equalizer:before{content:"\e210"}.wpdt-c .glyphicon-king:before{content:"\e211"}.wpdt-c .glyphicon-queen:before{content:"\e212"}.wpdt-c .glyphicon-pawn:before{content:"\e213"}.wpdt-c .glyphicon-bishop:before{content:"\e214"}.wpdt-c .glyphicon-knight:before{content:"\e215"}.wpdt-c .glyphicon-baby-formula:before{content:"\e216"}.wpdt-c .glyphicon-tent:before{content:"\26fa"}.wpdt-c .glyphicon-blackboard:before{content:"\e218"}.wpdt-c .glyphicon-bed:before{content:"\e219"}.wpdt-c .glyphicon-apple:before{content:"\f8ff"}.wpdt-c .glyphicon-erase:before{content:"\e221"}.wpdt-c .glyphicon-hourglass:before{content:"\231b"}.wpdt-c .glyphicon-lamp:before{content:"\e223"}.wpdt-c .glyphicon-duplicate:before{content:"\e224"}.wpdt-c .glyphicon-piggy-bank:before{content:"\e225"}.wpdt-c .glyphicon-scissors:before{content:"\e226"}.wpdt-c .glyphicon-bitcoin:before{content:"\e227"}.wpdt-c .glyphicon-btc:before{content:"\e227"}.wpdt-c .glyphicon-xbt:before{content:"\e227"}.wpdt-c .glyphicon-yen:before{content:"\00a5"}.wpdt-c .glyphicon-jpy:before{content:"\00a5"}.wpdt-c .glyphicon-ruble:before{content:"\20bd"}.wpdt-c .glyphicon-rub:before{content:"\20bd"}.wpdt-c .glyphicon-scale:before{content:"\e230"}.wpdt-c .glyphicon-ice-lolly:before{content:"\e231"}.wpdt-c .glyphicon-ice-lolly-tasted:before{content:"\e232"}.wpdt-c .glyphicon-education:before{content:"\e233"}.wpdt-c .glyphicon-option-horizontal:before{content:"\e234"}.wpdt-c .glyphicon-option-vertical:before{content:"\e235"}.wpdt-c .glyphicon-menu-hamburger:before{content:"\e236"}.wpdt-c .glyphicon-modal-window:before{content:"\e237"}.wpdt-c .glyphicon-oil:before{content:"\e238"}.wpdt-c .glyphicon-grain:before{content:"\e239"}.wpdt-c .glyphicon-sunglasses:before{content:"\e240"}.wpdt-c .glyphicon-text-size:before{content:"\e241"}.wpdt-c .glyphicon-text-color:before{content:"\e242"}.wpdt-c .glyphicon-text-background:before{content:"\e243"}.wpdt-c .glyphicon-object-align-top:before{content:"\e244"}.wpdt-c .glyphicon-object-align-bottom:before{content:"\e245"}.wpdt-c .glyphicon-object-align-horizontal:before{content:"\e246"}.wpdt-c .glyphicon-object-align-left:before{content:"\e247"}.wpdt-c .glyphicon-object-align-vertical:before{content:"\e248"}.wpdt-c .glyphicon-object-align-right:before{content:"\e249"}.wpdt-c .glyphicon-triangle-right:before{content:"\e250"}.wpdt-c .glyphicon-triangle-left:before{content:"\e251"}.wpdt-c .glyphicon-triangle-bottom:before{content:"\e252"}.wpdt-c .glyphicon-triangle-top:before{content:"\e253"}.wpdt-c .glyphicon-console:before{content:"\e254"}.wpdt-c .glyphicon-superscript:before{content:"\e255"}.wpdt-c .glyphicon-subscript:before{content:"\e256"}.wpdt-c .glyphicon-menu-left:before{content:"\e257"}.wpdt-c .glyphicon-menu-right:before{content:"\e258"}.wpdt-c .glyphicon-menu-down:before{content:"\e259"}.wpdt-c .glyphicon-menu-up:before{content:"\e260"}.wpdt-c *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpdt-c *:before,.wpdt-c *:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpdt-c html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.wpdt-c input,.wpdt-c button,.wpdt-c select,.wpdt-c textarea{font-family:inherit;font-size:inherit;line-height:inherit}.wpdt-c a{color:#2196F3;text-decoration:none;box-shadow:none}.wpdt-c a:hover,.wpdt-c a:focus{color:#0a6ebd;text-decoration:none}.wpdt-c figure{margin:0}.wpdt-c img{vertical-align:middle}.wpdt-c .img-responsive,.wpdt-c .thumbnail>img,.wpdt-c .thumbnail a>img,.wpdt-c .carousel-inner>.item>img,.wpdt-c .carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.wpdt-c .img-rounded{border-radius:2px}.wpdt-c .img-thumbnail{padding:3px;line-height:1.42857143;background-color:#fff;border:1px solid #EDEDED;border-radius:2px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.wpdt-c .img-circle{border-radius:50%}.wpdt-c hr{margin-top:18px;margin-bottom:18px;border:0;border-top:1px solid #DFE1E6}.wpdt-c .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.wpdt-c .sr-only-focusable:active,.wpdt-c .sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}.wpdt-c h1,.wpdt-c h2,.wpdt-c h3,.wpdt-c h4,.wpdt-c h5,.wpdt-c h6,.wpdt-c .h1,.wpdt-c .h2,.wpdt-c .h3,.wpdt-c .h4,.wpdt-c .h5,.wpdt-c .h6{font-family:inherit;font-weight:500;line-height:1.1;color:#222}.wpdt-c h1 small,.wpdt-c h2 small,.wpdt-c h3 small,.wpdt-c h4 small,.wpdt-c h5 small,.wpdt-c h6 small,.wpdt-c .h1 small,.wpdt-c .h2 small,.wpdt-c .h3 small,.wpdt-c .h4 small,.wpdt-c .h5 small,.wpdt-c .h6 small,.wpdt-c h1 .small,.wpdt-c h2 .small,.wpdt-c h3 .small,.wpdt-c h4 .small,.wpdt-c h5 .small,.wpdt-c h6 .small,.wpdt-c .h1 .small,.wpdt-c .h2 .small,.wpdt-c .h3 .small,.wpdt-c .h4 .small,.wpdt-c .h5 .small,.wpdt-c .h6 .small{font-weight:400;line-height:1;color:#AEAEAE}.wpdt-c h1,.wpdt-c .h1,.wpdt-c h2,.wpdt-c .h2,.wpdt-c h3,.wpdt-c .h3{margin-top:18px;margin-bottom:9px}.wpdt-c h1 small,.wpdt-c .h1 small,.wpdt-c h2 small,.wpdt-c .h2 small,.wpdt-c h3 small,.wpdt-c .h3 small,.wpdt-c h1 .small,.wpdt-c .h1 .small,.wpdt-c h2 .small,.wpdt-c .h2 .small,.wpdt-c h3 .small,.wpdt-c .h3 .small{font-size:65%}.wpdt-c h4,.wpdt-c .h4,.wpdt-c h5,.wpdt-c .h5,.wpdt-c h6,.wpdt-c .h6{margin-top:9px;margin-bottom:9px}.wpdt-c h4 small,.wpdt-c .h4 small,.wpdt-c h5 small,.wpdt-c .h5 small,.wpdt-c h6 small,.wpdt-c .h6 small,.wpdt-c h4 .small,.wpdt-c .h4 .small,.wpdt-c h5 .small,.wpdt-c .h5 .small,.wpdt-c h6 .small,.wpdt-c .h6 .small{font-size:75%}.wpdt-c h1,.wpdt-c .h1{font-size:33px}.wpdt-c h2,.wpdt-c .h2{font-size:27px}.wpdt-c h3,.wpdt-c .h3{font-size:23px}.wpdt-c h4,.wpdt-c .h4{font-size:13px}.wpdt-c h5,.wpdt-c .h5{font-size:13px}.wpdt-c h6,.wpdt-c .h6{font-size:12px}.wpdt-c p{margin:0 0 9px}.wpdt-c .lead{margin-bottom:18px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.wpdt-c .lead{font-size:19.5px}}.wpdt-c small,.wpdt-c .small{font-size:92%}.wpdt-c mark,.wpdt-c .mark{background-color:#ffa829;padding:.2em}.wpdt-c .text-left{text-align:left}.wpdt-c .text-right{text-align:right}.wpdt-c .text-center{text-align:center}.wpdt-c .text-justify{text-align:justify}.wpdt-c .text-nowrap{white-space:nowrap}.wpdt-c .text-lowercase{text-transform:lowercase}.wpdt-c .text-uppercase{text-transform:uppercase}.wpdt-c .text-capitalize{text-transform:capitalize}.wpdt-c .text-muted{color:#777}.wpdt-c .text-primary{color:#2196F3}.wpdt-c a.text-primary:hover,.wpdt-c a.text-primary:focus{color:#0c7cd5}.wpdt-c .text-success{color:#67bd6a}.wpdt-c a.text-success:hover,.wpdt-c a.text-success:focus{color:#49a84d}.wpdt-c .text-info{color:#31708f}.wpdt-c a.text-info:hover,.wpdt-c a.text-info:focus{color:#245269}.wpdt-c .text-warning{color:#ffa829}.wpdt-c a.text-warning:hover,.wpdt-c a.text-warning:focus{color:#f59200}.wpdt-c .text-danger{color:#f6675d}.wpdt-c a.text-danger:hover,.wpdt-c a.text-danger:focus{color:#f33a2c}.wpdt-c .bg-primary{color:#fff;background-color:#2196F3}.wpdt-c a.bg-primary:hover,.wpdt-c a.bg-primary:focus{background-color:#0c7cd5}.wpdt-c .bg-success{background-color:#67bd6a}.wpdt-c a.bg-success:hover,.wpdt-c a.bg-success:focus{background-color:#49a84d}.wpdt-c .bg-info{background-color:#d9edf7}.wpdt-c a.bg-info:hover,.wpdt-c a.bg-info:focus{background-color:#afd9ee}.wpdt-c .bg-warning{background-color:#ffa829}.wpdt-c a.bg-warning:hover,.wpdt-c a.bg-warning:focus{background-color:#f59200}.wpdt-c .bg-danger{background-color:#f6675d}.wpdt-c a.bg-danger:hover,.wpdt-c a.bg-danger:focus{background-color:#f33a2c}.wpdt-c .page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #eee}.wpdt-c ul,.wpdt-c ol{margin-top:0;margin-bottom:9px}.wpdt-c ul ul,.wpdt-c ol ul,.wpdt-c ul ol,.wpdt-c ol ol{margin-bottom:0}.wpdt-c .list-unstyled{padding-left:0;list-style:none}.wpdt-c .list-inline{padding-left:0;list-style:none;margin-left:-5px}.wpdt-c .list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.wpdt-c dl{margin-top:0;margin-bottom:18px}.wpdt-c dt,.wpdt-c dd{line-height:1.42857143}.wpdt-c dt{font-weight:700}.wpdt-c dd{margin-left:0}@media (min-width:768px){.wpdt-c .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c .dl-horizontal dd{margin-left:180px}}.wpdt-c abbr[title],.wpdt-c abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.wpdt-c .initialism{font-size:90%;text-transform:uppercase}.wpdt-c blockquote{padding:9px 18px;margin:0 0 18px;font-size:16.25px;border-left:5px solid #eee}.wpdt-c blockquote p:last-child,.wpdt-c blockquote ul:last-child,.wpdt-c blockquote ol:last-child{margin-bottom:0}.wpdt-c blockquote footer,.wpdt-c blockquote small,.wpdt-c blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}.wpdt-c blockquote footer:before,.wpdt-c blockquote small:before,.wpdt-c blockquote .small:before{content:'\2014 \00A0'}.wpdt-c .blockquote-reverse,.wpdt-c blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.wpdt-c .blockquote-reverse footer:before,.wpdt-c blockquote.pull-right footer:before,.wpdt-c .blockquote-reverse small:before,.wpdt-c blockquote.pull-right small:before,.wpdt-c .blockquote-reverse .small:before,.wpdt-c blockquote.pull-right .small:before{content:''}.wpdt-c .blockquote-reverse footer:after,.wpdt-c blockquote.pull-right footer:after,.wpdt-c .blockquote-reverse small:after,.wpdt-c blockquote.pull-right small:after,.wpdt-c .blockquote-reverse .small:after,.wpdt-c blockquote.pull-right .small:after{content:'\00A0 \2014'}.wpdt-c address{margin-bottom:18px;font-style:normal;line-height:1.42857143}.wpdt-c code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:2px}.wpdt-c kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}.wpdt-c kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}.wpdt-c pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.wpdt-c .pre-scrollable{max-height:340px;overflow-y:scroll}.wpdt-c .container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.wpdt-c .container{width:100%;max-width:100%}}@media (min-width:992px){.wpdt-c .container{width:100%;max-width:100%}}@media (min-width:1200px){.wpdt-c .container{width:100%;max-width:100%}}.wpdt-c .container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.wpdt-c .row{margin-left:-15px;margin-right:-15px}.wpdt-c .col-sm-0-8,.wpdt-c .col-xs-1,.wpdt-c .col-sm-1,.wpdt-c .col-md-1,.wpdt-c .col-lg-1,.wpdt-c .col-xs-2,.wpdt-c .col-sm-2,.wpdt-c .col-md-2,.wpdt-c .col-lg-2,.wpdt-c .col-sm-0-4,.wpdt-c .col-sm-2-6,.col-sm-5-5,.wpdt-c .col-xs-3,.wpdt-c .col-sm-3,.wpdt-c .col-md-3,.wpdt-c .col-lg-3,.wpdt-c .col-xs-4,.wpdt-c .col-sm-4,.wpdt-c .col-sm-1-0,.wpdt-c .col-sm-2-0,.wpdt-c .col-md-4,.wpdt-c .col-lg-4,.wpdt-c .col-xs-5,.wpdt-c .col-sm-5,.wpdt-c .col-md-5,.wpdt-c .col-lg-5,.wpdt-c .col-xs-6,.wpdt-c .col-sm-6,.wpdt-c .col-md-6,.wpdt-c .col-lg-6,.wpdt-c .col-xs-7,.wpdt-c .col-sm-7,.wpdt-c .col-md-7,.wpdt-c .col-lg-7,.wpdt-c .col-xs-8,.wpdt-c .col-sm-8,.wpdt-c .col-md-8,.wpdt-c .col-lg-8,.wpdt-c .col-xs-9,.wpdt-c .col-sm-9,.wpdt-c .col-md-9,.wpdt-c .col-lg-9,.wpdt-c .col-xs-10,.wpdt-c .col-sm-10,.wpdt-c .col-md-10,.wpdt-c .col-lg-10,.wpdt-c .col-xs-11,.wpdt-c .col-sm-11,.wpdt-c .col-md-11,.wpdt-c .col-lg-11,.wpdt-c .col-xs-12,.wpdt-c .col-sm-12,.wpdt-c .col-md-12,.wpdt-c .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.wpdt-c .col-xs-1,.wpdt-c .col-xs-2,.wpdt-c .col-xs-3,.wpdt-c .col-xs-4,.wpdt-c .col-xs-5,.wpdt-c .col-xs-6,.wpdt-c .col-xs-7,.wpdt-c .col-xs-8,.wpdt-c .col-xs-9,.wpdt-c .col-xs-10,.wpdt-c .col-xs-11,.wpdt-c .col-xs-12{float:left}.wpdt-c .col-xs-12{width:100%}.wpdt-c .col-xs-11{width:91.66666667%}.wpdt-c .col-xs-10{width:83.33333333%}.wpdt-c .col-xs-9{width:75%}.wpdt-c .col-xs-8{width:66.66666667%}.wpdt-c .col-xs-7{width:58.33333333%}.wpdt-c .col-xs-6{width:50%}.wpdt-c .col-xs-5{width:41.66666667%}.wpdt-c .col-xs-4{width:33.33333333%}.wpdt-c .col-xs-3{width:25%}.wpdt-c .col-xs-2{width:16.66666667%}.wpdt-c .col-xs-1{width:8.33333333%}.wpdt-c .col-xs-pull-12{right:100%}.wpdt-c .col-xs-pull-11{right:91.66666667%}.wpdt-c .col-xs-pull-10{right:83.33333333%}.wpdt-c .col-xs-pull-9{right:75%}.wpdt-c .col-xs-pull-8{right:66.66666667%}.wpdt-c .col-xs-pull-7{right:58.33333333%}.wpdt-c .col-xs-pull-6{right:50%}.wpdt-c .col-xs-pull-5{right:41.66666667%}.wpdt-c .col-xs-pull-4{right:33.33333333%}.wpdt-c .col-xs-pull-3{right:25%}.wpdt-c .col-xs-pull-2{right:16.66666667%}.wpdt-c .col-xs-pull-1{right:8.33333333%}.wpdt-c .col-xs-pull-0{right:auto}.wpdt-c .col-xs-push-12{left:100%}.wpdt-c .col-xs-push-11{left:91.66666667%}.wpdt-c .col-xs-push-10{left:83.33333333%}.wpdt-c .col-xs-push-9{left:75%}.wpdt-c .col-xs-push-8{left:66.66666667%}.wpdt-c .col-xs-push-7{left:58.33333333%}.wpdt-c .col-xs-push-6{left:50%}.wpdt-c .col-xs-push-5{left:41.66666667%}.wpdt-c .col-xs-push-4{left:33.33333333%}.wpdt-c .col-xs-push-3{left:25%}.wpdt-c .col-xs-push-2{left:16.66666667%}.wpdt-c .col-xs-push-1{left:8.33333333%}.wpdt-c .col-xs-push-0{left:auto}.wpdt-c .col-xs-offset-12{margin-left:100%}.wpdt-c .col-xs-offset-11{margin-left:91.66666667%}.wpdt-c .col-xs-offset-10{margin-left:83.33333333%}.wpdt-c .col-xs-offset-9{margin-left:75%}.wpdt-c .col-xs-offset-8{margin-left:66.66666667%}.wpdt-c .col-xs-offset-7{margin-left:58.33333333%}.wpdt-c .col-xs-offset-6{margin-left:50%}.wpdt-c .col-xs-offset-5{margin-left:41.66666667%}.wpdt-c .col-xs-offset-4{margin-left:33.33333333%}.wpdt-c .col-xs-offset-3{margin-left:25%}.wpdt-c .col-xs-offset-2{margin-left:16.66666667%}.wpdt-c .col-xs-offset-1{margin-left:8.33333333%}.wpdt-c .col-xs-offset-0{margin-left:0%}.wpdt-c .opacity-50{opacity:50%}@media (min-width:768px){.wpdt-c .col-sm-0-8,.wpdt-c .col-sm-0-1,.wpdt-c .col-sm-1,.wpdt-c .col-sm-2,.wpdt-c .col-sm-2-6,.wpdt-c .col-sm-3,.wpdt-c .col-sm-4,.wpdt-c .col-sm-5,.wpdt-c .col-sm-5-5,.wpdt-c .col-sm-0-4,.wpdt-c .col-sm-1-0,.wpdt-c .col-sm-2-0,.wpdt-c .col-sm-6,.wpdt-c .col-sm-7,.wpdt-c .col-sm-8,.wpdt-c .col-sm-9,.wpdt-c .col-sm-10,.wpdt-c .col-sm-11,.wpdt-c .col-sm-12{float:left}.wpdt-c .col-sm-12{width:100%}.wpdt-c .col-sm-11{width:91.66666667%}.wpdt-c .col-sm-10{width:83.33333333%}.wpdt-c .col-sm-9{width:75%}.wpdt-c .col-sm-8{width:66.66666667%}.wpdt-c .col-sm-7{width:58.33333333%}.wpdt-c .col-sm-6{width:50%}.wpdt-c .col-sm-5-5{width:48%}.wpdt-c .col-sm-5{width:41.66666667%}.wpdt-c .col-sm-4{width:33.33333333%}.wpdt-c .col-sm-0-4{width:4%}.wpdt-c .col-sm-2-0{width:22.66666667%}.wpdt-c .col-sm-1-0{width:5.33333333%}.wpdt-c .wdt-addons .col-sm-3{margin-bottom:18px}.wpdt-c .col-sm-3{width:25%}.wpdt-c .col-sm-2-6{width:23.5%}.wpdt-c .col-sm-2{width:16.66666667%}.wpdt-c .col-sm-1{width:8.33333333%}.wpdt-c .col-sm-0-8{width:3%}.wpdt-c .col-sm-pull-12{right:100%}.wpdt-c .col-sm-pull-11{right:91.66666667%}.wpdt-c .col-sm-pull-10{right:83.33333333%}.wpdt-c .col-sm-pull-9{right:75%}.wpdt-c .col-sm-pull-8{right:66.66666667%}.wpdt-c .col-sm-pull-7{right:58.33333333%}.wpdt-c .col-sm-pull-6{right:50%}.wpdt-c .col-sm-pull-5{right:41.66666667%}.wpdt-c .col-sm-pull-4{right:33.33333333%}.wpdt-c .col-sm-pull-3{right:25%}.wpdt-c .col-sm-pull-2{right:16.66666667%}.wpdt-c .col-sm-pull-1{right:8.33333333%}.wpdt-c .col-sm-pull-0{right:auto}.wpdt-c .col-sm-push-12{left:100%}.wpdt-c .col-sm-push-11{left:91.66666667%}.wpdt-c .col-sm-push-10{left:83.33333333%}.wpdt-c .col-sm-push-9{left:75%}.wpdt-c .col-sm-push-8{left:66.66666667%}.wpdt-c .col-sm-push-7{left:58.33333333%}.wpdt-c .col-sm-push-6{left:50%}.wpdt-c .col-sm-push-5{left:41.66666667%}.wpdt-c .col-sm-push-4{left:33.33333333%}.wpdt-c .col-sm-push-3{left:25%}.wpdt-c .col-sm-push-2{left:16.66666667%}.wpdt-c .col-sm-push-1{left:8.33333333%}.wpdt-c .col-sm-push-0{left:auto}.wpdt-c .col-sm-offset-12{margin-left:100%}.wpdt-c .col-sm-offset-11{margin-left:91.66666667%}.wpdt-c .col-sm-offset-10{margin-left:83.33333333%}.wpdt-c .col-sm-offset-9{margin-left:75%}.wpdt-c .col-sm-offset-8{margin-left:66.66666667%}.wpdt-c .col-sm-offset-7{margin-left:58.33333333%}.wpdt-c .col-sm-offset-6{margin-left:50%}.wpdt-c .col-sm-offset-5{margin-left:41.66666667%}.wpdt-c .col-sm-offset-4{margin-left:33.33333333%}.wpdt-c .col-sm-offset-3{margin-left:25%}.wpdt-c .col-sm-offset-2{margin-left:16.66666667%}.wpdt-c .col-sm-offset-1{margin-left:8.33333333%}.wpdt-c .col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.wpdt-c .col-md-1,.wpdt-c .col-md-2,.wpdt-c .col-md-3,.wpdt-c .col-md-4,.wpdt-c .col-md-5,.wpdt-c .col-md-6,.wpdt-c .col-md-7,.wpdt-c .col-md-8,.wpdt-c .col-md-9,.wpdt-c .col-md-10,.wpdt-c .col-md-11,.wpdt-c .col-md-12{float:left}.wpdt-c .col-md-12{width:100%}.wpdt-c .col-md-11{width:91.66666667%}.wpdt-c .col-md-10{width:83.33333333%}.wpdt-c .col-md-9{width:75%}.wpdt-c .col-md-8{width:66.66666667%}.wpdt-c .col-md-7{width:58.33333333%}.wpdt-c .col-md-6{width:50%}.wpdt-c .col-md-5{width:41.66666667%}.wpdt-c .col-md-4{width:33.33333333%}.wpdt-c .col-md-3{width:25%}.wpdt-c .col-md-2{width:16.66666667%}.wpdt-c .col-md-1{width:8.33333333%}.wpdt-c .col-md-pull-12{right:100%}.wpdt-c .col-md-pull-11{right:91.66666667%}.wpdt-c .col-md-pull-10{right:83.33333333%}.wpdt-c .col-md-pull-9{right:75%}.wpdt-c .col-md-pull-8{right:66.66666667%}.wpdt-c .col-md-pull-7{right:58.33333333%}.wpdt-c .col-md-pull-6{right:50%}.wpdt-c .col-md-pull-5{right:41.66666667%}.wpdt-c .col-md-pull-4{right:33.33333333%}.wpdt-c .col-md-pull-3{right:25%}.wpdt-c .col-md-pull-2{right:16.66666667%}.wpdt-c .col-md-pull-1{right:8.33333333%}.wpdt-c .col-md-pull-0{right:auto}.wpdt-c .col-md-push-12{left:100%}.wpdt-c .col-md-push-11{left:91.66666667%}.wpdt-c .col-md-push-10{left:83.33333333%}.wpdt-c .col-md-push-9{left:75%}.wpdt-c .col-md-push-8{left:66.66666667%}.wpdt-c .col-md-push-7{left:58.33333333%}.wpdt-c .col-md-push-6{left:50%}.wpdt-c .col-md-push-5{left:41.66666667%}.wpdt-c .col-md-push-4{left:33.33333333%}.wpdt-c .col-md-push-3{left:25%}.wpdt-c .col-md-push-2{left:16.66666667%}.wpdt-c .col-md-push-1{left:8.33333333%}.wpdt-c .col-md-push-0{left:auto}.wpdt-c .col-md-offset-12{margin-left:100%}.wpdt-c .col-md-offset-11{margin-left:91.66666667%}.wpdt-c .col-md-offset-10{margin-left:83.33333333%}.wpdt-c .col-md-offset-9{margin-left:75%}.wpdt-c .col-md-offset-8{margin-left:66.66666667%}.wpdt-c .col-md-offset-7{margin-left:58.33333333%}.wpdt-c .col-md-offset-6{margin-left:50%}.wpdt-c .col-md-offset-5{margin-left:41.66666667%}.wpdt-c .col-md-offset-4{margin-left:33.33333333%}.wpdt-c .col-md-offset-3{margin-left:25%}.wpdt-c .col-md-offset-2{margin-left:16.66666667%}.wpdt-c .col-md-offset-1{margin-left:8.33333333%}.wpdt-c .col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.wpdt-c .col-lg-1,.wpdt-c .col-lg-2,.wpdt-c .col-lg-3,.wpdt-c .col-lg-4,.wpdt-c .col-lg-5,.wpdt-c .col-lg-6,.wpdt-c .col-lg-7,.wpdt-c .col-lg-8,.wpdt-c .col-lg-9,.wpdt-c .col-lg-10,.wpdt-c .col-lg-11,.wpdt-c .col-lg-12{float:left}.wpdt-c .col-lg-12{width:100%}.wpdt-c .col-lg-11{width:91.66666667%}.wpdt-c .col-lg-10{width:83.33333333%}.wpdt-c .col-lg-9{width:75%}.wpdt-c .col-lg-8{width:66.66666667%}.wpdt-c .col-lg-7{width:58.33333333%}.wpdt-c .col-lg-6{width:50%}.wpdt-c .col-lg-5{width:41.66666667%}.wpdt-c .col-lg-4{width:33.33333333%}.wpdt-c .col-lg-3{width:25%}.wpdt-c .col-lg-2{width:16.66666667%}.wpdt-c .col-lg-1{width:8.33333333%}.wpdt-c .col-lg-pull-12{right:100%}.wpdt-c .col-lg-pull-11{right:91.66666667%}.wpdt-c .col-lg-pull-10{right:83.33333333%}.wpdt-c .col-lg-pull-9{right:75%}.wpdt-c .col-lg-pull-8{right:66.66666667%}.wpdt-c .col-lg-pull-7{right:58.33333333%}.wpdt-c .col-lg-pull-6{right:50%}.wpdt-c .col-lg-pull-5{right:41.66666667%}.wpdt-c .col-lg-pull-4{right:33.33333333%}.wpdt-c .col-lg-pull-3{right:25%}.wpdt-c .col-lg-pull-2{right:16.66666667%}.wpdt-c .col-lg-pull-1{right:8.33333333%}.wpdt-c .col-lg-pull-0{right:auto}.wpdt-c .col-lg-push-12{left:100%}.wpdt-c .col-lg-push-11{left:91.66666667%}.wpdt-c .col-lg-push-10{left:83.33333333%}.wpdt-c .col-lg-push-9{left:75%}.wpdt-c .col-lg-push-8{left:66.66666667%}.wpdt-c .col-lg-push-7{left:58.33333333%}.wpdt-c .col-lg-push-6{left:50%}.wpdt-c .col-lg-push-5{left:41.66666667%}.wpdt-c .col-lg-push-4{left:33.33333333%}.wpdt-c .col-lg-push-3{left:25%}.wpdt-c .col-lg-push-2{left:16.66666667%}.wpdt-c .col-lg-push-1{left:8.33333333%}.wpdt-c .col-lg-push-0{left:auto}.wpdt-c .col-lg-offset-12{margin-left:100%}.wpdt-c .col-lg-offset-11{margin-left:91.66666667%}.wpdt-c .col-lg-offset-10{margin-left:83.33333333%}.wpdt-c .col-lg-offset-9{margin-left:75%}.wpdt-c .col-lg-offset-8{margin-left:66.66666667%}.wpdt-c .col-lg-offset-7{margin-left:58.33333333%}.wpdt-c .col-lg-offset-6{margin-left:50%}.wpdt-c .col-lg-offset-5{margin-left:41.66666667%}.wpdt-c .col-lg-offset-4{margin-left:33.33333333%}.wpdt-c .col-lg-offset-3{margin-left:25%}.wpdt-c .col-lg-offset-2{margin-left:16.66666667%}.wpdt-c .col-lg-offset-1{margin-left:8.33333333%}.wpdt-c .col-lg-offset-0{margin-left:0%}}.wpdt-c table{background-color:transparent}.wpdt-c caption{padding-top:15px;padding-bottom:15px;color:#777;text-align:left}.wpdt-c th{text-align:left}.wpdt-c .table{width:100%;max-width:100%;margin-bottom:18px}.wpdt-c .table>thead>tr>th,.wpdt-c .table>tbody>tr>th,.wpdt-c .table>tfoot>tr>th,.wpdt-c .table>thead>tr>td,.wpdt-c .table>tbody>tr>td,.wpdt-c .table>tfoot>tr>td{padding:15px;line-height:1.42857143;vertical-align:top;border-top:1px solid #F5F5F5}.wpdt-c .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #F5F5F5}.wpdt-c .table>caption+thead>tr:first-child>th,.wpdt-c .table>colgroup+thead>tr:first-child>th,.wpdt-c .table>thead:first-child>tr:first-child>th,.wpdt-c .table>caption+thead>tr:first-child>td,.wpdt-c .table>colgroup+thead>tr:first-child>td,.wpdt-c .table>thead:first-child>tr:first-child>td{border-top:0}.wpdt-c .table>tbody+tbody{border-top:2px solid #F5F5F5}.wpdt-c .table .table{background-color:#edecec}.wpdt-c .table-condensed>thead>tr>th,.wpdt-c .table-condensed>tbody>tr>th,.wpdt-c .table-condensed>tfoot>tr>th,.wpdt-c .table-condensed>thead>tr>td,.wpdt-c .table-condensed>tbody>tr>td,.wpdt-c .table-condensed>tfoot>tr>td{padding:10px}.wpdt-c .table-bordered{border:1px solid #F5F5F5}.wpdt-c .table-bordered>thead>tr>th,.wpdt-c .table-bordered>tbody>tr>th,.wpdt-c .table-bordered>tfoot>tr>th,.wpdt-c .table-bordered>thead>tr>td,.wpdt-c .table-bordered>tbody>tr>td,.wpdt-c .table-bordered>tfoot>tr>td{border:1px solid #F5F5F5}.wpdt-c .table-bordered>thead>tr>th,.wpdt-c .table-bordered>thead>tr>td{border-bottom-width:2px}.wpdt-c .table-striped>tbody>tr:nth-of-type(odd){background-color:#f4f4f4}.wpdt-c .table-hover>tbody>tr:hover{background-color:#f4f4f4}.wpdt-c table col[class*="col-"]{position:static;float:none;display:table-column}.wpdt-c table td[class*="col-"],.wpdt-c table th[class*="col-"]{position:static;float:none;display:table-cell}.wpdt-c .table>thead>tr>td.active,.wpdt-c .table>tbody>tr>td.active,.wpdt-c .table>tfoot>tr>td.active,.wpdt-c .table>thead>tr>th.active,.wpdt-c .table>tbody>tr>th.active,.wpdt-c .table>tfoot>tr>th.active,.wpdt-c .table>thead>tr.active>td,.wpdt-c .table>tbody>tr.active>td,.wpdt-c .table>tfoot>tr.active>td,.wpdt-c .table>thead>tr.active>th,.wpdt-c .table>tbody>tr.active>th,.wpdt-c .table>tfoot>tr.active>th{background-color:#FFFCBE}.wpdt-c .table-hover>tbody>tr>td.active:hover,.wpdt-c .table-hover>tbody>tr>th.active:hover,.wpdt-c .table-hover>tbody>tr.active:hover>td,.wpdt-c .table-hover>tbody>tr:hover>.active,.wpdt-c .table-hover>tbody>tr.active:hover>th{background-color:#fffba4}.wpdt-c .table>thead>tr>td.success,.wpdt-c .table>tbody>tr>td.success,.wpdt-c .table>tfoot>tr>td.success,.wpdt-c .table>thead>tr>th.success,.wpdt-c .table>tbody>tr>th.success,.wpdt-c .table>tfoot>tr>th.success,.wpdt-c .table>thead>tr.success>td,.wpdt-c .table>tbody>tr.success>td,.wpdt-c .table>tfoot>tr.success>td,.wpdt-c .table>thead>tr.success>th,.wpdt-c .table>tbody>tr.success>th,.wpdt-c .table>tfoot>tr.success>th{background-color:#67bd6a}.wpdt-c .table-hover>tbody>tr>td.success:hover,.wpdt-c .table-hover>tbody>tr>th.success:hover,.wpdt-c .table-hover>tbody>tr.success:hover>td,.wpdt-c .table-hover>tbody>tr:hover>.success,.wpdt-c .table-hover>tbody>tr.success:hover>th{background-color:#55b559}.wpdt-c .table>thead>tr>td.info,.wpdt-c .table>tbody>tr>td.info,.wpdt-c .table>tfoot>tr>td.info,.wpdt-c .table>thead>tr>th.info,.wpdt-c .table>tbody>tr>th.info,.wpdt-c .table>tfoot>tr>th.info,.wpdt-c .table>thead>tr.info>td,.wpdt-c .table>tbody>tr.info>td,.wpdt-c .table>tfoot>tr.info>td,.wpdt-c .table>thead>tr.info>th,.wpdt-c .table>tbody>tr.info>th,.wpdt-c .table>tfoot>tr.info>th{background-color:#d9edf7}.wpdt-c .table-hover>tbody>tr>td.info:hover,.wpdt-c .table-hover>tbody>tr>th.info:hover,.wpdt-c .table-hover>tbody>tr.info:hover>td,.wpdt-c .table-hover>tbody>tr:hover>.info,.wpdt-c .table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.wpdt-c .table>thead>tr>td.warning,.wpdt-c .table>tbody>tr>td.warning,.wpdt-c .table>tfoot>tr>td.warning,.wpdt-c .table>thead>tr>th.warning,.wpdt-c .table>tbody>tr>th.warning,.wpdt-c .table>tfoot>tr>th.warning,.wpdt-c .table>thead>tr.warning>td,.wpdt-c .table>tbody>tr.warning>td,.wpdt-c .table>tfoot>tr.warning>td,.wpdt-c .table>thead>tr.warning>th,.wpdt-c .table>tbody>tr.warning>th,.wpdt-c .table>tfoot>tr.warning>th{background-color:#ffa829}.wpdt-c .table-hover>tbody>tr>td.warning:hover,.wpdt-c .table-hover>tbody>tr>th.warning:hover,.wpdt-c .table-hover>tbody>tr.warning:hover>td,.wpdt-c .table-hover>tbody>tr:hover>.warning,.wpdt-c .table-hover>tbody>tr.warning:hover>th{background-color:#ff9e0f}.wpdt-c .table>thead>tr>td.danger,.wpdt-c .table>tbody>tr>td.danger,.wpdt-c .table>tfoot>tr>td.danger,.wpdt-c .table>thead>tr>th.danger,.wpdt-c .table>tbody>tr>th.danger,.wpdt-c .table>tfoot>tr>th.danger,.wpdt-c .table>thead>tr.danger>td,.wpdt-c .table>tbody>tr.danger>td,.wpdt-c .table>tfoot>tr.danger>td,.wpdt-c .table>thead>tr.danger>th,.wpdt-c .table>tbody>tr.danger>th,.wpdt-c .table>tfoot>tr.danger>th{background-color:#f6675d}.wpdt-c .table-hover>tbody>tr>td.danger:hover,.wpdt-c .table-hover>tbody>tr>th.danger:hover,.wpdt-c .table-hover>tbody>tr.danger:hover>td,.wpdt-c .table-hover>tbody>tr:hover>.danger,.wpdt-c .table-hover>tbody>tr.danger:hover>th{background-color:#f55145}.wpdt-c .table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.wpdt-c .table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #F5F5F5}.wpdt-c .table-responsive>.table{margin-bottom:0}.wpdt-c .table-responsive>.table>thead>tr>th,.wpdt-c .table-responsive>.table>tbody>tr>th,.wpdt-c .table-responsive>.table>tfoot>tr>th,.wpdt-c .table-responsive>.table>thead>tr>td,.wpdt-c .table-responsive>.table>tbody>tr>td,.wpdt-c .table-responsive>.table>tfoot>tr>td{white-space:nowrap}.wpdt-c .table-responsive>.table-bordered{border:0}.wpdt-c .table-responsive>.table-bordered>thead>tr>th:first-child,.wpdt-c .table-responsive>.table-bordered>tbody>tr>th:first-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>th:first-child,.wpdt-c .table-responsive>.table-bordered>thead>tr>td:first-child,.wpdt-c .table-responsive>.table-bordered>tbody>tr>td:first-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.wpdt-c .table-responsive>.table-bordered>thead>tr>th:last-child,.wpdt-c .table-responsive>.table-bordered>tbody>tr>th:last-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>th:last-child,.wpdt-c .table-responsive>.table-bordered>thead>tr>td:last-child,.wpdt-c .table-responsive>.table-bordered>tbody>tr>td:last-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.wpdt-c .table-responsive>.table-bordered>tbody>tr:last-child>th,.wpdt-c .table-responsive>.table-bordered>tfoot>tr:last-child>th,.wpdt-c .table-responsive>.table-bordered>tbody>tr:last-child>td,.wpdt-c .table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}.wpdt-c fieldset{padding:0;margin:0;border:0;min-width:0}.wpdt-c legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:19.5px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}.wpdt-c label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}.wpdt-c label.disabled{cursor:not-allowed;color:#eeeeee!important}.wpdt-c input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpdt-c input[type="radio"],.wpdt-c input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.wpdt-c input[type="file"]{display:block}.wpdt-c input[type="range"]{display:block;width:100%}.wpdt-c select[multiple],.wpdt-c select[size]{height:auto}.wpdt-c input[type="file"]:focus,.wpdt-c input[type="radio"]:focus,.wpdt-c input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline:none!important}.wpdt-c output{display:block;padding-top:7px;font-size:13px;line-height:1.42857143;color:#000}.wpdt-c .form-control{display:block;width:100%;height:30px;padding:6px 12px;font-size:13px;line-height:1.42857143;color:#000;background-color:transparent;background-image:none;border:1px solid #c4c5c6;border-radius:0;-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,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}.wpdt-c .form-control:focus{color:#000;border-color:#b4b4b4;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(180,180,180,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(180,180,180,.6)}.wpdt-c .form-control::-moz-placeholder{color:#999;opacity:1}.wpdt-c .form-control:-ms-input-placeholder{color:#999}.wpdt-c .form-control::-webkit-input-placeholder{color:#999}.wpdt-c .form-control::-ms-expand{border:0;background-color:transparent}.wpdt-c .form-control[disabled],.wpdt-c .form-control[readonly],.wpdt-c fieldset[disabled] .form-control{background-color:#eeeeee!important;opacity:1}.wpdt-c .form-control[disabled],.wpdt-c fieldset[disabled] .form-control{cursor:not-allowed}.wpdt-c textarea.form-control{height:auto}.wpdt-c input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){.wpdt-c input[type="date"].form-control,.wpdt-c input[type="time"].form-control,.wpdt-c input[type="datetime-local"].form-control,.wpdt-c input[type="month"].form-control{line-height:35px}.wpdt-c input[type="date"].input-sm,.wpdt-c input[type="time"].input-sm,.wpdt-c input[type="datetime-local"].input-sm,.wpdt-c input[type="month"].input-sm,.wpdt-c .input-group-sm input[type="date"],.wpdt-c .input-group-sm input[type="time"],.wpdt-c .input-group-sm input[type="datetime-local"],.wpdt-c .input-group-sm input[type="month"]{line-height:30px}.wpdt-c input[type="date"].input-lg,.wpdt-c input[type="time"].input-lg,.wpdt-c input[type="datetime-local"].input-lg,.wpdt-c input[type="month"].input-lg,.wpdt-c .input-group-lg input[type="date"],.wpdt-c .input-group-lg input[type="time"],.wpdt-c .input-group-lg input[type="datetime-local"],.wpdt-c .input-group-lg input[type="month"]{line-height:40px}}.wpdt-c .radio,.wpdt-c .checkbox{position:relative;display:block;float:left;width:33%;margin-bottom:5px}.wpdt-c .radio label,.wpdt-c .checkbox label{min-height:18px;padding-left:20px;margin-bottom:5px;font-weight:400;cursor:pointer}.wpdt-c .radio input[type="radio"],.wpdt-c .radio-inline input[type="radio"],.wpdt-c .checkbox input[type="checkbox"],.wpdt-c .checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px}.wpdt-c .radio-inline,.wpdt-c .checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.wpdt-c .radio-inline+.radio-inline,.wpdt-c .checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.wpdt-c input[type="radio"][disabled],.wpdt-c input[type="checkbox"][disabled],.wpdt-c input[type="radio"].disabled,.wpdt-c input[type="checkbox"].disabled,.wpdt-c fieldset[disabled] input[type="radio"],.wpdt-c fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.wpdt-c input[type="checkbox"][hidden]{opacity:0}.wpdt-c .radio-inline.disabled,.wpdt-c .checkbox-inline.disabled,.wpdt-c fieldset[disabled] .radio-inline,.wpdt-c fieldset[disabled] .checkbox-inline{cursor:not-allowed}.wpdt-c .radio.disabled label,.wpdt-c .checkbox.disabled label,.wpdt-c fieldset[disabled] .radio label,.wpdt-c fieldset[disabled] .checkbox label{cursor:not-allowed}.wpdt-c .form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:31px}.wpdt-c .form-control-static.input-lg,.wpdt-c .form-control-static.input-sm{padding-left:0;padding-right:0}.wpdt-c .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c select.input-sm{height:30px;line-height:30px}.wpdt-c textarea.input-sm,.wpdt-c select[multiple].input-sm{height:auto}.wpdt-c .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c .form-group-sm select.form-control{height:30px;line-height:30px}.wpdt-c .form-group-sm textarea.form-control,.wpdt-c .form-group-sm select[multiple].form-control{height:auto}.wpdt-c .form-group-sm .form-control-static{height:30px;min-height:30px;padding:6px 10px;font-size:12px;line-height:1.5}.wpdt-c .input-lg{height:40px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:0}.wpdt-c select.input-lg{height:40px;line-height:40px}.wpdt-c textarea.input-lg,.wpdt-c select[multiple].input-lg{height:auto}.wpdt-c .form-group-lg .form-control{height:40px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:0}.wpdt-c .form-group-lg select.form-control{height:40px;line-height:40px}.wpdt-c .form-group-lg textarea.form-control,.wpdt-c .form-group-lg select[multiple].form-control{height:auto}.wpdt-c .form-group-lg .form-control-static{height:40px;min-height:35px;padding:11px 16px;font-size:17px;line-height:1.3333333}.wpdt-c .has-feedback{position:relative}.wpdt-c .has-feedback .form-control{padding-right:43.75px}.wpdt-c .form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:35px;height:35px;line-height:35px;text-align:center;pointer-events:none}.wpdt-c .input-lg+.form-control-feedback,.wpdt-c .input-group-lg+.form-control-feedback,.wpdt-c .form-group-lg .form-control+.form-control-feedback{width:40px;height:40px;line-height:40px}.wpdt-c .input-sm+.form-control-feedback,.wpdt-c .input-group-sm+.form-control-feedback,.wpdt-c .form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.wpdt-c .has-success .help-block,.wpdt-c .has-success .control-label,.wpdt-c .has-success .radio,.wpdt-c .has-success .checkbox,.wpdt-c .has-success .radio-inline,.wpdt-c .has-success .checkbox-inline,.wpdt-c .has-success.radio label,.wpdt-c .has-success.checkbox label,.wpdt-c .has-success.radio-inline label,.wpdt-c .has-success.checkbox-inline label{color:#67bd6a}.wpdt-c .has-success .form-control{border-color:#67bd6a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.wpdt-c .has-success .form-control:focus{border-color:#49a84d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #aedcb0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #aedcb0}.wpdt-c .has-success .input-group-addon{color:#67bd6a;border-color:#67bd6a;background-color:#67bd6a}.wpdt-c .has-success .form-control-feedback{color:#67bd6a}.wpdt-c .has-warning .help-block,.wpdt-c .has-warning .control-label,.wpdt-c .has-warning .radio,.wpdt-c .has-warning .checkbox,.wpdt-c .has-warning .radio-inline,.wpdt-c .has-warning .checkbox-inline,.wpdt-c .has-warning.radio label,.wpdt-c .has-warning.checkbox label,.wpdt-c .has-warning.radio-inline label,.wpdt-c .has-warning.checkbox-inline label{color:#ffa829}.wpdt-c .has-warning .form-control{border-color:#ffa829;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.wpdt-c .has-warning .form-control:focus{border-color:#f59200;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd28f;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd28f}.wpdt-c .has-warning .input-group-addon{color:#ffa829;border-color:#ffa829;background-color:#ffa829}.wpdt-c .has-warning .form-control-feedback{color:#ffa829}.wpdt-c .has-error .help-block,.wpdt-c .has-error .control-label,.wpdt-c .has-error .radio,.wpdt-c .has-error .checkbox,.wpdt-c .has-error .radio-inline,.wpdt-c .has-error .checkbox-inline,.wpdt-c .has-error.radio label,.wpdt-c .has-error.checkbox label,.wpdt-c .has-error.radio-inline label,.wpdt-c .has-error.checkbox-inline label{color:#f6675d}.wpdt-c .has-error .form-control{border-color:#f6675d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.wpdt-c .has-error .form-control:focus{border-color:#f33a2c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fbc2bd;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fbc2bd}.wpdt-c .has-error .input-group-addon{color:#f6675d;border-color:#f6675d;background-color:#f6675d}.wpdt-c .has-error .form-control-feedback{color:#f6675d}.wpdt-c .has-feedback label~.form-control-feedback{top:23px}.wpdt-c .has-feedback label.sr-only~.form-control-feedback{top:0}.wpdt-c .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#9e9e9e}@media (min-width:768px){.wpdt-c .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.wpdt-c .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.wpdt-c .form-inline .form-control-static{display:inline-block}.wpdt-c .form-inline .input-group{display:inline-table;vertical-align:middle}.wpdt-c .form-inline .input-group .input-group-addon,.wpdt-c .form-inline .input-group .input-group-btn,.wpdt-c .form-inline .input-group .form-control{width:auto}.wpdt-c .form-inline .input-group>.form-control{width:100%}.wpdt-c .form-inline .control-label{margin-bottom:0;vertical-align:middle}.wpdt-c .form-inline .radio,.wpdt-c .form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.wpdt-c .form-inline .radio label,.wpdt-c .form-inline .checkbox label{padding-left:0}.wpdt-c .form-inline .radio input[type="radio"],.wpdt-c .form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.wpdt-c .form-inline .has-feedback .form-control-feedback{top:0}}.wpdt-c .form-horizontal .radio,.wpdt-c .form-horizontal .checkbox,.wpdt-c .form-horizontal .radio-inline,.wpdt-c .form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.wpdt-c .form-horizontal .radio,.wpdt-c .form-horizontal .checkbox{min-height:25px}.wpdt-c .form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.wpdt-c .form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.wpdt-c .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.wpdt-c .form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:17px}}@media (min-width:768px){.wpdt-c .form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.wpdt-c .btn,.wpdt-c .wpDataTablesWrapper .btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:none;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:2px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpdt-c .btn:focus,.wpdt-c .btn:active:focus,.wpdt-c .btn.active:focus,.wpdt-c .btn.focus,.wpdt-c .btn:active.focus,.wpdt-c .btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline:none!important}.wpdt-c .btn:hover,.wpdt-c .btn:focus,.wpdt-c .btn.focus{color:#333;text-decoration:none}.wpdt-c .btn:active,.wpdt-c .btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.wpdt-c .btn.disabled,.wpdt-c .btn[disabled],.wpdt-c fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.wpdt-c a.btn.disabled,.wpdt-c fieldset[disabled] a.btn{pointer-events:none}.wpdt-c .btn-default{color:#333;background-color:#fff;border-color:#ccc}.wpdt-c .btn-default:focus,.wpdt-c .btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.wpdt-c .btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.wpdt-c .btn-default:active,.wpdt-c .btn-default.active,.wpdt-c .open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.wpdt-c .btn-default:active:hover,.wpdt-c .btn-default.active:hover,.wpdt-c .open>.dropdown-toggle.btn-default:hover,.wpdt-c .btn-default:active:focus,.wpdt-c .btn-default.active:focus,.wpdt-c .open>.dropdown-toggle.btn-default:focus,.wpdt-c .btn-default:active.focus,.wpdt-c .btn-default.active.focus,.wpdt-c .open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.wpdt-c .btn-default:active,.wpdt-c .btn-default.active,.wpdt-c .open>.dropdown-toggle.btn-default{background-image:none}.wpdt-c .btn-default.disabled:hover,.wpdt-c .btn-default[disabled]:hover,.wpdt-c fieldset[disabled] .btn-default:hover,.wpdt-c .btn-default.disabled:focus,.wpdt-c .btn-default[disabled]:focus,.wpdt-c fieldset[disabled] .btn-default:focus,.wpdt-c .btn-default.disabled.focus,.wpdt-c .btn-default[disabled].focus,.wpdt-c fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.wpdt-c .btn-default .badge{color:#fff;background-color:#333}.wpdt-c .btn-default:hover,.wpdt-c .btn-default:focus,.wpdt-c .btn-default.focus,.wpdt-c .btn-default:active,.wpdt-c .open>.dropdown-toggle.btn-default{color:#333;background-color:#fff;border-color:transparent}.wpdt-c .btn-default:hover:hover,.wpdt-c .btn-default:focus:hover,.wpdt-c .btn-default.focus:hover,.wpdt-c .btn-default:active:hover,.wpdt-c .open>.dropdown-toggle.btn-default:hover,.wpdt-c .btn-default:hover:focus,.wpdt-c .btn-default:focus:focus,.wpdt-c .btn-default.focus:focus,.wpdt-c .btn-default:active:focus,.wpdt-c .open>.dropdown-toggle.btn-default:focus,.wpdt-c .btn-default:hover.focus,.wpdt-c .btn-default:focus.focus,.wpdt-c .btn-default.focus.focus,.wpdt-c .btn-default:active.focus,.wpdt-c .open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#fff;border-color:transparent}.wpdt-c .btn-default:active,.wpdt-c .btn-default.active,.wpdt-c .open>.dropdown-toggle.btn-default{background-image:none}.wpdt-c .btn-default.disabled,.wpdt-c .btn-default[disabled],.wpdt-c fieldset[disabled] .btn-default,.wpdt-c .btn-default.disabled:hover,.wpdt-c .btn-default[disabled]:hover,.wpdt-c fieldset[disabled] .btn-default:hover,.wpdt-c .btn-default.disabled:focus,.wpdt-c .btn-default[disabled]:focus,.wpdt-c fieldset[disabled] .btn-default:focus,.wpdt-c .btn-default.disabled.focus,.wpdt-c .btn-default[disabled].focus,.wpdt-c fieldset[disabled] .btn-default.focus,.wpdt-c .btn-default.disabled:active,.wpdt-c .btn-default[disabled]:active,.wpdt-c fieldset[disabled] .btn-default:active{background-color:#fff;border-color:#ccc}.wpdt-c .btn-default .badge{color:#fff;background-color:#333}.wpdt-c .btn-primary{background:#008CFF;border:none;box-sizing:border-box;border-radius:3px;font-family:Inter;font-style:normal;font-weight:600;font-size:14px;padding:8px 12px;color:#FFF}.wpdt-c .btn-primary:focus,.wpdt-c .btn-primary.focus{color:#fff;background-color:#0c7cd5;border-color:#064475}.wpdt-c .btn-primary:hover{color:#fff;background-color:#0c7cd5;border-color:#0a68b4}.wpdt-c .btn-primary:active,.wpdt-c .btn-primary.active,.wpdt-c .open>.dropdown-toggle.btn-primary{color:#fff;background-color:#0c7cd5;border-color:#0a68b4}.wpdt-c .btn-primary:active:hover,.wpdt-c .btn-primary.active:hover,.wpdt-c .open>.dropdown-toggle.btn-primary:hover,.wpdt-c .btn-primary:active:focus,.wpdt-c .btn-primary.active:focus,.wpdt-c .open>.dropdown-toggle.btn-primary:focus,.wpdt-c .btn-primary:active.focus,.wpdt-c .btn-primary.active.focus,.wpdt-c .open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#0a68b4;border-color:#064475}.wpdt-c .btn-primary:active,.wpdt-c .btn-primary.active,.wpdt-c .open>.dropdown-toggle.btn-primary{background-image:none}.wpdt-c .btn-primary.disabled:hover,.wpdt-c .btn-primary[disabled]:hover,.wpdt-c fieldset[disabled] .btn-primary:hover,.wpdt-c .btn-primary.disabled:focus,.wpdt-c .btn-primary[disabled]:focus,.wpdt-c fieldset[disabled] .btn-primary:focus,.wpdt-c .btn-primary.disabled.focus,.wpdt-c .btn-primary[disabled].focus,.wpdt-c fieldset[disabled] .btn-primary.focus{background-color:#2196F3;border-color:#0d8aee}.wpdt-c .btn-primary .badge{color:#2196F3;background-color:#fff}.wpdt-c .btn-primary:hover,.wpdt-c .btn-primary:focus,.wpdt-c .btn-primary.focus,.wpdt-c .btn-primary:active,.wpdt-c .open>.dropdown-toggle.btn-primary{color:#fff;background-color:#2196F3;border-color:transparent}.wpdt-c .btn-primary:hover:hover,.wpdt-c .btn-primary:focus:hover,.wpdt-c .btn-primary.focus:hover,.wpdt-c .btn-primary:active:hover,.wpdt-c .open>.dropdown-toggle.btn-primary:hover,.wpdt-c .btn-primary:hover:focus,.wpdt-c .btn-primary:focus:focus,.wpdt-c .btn-primary.focus:focus,.wpdt-c .btn-primary:active:focus,.wpdt-c .open>.dropdown-toggle.btn-primary:focus,.wpdt-c .btn-primary:hover.focus,.wpdt-c .btn-primary:focus.focus,.wpdt-c .btn-primary.focus.focus,.wpdt-c .btn-primary:active.focus,.wpdt-c .open>.dropdown-toggle.btn-primary.focus{background-color:#0B86EC!important}.wpdt-c .btn-primary:active,.wpdt-c .btn-primary.active,.wpdt-c .open>.dropdown-toggle.btn-primary{background-image:none}.wpdt-c .btn-primary.disabled,.wpdt-c .btn-primary[disabled],.wpdt-c fieldset[disabled] .btn-primary,.wpdt-c .btn-primary.disabled:hover,.wpdt-c .btn-primary[disabled]:hover,.wpdt-c fieldset[disabled] .btn-primary:hover,.wpdt-c .btn-primary.disabled:focus,.wpdt-c .btn-primary[disabled]:focus,.wpdt-c fieldset[disabled] .btn-primary:focus,.wpdt-c .btn-primary.disabled.focus,.wpdt-c .btn-primary[disabled].focus,.wpdt-c fieldset[disabled] .btn-primary.focus,.wpdt-c .btn-primary.disabled:active,.wpdt-c .btn-primary[disabled]:active,.wpdt-c fieldset[disabled] .btn-primary:active{background-color:#2196F3;border-color:#0d8aee}.wpdt-c .btn-primary .badge{color:#2196F3;background-color:#fff}.wpdt-c .btn-success{color:#fff;background-color:#4CAF50;border-color:#449d48}.wpdt-c .btn-success:focus,.wpdt-c .btn-success.focus{color:#fff;background-color:#3d8b40;border-color:#1e441f}.wpdt-c .btn-success:hover{color:#fff;background-color:#3d8b40;border-color:#327334}.wpdt-c .btn-success:active,.wpdt-c .btn-success.active,.wpdt-c .open>.dropdown-toggle.btn-success{color:#fff;background-color:#3d8b40;border-color:#327334}.wpdt-c .btn-success:active:hover,.wpdt-c .btn-success.active:hover,.wpdt-c .open>.dropdown-toggle.btn-success:hover,.wpdt-c .btn-success:active:focus,.wpdt-c .btn-success.active:focus,.wpdt-c .open>.dropdown-toggle.btn-success:focus,.wpdt-c .btn-success:active.focus,.wpdt-c .btn-success.active.focus,.wpdt-c .open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#327334;border-color:#1e441f}.wpdt-c .btn-success:active,.wpdt-c .btn-success.active,.wpdt-c .open>.dropdown-toggle.btn-success{background-image:none}.wpdt-c .btn-success.disabled:hover,.wpdt-c .btn-success[disabled]:hover,.wpdt-c fieldset[disabled] .btn-success:hover,.wpdt-c .btn-success.disabled:focus,.wpdt-c .btn-success[disabled]:focus,.wpdt-c fieldset[disabled] .btn-success:focus,.wpdt-c .btn-success.disabled.focus,.wpdt-c .btn-success[disabled].focus,.wpdt-c fieldset[disabled] .btn-success.focus{background-color:#4CAF50;border-color:#449d48}.wpdt-c .btn-success .badge{color:#4CAF50;background-color:#fff}.wpdt-c .btn-success:hover,.wpdt-c .btn-success:focus,.wpdt-c .btn-success.focus,.wpdt-c .btn-success:active,.wpdt-c .open>.dropdown-toggle.btn-success{color:#fff;background-color:#4CAF50;border-color:transparent}.wpdt-c .btn-success:hover:hover,.wpdt-c .btn-success:focus:hover,.wpdt-c .btn-success.focus:hover,.wpdt-c .btn-success:active:hover,.wpdt-c .open>.dropdown-toggle.btn-success:hover,.wpdt-c .btn-success:hover:focus,.wpdt-c .btn-success:focus:focus,.wpdt-c .btn-success.focus:focus,.wpdt-c .btn-success:active:focus,.wpdt-c .open>.dropdown-toggle.btn-success:focus,.wpdt-c .btn-success:hover.focus,.wpdt-c .btn-success:focus.focus,.wpdt-c .btn-success.focus.focus,.wpdt-c .btn-success:active.focus,.wpdt-c .open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#4CAF50;border-color:transparent}.wpdt-c .btn-success:active,.wpdt-c .btn-success.active,.wpdt-c .open>.dropdown-toggle.btn-success{background-image:none}.wpdt-c .btn-success.disabled,.wpdt-c .btn-success[disabled],.wpdt-c fieldset[disabled] .btn-success,.wpdt-c .btn-success.disabled:hover,.wpdt-c .btn-success[disabled]:hover,.wpdt-c fieldset[disabled] .btn-success:hover,.wpdt-c .btn-success.disabled:focus,.wpdt-c .btn-success[disabled]:focus,.wpdt-c fieldset[disabled] .btn-success:focus,.wpdt-c .btn-success.disabled.focus,.wpdt-c .btn-success[disabled].focus,.wpdt-c fieldset[disabled] .btn-success.focus,.wpdt-c .btn-success.disabled:active,.wpdt-c .btn-success[disabled]:active,.wpdt-c fieldset[disabled] .btn-success:active{background-color:#4CAF50;border-color:#449d48}.wpdt-c .btn-success .badge{color:#4CAF50;background-color:#fff}.wpdt-c .btn-info{color:#fff;background-color:#00BCD4;border-color:#00a5bb}.wpdt-c .btn-info:focus,.wpdt-c .btn-info.focus{color:#fff;background-color:#008fa1;border-color:#00343b}.wpdt-c .btn-info:hover{color:#fff;background-color:#008fa1;border-color:#006f7d}.wpdt-c .btn-info:active,.wpdt-c .btn-info.active,.wpdt-c .open>.dropdown-toggle.btn-info{color:#fff;background-color:#008fa1;border-color:#006f7d}.wpdt-c .btn-info:active:hover,.wpdt-c .btn-info.active:hover,.wpdt-c .open>.dropdown-toggle.btn-info:hover,.wpdt-c .btn-info:active:focus,.wpdt-c .btn-info.active:focus,.wpdt-c .open>.dropdown-toggle.btn-info:focus,.wpdt-c .btn-info:active.focus,.wpdt-c .btn-info.active.focus,.wpdt-c .open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#006f7d;border-color:#00343b}.wpdt-c .btn-info:active,.wpdt-c .btn-info.active,.wpdt-c .open>.dropdown-toggle.btn-info{background-image:none}.wpdt-c .btn-info.disabled:hover,.wpdt-c .btn-info[disabled]:hover,.wpdt-c fieldset[disabled] .btn-info:hover,.wpdt-c .btn-info.disabled:focus,.wpdt-c .btn-info[disabled]:focus,.wpdt-c fieldset[disabled] .btn-info:focus,.wpdt-c .btn-info.disabled.focus,.wpdt-c .btn-info[disabled].focus,.wpdt-c fieldset[disabled] .btn-info.focus{background-color:#00BCD4;border-color:#00a5bb}.wpdt-c .btn-info .badge{color:#00BCD4;background-color:#fff}.wpdt-c .btn-info:hover,.wpdt-c .btn-info:focus,.wpdt-c .btn-info.focus,.wpdt-c .btn-info:active,.wpdt-c .open>.dropdown-toggle.btn-info{color:#fff;background-color:#00BCD4;border-color:transparent}.wpdt-c .btn-info:hover:hover,.wpdt-c .btn-info:focus:hover,.wpdt-c .btn-info.focus:hover,.wpdt-c .btn-info:active:hover,.wpdt-c .open>.dropdown-toggle.btn-info:hover,.wpdt-c .btn-info:hover:focus,.wpdt-c .btn-info:focus:focus,.wpdt-c .btn-info.focus:focus,.wpdt-c .btn-info:active:focus,.wpdt-c .open>.dropdown-toggle.btn-info:focus,.wpdt-c .btn-info:hover.focus,.wpdt-c .btn-info:focus.focus,.wpdt-c .btn-info.focus.focus,.wpdt-c .btn-info:active.focus,.wpdt-c .open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#00BCD4;border-color:transparent}.wpdt-c .btn-info:active,.wpdt-c .btn-info.active,.wpdt-c .open>.dropdown-toggle.btn-info{background-image:none}.wpdt-c .btn-info.disabled,.wpdt-c .btn-info[disabled],.wpdt-c fieldset[disabled] .btn-info,.wpdt-c .btn-info.disabled:hover,.wpdt-c .btn-info[disabled]:hover,.wpdt-c fieldset[disabled] .btn-info:hover,.wpdt-c .btn-info.disabled:focus,.wpdt-c .btn-info[disabled]:focus,.wpdt-c fieldset[disabled] .btn-info:focus,.wpdt-c .btn-info.disabled.focus,.wpdt-c .btn-info[disabled].focus,.wpdt-c fieldset[disabled] .btn-info.focus,.wpdt-c .btn-info.disabled:active,.wpdt-c .btn-info[disabled]:active,.wpdt-c fieldset[disabled] .btn-info:active{background-color:#00BCD4;border-color:#00a5bb}.wpdt-c .btn-info .badge{color:#00BCD4;background-color:#fff}.wpdt-c .btn-warning{color:#fff;background-color:#FF9800;border-color:#e68900}.wpdt-c .btn-warning:focus,.wpdt-c .btn-warning.focus{color:#fff;background-color:#cc7a00;border-color:#663d00}.wpdt-c .btn-warning:hover{color:#fff;background-color:#cc7a00;border-color:#a86400}.wpdt-c .btn-warning:active,.wpdt-c .btn-warning.active,.wpdt-c .open>.dropdown-toggle.btn-warning{color:#fff;background-color:#cc7a00;border-color:#a86400}.wpdt-c .btn-warning:active:hover,.wpdt-c .btn-warning.active:hover,.wpdt-c .open>.dropdown-toggle.btn-warning:hover,.wpdt-c .btn-warning:active:focus,.wpdt-c .btn-warning.active:focus,.wpdt-c .open>.dropdown-toggle.btn-warning:focus,.wpdt-c .btn-warning:active.focus,.wpdt-c .btn-warning.active.focus,.wpdt-c .open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#a86400;border-color:#663d00}.wpdt-c .btn-warning:active,.wpdt-c .btn-warning.active,.wpdt-c .open>.dropdown-toggle.btn-warning{background-image:none}.wpdt-c .btn-warning.disabled:hover,.wpdt-c .btn-warning[disabled]:hover,.wpdt-c fieldset[disabled] .btn-warning:hover,.wpdt-c .btn-warning.disabled:focus,.wpdt-c .btn-warning[disabled]:focus,.wpdt-c fieldset[disabled] .btn-warning:focus,.wpdt-c .btn-warning.disabled.focus,.wpdt-c .btn-warning[disabled].focus,.wpdt-c fieldset[disabled] .btn-warning.focus{background-color:#FF9800;border-color:#e68900}.wpdt-c .btn-warning .badge{color:#FF9800;background-color:#fff}.wpdt-c .btn-warning:hover,.wpdt-c .btn-warning:focus,.wpdt-c .btn-warning.focus,.wpdt-c .btn-warning:active,.wpdt-c .open>.dropdown-toggle.btn-warning{color:#fff;background-color:#FF9800;border-color:transparent}.wpdt-c .btn-warning:hover:hover,.wpdt-c .btn-warning:focus:hover,.wpdt-c .btn-warning.focus:hover,.wpdt-c .btn-warning:active:hover,.wpdt-c .open>.dropdown-toggle.btn-warning:hover,.wpdt-c .btn-warning:hover:focus,.wpdt-c .btn-warning:focus:focus,.wpdt-c .btn-warning.focus:focus,.wpdt-c .btn-warning:active:focus,.wpdt-c .open>.dropdown-toggle.btn-warning:focus,.wpdt-c .btn-warning:hover.focus,.wpdt-c .btn-warning:focus.focus,.wpdt-c .btn-warning.focus.focus,.wpdt-c .btn-warning:active.focus,.wpdt-c .open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#FF9800;border-color:transparent}.wpdt-c .btn-warning:active,.wpdt-c .btn-warning.active,.wpdt-c .open>.dropdown-toggle.btn-warning{background-image:none}.wpdt-c .btn-warning.disabled,.wpdt-c .btn-warning[disabled],.wpdt-c fieldset[disabled] .btn-warning,.wpdt-c .btn-warning.disabled:hover,.wpdt-c .btn-warning[disabled]:hover,.wpdt-c fieldset[disabled] .btn-warning:hover,.wpdt-c .btn-warning.disabled:focus,.wpdt-c .btn-warning[disabled]:focus,.wpdt-c fieldset[disabled] .btn-warning:focus,.wpdt-c .btn-warning.disabled.focus,.wpdt-c .btn-warning[disabled].focus,.wpdt-c fieldset[disabled] .btn-warning.focus,.wpdt-c .btn-warning.disabled:active,.wpdt-c .btn-warning[disabled]:active,.wpdt-c fieldset[disabled] .btn-warning:active{background-color:#FF9800;border-color:#e68900}.wpdt-c .btn-warning .badge{color:#FF9800;background-color:#fff}.wpdt-c .btn-danger{color:#fff;background-color:#F44336;border-color:#f32c1e}.wpdt-c .btn-danger:focus,.wpdt-c .btn-danger.focus{color:#fff;background-color:#ea1c0d;border-color:#891008}.wpdt-c .btn-danger:hover{color:#fff;background-color:#ea1c0d;border-color:#c8180b}.wpdt-c .btn-danger:active,.wpdt-c .btn-danger.active,.wpdt-c .open>.dropdown-toggle.btn-danger{color:#fff;background-color:#ea1c0d;border-color:#c8180b}.wpdt-c .btn-danger:active:hover,.wpdt-c .btn-danger.active:hover,.wpdt-c .open>.dropdown-toggle.btn-danger:hover,.wpdt-c .btn-danger:active:focus,.wpdt-c .btn-danger.active:focus,.wpdt-c .open>.dropdown-toggle.btn-danger:focus,.wpdt-c .btn-danger:active.focus,.wpdt-c .btn-danger.active.focus,.wpdt-c .open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#c8180b;border-color:#891008}.wpdt-c .btn-danger:active,.wpdt-c .btn-danger.active,.wpdt-c .open>.dropdown-toggle.btn-danger{background-image:none}.wpdt-c .btn-danger.disabled:hover,.wpdt-c .btn-danger[disabled]:hover,.wpdt-c fieldset[disabled] .btn-danger:hover,.wpdt-c .btn-danger.disabled:focus,.wpdt-c .btn-danger[disabled]:focus,.wpdt-c fieldset[disabled] .btn-danger:focus,.wpdt-c .btn-danger.disabled.focus,.wpdt-c .btn-danger[disabled].focus,.wpdt-c fieldset[disabled] .btn-danger.focus{background-color:#F44336;border-color:#f32c1e}.wpdt-c .btn-danger .badge{color:#F44336;background-color:#fff}.wpdt-c .btn-danger:hover,.wpdt-c .btn-danger:focus,.wpdt-c .btn-danger.focus,.wpdt-c .btn-danger:active,.wpdt-c .open>.dropdown-toggle.btn-danger{color:#fff;background-color:#F44336;border-color:transparent}.wpdt-c .btn-danger:hover:hover,.wpdt-c .btn-danger:focus:hover,.wpdt-c .btn-danger.focus:hover,.wpdt-c .btn-danger:active:hover,.wpdt-c .open>.dropdown-toggle.btn-danger:hover,.wpdt-c .btn-danger:hover:focus,.wpdt-c .btn-danger:focus:focus,.wpdt-c .btn-danger.focus:focus,.wpdt-c .btn-danger:active:focus,.wpdt-c .open>.dropdown-toggle.btn-danger:focus,.wpdt-c .btn-danger:hover.focus,.wpdt-c .btn-danger:focus.focus,.wpdt-c .btn-danger.focus.focus,.wpdt-c .btn-danger:active.focus,.wpdt-c .open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#F44336;border-color:transparent}.wpdt-c .btn-danger:active,.wpdt-c .btn-danger.active,.wpdt-c .open>.dropdown-toggle.btn-danger{background-image:none}.wpdt-c .btn-danger.disabled,.wpdt-c .btn-danger[disabled],.wpdt-c fieldset[disabled] .btn-danger,.wpdt-c .btn-danger.disabled:hover,.wpdt-c .btn-danger[disabled]:hover,.wpdt-c fieldset[disabled] .btn-danger:hover,.wpdt-c .btn-danger.disabled:focus,.wpdt-c .btn-danger[disabled]:focus,.wpdt-c fieldset[disabled] .btn-danger:focus,.wpdt-c .btn-danger.disabled.focus,.wpdt-c .btn-danger[disabled].focus,.wpdt-c fieldset[disabled] .btn-danger.focus,.wpdt-c .btn-danger.disabled:active,.wpdt-c .btn-danger[disabled]:active,.wpdt-c fieldset[disabled] .btn-danger:active{background-color:#F44336;border-color:#f32c1e}.wpdt-c .btn-danger .badge{color:#F44336;background-color:#fff}.wpdt-c .btn-link{color:#2196F3;font-weight:400;border-radius:0}.wpdt-c .btn-link,.wpdt-c .btn-link:active,.wpdt-c .btn-link.active,.wpdt-c .btn-link[disabled],.wpdt-c fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.wpdt-c .btn-link,.wpdt-c .btn-link:hover,.wpdt-c .btn-link:focus,.wpdt-c .btn-link:active{border-color:transparent}.wpdt-c .btn-link:hover,.wpdt-c .btn-link:focus{color:#0a6ebd;text-decoration:none;background-color:transparent}.wpdt-c .btn-link[disabled]:hover,.wpdt-c fieldset[disabled] .btn-link:hover,.wpdt-c .btn-link[disabled]:focus,.wpdt-c fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.wpdt-c .btn-lg,.wpdt-c .btn-group-lg>.btn{padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:2px}.wpdt-c .btn-sm,.wpdt-c .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c .btn-xs,.wpdt-c .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c .btn-block{display:block;width:100%}.wpdt-c .btn-block+.btn-block{margin-top:5px}.wpdt-c input[type="submit"].btn-block,.wpdt-c input[type="reset"].btn-block,.wpdt-c input[type="button"].btn-block{width:100%}.wpdt-c .fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.wpdt-c .fade.in{opacity:1}.wpdt-c .collapse{display:none}.wpdt-c .collapse.in{display:block}.wpdt-c tr.collapse.in{display:table-row}.wpdt-c tbody.collapse.in{display:table-row-group}.wpdt-c .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.wpdt-c .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}.wpdt-c .dropup,.wpdt-c .dropdown{position:relative}.wpdt-c .dropdown-toggle:focus{outline:0}.wpdt-c.dropdown-menu,.wpdt-c .dropdown-menu{position:absolute;top:100%;left:0;z-index:9999;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.wpdt-c .dropdown-menu.pull-right{right:0;left:auto}.wpdt-c .dropdown-menu .divider{height:1px;margin:8px 0;overflow:hidden;background-color:rgba(0,0,0,.08)}.wpdt-c .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.wpdt-c .dropdown-menu>li>a:hover,.wpdt-c .dropdown-menu>li>a:focus{text-decoration:none;color:#333;background-color:rgba(0,0,0,.075)}.wpdt-c .dropdown-menu>.active>a,.wpdt-c .dropdown-menu>.active>a:hover,.wpdt-c .dropdown-menu>.active>a:focus{color:#333;text-decoration:none;outline:0;background-color:rgba(0,0,0,.075)}.wpdt-c .dropdown-menu>.disabled>a,.wpdt-c .dropdown-menu>.disabled>a:hover,.wpdt-c .dropdown-menu>.disabled>a:focus{color:#e4e4e4}.wpdt-c .dropdown-menu>.disabled>a:hover,.wpdt-c .dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.wpdt-c .open>.dropdown-menu{display:block}.wpdt-c .open>ul.dropdown-menu{padding:0!important}.wpdt-c .open>a{outline:0}.wpdt-c .dropdown-menu-right{left:auto;right:0}.wpdt-c .dropdown-menu-left{left:0;right:auto}.wpdt-c .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.wpdt-c .dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:-1}.wpdt-c .pull-right>.dropdown-menu{right:0;left:auto}.wpdt-c .dropup .caret,.wpdt-c .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.wpdt-c .dropup .dropdown-menu,.wpdt-c .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.wpdt-c .navbar-right .dropdown-menu{left:auto;right:0}.wpdt-c .navbar-right .dropdown-menu-left{left:0;right:auto}}.wpdt-c .btn-group,.wpdt-c .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.wpdt-c .btn-group>.btn,.wpdt-c .btn-group-vertical>.btn{position:relative;float:left}.wpdt-c .btn-group>.btn:hover,.wpdt-c .btn-group-vertical>.btn:hover,.wpdt-c .btn-group>.btn:focus,.wpdt-c .btn-group-vertical>.btn:focus,.wpdt-c .btn-group>.btn:active,.wpdt-c .btn-group-vertical>.btn:active,.wpdt-c .btn-group>.btn.active,.wpdt-c .btn-group-vertical>.btn.active{z-index:2}.wpdt-c .btn-group .btn+.btn,.wpdt-c .btn-group .btn+.btn-group,.wpdt-c .btn-group .btn-group+.btn,.wpdt-c .btn-group .btn-group+.btn-group{margin-left:-1px}.wpdt-c .btn-toolbar{margin-left:-5px}.wpdt-c .btn-toolbar .btn,.wpdt-c .btn-toolbar .btn-group,.wpdt-c .btn-toolbar .input-group{float:left}.wpdt-c .btn-toolbar>.btn,.wpdt-c .btn-toolbar>.btn-group,.wpdt-c .btn-toolbar>.input-group{margin-left:5px}.wpdt-c .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.wpdt-c .btn-group>.btn:first-child{margin-left:0}.wpdt-c .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.wpdt-c .btn-group>.btn:last-child:not(:first-child),.wpdt-c .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.wpdt-c .btn-group>.btn-group{float:left}.wpdt-c .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.wpdt-c .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.wpdt-c .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.wpdt-c .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.wpdt-c .btn-group .dropdown-toggle:active,.wpdt-c .btn-group.open .dropdown-toggle{outline:0}.wpdt-c .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.wpdt-c .btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.wpdt-c .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)}.wpdt-c .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.wpdt-c .btn .caret{margin-left:0}.wpdt-c .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.wpdt-c .dropup .btn-lg .caret{border-width:0 5px 5px}.wpdt-c .btn-group-vertical>.btn,.wpdt-c .btn-group-vertical>.btn-group,.wpdt-c .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.wpdt-c .btn-group-vertical>.btn-group>.btn{float:none}.wpdt-c .btn-group-vertical>.btn+.btn,.wpdt-c .btn-group-vertical>.btn+.btn-group,.wpdt-c .btn-group-vertical>.btn-group+.btn,.wpdt-c .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.wpdt-c .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.wpdt-c .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:2px;border-top-left-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.wpdt-c .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.wpdt-c .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.wpdt-c .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.wpdt-c .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.wpdt-c .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.wpdt-c .btn-group-justified>.btn,.wpdt-c .btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.wpdt-c .btn-group-justified>.btn-group .btn{width:100%}.wpdt-c .btn-group-justified>.btn-group .dropdown-menu{left:auto}.wpdt-c [data-toggle="buttons"]>.btn input[type="radio"],.wpdt-c [data-toggle="buttons"]>.btn-group>.btn input[type="radio"],.wpdt-c [data-toggle="buttons"]>.btn input[type="checkbox"],.wpdt-c [data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.wpdt-c .input-group{position:relative;display:table;border-collapse:separate}.wpdt-c .input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.wpdt-c .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.wpdt-c .input-group .form-control:focus{z-index:3}.wpdt-c .input-group-lg>.form-control,.wpdt-c .input-group-lg>.input-group-addon,.wpdt-c .input-group-lg>.input-group-btn>.btn{height:40px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:0}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:40px;line-height:40px}.wpdt-c textarea.input-group-lg>.form-control,.wpdt-c textarea.input-group-lg>.input-group-addon,.wpdt-c textarea.input-group-lg>.input-group-btn>.btn,.wpdt-c select[multiple].input-group-lg>.form-control,.wpdt-c select[multiple].input-group-lg>.input-group-addon,.wpdt-c select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.wpdt-c .input-group-sm>.form-control,.wpdt-c .input-group-sm>.input-group-addon,.wpdt-c .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c select.input-group-sm>.form-control,.wpdt-c select.input-group-sm>.input-group-addon,.wpdt-c select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.wpdt-c textarea.input-group-sm>.form-control,.wpdt-c textarea.input-group-sm>.input-group-addon,.wpdt-c textarea.input-group-sm>.input-group-btn>.btn,.wpdt-c select[multiple].input-group-sm>.form-control,.wpdt-c select[multiple].input-group-sm>.input-group-addon,.wpdt-c select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.wpdt-c .input-group-addon,.wpdt-c .input-group-btn,.wpdt-c .input-group .form-control{display:table-cell}.wpdt-c .input-group-addon:not(:first-child):not(:last-child),.wpdt-c .input-group-btn:not(:first-child):not(:last-child),.wpdt-c .input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.wpdt-c .input-group-addon,.wpdt-c .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.wpdt-c .input-group-addon{padding:6px 12px;font-size:13px;font-weight:400;line-height:1;color:#000;text-align:center;background-color:transparent;border:1px solid transparent;border-radius:0}.wpdt-c .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:2px}.wpdt-c .input-group-addon.input-lg{padding:10px 16px;font-size:17px;border-radius:0}.wpdt-c .input-group-addon input[type="radio"],.wpdt-c .input-group-addon input[type="checkbox"]{margin-top:0}.wpdt-c .input-group .form-control:first-child,.wpdt-c .input-group-addon:first-child,.wpdt-c .input-group-btn:first-child>.btn,.wpdt-c .input-group-btn:first-child>.btn-group>.btn,.wpdt-c .input-group-btn:first-child>.dropdown-toggle,.wpdt-c .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.wpdt-c .input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.wpdt-c .input-group-addon:first-child{border-right:0}.wpdt-c .input-group .form-control:last-child,.wpdt-c .input-group-addon:last-child,.wpdt-c .input-group-btn:last-child>.btn,.wpdt-c .input-group-btn:last-child>.btn-group>.btn,.wpdt-c .input-group-btn:last-child>.dropdown-toggle,.wpdt-c .input-group-btn:first-child>.btn:not(:first-child),.wpdt-c .input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.wpdt-c .input-group-addon:last-child{border-left:0}.wpdt-c .input-group-btn{position:relative;font-size:0;white-space:nowrap}.wpdt-c .input-group-btn>.btn{position:relative}.wpdt-c .input-group-btn>.btn+.btn{margin-left:-1px}.wpdt-c .input-group-btn>.btn:hover,.wpdt-c .input-group-btn>.btn:focus,.wpdt-c .input-group-btn>.btn:active{z-index:2}.wpdt-c .input-group-btn:first-child>.btn,.wpdt-c .input-group-btn:first-child>.btn-group{margin-right:-1px}.wpdt-c .input-group-btn:last-child>.btn,.wpdt-c .input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.wpdt-c .nav{margin-bottom:0;padding-left:0;list-style:none}.wpdt-c .nav>li{position:relative;display:block}.wpdt-c .nav>li>a{position:relative;display:block;padding:10px 15px}.wpdt-c .nav>li>a:hover,.wpdt-c .nav>li>a:focus{text-decoration:none;background-color:#eee}.wpdt-c .nav>li.disabled>a{color:#777}.wpdt-c .nav>li.disabled>a:hover,.wpdt-c .nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.wpdt-c .nav .open>a,.wpdt-c .nav .open>a:hover,.wpdt-c .nav .open>a:focus{background-color:#eee;border-color:#2196F3}.wpdt-c .nav .nav-divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.wpdt-c .nav>li>a>img{max-width:none}.wpdt-c .nav-tabs{border-bottom:1px solid #fff}.wpdt-c .nav-tabs>li{float:left;margin-bottom:-1px}.wpdt-c .nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:2px 2px 0 0}.wpdt-c .nav-tabs>li>a:hover{border-color:#eee #eee #fff}.wpdt-c .nav-tabs>li.active>a,.wpdt-c .nav-tabs>li.active>a:hover,.wpdt-c .nav-tabs>li.active>a:focus{color:#555;background-color:transparent;border:1px solid #fff;border-bottom-color:transparent;cursor:default}.wpdt-c .nav-tabs.nav-justified{width:100%;border-bottom:0}.wpdt-c .nav-tabs.nav-justified>li{float:none}.wpdt-c .nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.wpdt-c .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.wpdt-c .nav-tabs.nav-justified>li{display:table-cell;width:1%}.wpdt-c .nav-tabs.nav-justified>li>a{margin-bottom:0}}.wpdt-c .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:2px}.wpdt-c .nav-tabs.nav-justified>.active>a,.wpdt-c .nav-tabs.nav-justified>.active>a:hover,.wpdt-c .nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.wpdt-c .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.wpdt-c .nav-tabs.nav-justified>.active>a,.wpdt-c .nav-tabs.nav-justified>.active>a:hover,.wpdt-c .nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#edecec}}.wpdt-c .nav-pills>li{float:left}.wpdt-c .nav-pills>li>a{border-radius:2px}.wpdt-c .nav-pills>li+li{margin-left:2px}.wpdt-c .nav-pills>li.active>a,.wpdt-c .nav-pills>li.active>a:hover,.wpdt-c .nav-pills>li.active>a:focus{color:#fff;background-color:#2196F3}.wpdt-c .nav-stacked>li{float:none}.wpdt-c .nav-stacked>li+li{margin-top:2px;margin-left:0}.wpdt-c .nav-justified{width:100%}.wpdt-c .nav-justified>li{float:none}.wpdt-c .nav-justified>li>a{text-align:center;margin-bottom:5px}.wpdt-c .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.wpdt-c .nav-justified>li{display:table-cell;width:1%}.wpdt-c .nav-justified>li>a{margin-bottom:0}}.wpdt-c .nav-tabs-justified{border-bottom:0}.wpdt-c .nav-tabs-justified>li>a{margin-right:0;border-radius:2px}.wpdt-c .nav-tabs-justified>.active>a,.wpdt-c .nav-tabs-justified>.active>a:hover,.wpdt-c .nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.wpdt-c .nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.wpdt-c .nav-tabs-justified>.active>a,.wpdt-c .nav-tabs-justified>.active>a:hover,.wpdt-c .nav-tabs-justified>.active>a:focus{border-bottom-color:#edecec}}.wpdt-c .tab-content>.tab-pane{display:none}.wpdt-c .tab-content>.active{display:block}.wpdt-c .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .navbar{position:relative;min-height:50px;margin-bottom:18px;border:1px solid transparent}@media (min-width:768px){.wpdt-c .navbar{border-radius:2px}}@media (min-width:768px){.wpdt-c .navbar-header{float:left}}.wpdt-c .navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.wpdt-c .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.wpdt-c .navbar-collapse{width:auto;border-top:0;box-shadow:none}.wpdt-c .navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.wpdt-c .navbar-collapse.in{overflow-y:visible}.wpdt-c .navbar-fixed-top .navbar-collapse,.wpdt-c .navbar-static-top .navbar-collapse,.wpdt-c .navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.wpdt-c .navbar-fixed-top .navbar-collapse,.wpdt-c .navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.wpdt-c .navbar-fixed-top .navbar-collapse,.wpdt-c .navbar-fixed-bottom .navbar-collapse{max-height:200px}}.wpdt-c .container>.navbar-header,.wpdt-c .container-fluid>.navbar-header,.wpdt-c .container>.navbar-collapse,.wpdt-c .container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.wpdt-c .container>.navbar-header,.wpdt-c .container-fluid>.navbar-header,.wpdt-c .container>.navbar-collapse,.wpdt-c .container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.wpdt-c .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.wpdt-c .navbar-static-top{border-radius:0}}.wpdt-c .navbar-fixed-top,.wpdt-c .navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.wpdt-c .navbar-fixed-top,.wpdt-c .navbar-fixed-bottom{border-radius:0}}.wpdt-c .navbar-fixed-top{top:0;border-width:0 0 1px}.wpdt-c .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.wpdt-c .navbar-brand{float:left;padding:16px 15px;font-size:17px;line-height:18px;height:50px}.wpdt-c .navbar-brand:hover,.wpdt-c .navbar-brand:focus{text-decoration:none}.wpdt-c .navbar-brand>img{display:block}@media (min-width:768px){.wpdt-c .navbar>.container .navbar-brand,.wpdt-c .navbar>.container-fluid .navbar-brand{margin-left:-15px}}.wpdt-c .navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:2px}.wpdt-c .navbar-toggle:focus{outline:0}.wpdt-c .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.wpdt-c .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.wpdt-c .navbar-toggle{display:none}}.wpdt-c .navbar-nav{margin:8px -15px}.wpdt-c .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width:767px){.wpdt-c .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.wpdt-c .navbar-nav .open .dropdown-menu>li>a,.wpdt-c .navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.wpdt-c .navbar-nav .open .dropdown-menu>li>a{line-height:18px}.wpdt-c .navbar-nav .open .dropdown-menu>li>a:hover,.wpdt-c .navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.wpdt-c .navbar-nav{float:left;margin:0}.wpdt-c .navbar-nav>li{float:left}.wpdt-c .navbar-nav>li>a{padding-top:16px;padding-bottom:16px}}.wpdt-c .navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.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-top:7.5px;margin-bottom:7.5px}@media (min-width:768px){.wpdt-c .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.wpdt-c .navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.wpdt-c .navbar-form .form-control-static{display:inline-block}.wpdt-c .navbar-form .input-group{display:inline-table;vertical-align:middle}.wpdt-c .navbar-form .input-group .input-group-addon,.wpdt-c .navbar-form .input-group .input-group-btn,.wpdt-c .navbar-form .input-group .form-control{width:auto}.wpdt-c .navbar-form .input-group>.form-control{width:100%}.wpdt-c .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.wpdt-c .navbar-form .radio,.wpdt-c .navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.wpdt-c .navbar-form .radio label,.wpdt-c .navbar-form .checkbox label{padding-left:0}.wpdt-c .navbar-form .radio input[type="radio"],.wpdt-c .navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.wpdt-c .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.wpdt-c .navbar-form .form-group{margin-bottom:5px}.wpdt-c .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.wpdt-c .navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.wpdt-c .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:2px;border-top-left-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.wpdt-c .navbar-btn{margin-top:7.5px;margin-bottom:7.5px}.wpdt-c .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.wpdt-c .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.wpdt-c .navbar-text{margin-top:16px;margin-bottom:16px}@media (min-width:768px){.wpdt-c .navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.wpdt-c .navbar-left{float:left!important}.wpdt-c .navbar-right{float:right!important;margin-right:-15px}.wpdt-c .navbar-right~.navbar-right{margin-right:0}}.wpdt-c .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.wpdt-c .navbar-default .navbar-brand{color:#777}.wpdt-c .navbar-default .navbar-brand:hover,.wpdt-c .navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.wpdt-c .navbar-default .navbar-text{color:#777}.wpdt-c .navbar-default .navbar-nav>li>a{color:#777}.wpdt-c .navbar-default .navbar-nav>li>a:hover,.wpdt-c .navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.wpdt-c .navbar-default .navbar-nav>.active>a,.wpdt-c .navbar-default .navbar-nav>.active>a:hover,.wpdt-c .navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.wpdt-c .navbar-default .navbar-nav>.disabled>a,.wpdt-c .navbar-default .navbar-nav>.disabled>a:hover,.wpdt-c .navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.wpdt-c .navbar-default .navbar-toggle{border-color:#ddd}.wpdt-c .navbar-default .navbar-toggle:hover,.wpdt-c .navbar-default .navbar-toggle:focus{background-color:#ddd}.wpdt-c .navbar-default .navbar-toggle .icon-bar{background-color:#888}.wpdt-c .navbar-default .navbar-collapse,.wpdt-c .navbar-default .navbar-form{border-color:#e7e7e7}.wpdt-c .navbar-default .navbar-nav>.open>a,.wpdt-c .navbar-default .navbar-nav>.open>a:hover,.wpdt-c .navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.wpdt-c .navbar-default .navbar-link{color:#777}.wpdt-c .navbar-default .navbar-link:hover{color:#333}.wpdt-c .navbar-default .btn-link{color:#777}.wpdt-c .navbar-default .btn-link:hover,.wpdt-c .navbar-default .btn-link:focus{color:#333}.wpdt-c .navbar-default .btn-link[disabled]:hover,.wpdt-c fieldset[disabled] .navbar-default .btn-link:hover,.wpdt-c .navbar-default .btn-link[disabled]:focus,.wpdt-c fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.wpdt-c .navbar-inverse{background-color:#222;border-color:#080808}.wpdt-c .navbar-inverse .navbar-brand{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-brand:hover,.wpdt-c .navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.wpdt-c .navbar-inverse .navbar-text{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-nav>li>a:hover,.wpdt-c .navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.wpdt-c .navbar-inverse .navbar-nav>.active>a,.wpdt-c .navbar-inverse .navbar-nav>.active>a:hover,.wpdt-c .navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.wpdt-c .navbar-inverse .navbar-nav>.disabled>a,.wpdt-c .navbar-inverse .navbar-nav>.disabled>a:hover,.wpdt-c .navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.wpdt-c .navbar-inverse .navbar-toggle{border-color:#333}.wpdt-c .navbar-inverse .navbar-toggle:hover,.wpdt-c .navbar-inverse .navbar-toggle:focus{background-color:#333}.wpdt-c .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.wpdt-c .navbar-inverse .navbar-collapse,.wpdt-c .navbar-inverse .navbar-form{border-color:#101010}.wpdt-c .navbar-inverse .navbar-nav>.open>a,.wpdt-c .navbar-inverse .navbar-nav>.open>a:hover,.wpdt-c .navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.wpdt-c .navbar-inverse .navbar-link{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-link:hover{color:#fff}.wpdt-c .navbar-inverse .btn-link{color:#9d9d9d}.wpdt-c .navbar-inverse .btn-link:hover,.wpdt-c .navbar-inverse .btn-link:focus{color:#fff}.wpdt-c .navbar-inverse .btn-link[disabled]:hover,.wpdt-c fieldset[disabled] .navbar-inverse .btn-link:hover,.wpdt-c .navbar-inverse .btn-link[disabled]:focus,.wpdt-c fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.wpdt-c .breadcrumb{padding:8px 20px;margin-bottom:18px;list-style:none;background-color:transparent;border-radius:2px}.wpdt-c .breadcrumb>li{display:inline-block}.wpdt-c .breadcrumb>li+li:before{font-family:'wpDataTablesIcons';content:"\f531";padding:0 5px;color:#ccc}.wpdt-c .breadcrumb>.active{color:#2196F3}.wpdt-c .pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:2px}.wpdt-c .pagination>li{display:inline}.wpdt-c .pagination>li>a,.wpdt-c .pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#7E7E7E;background-color:#E2E2E2;border:1px solid #fff;margin-left:-1px}.wpdt-c .pagination>li:first-child>a,.wpdt-c .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:2px;border-top-left-radius:2px}.wpdt-c .pagination>li:last-child>a,.wpdt-c .pagination>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.wpdt-c .pagination>li>a:hover,.wpdt-c .pagination>li>span:hover,.wpdt-c .pagination>li>a:focus,.wpdt-c .pagination>li>span:focus{z-index:2;color:#333;background-color:#d7d7d7;border-color:#fff}.wpdt-c .pagination>.active>a,.wpdt-c .pagination>.active>span,.wpdt-c .pagination>.active>a:hover,.wpdt-c .pagination>.active>span:hover,.wpdt-c .pagination>.active>a:focus,.wpdt-c .pagination>.active>span:focus{z-index:3;color:#fff;background-color:#00BCD4;border-color:#fff;cursor:default}.wpdt-c .pagination>.disabled>span,.wpdt-c .pagination>.disabled>span:hover,.wpdt-c .pagination>.disabled>span:focus,.wpdt-c .pagination>.disabled>a,.wpdt-c .pagination>.disabled>a:hover,.wpdt-c .pagination>.disabled>a:focus{color:#777;background-color:#E2E2E2;border-color:#fff;cursor:not-allowed}.wpdt-c .pagination-lg>li>a,.wpdt-c .pagination-lg>li>span{padding:10px 16px;font-size:17px;line-height:1.3333333}.wpdt-c .pagination-lg>li:first-child>a,.wpdt-c .pagination-lg>li:first-child>span{border-bottom-left-radius:2px;border-top-left-radius:2px}.wpdt-c .pagination-lg>li:last-child>a,.wpdt-c .pagination-lg>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.wpdt-c .pagination-sm>li>a,.wpdt-c .pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.wpdt-c .pagination-sm>li:first-child>a,.wpdt-c .pagination-sm>li:first-child>span{border-bottom-left-radius:2px;border-top-left-radius:2px}.wpdt-c .pagination-sm>li:last-child>a,.wpdt-c .pagination-sm>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.wpdt-c .pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.wpdt-c .pager li{display:inline}.wpdt-c .pager li>a,.wpdt-c .pager li>span{display:inline-block;padding:5px 14px;background-color:#E2E2E2;border:1px solid #fff;border-radius:5px}.wpdt-c .pager li>a:hover,.wpdt-c .pager li>a:focus{text-decoration:none;background-color:#d7d7d7}.wpdt-c .pager .next>a,.wpdt-c .pager .next>span{float:right}.wpdt-c .pager .previous>a,.wpdt-c .pager .previous>span{float:left}.wpdt-c .pager .disabled>a,.wpdt-c .pager .disabled>a:hover,.wpdt-c .pager .disabled>a:focus,.wpdt-c .pager .disabled>span{color:#777;background-color:#E2E2E2;cursor:not-allowed}.wpdt-c .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}.wpdt-c a.label:hover,.wpdt-c a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.wpdt-c .label:empty{display:none}.wpdt-c .btn .label{position:relative;top:-1px}.wpdt-c .label-default{background-color:#777}.wpdt-c .label-default[href]:hover,.wpdt-c .label-default[href]:focus{background-color:#5e5e5e}.wpdt-c .label-primary{background-color:#2196F3}.wpdt-c .label-primary[href]:hover,.wpdt-c .label-primary[href]:focus{background-color:#0c7cd5}.wpdt-c .label-success{background-color:#4CAF50}.wpdt-c .label-success[href]:hover,.wpdt-c .label-success[href]:focus{background-color:#3d8b40}.wpdt-c .label-info{background-color:#00BCD4}.wpdt-c .label-info[href]:hover,.wpdt-c .label-info[href]:focus{background-color:#008fa1}.wpdt-c .label-warning{background-color:#FF9800}.wpdt-c .label-warning[href]:hover,.wpdt-c .label-warning[href]:focus{background-color:#cc7a00}.wpdt-c .label-danger{background-color:#F44336}.wpdt-c .label-danger[href]:hover,.wpdt-c .label-danger[href]:focus{background-color:#ea1c0d}.wpdt-c .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:400;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#2196F3;border-radius:2px}.wpdt-c .badge:empty{display:none}.wpdt-c .btn .badge{position:relative;top:-1px}.wpdt-c .btn-xs .badge,.wpdt-c .btn-group-xs>.btn .badge{top:0;padding:1px 5px}.wpdt-c a.badge:hover,.wpdt-c a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.wpdt-c .list-group-item.active>.badge,.wpdt-c .nav-pills>.active>a>.badge{color:#fff;background-color:#2196F3}.wpdt-c .list-group-item>.badge{float:right}.wpdt-c .list-group-item>.badge+.badge{margin-right:5px}.wpdt-c .nav-pills>li>a>.badge{margin-left:3px}.wpdt-c .jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#F7F7F7}.wpdt-c .jumbotron h1,.wpdt-c .jumbotron .h1{color:inherit}.wpdt-c .jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.wpdt-c .jumbotron>hr{border-top-color:#dedede}.wpdt-c .container .jumbotron,.wpdt-c .container-fluid .jumbotron{border-radius:2px;padding-left:15px;padding-right:15px}.wpdt-c .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.wpdt-c .jumbotron{padding-top:48px;padding-bottom:48px}.wpdt-c .container .jumbotron,.wpdt-c .container-fluid .jumbotron{padding-left:60px;padding-right:60px}.wpdt-c .jumbotron h1,.wpdt-c .jumbotron .h1{font-size:59px}}.wpdt-c .thumbnail{display:block;padding:3px;margin-bottom:18px;line-height:1.42857143;background-color:#fff;border:1px solid #EDEDED;border-radius:2px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.wpdt-c .thumbnail>img,.wpdt-c .thumbnail a>img{margin-left:auto;margin-right:auto}.wpdt-c a.thumbnail:hover,.wpdt-c a.thumbnail:focus,.wpdt-c a.thumbnail.active{border-color:#2196F3}.wpdt-c .thumbnail .caption{padding:10px 15px;color:#5E5E5E}.wpdt-c.alert,.wpdt-c .alert{padding:12px;margin-bottom:18px;border:1px solid transparent;background:#F4F5F7;border-radius:3px}.wpdt-c.alert h4 .wpdt-c .alert h4{margin-top:0;color:inherit}.wpdt-c.alert .alert-link,.wpdt-c .alert .alert-link{font-weight:700}.wpdt-c.alert>p,.wpdt-c.alert>ul,.wpdt-c .alert>p,.wpdt-c .alert>ul{margin-bottom:0}.wpdt-c.alert>p+p,.wpdt-c .alert>p+p{margin-top:5px}.wpdt-c.alert-dismissable,.wpdt-c.alert-dismissible,.wpdt-c .alert-dismissable,.wpdt-c .alert-dismissible{padding-right:35px}.wpdt-c.alert-dismissable .close,.wpdt-c.alert-dismissible .close,.wpdt-c .alert-dismissable .close,.wpdt-c .alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.wpdt-c.alert-success,.wpdt-c .alert-success{background-color:#4CAF50;border-color:transparent;color:#fff}.wpdt-c.alert-success hr,.wpdt-c .alert-success hr{border-top-color:rgba(0,0,0,0)}.wpdt-c.alert-success .alert-link,.wpdt-c .alert-success .alert-link{color:#e6e6e6}.wpdt-c.alert-info i.wpdt-icon-times-full,.wpdt-c .alert-info i.wpdt-icon-times-full{font-size:15px;line-height:20px;color:#8796AF}.wpdt-c.alert-info,.wpdt-c .alert-info{background:#F4F5F7;border-radius:3px}.wpdt-c.alert-info hr,.wpdt-c .alert-info hr{border-top-color:rgba(0,0,0,0)}.wpdt-c.alert-info .alert-link,.wpdt-c .alert-info .alert-link{color:#e6e6e6}.wpdt-c.alert-warning,.wpdt-c .alert-warning{background-color:#FFC107;border-color:transparent;color:#fff}.wpdt-c.alert-warning hr,.wpdt-c .alert-warning hr{border-top-color:rgba(0,0,0,0)}.wpdt-c.alert-warning .alert-link,.wpdt-c .alert-warning .alert-link{color:#e6e6e6}.wpdt-c.alert-danger,.wpdt-c .alert-danger{background:rgba(240,62,62,.06);border-radius:3px;font-weight:500;font-size:12px;line-height:16px;color:#F03E3E;border-color:transparent}.wpdt-c.alert-danger hr,.wpdt-c .alert-danger hr{border-top-color:rgba(0,0,0,0)}.wpdt-c .alert-danger .alert-link,.wpdt-c.alert-danger .alert-link{color:#e6e6e6}@-webkit-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}}.wpdt-c .progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.wpdt-c .progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:18px;color:#fff;text-align:center;background-color:#2196F3;-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 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.wpdt-c .progress-striped .progress-bar,.wpdt-c .progress-bar-striped{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);background-size:40px 40px}.wpdt-c .progress.active .progress-bar,.wpdt-c .progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.wpdt-c .progress-bar-success{background-color:#4CAF50}.wpdt-c .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)}.wpdt-c .progress-bar-info{background-color:#00BCD4}.wpdt-c .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)}.wpdt-c .progress-bar-warning{background-color:#FF9800}.wpdt-c .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)}.wpdt-c .progress-bar-danger{background-color:#F44336}.wpdt-c .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)}.wpdt-c .media{margin-top:15px}.wpdt-c .media:first-child{margin-top:0}.wpdt-c .media,.wpdt-c .media-body{zoom:1;overflow:hidden}.wpdt-c .media-body{width:10000px}.wpdt-c .media-object{display:block}.wpdt-c .media-object.img-thumbnail{max-width:none}.wpdt-c .media-right,.wpdt-c .media>.pull-right{padding-left:10px}.wpdt-c .media-left,.wpdt-c .media>.pull-left{padding-right:10px}.wpdt-c .media-left,.wpdt-c .media-right,.wpdt-c .media-body{display:table-cell;vertical-align:top}.wpdt-c .media-middle{vertical-align:middle}.wpdt-c .media-bottom{vertical-align:bottom}.wpdt-c .media-heading{margin-top:0;margin-bottom:5px}.wpdt-c .media-list{padding-left:0;list-style:none}.wpdt-c .list-group{margin-bottom:20px;padding-left:0}.wpdt-c .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:transparent;border:1px solid #E9E9E9}.wpdt-c .list-group-item:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.wpdt-c .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.wpdt-c a.list-group-item,.wpdt-c button.list-group-item{color:#555}.wpdt-c a.list-group-item .list-group-item-heading,.wpdt-c button.list-group-item .list-group-item-heading{color:#333}.wpdt-c a.list-group-item:hover,.wpdt-c button.list-group-item:hover,.wpdt-c a.list-group-item:focus,.wpdt-c button.list-group-item:focus{text-decoration:none;color:#555;background-color:#F7F7F7}.wpdt-c button.list-group-item{width:100%;text-align:left}.wpdt-c .list-group-item.disabled,.wpdt-c .list-group-item.disabled:hover,.wpdt-c .list-group-item.disabled:focus{background-color:#fff;color:#B5B4B4;cursor:not-allowed}.wpdt-c .list-group-item.disabled .list-group-item-heading,.wpdt-c .list-group-item.disabled:hover .list-group-item-heading,.wpdt-c .list-group-item.disabled:focus .list-group-item-heading{color:inherit}.wpdt-c .list-group-item.disabled .list-group-item-text,.wpdt-c .list-group-item.disabled:hover .list-group-item-text,.wpdt-c .list-group-item.disabled:focus .list-group-item-text{color:#B5B4B4}.wpdt-c .list-group-item.active,.wpdt-c .list-group-item.active:hover,.wpdt-c .list-group-item.active:focus{z-index:2;color:#000;background-color:#f5f5f5;border-color:#e9e9e9}.wpdt-c .list-group-item.active .list-group-item-heading,.wpdt-c .list-group-item.active:hover .list-group-item-heading,.wpdt-c .list-group-item.active:focus .list-group-item-heading,.wpdt-c .list-group-item.active .list-group-item-heading>small,.wpdt-c .list-group-item.active:hover .list-group-item-heading>small,.wpdt-c .list-group-item.active:focus .list-group-item-heading>small,.wpdt-c .list-group-item.active .list-group-item-heading>.small,.wpdt-c .list-group-item.active:hover .list-group-item-heading>.small,.wpdt-c .list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.wpdt-c .list-group-item.active .list-group-item-text,.wpdt-c .list-group-item.active:hover .list-group-item-text,.wpdt-c .list-group-item.active:focus .list-group-item-text{color:#fff}.wpdt-c .list-group-item-success{color:#67bd6a;background-color:#67bd6a}.wpdt-c a.list-group-item-success,.wpdt-c button.list-group-item-success{color:#67bd6a}.wpdt-c a.list-group-item-success .list-group-item-heading,.wpdt-c button.list-group-item-success .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-success:hover,.wpdt-c button.list-group-item-success:hover,.wpdt-c a.list-group-item-success:focus,.wpdt-c button.list-group-item-success:focus{color:#67bd6a;background-color:#55b559}.wpdt-c a.list-group-item-success.active,.wpdt-c button.list-group-item-success.active,.wpdt-c a.list-group-item-success.active:hover,.wpdt-c button.list-group-item-success.active:hover,.wpdt-c a.list-group-item-success.active:focus,.wpdt-c button.list-group-item-success.active:focus{color:#fff;background-color:#67bd6a;border-color:#67bd6a}.wpdt-c .list-group-item-info{color:#31708f;background-color:#d9edf7}.wpdt-c a.list-group-item-info,.wpdt-c button.list-group-item-info{color:#31708f}.wpdt-c a.list-group-item-info .list-group-item-heading,.wpdt-c button.list-group-item-info .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-info:hover,.wpdt-c button.list-group-item-info:hover,.wpdt-c a.list-group-item-info:focus,.wpdt-c button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}.wpdt-c a.list-group-item-info.active,.wpdt-c button.list-group-item-info.active,.wpdt-c a.list-group-item-info.active:hover,.wpdt-c button.list-group-item-info.active:hover,.wpdt-c a.list-group-item-info.active:focus,.wpdt-c button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.wpdt-c .list-group-item-warning{color:#ffa829;background-color:#ffa829}.wpdt-c a.list-group-item-warning,.wpdt-c button.list-group-item-warning{color:#ffa829}.wpdt-c a.list-group-item-warning .list-group-item-heading,.wpdt-c button.list-group-item-warning .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-warning:hover,.wpdt-c button.list-group-item-warning:hover,.wpdt-c a.list-group-item-warning:focus,.wpdt-c button.list-group-item-warning:focus{color:#ffa829;background-color:#ff9e0f}.wpdt-c a.list-group-item-warning.active,.wpdt-c button.list-group-item-warning.active,.wpdt-c a.list-group-item-warning.active:hover,.wpdt-c button.list-group-item-warning.active:hover,.wpdt-c a.list-group-item-warning.active:focus,.wpdt-c button.list-group-item-warning.active:focus{color:#fff;background-color:#ffa829;border-color:#ffa829}.wpdt-c .list-group-item-danger{color:#f6675d;background-color:#f6675d}.wpdt-c a.list-group-item-danger,.wpdt-c button.list-group-item-danger{color:#f6675d}.wpdt-c a.list-group-item-danger .list-group-item-heading,.wpdt-c button.list-group-item-danger .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-danger:hover,.wpdt-c button.list-group-item-danger:hover,.wpdt-c a.list-group-item-danger:focus,.wpdt-c button.list-group-item-danger:focus{color:#f6675d;background-color:#f55145}.wpdt-c a.list-group-item-danger.active,.wpdt-c button.list-group-item-danger.active,.wpdt-c a.list-group-item-danger.active:hover,.wpdt-c button.list-group-item-danger.active:hover,.wpdt-c a.list-group-item-danger.active:focus,.wpdt-c button.list-group-item-danger.active:focus{color:#fff;background-color:#f6675d;border-color:#f6675d}.wpdt-c .list-group-item-heading{margin-top:0;margin-bottom:5px}.wpdt-c .list-group-item-text{margin-bottom:0;line-height:1.3}.wpdt-c .panel{margin-bottom:18px;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.wpdt-c .panel-body{padding:15px}.wpdt-c .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:1px;border-top-left-radius:1px}.wpdt-c .panel-heading>.dropdown .dropdown-toggle{color:inherit}.wpdt-c .panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.wpdt-c .panel-title>a,.wpdt-c .panel-title>small,.wpdt-c .panel-title>.small,.wpdt-c .panel-title>small>a,.wpdt-c .panel-title>.small>a{color:inherit}.wpdt-c .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.wpdt-c .panel>.list-group,.wpdt-c .panel>.panel-collapse>.list-group{margin-bottom:0}.wpdt-c .panel>.list-group .list-group-item,.wpdt-c .panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.wpdt-c .panel>.list-group:first-child .list-group-item:first-child,.wpdt-c .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:1px;border-top-left-radius:1px}.wpdt-c .panel>.list-group:last-child .list-group-item:last-child,.wpdt-c .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.wpdt-c .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.wpdt-c .list-group+.panel-footer{border-top-width:0}.wpdt-c .panel>.table,.wpdt-c .panel>.table-responsive>.table,.wpdt-c .panel>.panel-collapse>.table{margin-bottom:0}.wpdt-c .panel>.table caption,.wpdt-c .panel>.table-responsive>.table caption,.wpdt-c .panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.wpdt-c .panel>.table:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:1px;border-top-left-radius:1px}.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:1px;border-top-right-radius:1px}.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:1px}.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:1px}.wpdt-c .panel>.table:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:1px;border-bottom-left-radius:1px}.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:1px;border-bottom-right-radius:1px}.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:1px}.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:1px}.wpdt-c .panel>.panel-body+.table,.wpdt-c .panel>.panel-body+.table-responsive,.wpdt-c .panel>.table+.panel-body,.wpdt-c .panel>.table-responsive+.panel-body{border-top:1px solid #F5F5F5}.wpdt-c .panel>.table>tbody:first-child>tr:first-child th,.wpdt-c .panel>.table>tbody:first-child>tr:first-child td{border-top:0}.wpdt-c .panel>.table-bordered,.wpdt-c .panel>.table-responsive>.table-bordered{border:0}.wpdt-c .panel>.table-bordered>thead>tr>th:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.wpdt-c .panel>.table-bordered>tbody>tr>th:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.wpdt-c .panel>.table-bordered>tfoot>tr>th:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.wpdt-c .panel>.table-bordered>thead>tr>td:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.wpdt-c .panel>.table-bordered>tbody>tr>td:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.wpdt-c .panel>.table-bordered>tfoot>tr>td:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.wpdt-c .panel>.table-bordered>thead>tr>th:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.wpdt-c .panel>.table-bordered>tbody>tr>th:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.wpdt-c .panel>.table-bordered>tfoot>tr>th:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.wpdt-c .panel>.table-bordered>thead>tr>td:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.wpdt-c .panel>.table-bordered>tbody>tr>td:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.wpdt-c .panel>.table-bordered>tfoot>tr>td:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.wpdt-c .panel>.table-bordered>thead>tr:first-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.wpdt-c .panel>.table-bordered>tbody>tr:first-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.wpdt-c .panel>.table-bordered>thead>tr:first-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.wpdt-c .panel>.table-bordered>tbody>tr:first-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.wpdt-c .panel>.table-bordered>tbody>tr:last-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.wpdt-c .panel>.table-bordered>tfoot>tr:last-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.wpdt-c .panel>.table-bordered>tbody>tr:last-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.wpdt-c .panel>.table-bordered>tfoot>tr:last-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.wpdt-c .panel>.table-responsive{border:0;margin-bottom:0}.wpdt-c .panel-group{margin-bottom:18px}.wpdt-c .panel-group .panel{margin-bottom:0;border-radius:2px}.wpdt-c .panel-group .panel+.panel{margin-top:5px}.wpdt-c .panel-group .panel-heading{border-bottom:0}.wpdt-c .panel-group .panel-heading+.panel-collapse>.panel-body,.wpdt-c .panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.wpdt-c .panel-group .panel-footer{border-top:0}.wpdt-c .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.wpdt-c .panel-default{border-color:#ddd}.wpdt-c .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.wpdt-c .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.wpdt-c .panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.wpdt-c .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.wpdt-c .panel-primary{border-color:#2196F3}.wpdt-c .panel-primary>.panel-heading{color:#fff;background-color:#2196F3;border-color:#2196F3}.wpdt-c .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2196F3}.wpdt-c .panel-primary>.panel-heading .badge{color:#2196F3;background-color:#fff}.wpdt-c .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2196F3}.wpdt-c .panel-success{border-color:#61b555}.wpdt-c .panel-success>.panel-heading{color:#67bd6a;background-color:#67bd6a;border-color:#61b555}.wpdt-c .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#61b555}.wpdt-c .panel-success>.panel-heading .badge{color:#67bd6a;background-color:#67bd6a}.wpdt-c .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#61b555}.wpdt-c .panel-info{border-color:#bce8f1}.wpdt-c .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.wpdt-c .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.wpdt-c .panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.wpdt-c .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.wpdt-c .panel-warning{border-color:#ff760f}.wpdt-c .panel-warning>.panel-heading{color:#ffa829;background-color:#ffa829;border-color:#ff760f}.wpdt-c .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ff760f}.wpdt-c .panel-warning>.panel-heading .badge{color:#ffa829;background-color:#ffa829}.wpdt-c .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ff760f}.wpdt-c .panel-danger{border-color:#f54556}.wpdt-c .panel-danger>.panel-heading{color:#f6675d;background-color:#f6675d;border-color:#f54556}.wpdt-c .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f54556}.wpdt-c .panel-danger>.panel-heading .badge{color:#f6675d;background-color:#f6675d}.wpdt-c .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f54556}.wpdt-c .embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.wpdt-c .embed-responsive .embed-responsive-item,.wpdt-c .embed-responsive iframe,.wpdt-c .embed-responsive embed,.wpdt-c .embed-responsive object,.wpdt-c .embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.wpdt-c .embed-responsive-16by9{padding-bottom:56.25%}.wpdt-c .embed-responsive-4by3{padding-bottom:75%}.wpdt-c .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.wpdt-c .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.wpdt-c .well-lg{padding:24px;border-radius:2px}.wpdt-c .well-sm{padding:9px;border-radius:2px}.wpdt-c .close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.wpdt-c .close:hover,.wpdt-c .close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.wpdt-c button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.wpdt-c .modal-open{overflow:hidden}.wpdt-c .modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;-webkit-overflow-scrolling:touch;outline:0;overflow-y:auto}.wpdt-c .modal.fade{text-align:center}.wpdt-c .modal.fade:before{content:'';height:100%;width:1px;display:inline-block;vertical-align:middle}@media (max-width:767px){.wpdt-c .modal.fade:before{height:inherit}}.wpdt-c .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.wpdt-c .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.wpdt-c .modal-open .modal{overflow-x:hidden;overflow-y:auto}.wpdt-c .modal-dialog{position:relative;width:auto;margin:10px;text-align:left;display:inline-block;vertical-align:middle}.wpdt-c .modal-content{position:relative;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.wpdt-c .modal-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background-color:#000}.wpdt-c .modal-backdrop.fade,.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.wpdt-c .modal-backdrop.in,.modal-backdrop.in{opacity:.4;filter:alpha(opacity=50)}.wpdt-c .modal-header{padding:15px;border-bottom:1px solid transparent}.wpdt-c .modal-header .close{margin-top:-2px}.wpdt-c .modal-title{margin:0;line-height:1.42857143}.wpdt-c .modal-body{position:relative;padding:15px}.wpdt-c .modal-footer{padding:15px;text-align:right;border-top:1px solid transparent;clear:both}.wpdt-c .modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.wpdt-c .modal-footer .btn-group .btn+.btn{margin-left:-1px}.wpdt-c .modal-footer .btn-block+.btn-block{margin-left:0}.wpdt-c .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.wpdt-c .modal-dialog{width:600px;margin:30px auto}.wpdt-c .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.wpdt-c .modal-sm{width:300px}}@media (min-width:992px){.wpdt-c .modal-lg{width:900px}}.wpdt-c .tooltip{position:absolute;z-index:1070;display:block;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.wpdt-c .tooltip.in{opacity:1;filter:alpha(opacity=100)}.wpdt-c .tooltip.top{margin-top:-3px;padding:5px 0}.wpdt-c .tooltip.right{margin-left:3px;padding:0 5px}.wpdt-c .tooltip.bottom{margin-top:3px;padding:5px 0}.wpdt-c .tooltip.left{margin-left:-3px;padding:0 5px}.wpdt-c .tooltip-inner{max-width:200px;padding:3px 8px;font-family:Inter;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#FFF;text-align:left;background-color:#061938;border-radius:3px}.wpdt-c #wdt-tour-actions .tooltip-inner{text-align:center}.wpdt-c .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.wpdt-c .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#061938}.wpdt-c .tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#061938}.wpdt-c .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#061938}.wpdt-c .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#061938}.wpdt-c .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#061938}.wpdt-c .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#061938}.wpdt-c .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#061938}.wpdt-c .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#061938}.wpdt-c .popover{position:absolute;top:0;left:0;z-index:9;display:none;max-width:276px;padding:1px;letter-spacing:normal;line-break:auto;text-align:left;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;background-clip:padding-box;border:1px solid #fff;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);font-family:Inter;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#FFF;background-color:#061938;border-radius:3px}.wpdt-c .popover.top{margin-top:-10px}.wpdt-c .popover.right{margin-left:10px}.wpdt-c .popover.bottom{margin-top:10px}.wpdt-c .popover.left{margin-left:-10px}.wpdt-c .popover-title{margin:0;padding:8px 14px;font-size:13px;color:#FFF;background-color:#061938}.wpdt-c .popover-content{padding:9px 14px}.wpdt-c .popover>.arrow,.wpdt-c .popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.wpdt-c .popover>.arrow{border-width:11px}.wpdt-c .popover>.arrow:after{border-width:10px;content:""}.wpdt-c .popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#061938;bottom:-11px}.wpdt-c .popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#061938}.wpdt-c .popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;margin-left:0;border-left-width:0;border-right-color:#061938}.wpdt-c .popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#061938}.wpdt-c .popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#061938;top:-11px}.wpdt-c .popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#061938}.wpdt-c .popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#061938}.wpdt-c .popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#061938;bottom:-10px}.wpdt-c .carousel{position:relative}.wpdt-c .carousel-inner{position:relative;overflow:hidden;width:100%}.wpdt-c .carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.wpdt-c .carousel-inner>.item>img,.wpdt-c .carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.wpdt-c .carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.wpdt-c .carousel-inner>.item.next,.wpdt-c .carousel-inner>.item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.wpdt-c .carousel-inner>.item.prev,.wpdt-c .carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.wpdt-c .carousel-inner>.item.next.left,.wpdt-c .carousel-inner>.item.prev.right,.wpdt-c .carousel-inner>.item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.wpdt-c .carousel-inner>.active,.wpdt-c .carousel-inner>.next,.wpdt-c .carousel-inner>.prev{display:block}.wpdt-c .carousel-inner>.active{left:0}.wpdt-c .carousel-inner>.next,.wpdt-c .carousel-inner>.prev{position:absolute;top:0;width:100%}.wpdt-c .carousel-inner>.next{left:100%}.wpdt-c .carousel-inner>.prev{left:-100%}.wpdt-c .carousel-inner>.next.left,.wpdt-c .carousel-inner>.prev.right{left:0}.wpdt-c .carousel-inner>.active.left{left:-100%}.wpdt-c .carousel-inner>.active.right{left:100%}.wpdt-c .carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);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)}.wpdt-c .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:linear-gradient(to right,rgba(0,0,0,.5) 0%,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.wpdt-c .carousel-control.right{left:auto;right:0;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:linear-gradient(to right,rgba(0,0,0,.0001) 0%,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.wpdt-c .carousel-control:hover,.wpdt-c .carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.wpdt-c .carousel-control .icon-prev,.wpdt-c .carousel-control .icon-next,.wpdt-c .carousel-control .glyphicon-chevron-left,.wpdt-c .carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.wpdt-c .carousel-control .icon-prev,.wpdt-c .carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.wpdt-c .carousel-control .icon-next,.wpdt-c .carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.wpdt-c .carousel-control .icon-prev,.wpdt-c .carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.wpdt-c .carousel-control .icon-prev:before{content:'\2039'}.wpdt-c .carousel-control .icon-next:before{content:'\203a'}.wpdt-c .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.wpdt-c .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.wpdt-c .carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.wpdt-c .carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.wpdt-c .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.wpdt-c .carousel-control .glyphicon-chevron-left,.wpdt-c .carousel-control .glyphicon-chevron-right,.wpdt-c .carousel-control .icon-prev,.wpdt-c .carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.wpdt-c .carousel-control .glyphicon-chevron-left,.wpdt-c .carousel-control .icon-prev{margin-left:-10px}.wpdt-c .carousel-control .glyphicon-chevron-right,.wpdt-c .carousel-control .icon-next{margin-right:-10px}.wpdt-c .carousel-caption{left:20%;right:20%;padding-bottom:30px}.wpdt-c .carousel-indicators{bottom:20px}}.wpdt-c .clearfix:before,.wpdt-c .clearfix:after,.wpdt-c .dl-horizontal dd:before,.wpdt-c .dl-horizontal dd:after,.wpdt-c .container:before,.wpdt-c .container:after,.wpdt-c .container-fluid:before,.wpdt-c .container-fluid:after,.wpdt-c .row:before,.wpdt-c .row:after,.wpdt-c .form-horizontal .form-group:before,.wpdt-c .form-horizontal .form-group:after,.wpdt-c .btn-toolbar:before,.wpdt-c .btn-toolbar:after,.wpdt-c .btn-group-vertical>.btn-group:before,.wpdt-c .btn-group-vertical>.btn-group:after,.wpdt-c .nav:before,.wpdt-c .nav:after,.wpdt-c .navbar:before,.wpdt-c .navbar:after,.wpdt-c .navbar-header:before,.wpdt-c .navbar-header:after,.wpdt-c .navbar-collapse:before,.wpdt-c .navbar-collapse:after,.wpdt-c .pager:before,.wpdt-c .pager:after,.wpdt-c .panel-body:before,.wpdt-c .panel-body:after,.wpdt-c .modal-header:before,.wpdt-c .modal-header:after,.wpdt-c .modal-footer:before,.wpdt-c .modal-footer:after{content:" ";display:table}.wpdt-c .clearfix:after,.wpdt-c .dl-horizontal dd:after,.wpdt-c .container:after,.wpdt-c .container-fluid:after,.wpdt-c .row:after,.wpdt-c .form-horizontal .form-group:after,.wpdt-c .btn-toolbar:after,.wpdt-c .btn-group-vertical>.btn-group:after,.wpdt-c .nav:after,.wpdt-c .navbar:after,.wpdt-c .navbar-header:after,.wpdt-c .navbar-collapse:after,.wpdt-c .pager:after,.wpdt-c .panel-body:after,.wpdt-c .modal-header:after,.wpdt-c .modal-footer:after{clear:both}.wpdt-c .center-block{display:block;margin-left:auto;margin-right:auto}.wpdt-c .pull-right{float:right!important}.wpdt-c .pull-left{float:left!important}.wpdt-c .hide{display:none!important}.wpdt-c .show{display:block!important}.wpdt-c .invisible{visibility:hidden}.wpdt-c .hidden{display:none!important}.wpdt-c .affix{position:fixed}.wpdt-c .visible-xs,.wpdt-c .visible-sm,.wpdt-c .visible-md,.wpdt-c .visible-lg{display:none!important}.wpdt-c .visible-xs-block,.wpdt-c .visible-xs-inline,.wpdt-c .visible-xs-inline-block,.wpdt-c .visible-sm-block,.wpdt-c .visible-sm-inline,.wpdt-c .visible-sm-inline-block,.wpdt-c .visible-md-block,.wpdt-c .visible-md-inline,.wpdt-c .visible-md-inline-block,.wpdt-c .visible-lg-block,.wpdt-c .visible-lg-inline,.wpdt-c .visible-lg-inline-block{display:none!important}@media (max-width:767px){.wpdt-c .visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.wpdt-c .visible-xs-block{display:block!important}}@media (max-width:767px){.wpdt-c .visible-xs-inline{display:inline!important}}@media (max-width:767px){.wpdt-c .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.wpdt-c .visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.wpdt-c .visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.wpdt-c .visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.wpdt-c .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.wpdt-c .visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.wpdt-c .visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.wpdt-c .visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.wpdt-c .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.wpdt-c .visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.wpdt-c .visible-lg-block{display:block!important}}@media (min-width:1200px){.wpdt-c .visible-lg-inline{display:inline!important}}@media (min-width:1200px){.wpdt-c .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}}.wpdt-c .visible-print{display:none!important}@media print{.wpdt-c .visible-print{display:block!important}.wpdt-c table.visible-print{display:table!important}.wpdt-c tr.visible-print{display:table-row!important}.wpdt-c th.visible-print,.wpdt-c td.visible-print{display:table-cell!important}}.wpdt-c .visible-print-block{display:none!important}@media print{.wpdt-c .visible-print-block{display:block!important}}.wpdt-c .visible-print-inline{display:none!important}@media print{.wpdt-c .visible-print-inline{display:inline!important}}.wpdt-c .visible-print-inline-block{display:none!important}@media print{.wpdt-c .visible-print-inline-block{display:inline-block!important}}@media print{.wpdt-c .hidden-print{display:none!important}}.wpdt-c #weather-widget [class*="icon-"]{font-family:'weather-icons';font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wpdt-c .icon-0:before{content:":"}.wpdt-c .icon-1:before{content:"p"}.wpdt-c .icon-2:before{content:"S"}.wpdt-c .icon-3:before{content:"Q"}.wpdt-c .icon-4:before{content:"S"}.wpdt-c .icon-5:before{content:"W"}.wpdt-c .icon-6:before{content:"W"}.wpdt-c .icon-7:before{content:"W"}.wpdt-c .icon-8:before{content:"W"}.wpdt-c .icon-9:before{content:"I"}.wpdt-c .icon-10:before{content:"W"}.wpdt-c .icon-11:before{content:"I"}.wpdt-c .icon-12:before{content:"I"}.wpdt-c .icon-13:before{content:"I"}.wpdt-c .icon-14:before{content:"I"}.wpdt-c .icon-15:before{content:"W"}.wpdt-c .icon-16:before{content:"I"}.wpdt-c .icon-17:before{content:"W"}.wpdt-c .icon-18:before{content:"U"}.wpdt-c .icon-19:before{content:"Z"}.wpdt-c .icon-20:before{content:"Z"}.wpdt-c .icon-21:before{content:"Z"}.wpdt-c .icon-22:before{content:"Z"}.wpdt-c .icon-23:before{content:"Z"}.wpdt-c .icon-24:before{content:"E"}.wpdt-c .icon-25:before{content:"E"}.wpdt-c .icon-26:before{content:"3"}.wpdt-c .icon-27:before{content:"a"}.wpdt-c .icon-28:before{content:"A"}.wpdt-c .icon-29:before{content:"a"}.wpdt-c .icon-30:before{content:"A"}.wpdt-c .icon-31:before{content:"6"}.wpdt-c .icon-32:before{content:"1"}.wpdt-c .icon-33:before{content:"6"}.wpdt-c .icon-34:before{content:"1"}.wpdt-c .icon-35:before{content:"W"}.wpdt-c .icon-36:before{content:"1"}.wpdt-c .icon-37:before{content:"S"}.wpdt-c .icon-38:before{content:"S"}.wpdt-c .icon-39:before{content:"S"}.wpdt-c .icon-40:before{content:"M"}.wpdt-c .icon-41:before{content:"W"}.wpdt-c .icon-42:before{content:"I"}.wpdt-c .icon-43:before{content:"W"}.wpdt-c .icon-44:before{content:"a"}.wpdt-c .icon-45:before{content:"S"}.wpdt-c .icon-46:before{content:"U"}.wpdt-c .icon-47:before{content:"S"}.wpdt-c .btn-file{overflow:hidden;position:relative;vertical-align:middle}.wpdt-c .btn-file>input{position:absolute;top:0;right:0;margin:0;opacity:0;filter:alpha(opacity=0);font-size:23px;height:100%;width:100%;direction:ltr;cursor:pointer}.wpdt-c .fileinput{margin-bottom:9px;display:inline-block}.wpdt-c .fileinput .form-control{padding-top:7px;padding-bottom:5px;display:inline-block;margin-bottom:0;vertical-align:middle;cursor:text}.wpdt-c .fileinput .thumbnail{overflow:hidden;display:inline-block;margin-bottom:5px;vertical-align:middle;text-align:center}.wpdt-c .fileinput .thumbnail>img{max-height:100%}.wpdt-c .fileinput .btn{vertical-align:middle}.wpdt-c .fileinput-exists .fileinput-new,.wpdt-c .fileinput-new .fileinput-exists{display:none}.wpdt-c .fileinput-inline .fileinput-controls{display:inline}.wpdt-c .fileinput-filename{vertical-align:middle;display:inline-block;overflow:hidden}.wpdt-c .form-control .fileinput-filename{vertical-align:bottom}.wpdt-c .fileinput.input-group{display:table}.wpdt-c .fileinput.input-group>*{position:relative;z-index:2}.wpdt-c .fileinput.input-group>.btn-file{z-index:1}.wpdt-c .fileinput-new.input-group .btn-file,.wpdt-c .fileinput-new .input-group .btn-file{border-radius:0 2px 2px 0}.wpdt-c .fileinput-new.input-group .btn-file.btn-xs,.wpdt-c .fileinput-new .input-group .btn-file.btn-xs,.wpdt-c .fileinput-new.input-group .btn-file.btn-sm,.wpdt-c .fileinput-new .input-group .btn-file.btn-sm{border-radius:0 2px 2px 0}.wpdt-c .fileinput-new.input-group .btn-file.btn-lg,.wpdt-c .fileinput-new .input-group .btn-file.btn-lg{border-radius:0 2px 2px 0}.wpdt-c .form-group.has-warning .fileinput .fileinput-preview{color:#ffa829}.wpdt-c .form-group.has-warning .fileinput .thumbnail{border-color:#ff760f}.wpdt-c .form-group.has-error .fileinput .fileinput-preview{color:#f6675d}.wpdt-c .form-group.has-error .fileinput .thumbnail{border-color:#f54556}.wpdt-c .form-group.has-success .fileinput .fileinput-preview{color:#67bd6a}.wpdt-c .form-group.has-success .fileinput .thumbnail{border-color:#61b555}.wpdt-c .input-group-addon:not(:first-child){border-left:0}.wpdt-c .m-0{margin:0px!important}.wpdt-c .m-t-0{margin-top:0px!important}.wpdt-c .m-b-0{margin-bottom:0px!important}.wpdt-c .m-l-0{margin-left:0px!important}.wpdt-c .m-r-0{margin-right:0px!important}.wpdt-c .m-5{margin:5px!important}.wpdt-c .m-t-5{margin-top:5px!important}.wpdt-c .m-b-4{margin-bottom:4px!important}.wpdt-c .m-b-2{margin-bottom:2px!important}.wpdt-c .m-b-5{margin-bottom:5px!important}.wpdt-c .m-l-5{margin-left:5px!important}.wpdt-c .m-r-5{margin-right:5px!important}.wpdt-c .m-10{margin:10px!important}.wpdt-c .m-t-10{margin-top:10px!important}.wpdt-c .m-b-10{margin-bottom:10px!important}.wpdt-c .m-l-10{margin-left:10px!important}.wpdt-c .m-r-10{margin-right:10px!important}.wpdt-c .m-15{margin:15px!important}.wpdt-c .m-t-15{margin-top:15px!important}.wpdt-c .m-b-15{margin-bottom:15px!important}.wpdt-c .m-b-16{margin-bottom:16px!important}.wpdt-c .m-l-15{margin-left:15px!important}.wpdt-c .m-r-15{margin-right:15px!important}.wpdt-c .m-t-18{margin-top:18px!important}.wpdt-c .m-b-18{margin-bottom:18px!important}.wpdt-c .m-l-18{margin-left:18px!important}.wpdt-c .m-r-18{margin-right:18px!important}.wpdt-c .m-18{margin:18px!important}.wpdt-c .m-20{margin:20px!important}.wpdt-c .m-t-20{margin-top:20px!important}.wpdt-c .m-b-20{margin-bottom:20px!important}.wpdt-c .m-l-20{margin-left:20px!important}.wpdt-c .m-r-20{margin-right:20px!important}.wpdt-c .m-25{margin:25px!important}.wpdt-c .m-t-25{margin-top:25px!important}.wpdt-c .m-b-25{margin-bottom:25px!important}.wpdt-c .m-l-25{margin-left:25px!important}.wpdt-c .m-r-25{margin-right:25px!important}.wpdt-c .m-30{margin:30px!important}.wpdt-c .m-t-30{margin-top:30px!important}.wpdt-c .m-b-30{margin-bottom:30px!important}.wpdt-c .m-l-30{margin-left:30px!important}.wpdt-c .m-r-30{margin-right:30px!important}.wpdt-c .p-0{padding:0px!important}.wpdt-c .p-t-0{padding-top:0px!important}.wpdt-c .p-b-0{padding-bottom:0px!important}.wpdt-c .p-l-0{padding-left:0px!important}.wpdt-c .p-r-0{padding-right:0px!important}.wpdt-c .p-5{padding:5px!important}.wpdt-c .p-t-4{padding-top:4px!important}.wpdt-c .p-b-4{padding-bottom:4px!important}.wpdt-c .p-t-5{padding-top:5px!important}.wpdt-c .p-b-5{padding-bottom:5px!important}.wpdt-c .p-l-5{padding-left:5px!important}.wpdt-c .p-r-5{padding-right:5px!important}.wpdt-c .p-10{padding:10px!important}.wpdt-c .p-t-10{padding-top:10px!important}.wpdt-c .p-b-10{padding-bottom:10px!important}.wpdt-c .p-l-10{padding-left:10px!important}.wpdt-c .p-r-12{padding-right:12px!important}.wpdt-c .p-t-12{padding-top:12px!important}.wpdt-c .p-b-12{padding-bottom:12px!important}.wpdt-c .p-l-12{padding-left:12px!important}.wpdt-c .p-r-10{padding-right:10px!important}.wpdt-c .p-15{padding:15px!important}.wpdt-c .p-t-15{padding-top:15px!important}.wpdt-c .p-b-15{padding-bottom:15px!important}.wpdt-c .p-l-15{padding-left:15px!important}.wpdt-c .p-r-15{padding-right:15px!important}.wpdt-c .p-20{padding:20px!important}.wpdt-c .p-t-20{padding-top:20px!important}.wpdt-c .p-b-20{padding-bottom:20px!important}.wpdt-c .p-l-20{padding-left:20px!important}.wpdt-c .p-r-20{padding-right:20px!important}.wpdt-c .p-25{padding:25px!important}.wpdt-c .p-t-25{padding-top:25px!important}.wpdt-c .p-b-25{padding-bottom:25px!important}.wpdt-c .p-l-25{padding-left:25px!important}.wpdt-c .p-r-25{padding-right:25px!important}.wpdt-c .p-30{padding:30px!important}.wpdt-c .p-t-30{padding-top:30px!important}.wpdt-c .p-b-30{padding-bottom:30px!important}.wpdt-c .p-l-30{padding-left:30px!important}.wpdt-c .p-r-30{padding-right:30px!important}.wpdt-c .f-8{font-size:8px!important}.wpdt-c .f-9{font-size:9px!important}.wpdt-c .f-10{font-size:10px!important}.wpdt-c .f-11{font-size:11px!important}.wpdt-c .f-12{font-size:12px!important}.wpdt-c .f-13{font-size:13px!important}.wpdt-c .f-14{font-size:14px!important}.wpdt-c .f-15{font-size:15px!important}.wpdt-c .f-16{font-size:16px!important}.wpdt-c .f-17{font-size:17px!important}.wpdt-c .f-18{font-size:18px!important}.wpdt-c .f-19{font-size:19px!important}.wpdt-c .f-20{font-size:20px!important}.wpdt-c .f-300{font-weight:300!important}.wpdt-c .f-400{font-weight:400!important}.wpdt-c .f-500{font-weight:500!important}.wpdt-c .f-600{font-weight:600!important}.wpdt-c .f-700{font-weight:700!important}.wpdt-c .p-relative{position:relative!important}.wpdt-c .p-absolute{position:absolute!important}.wpdt-c .p-fixed{position:fixed!important}.wpdt-c .p-static{position:static!important}.wpdt-c .o-hidden{overflow:hidden!important}.wpdt-c .o-visible{overflow:visible!important}.wpdt-c .o-auto{overflow:auto!important}.wpdt-c .d-block{display:block!important}.wpdt-c .di-block{display:inline-block!important}.wpdt-c .bgm-white{background-color:#ffffff!important}.wpdt-c .c-white{color:#ffffff!important}.wpdt-c .bgm-black{background-color:#000000!important}.wpdt-c .c-black{color:#222222!important}.wpdt-c .c-title-color{color:#061938!important;font-style:normal;font-weight:400}.wpdt-c .bgm-brown{background-color:#795548!important}.wpdt-c .c-brown{color:#795548!important}.wpdt-c .bgm-pink{background-color:#E91E63!important}.wpdt-c .c-pink{color:#E91E63!important}.wpdt-c .bgm-red{background-color:#F44336!important}.wpdt-c .c-red{color:#F44336!important}.wpdt-c .bgm-blue{background-color:#2196F3!important}.wpdt-c .c-blue{color:#2196F3!important}.wpdt-c .bgm-purple{background-color:#BA68C8!important}.wpdt-c .c-purple{color:#BA68C8!important}.wpdt-c .bgm-deeppurple{background-color:#673AB7!important}.wpdt-c .c-deeppurple{color:#673AB7!important}.wpdt-c .bgm-lightblue{background-color:#03A9F4!important}.wpdt-c .c-lightblue{color:#03A9F4!important}.wpdt-c .bgm-cyan{background-color:#709ed0!important}.wpdt-c .c-cyan{color:#00BCD4!important}.wpdt-c .bgm-teal{background-color:#009688!important}.wpdt-c .c-teal{color:#009688!important}.wpdt-c .bgm-green{background-color:#4CAF50!important}.wpdt-c .c-green{color:#4CAF50!important}.wpdt-c .bgm-lightgreen{background-color:#7fc032!important}.wpdt-c .c-lightgreen{color:#7fc032!important}.wpdt-c .bgm-lime{background-color:#CDDC39!important}.wpdt-c .c-lime{color:#CDDC39!important}.wpdt-c .bgm-yellow{background-color:#FFEB3B!important}.wpdt-c .c-yellow{color:#FFEB3B!important}.wpdt-c .bgm-amber{background-color:#FFC107!important}.wpdt-c .c-amber{color:#FFC107!important}.wpdt-c .bgm-orange{background-color:#FF9800!important}.wpdt-c .c-orange{color:#FF9800!important}.wpdt-c .bgm-deeporange{background-color:#FF5722!important}.wpdt-c .c-deeporange{color:#FF5722!important}.wpdt-c .bgm-gray{background-color:#9E9E9E}.wpdt-c .c-gray{color:#9E9E9E!important}.wpdt-c .bgm-bluegray{background-color:#607D8B!important}.wpdt-c .c-bluegray{color:#607D8B!important}.wpdt-c .bgm-indigo{background-color:#3F51B5!important}.wpdt-c .c-indigo{color:#3F51B5!important}.wpdt-c .bg-black-trp{background-color:rgba(0,0,0,.1)!important}.wpdt-c .b-0{border:0!important}.wpdt-c .w-100{width:100%!important}.wpdt-c .brd-2{border-radius:2px}.wpdt-c .media{overflow:visible}.wpdt-c .media:before,.wpdt-c .media:after{content:" ";display:table}.wpdt-c .media:after{clear:both}.wpdt-c .media:before,.wpdt-c .media:after{content:" ";display:table}.wpdt-c .media:after{clear:both}.wpdt-c .media>.pull-left{padding-right:15px}.wpdt-c .media>.pull-right{padding-left:15px}.wpdt-c .media-heading{font-size:14px;margin-bottom:10px}.wpdt-c .media-body{zoom:1;display:block;width:auto}.wpdt-c .media-object{border-radius:2px}.wpdt-c .close{opacity:.5;filter:alpha(opacity=50);font-weight:400;text-shadow:none}.wpdt-c .close:hover{color:inherit;opacity:1;filter:alpha(opacity=100)}.wpdt-c .dl-horizontal dt{text-align:left}.wpdt-c .wdt-datatables-admin-wrap{-webkit-font-smoothing:antialiased}.wpdt-c *,.wpdt-c *:active,.wpdt-c *:hover,.wpdt-c *:focus{outline:none!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}.wpdt-c html:not(.ie9) body{overflow-y:scroll}.wpdt-c html.ismobile *{cursor:pointer}.wpdt-c html,.wpdt-c body{min-height:100vh}.wpdt-c body{font-weight:400;position:relative;overflow-x:hidden}.wpdt-c audio,.wpdt-c video{outline:none}.wpdt-c p{margin-bottom:20px}.wpdt-c h1 small,.wpdt-c .h1 small,.wpdt-c h2 small,.wpdt-c .h2 small,.wpdt-c h3 small,.wpdt-c .h3 small,.wpdt-c h4 small,.wpdt-c .h4 small,.wpdt-c h5 small,.wpdt-c .h5 small,.wpdt-c h6 small,.wpdt-c .h6 small{font-size:12px}.wpdt-c #main{position:relative;padding-bottom:110px;padding-top:100px;min-height:100vh}.wpdt-c .sidebar-toggled #main{height:100vh;overflow:hidden}.wpdt-c .container.container-alt{max-width:1170px}@media (min-width:1280px){.wpdt-c #content:not(.content-alt){padding-left:283px;padding-right:15px}}@media (min-width:768px) and (max-width:1279px){.wpdt-c #content{padding-left:15px;padding-right:15px}}.wpdt-c #content.content-alt{max-width:1200px;margin:0 auto}.wpdt-c .h-inner{list-style:none;padding:17px 0;margin-bottom:0;position:relative}.wpdt-c .h-inner>li:not(.pull-right){float:left}.wpdt-c .hi-logo a{color:#fff;text-transform:uppercase;display:block;font-size:16px}.wpdt-c .hi-trigger{position:relative;margin-left:-5px;cursor:pointer;display:none!important}.wpdt-c .hi-trigger:before{content:"";position:absolute;top:50%;left:50%;width:45px;height:45px;border-radius:50%;background:rgba(255,255,255,.22);-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);z-index:0;margin-top:-22px;margin-left:-22px}.wpdt-c .hi-trigger.toggled:before{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .hi-menu{list-style:none;padding:0}.wpdt-c .hi-menu>li{display:inline-block;margin:0 1px;vertical-align:top;min-width:50px}@media (max-width:767px){.wpdt-c .hi-menu>li{position:static!important}}.wpdt-c .hi-menu>li .dropdown-menu{top:-5px}.wpdt-c .hi-menu>li .dropdown-menu-lg{padding:0}.wpdt-c .hi-menu>li .dropdown-menu-lg .lg-body{min-height:350px;overflow-x:hidden}.wpdt-c .hi-menu>li>a{color:#fff;display:block;text-align:center;z-index:1;position:relative;-webkit-transition:background-color;-o-transition:background-color;transition:background-color;-webkit-transition-duration:250ms;transition-duration:250ms;border-radius:2px}.wpdt-c .hi-menu>li>a>.him-icon{font-size:24px;line-height:36px}.wpdt-c .hi-menu>li>a>.him-label{line-height:35px;white-space:nowrap;padding:0 10px;font-size:14px;text-transform:uppercase}.wpdt-c .hi-menu>li>a>.him-counts{position:absolute;font-style:normal;background:#F44336;padding:1px 5px;border-radius:2px;right:7px;top:-3px;font-size:10px;line-height:15px}.wpdt-c .hi-menu>li.toggled>a,.wpdt-c .hi-menu>li:hover>a{background-color:rgba(0,0,0,.08)}@media (max-width:767px){.wpdt-c .hi-menu .dropdown-menu-lg{width:calc(100% - 28px)!important}.wpdt-c .hi-menu .dropdown-menu{right:14px;top:55px!important}}.wpdt-c .him-notification:before{content:"";position:absolute;width:100%;height:calc(100% - 70px);-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:scale(0) rotate(-180deg);-ms-transform:scale(0) rotate(-180deg);-o-transform:scale(0) rotate(-180deg);transform:scale(0) rotate(-180deg);opacity:0;filter:alpha(opacity=0);top:42px}.wpdt-c .him-notification.empty:before{-webkit-transform:scale(1) rotate(0deg);-ms-transform:scale(1) rotate(0deg);-o-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg);opacity:1;filter:alpha(opacity=100)}:-webkit-full-screen [data-ma-action="fullscreen"]{display:none}:-moz-full-screen [data-ma-action="fullscreen"]{display:none}:-ms-fullscreen [data-ma-action="fullscreen"]{display:none}:fullscreen [data-ma-action="fullscreen"]{display:none}.wpdt-c #header{box-shadow:0 1px 4px rgba(0,0,0,.3);min-height:70px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:fixed;z-index:11;width:100%;left:0;top:0;padding:0 20px}@media (max-width:767px){.wpdt-c #header{padding:0 8px}}.wpdt-c #header .hi-logo a{padding:7px 10px}.wpdt-c #header .ma-backdrop{position:absolute}@media (max-width:1279px){.wpdt-c #header .hi-trigger{display:inline-block!important}}.wpdt-c #header.search-toggled .h-search-wrap{top:0;opacity:1;filter:alpha(opacity=100)}.wpdt-c .h-search-wrap{position:absolute;top:-65px;left:0;width:100%;height:70px;background:#fff;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms;opacity:0;filter:alpha(opacity=0);z-index:10}.wpdt-c .h-search-wrap input[type="text"]{border:0;height:40px;padding:0 10px 0 55px;font-size:18px;border-radius:2px;background-color:#efefef;width:100%}.wpdt-c .h-search-wrap .hsw-close{position:absolute;top:15px;font-size:23px;font-style:normal;width:45px;text-align:center;border-radius:2px 0 0 2px;cursor:pointer;left:15px;height:40px;padding-top:9px}.wpdt-c .h-search-wrap .hsw-close:hover{background-color:#e3e3e3}@media (max-width:767px){.wpdt-c .h-search-wrap .hsw-close{right:7px}}.wpdt-c .hsw-inner{position:relative;padding:15px;max-width:700px;display:block;margin:0 auto}.wpdt-c #header-alt{box-shadow:0 1px 4px rgba(0,0,0,.3);position:relative;margin-bottom:-50px;z-index:10;padding:15px 10px 0 35px}@media (min-width:992px){.wpdt-c #header-alt:before{content:"";position:absolute;bottom:0;left:0;background:rgba(0,0,0,.04);width:100%;height:49px;z-index:-1}}@media (max-width:767px){.wpdt-c #header-alt{padding:5px 5px 0 25px}}.wpdt-c #header-alt .hi-trigger{top:-7px;left:-15px}@media (max-width:991px){.wpdt-c #header-alt .hi-trigger{display:inline-block!important}}.wpdt-c #header-alt .ma-backdrop{position:absolute}.wpdt-c #header-alt .ha-search{margin-bottom:25px;padding-right:25px}.wpdt-c #header-alt .ha-search input[type="text"]{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.24);color:#fff;font-size:15px;font-weight:300;padding:6px 0 6px 30px}.wpdt-c #header-alt .ha-search input[type="text"]::-moz-placeholder{color:#fff;opacity:1}.wpdt-c #header-alt .ha-search input[type="text"]:-ms-input-placeholder{color:#fff}.wpdt-c #header-alt .ha-search input[type="text"]::-webkit-input-placeholder{color:#fff}.wpdt-c #header-alt .ha-search input[type="text"].ie9-placeholder{color:#fff!important}.wpdt-c #header-alt .ha-search .fg-line{max-width:500px;position:relative}.wpdt-c #header-alt .ha-search .fg-line:after{background:#FFEB3B}@media (min-width:992px){.wpdt-c .ha-menu>ul{list-style:none;padding:0;margin:0}.wpdt-c .ha-menu>ul>li{display:inline-block;vertical-align:top}.wpdt-c .ha-menu>ul>li:not(.active)>*:not(ul){color:rgba(255,255,255,.6)}.ha-menu>ul>li.active>a{color:#fff;box-shadow:inset 0 -3px 0 0 #FFEB3B}.ha-menu>ul>li>a{text-transform:uppercase;padding:15px 12px;display:block}.ha-menu>ul>li>a:hover{color:#fff}.ha-menu>ul>li .dropdown-menu{min-width:100%}}@media (max-width:991px){.wpdt-c .ha-menu{display:none}}.wpdt-c .sidebar{position:fixed;background:#fff;height:calc(100% - 70px);top:70px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms;z-index:10;overflow-y:auto;box-shadow:0 1px 1px rgba(0,0,0,.15)}.wpdt-c #sidebar{width:268px}@media (max-width:1279px){.wpdt-c #sidebar{-webkit-transform:translate3d(-288px,0,0);transform:translate3d(-288px,0,0);box-shadow:0 0 20px rgba(14,18,21,.38)}.wpdt-c #sidebar.toggled{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.wpdt-c .sidebar-alt{top:0;height:100%;-webkit-transform:translate3d(-268px,0,0);transform:translate3d(-268px,0,0)}.wpdt-c .sidebar-alt.toggled{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpdt-c .s-profile>a{display:block;height:129px;margin-bottom:5px;width:100%;background-size:100%}.wpdt-c .s-profile>a .sp-pic{padding:12px}.wpdt-c .s-profile>a .sp-pic>img{width:47px;height:47px;border-radius:50%;border:3px solid rgba(0,0,0,.14);box-sizing:content-box}.wpdt-c .s-profile>a .sp-info{background:rgba(0,0,0,.37);padding:7px 14px;color:#fff;margin-top:20px;position:relative}.wpdt-c .s-profile>a .sp-info>i{font-size:19px;line-height:100%;position:absolute;right:15px;top:7px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms}.wpdt-c .s-profile .main-menu{display:none;margin:0 0 0}.wpdt-c .s-profile.toggled .sp-info>i{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.wpdt-c .main-menu{list-style:none;padding-left:0;margin:20px 0 0 0}.wpdt-c .main-menu a{-webkit-transition:color;-o-transition:color;transition:color;-webkit-transition-duration:300ms;transition-duration:300ms}.wpdt-c .main-menu a:hover,.wpdt-c .main-menu .active>a,.wpdt-c .main-menu a.active{color:#262626}.wpdt-c .main-menu>li>a{padding:14px 20px 14px 65px;display:block;font-weight:500;position:relative;color:#4C4C4C}.wpdt-c .main-menu>li>a>i{position:absolute;left:25px;font-size:20px;top:0;width:25px;text-align:center;padding:13px 0}.wpdt-c .main-menu>li>a:hover,.wpdt-c .main-menu>li.active>a{background-color:#F4F4F4}.wpdt-c .sub-menu>a{position:relative}.wpdt-c .sub-menu ul{list-style:none;display:none;padding:0}.wpdt-c .sub-menu ul>li>a{padding:8px 20px 8px 65px;font-weight:500;display:block;color:#989898}.wpdt-c .sub-menu ul>li:first-child>a{padding-top:14px}.wpdt-c .sub-menu ul>li:last-child>a{padding-bottom:16px}.wpdt-c .sub-menu ul>li ul{font-size:12px;margin:10px 0;background-color:#F7F7F7}.wpdt-c .sub-menu.active>ul{display:block}@media (max-width:1279px){.wpdt-c .ie9 #sidebar{display:none}.wpdt-c .ie9 #sidebar.toggled{display:block}}.wpdt-c .ie9 .sidebar-alt{display:none}.wpdt-c .ie9 .sidebar-alt.toggled{display:block}.wpdt-c .dropdown:not([data-animation]) .dropdown-menu{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:300ms;animation-duration:300ms;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpdt-c .dropdown-menu{box-shadow:0 2px 10px rgba(0,0,0,.2);padding:10px 0;border-radius:3px;top:-1px;margin:0;border:0}.wpdt-c .dropdown-menu>li>a{padding:10px 20px;border:0;-webkit-transition:background-color;-o-transition:background-color;transition:background-color;-webkit-transition-duration:300ms;transition-duration:300ms}.wpdt-c .dropdown-menu[class*="bgm-"]>li>a{color:#fff}.wpdt-c .dropup .dropdown-menu{bottom:-2px}.wpdt-c .dropdown-menu-lg{width:300px}.wpdt-c .dropdown-header{padding:3px 17px;margin-top:10px;color:#b1b1b1;text-transform:uppercase;font-weight:400}.wpdt-c .btn-group.open .dropdown-toggle{box-shadow:none}.wpdt-c .list-group{margin-bottom:0}.wpdt-c .list-group .list-group-item{border:0;margin:0;padding:15px 23px}.wpdt-c .list-group .list-group-item>.checkbox.pull-left{margin:0}.wpdt-c .list-group.lg-odd-black .list-group-item:nth-child(odd){background-color:#F7F7F7}.wpdt-c .list-group.lg-even-black .list-group-item:nth-child(even){background-color:#F7F7F7}.wpdt-c .lg-header{text-align:center;padding:15px 10px 13px;line-height:100%;text-transform:uppercase;border-bottom:1px solid #F0F0F0;font-weight:500;color:#4C4C4C;margin-bottom:10px}.wpdt-c .lg-header .actions{position:absolute;top:5px;right:10px}.wpdt-c .lgi-img{width:40px;height:40px;border-radius:50%}.wpdt-c .lgi-heading{color:#000;margin-bottom:4px;display:block}.wpdt-c .lgi-heading,.wpdt-c .lgi-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c .lgi-text{display:block;font-size:12px;color:#777}.wpdt-c .lgi-text:not(:last-child){margin-bottom:4px}.wpdt-c .lgi-checkbox{margin-top:8px;margin-bottom:0}.wpdt-c .lgi-attrs{list-style:none;padding:0;margin:0}.wpdt-c .lgi-attrs>li{display:inline-block;border:1px solid #e0e0e0;margin:2px 2px 2px 0;padding:2px 5px;font-size:12px;color:#777}.wpdt-c .lgi-attrs>li>a{display:block}.wpdt-c .progress{box-shadow:none;border-radius:0;height:5px;margin-bottom:0}.wpdt-c .progress .progress-bar{box-shadow:none}.wpdt-c #chat{padding:20px 0 5px;width:280px;right:-300px;box-shadow:0 0 20px rgba(14,18,21,.38)}.wpdt-c #chat.toggled{right:0}.wpdt-c #chat .chat-search{padding:20px 20px 15px 20px}.wpdt-c #chat .chat-search .form-control{background-repeat:no-repeat;background-position:left center;padding-left:30px;background-color:transparent}.wpdt-c #chat .chat-search .form-control:focus{padding:0 30px 0 0}.wpdt-c #chat .lg-body{height:calc(100% - 70px)}[class*="chat-status"]{position:absolute;width:10px;height:10px;border-radius:50%;top:-3px;right:12px;border:2px solid #FFF}.wpdt-c .chat-status-online{box-shadow:0 0 0 1px #1EC01E;background:#1EC01E}.wpdt-c .chat-status-offline{box-shadow:0 0 0 1px #E73F3F;background:#E73F3F}.wpdt-c .chat-status-busy{box-shadow:0 0 0 1px #FFA500;background:#FFA500}.wpdt-c .tab-nav{list-style:none;padding:0;white-space:nowrap;margin:0;overflow:auto;box-shadow:inset 0 -1px 0 #D7D9E2;width:100%}.wpdt-c .tab-nav li{display:inline-block;vertical-align:top}.wpdt-c .tab-nav li>a{display:inline-block;text-transform:none;position:relative;width:100%;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms;font-family:Inter;font-style:normal;font-weight:500;font-size:14px;line-height:20px;color:#5A6C89}.wpdt-c .tab-nav li>a:after{content:"";height:2px;position:absolute;width:100%;left:0;bottom:0;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}@media (min-width:768px){.wpdt-c .tab-nav li>a{padding:15px}}@media (max-width:769px){.wpdt-c .tab-nav li>a{padding:15px 8px}.wpdt-c .tab-nav{display:flex;flex-direction:column;text-align:center}.wpdt-c .col-sm-4{width:50%}}@media (max-width:480px){.wpdt-c .col-sm-4,.wpdt-c .col-xs-6,.wpdt-c .col-xs-6 button,.wpdt-c .col-xs-6 input,.wpdt-c .wdt-table-settings .input-path-block .fg-line,.wpdt-c .pull-right:not(.wdt-column-settings):not(.wdt-column-block-icon):not(.wdt-column-move-arrows),.wpdt-c .pull-left,.wpdt-c .btn.btn-default.wdt-documentation,.wpdt-c .btn.btn-primary,.wpdt-c .btn.btn-danger,.wpdt-c .btn.wdt-envato-activation-button,.wpdt-c .btn.btn-default.wdt-documentation:hover,.wpdt-c .btn.btn-default.wdt-documentation:focus{width:100%!important;margin:0 0 10px 0!important}.wpdt-c .wdt-edit-buttons span .wdt-standard-view{width:100%;margin-top:10px}.wpdt-c .panel-collapse .panel-heading:before{left:5px;top:7px}.wpdt-c #wdt-formula-editor-modal .modal-dialog,.wpdt-c #wdt-columns-list-modal .modal-dialog{width:100%}.wpdt-c .wdt-activation-section .col-sm-1{padding-right:0;margin-top:10px}.wpdt-c .card .card-header .actions{position:relative!important}.wpdt-c .card .card-header .actions li{display:block}.wpdt-c .card .card-header .actions button{width:100%;margin:0}.wpdt-c .card.column-settings .wpdt-actions-bottom .col{display:flex;flex-direction:column-reverse;width:100%}.wpdt-c .breadcrumb{padding:0!important}}.wpdt-c .tab-nav li.active>a{color:#008CFF}.wpdt-c .tab-nav li.active>a:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .tab-nav.tab-nav-right{text-align:right}.wpdt-c .tab-nav.tn-justified>li{display:table-cell;width:1%;text-align:center}.wpdt-c .tab-nav.tn-icon>li .zmdi{font-size:22px;line-height:100%;min-height:25px}.wpdt-c .tab-nav:not([data-tab-color])>li>a:after{background:#008CFF}.wpdt-c .tab-nav[data-tab-color="green"]>li>a:after{background:#4CAF50}.wpdt-c .tab-nav[data-tab-color="red"]>li>a:after{background:#F44336}.wpdt-c .tab-nav[data-tab-color="teal"]>li>a:after{background:#009688}.wpdt-c .tab-nav[data-tab-color="amber"]>li>a:after{background:#FFC107}.wpdt-c .tab-nav[data-tab-color="black"]>li>a:after{background:#000}.wpdt-c .tab-nav[data-tab-color="cyan"]>li>a:after{background:#00BCD4}.wpdt-c .tab-content{padding:20px 0}.wpdt-c .card{position:relative;background:#fff;box-shadow:none;margin-bottom:30px}.wpdt-c .card .card-header{position:relative}@media screen and (min-width:768px){.wpdt-c .card .card-header{padding:25px 27px}}@media screen and (max-width:991px){.wpdt-c .card .card-header{padding:18px}}.wpdt-c .card .card-header h2{margin:0;font-family:Inter;font-size:20px;font-style:normal;font-weight:400;line-height:24px;color:#304463}.wpdt-c .card .card-header h2 small{display:block;color:#AEAEAE;line-height:160%}.wpdt-c .card .card-header.ch-alt:not([class*="bgm-"]){background:none}.wpdt-c .card .card-header[class*="bgm-"] h2,.wpdt-c .card .card-header[class*="bgm-"] h2 small{color:#fff}.wpdt-c .card .card-header .actions{position:absolute;right:10px;z-index:2;top:12px}.wpdt-c .card .card-header .btn-float{right:25px;bottom:-23px;z-index:1}.wpdt-c .card a.card-header{display:block}@media screen and (min-width:768px){.wpdt-c .card .card-body.card-padding:not(.wpdt-column-settings-card):not(.wdt-chart-wizard-chosen-columns-container):not(.wdt-chart-wizart-existing-columns-container):not(.wpdt-add-ons-card){padding:24px;background:#fff;box-shadow:0 3px 6px rgba(23,43,77,.08),0 1px 1px rgba(23,43,77,.11);border-radius:3px}}@media screen and (max-width:991px){.wpdt-c .card .card-body.card-padding{padding:18px}}.wpdt-c .card .card-body.card-padding-sm{padding:15px}.wpdt-c .card-header:not(.ch-alt):not([class*="bgm-"])+.card-padding{padding-top:0}.wpdt-c .card-light .card-header h2,.wpdt-c .card-light .card-header h2 small{color:#fff}.wpdt-c .chart-edge{margin:20px -8px 0 -10px;overflow:hidden}.wpdt-c .chart-edge .flot-chart{bottom:-14px}.wpdt-c .charts-row{margin-top:50px;margin-bottom:20px}.wpdt-c .mini-charts-item{box-shadow:0 1px 1px rgba(0,0,0,.15);position:relative;margin-bottom:30px}.wpdt-c .mini-charts-item .chart{padding:21px 18px 0;float:left}.wpdt-c .mini-charts-item .chart.chart-pie{margin:0 20px;padding:14px 11px}.wpdt-c .mini-charts-item .count{overflow:hidden;color:rgba(255,255,255,.9);padding:16px 12px}.wpdt-c .mini-charts-item .count>h2{margin:0;line-height:100%;font-size:22px;font-weight:300;color:#fff}.wpdt-c .mini-charts-item .count>small{margin-bottom:2px;display:block}.wpdt-c .mini-charts-item .count>h2,.wpdt-c .mini-charts-item .count>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c .mini-charts-item>.clearfix,.wpdt-c .mini-charts-item>.dl-horizontal dd,.wpdt-c .mini-charts-item>.container,.wpdt-c .mini-charts-item>.container-fluid,.wpdt-c .mini-charts-item>.row,.wpdt-c .mini-charts-item>.form-horizontal .form-group,.wpdt-c .mini-charts-item>.btn-toolbar,.wpdt-c .mini-charts-item>.btn-group-vertical>.btn-group,.wpdt-c .mini-charts-item>.nav,.wpdt-c .mini-charts-item>.navbar,.wpdt-c .mini-charts-item>.navbar-header,.wpdt-c .mini-charts-item>.navbar-collapse,.wpdt-c .mini-charts-item>.pager,.wpdt-c .mini-charts-item>.panel-body,.wpdt-c .mini-charts-item>.modal-header,.wpdt-c .mini-charts-item>.modal-footer{position:relative;z-index:1}.wpdt-c .mini-charts-item:before{-webkit-transition:width;-o-transition:width;transition:width;-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;content:"";width:105px;height:100%;background:rgba(0,0,0,.1);position:absolute;left:0;top:0}.wpdt-c .mini-charts-item:hover .count{color:#fff!important}.wpdt-c .mini-charts-item:hover:before{width:100%}.wpdt-c #jqstooltip{min-width:21px;min-height:23px;text-align:center;border:0;background:#fff;box-shadow:2px 2px 5px rgba(0,0,0,.3)}.wpdt-c #jqstooltip .jqsfield{font-size:12px;font-weight:700;font-family:inherit;text-align:center;color:#333}.wpdt-c #jqstooltip .jqsfield>span{display:none}.wpdt-c .epc-item{box-shadow:0 1px 1px rgba(0,0,0,.15);position:relative;margin-bottom:30px;padding:30px 20px;text-align:center}.wpdt-c .easy-pie{display:inline-block;position:relative;padding:0 0 10px}.wpdt-c .easy-pie .percent{position:absolute;font-weight:300;width:100%;line-height:100%;left:4px;color:#fff}.wpdt-c .easy-pie .percent:after{content:"%"}.wpdt-c .easy-pie.main-pie .percent{margin-top:49px;font-size:50px;text-align:center}.wpdt-c .easy-pie.main-pie .percent:after{font-size:30px}.wpdt-c .easy-pie.main-pie .pie-title{color:#fff}.wpdt-c .easy-pie:not(.main-pie) .percent{font-size:24px;margin-top:33px}.wpdt-c .easy-pie:not(.main-pie) .percent:after{font-size:20px}.wpdt-c .easy-pie .pie-title{position:absolute;width:100%;text-align:center;bottom:-3px;left:0}.wpdt-c #recent-items-chart{width:calc(100% + 19px);height:150px;margin:-20px -10px 0;bottom:-10px}.wpdt-c [class*="flot-chart"]{width:100%;display:block}.wpdt-c .flot-chart{height:200px}.wpdt-c .flot-chart-pie{height:300px}@media (min-width:768px){.wpdt-c .flot-chart-pie{margin-bottom:20px}}.wpdt-c .flot-tooltip,.wpdt-c #flotTip{position:absolute;color:#333;display:none;font-size:12px;box-shadow:2px 2px 5px rgba(0,0,0,.1);padding:3px 10px;background-color:#fff;z-index:99999}.wpdt-c [class*="flc-"]{text-align:center;margin:10px 0 5px}.wpdt-c [class*="flc-"] table{display:inline-block}.wpdt-c [class*="flc-"] .legendColorBox>div{border:#fff!important}.wpdt-c [class*="flc-"] .legendColorBox>div>div{border-radius:50%}.wpdt-c [class*="flc-"] .legendLabel{padding:0 8px 0 3px}.wpdt-c .dw-item{position:relative;min-height:400px;margin-bottom:30px;box-shadow:0 1px 1px rgba(0,0,0,.15)}.wpdt-c .dwi-header{position:relative}.wpdt-c .dwi-header-img{background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-position:center;height:155px}.wpdt-c .dw-footer{position:absolute;left:0;bottom:0;width:100%}.wpdt-c .dwih-title{padding:12px 20px;position:absolute;width:100%;left:0}.wpdt-c #site-visits .dwi-header{padding-bottom:38px;margin-bottom:12px;background-color:rgba(255,255,255,.05)}.wpdt-c #site-visits .dwi-header canvas{width:100%!important}.wpdt-c #site-visits .dwih-title{bottom:0;color:#fff}.wpdt-c #site-visits .sv-item:nth-child(even){background-color:rgba(255,255,255,.05)}.wpdt-c #site-visits .sv-item small{color:rgba(255,255,255,.7)}.wpdt-c #site-visits .sv-item h3{font-weight:400;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.wpdt-c #site-visits .sv-item .pull-right{margin-top:5px;opacity:.7;filter:alpha(opacity=70)}.wpdt-c #best-selling{background-color:#fff}.wpdt-c #best-selling .dwi-header .dwih-title{padding-bottom:30px;top:0;color:#fff;background-image:-webkit-linear-gradient(top,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%);background-image:-o-linear-gradient(top,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%);background-image:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#99000000',endColorstr='#00000000',GradientType=0)}.wpdt-c #best-selling .dwi-header .bs-main{padding:15px;color:#fff;position:absolute;bottom:0;left:0;width:100%;background-image:-webkit-linear-gradient(top,rgba(0,0,0,0) 0%,rgba(0,0,0,.6) 100%);background-image:-o-linear-gradient(top,rgba(0,0,0,0) 0%,rgba(0,0,0,.6) 100%);background-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.6) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#99000000',GradientType=0)}.wpdt-c #best-selling .dwi-header .bs-main>h2{font-weight:400;font-size:20px;margin:5px 0 0 0;line-height:100%;color:#fff}.wpdt-c #weather-widget{color:#fff;padding:20px 20px 0}.wpdt-c #weather-widget .weather-status{font-size:40px;line-height:100%}.wpdt-c #weather-widget .weather-icon{text-align:center;margin-top:10px;height:150px;background-repeat:no-repeat;background-position:center}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-0{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-1{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-2{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-3{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-4{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-5{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-6{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-7{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-8{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-9{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-10{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-11{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-12{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-13{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-14{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-15{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-16{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-17{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-18{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-19{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-20{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-21{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-22{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-23{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-24{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-25{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-26{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-27{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-28{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-29{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-30{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-31{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-32{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-33{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-34{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-35{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-36{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-37{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-38{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-39{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-40{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-41{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-42{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-43{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-44{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-45{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-46{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-47{background-size:125px 125px}}.wpdt-c #weather-widget .weather-info{list-style:none;padding:0;margin:3px 0 0 0}.wpdt-c #weather-widget .weather-info>li{display:inline-block;border:1px solid rgba(255,255,255,.39);padding:2px 10px 3px;margin-right:5px}.wpdt-c #weather-widget .dw-footer{background:rgba(0,0,0,.04);padding:10px 20px}.wpdt-c #weather-widget .weather-list{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c #weather-widget .weather-list>span{margin-right:7px;display:inline-block;line-height:40px;vertical-align:top}.wpdt-c #weather-widget .weather-list>span.weather-list-icon{width:35px;height:35px;background-repeat:no-repeat;background-position:center;background-size:30px 30px}.wpdt-c #weather-widget .weather-list>span>i{line-height:100%;font-size:39px}.wpdt-c .profile-view{text-align:center}.wpdt-c .profile-view .pv-header{position:relative;height:145px;width:100%;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-position:center}.wpdt-c .profile-view .pv-header>.pv-main{border-radius:50%;width:130px;position:absolute;height:130px;bottom:-50px;left:50%;margin-left:-65px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms}.wpdt-c .profile-view .pv-body{margin-top:70px;padding:0 20px 20px}.wpdt-c .profile-view .pv-body>h2{margin:0;line-height:100%;font-size:20px;font-weight:400}.wpdt-c .profile-view .pv-body>small{display:block;color:#8E8E8E;margin:10px 0 15px}.wpdt-c .profile-view .pv-body .pv-contact,.wpdt-c .profile-view .pv-body .pv-follow{padding:0;list-style:none}.wpdt-c .profile-view .pv-body .pv-contact>li,.wpdt-c .profile-view .pv-body .pv-follow>li{display:inline-block}.wpdt-c .profile-view .pv-body .pv-follow{margin:20px -20px;padding:10px;background-color:#F3F3F3}.wpdt-c .profile-view .pv-body .pv-follow>li{padding:0 10px}.wpdt-c .profile-view .pv-body .pv-contact>li{margin:0 5px}.wpdt-c .profile-view .pv-body .pv-contact>li>.zmdi{line-height:100%;vertical-align:text-bottom;font-size:22px}.wpdt-c .profile-view .pv-body .pv-follow-btn{padding:7px 20px;background:#00BCD4;color:#fff;border-radius:3px;text-transform:uppercase;max-width:200px;width:100%;display:inline-block}.wpdt-c .profile-view .pv-body .pv-follow-btn:hover{background:#00a5bb}.wpdt-c .profile-view:hover .pv-main{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.wpdt-c .picture-list .pl-body{padding:2px}.wpdt-c .picture-list .pl-body [class*="col-"]{padding:2px}.wpdt-c .picture-list .pl-body [class*="col-"]>a{display:block}.wpdt-c .picture-list .pl-body [class*="col-"]>a img{width:100%}.wpdt-c .picture-list .pl-body:before,.wpdt-c .picture-list .pl-body:after{content:" ";display:table}.wpdt-c .picture-list .pl-body:after{clear:both}.wpdt-c .picture-list .pl-body:before,.wpdt-c .picture-list .pl-body:after{content:" ";display:table}.wpdt-c .picture-list .pl-body:after{clear:both}.wpdt-c .go-social .card-body{padding:0 15px 20px}.wpdt-c .go-social .card-body [class*="col-"]{padding:12px}.wpdt-c .go-social .card-body [class*="col-"] img{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:200ms;transition-duration:200ms;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.wpdt-c .go-social .card-body [class*="col-"]:hover img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.wpdt-c .rating-list{padding:0 0 20px}.wpdt-c .rating-list .rl-star{margin-top:10px;margin-bottom:4px}.wpdt-c .rating-list .rl-star .zmdi{font-size:20px;color:#ccc}.wpdt-c .rating-list .rl-star .zmdi.active{color:#FF9800}.wpdt-c .rating-list .media .zmdi-star{line-height:100%;font-size:22px;vertical-align:middle;position:relative;top:-2px;left:6px;color:#FF9800}.wpdt-c .rating-list .media .media-body{padding:7px 10px 0 5px}.wpdt-c .cwh-year{color:rgba(255,255,255,.6);font-size:15px}.wpdt-c .cwh-day{font-size:25px;line-height:100%;color:#fff}.wpdt-c .table{margin-bottom:0}.wpdt-c .table>thead>tr>th{background-color:#fff;vertical-align:middle;font-weight:500;color:#333;border-width:1px;text-transform:uppercase}.wpdt-c .table.table-inner{border:0}.wpdt-c .table>thead>tr>th:first-child,.wpdt-c .table>tbody>tr>th:first-child,.wpdt-c .table>tfoot>tr>th:first-child,.wpdt-c .table>thead>tr>td:first-child,.wpdt-c .table>tbody>tr>td:first-child,.wpdt-c .table>tfoot>tr>td:first-child{padding-left:30px}.wpdt-c .table>thead>tr>th:last-child,.wpdt-c .table>tbody>tr>th:last-child,.wpdt-c .table>tfoot>tr>th:last-child,.wpdt-c .table>thead>tr>td:last-child,.wpdt-c .table>tbody>tr>td:last-child,.wpdt-c .table>tfoot>tr>td:last-child{padding-right:30px}.wpdt-c .table>tbody>tr.active>td,.wpdt-c .table>tfoot>tr.active>td,.wpdt-c .table>tbody>tr.info>td,.wpdt-c .table>tfoot>tr.info>td,.wpdt-c .table>tbody>tr.warning>td,.wpdt-c .table>tfoot>tr.warning>td,.wpdt-c .table>tbody>tr.succes>td,.wpdt-c .table>tfoot>tr.succes>td,.wpdt-c .table>tbody>tr.danger>td,.wpdt-c .table>tfoot>tr.danger>td{border:0}.wpdt-c .table>tbody>tr:last-child>td,.wpdt-c .table>tfoot>tr:last-child>td{padding-bottom:20px}.wpdt-c .table-striped td,.wpdt-c .table-striped th{border:0!important}.wpdt-c .table-bordered{border-bottom:0;border-left:0;border-right:0}.wpdt-c .table-bordered>tbody>tr>td,.wpdt-c .table-bordered>tbody>tr>th{border-bottom:0;border-left:0}.wpdt-c .table-bordered>tbody>tr>td:last-child,.wpdt-c .table-bordered>tbody>tr>th:last-child{border-right:0}.wpdt-c .table-bordered>thead>tr>th{border-left:0}.wpdt-c .table-bordered>thead>tr>th:last-child{border-right:0}.wpdt-c .table-vmiddle td{vertical-align:middle!important}.wpdt-c .table-responsive{border:0}.wpdt-c #todo{background:#FFC107;color:#fff;font-family:'satisfy',cursive}.wpdt-c #todo .card-header{padding:28px 35px 20px;background-color:rgba(0,0,0,.03)}.wpdt-c #todo .card-header h2{font-size:25px}.wpdt-c #todo .card-header h2 small{font-size:18px;margin-top:0}.wpdt-c #todo .card-body{font-size:20px;position:relative}.wpdt-c #todo .list-group-item{padding:0}.wpdt-c #todo .checkbox .input-helper:before,.wpdt-c #todo .checkbox .input-helper:after{top:5px}.wpdt-c #todo .checkbox input:checked+i+span{text-decoration:line-through}.wpdt-c .t-add,.wpdt-c .ta-block,.wpdt-c .ta-btn{-webkit-transition:all;-o-transition:all;transition:all;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-duration:250ms;transition-duration:250ms}.wpdt-c .t-add{width:50px;height:50px;border-radius:50%;position:absolute;background:#fff;top:-25px;right:23px;max-height:300px}.wpdt-c .t-add .ta-block{overflow:hidden;opacity:0;filter:alpha(opacity=0)}.wpdt-c .t-add .ta-block textarea{padding:25px 25px 45px;resize:none;width:100%;font-size:24px;color:#FFC107;position:absolute;height:100%;border:0;outline:none}.wpdt-c .t-add:not(.toggled){overflow:hidden}.wpdt-c .t-add:not(.toggled) .ta-btn{position:relative;z-index:1;display:inline-block;width:50px;height:50px;cursor:pointer;text-align:center;font-size:23px;color:#FF9800;line-height:51px}.wpdt-c .t-add.toggled{width:calc(100% - 47px);height:calc(100% - 25px);border-radius:2px;top:0;z-index:1;box-shadow:0 5px 8px rgba(0,0,0,.2);overflow:visible}.wpdt-c .t-add.toggled .ta-btn{-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);display:none}.wpdt-c .t-add.toggled .ta-block{opacity:1;filter:alpha(opacity=100)}.wpdt-c .t-add.toggled .ta-block .tab-actions{position:absolute;bottom:0;width:100%;padding:5px 10px;border-top:1px solid #EEE;z-index:1}.wpdt-c .t-add.toggled .ta-block .tab-actions>a{font-size:25px;padding:0 6px;border-radius:50%;text-align:center;height:40px;width:40px;line-height:48px;display:inline-block}.wpdt-c .t-add.toggled .ta-block .tab-actions>a:hover{background-color:#eee}.wpdt-c .btn:not(.dropdown-toggle){text-transform:none}.wpdt-c .btn[class*="bgm-"]:not(.bgm-white){color:#fff}.wpdt-c .btn .caret{margin-top:-3px}.wpdt-c .btn:not(.btn-link){box-shadow:none}.wpdt-c .btn-group:not(.bootstrap-select),.wpdt-c .btn-group-vertical:not(.bootstrap-select){box-shadow:0 1px 4px 0 rgba(0,0,0,.3)}.wpdt-c .btn-group .btn,.wpdt-c .btn-group-vertical .btn,.wpdt-c .btn-group .btn:active,.wpdt-c .btn-group-vertical .btn:active,.wpdt-c .btn-group .btn:focus,.wpdt-c .btn-group-vertical .btn:focus,.wpdt-c .btn-group .btn-group,.wpdt-c .btn-group-vertical .btn-group{box-shadow:none!important}.wpdt-c .btn-group .btn,.wpdt-c .btn-group-vertical .btn{margin:0}.wpdt-c .btn-xs,.wpdt-c .btn-group-xs>.btn{padding:2px 5px;font-size:11px;line-height:1.5;border-radius:2px}.wpdt-c .btn-link{color:#797979;text-decoration:none;border-radius:2px}.wpdt-c .btn-link:hover{color:#0a0a0a}.wpdt-c .btn-inverse{color:#fff;background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse:focus,.wpdt-c .btn-inverse.focus{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0)}.wpdt-c .btn-inverse:hover{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0)}.wpdt-c .btn-inverse:active,.wpdt-c .btn-inverse.active,.wpdt-c .open>.dropdown-toggle.btn-inverse{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0)}.wpdt-c .btn-inverse:active:hover,.wpdt-c .btn-inverse.active:hover,.wpdt-c .open>.dropdown-toggle.btn-inverse:hover,.wpdt-c .btn-inverse:active:focus,.wpdt-c .btn-inverse.active:focus,.wpdt-c .open>.dropdown-toggle.btn-inverse:focus,.wpdt-c .btn-inverse:active.focus,.wpdt-c .btn-inverse.active.focus,.wpdt-c .open>.dropdown-toggle.btn-inverse.focus{color:#fff;background-color:#1a1a1a;border-color:rgba(0,0,0,0)}.wpdt-c .btn-inverse:active,.wpdt-c .btn-inverse.active,.wpdt-c .open>.dropdown-toggle.btn-inverse{background-image:none}.wpdt-c .btn-inverse.disabled:hover,.wpdt-c .btn-inverse[disabled]:hover,.wpdt-c fieldset[disabled] .btn-inverse:hover,.wpdt-c .btn-inverse.disabled:focus,.wpdt-c .btn-inverse[disabled]:focus,.wpdt-c fieldset[disabled] .btn-inverse:focus,.wpdt-c .btn-inverse.disabled.focus,.wpdt-c .btn-inverse[disabled].focus,.wpdt-c fieldset[disabled] .btn-inverse.focus{background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse .badge{color:#454545;background-color:#fff}.wpdt-c .btn-inverse:hover,.wpdt-c .btn-inverse:focus,.wpdt-c .btn-inverse.focus,.wpdt-c .btn-inverse:active,.wpdt-c .open>.dropdown-toggle.btn-inverse{color:#fff;background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse:hover:hover,.wpdt-c .btn-inverse:focus:hover,.wpdt-c .btn-inverse.focus:hover,.wpdt-c .btn-inverse:active:hover,.wpdt-c .open>.dropdown-toggle.btn-inverse:hover,.wpdt-c .btn-inverse:hover:focus,.wpdt-c .btn-inverse:focus:focus,.wpdt-c .btn-inverse.focus:focus,.wpdt-c .btn-inverse:active:focus,.wpdt-c .open>.dropdown-toggle.btn-inverse:focus,.wpdt-c .btn-inverse:hover.focus,.wpdt-c .btn-inverse:focus.focus,.wpdt-c .btn-inverse.focus.focus,.wpdt-c .btn-inverse:active.focus,.wpdt-c .open>.dropdown-toggle.btn-inverse.focus{color:#fff;background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse:active,.wpdt-c .btn-inverse.active,.wpdt-c .open>.dropdown-toggle.btn-inverse{background-image:none}.wpdt-c .btn-inverse.disabled,.wpdt-c .btn-inverse[disabled],.wpdt-c fieldset[disabled] .btn-inverse,.wpdt-c .btn-inverse.disabled:hover,.wpdt-c .btn-inverse[disabled]:hover,.wpdt-c fieldset[disabled] .btn-inverse:hover,.wpdt-c .btn-inverse.disabled:focus,.wpdt-c .btn-inverse[disabled]:focus,.wpdt-c fieldset[disabled] .btn-inverse:focus,.wpdt-c .btn-inverse.disabled.focus,.wpdt-c .btn-inverse[disabled].focus,.wpdt-c fieldset[disabled] .btn-inverse.focus,.wpdt-c .btn-inverse.disabled:active,.wpdt-c .btn-inverse[disabled]:active,.wpdt-c fieldset[disabled] .btn-inverse:active{background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse .badge{color:#454545;background-color:#fff}.wpdt-c .btn-icon{border-radius:50%;width:40px;line-height:42px;height:40px;padding:0;text-align:center}.wpdt-c .btn-icon .zmdi{font-size:17px}.wpdt-c .btn-icon-text>.zmdi{font-size:15px;vertical-align:top;display:inline-block;margin-top:2px;line-height:100%;margin-right:2px;margin-left:2px}.wpdt-c .btn-float{width:50px;height:50px;border-radius:50%;line-height:46px!important}.wpdt-c .btn-float:not(.m-btn){position:absolute!important}.wpdt-c .btn-float i{font-size:23px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:500ms;transition-duration:500ms}.wpdt-c .btn-float:hover i{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}.wpdt-c .btn-float:not(.bgm-white):not(.bgm-gray)>i{color:#fff}.wpdt-c .btn-float.bgm-white>i,.wpdt-c .btn-float.bgm-gray>i{color:#333}.wpdt-c .open .btn{outline:none!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}.wpdt-c .open .btn:focus,.wpdt-c .open .btn:active{outline:none!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}.wpdt-c .m-btn{z-index:1;bottom:40px;right:40px;position:fixed!important}label{font-weight:500}input:active,input:focus{outline:0}.wpdt-c .form-control{box-shadow:none!important;resize:none}.wpdt-c .form-control:active,.wpdt-c .form-control:focus{box-shadow:none}.wpdt-c .form-control:not(.fc-alt){border-left:0;border-right:0;border-top:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}.wpdt-c .form-control:not(.fc-alt).auto-size{padding-top:6px}.wpdt-c .form-group{margin-bottom:25px}.wpdt-c .input-helper:before,.wpdt-c .input-helper:after,.wpdt-c .checkbox label:before,.wpdt-c .radio label:before,.wpdt-c .radio-inline:before,.wpdt-c .checkbox-inline:before{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms}.wpdt-c .checkbox,.wpdt-c .radio{padding-top:0!important}.wpdt-c .checkbox label,.wpdt-c .radio label{display:inline-block;padding-left:25px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wpdt-c .checkbox input,.wpdt-c .radio input{top:0;left:0;margin-left:0!important;z-index:1;cursor:pointer;opacity:1;filter:alpha(opacity=0);margin-top:0}.wpdt-c .checkbox input:checked+.input-helper:before,.wpdt-c .radio input:checked+.input-helper:before{border-color:#098BEF}.wpdt-c .checkbox .input-helper:before,.wpdt-c .radio .input-helper:before,.wpdt-c .checkbox .input-helper:after,.wpdt-c .radio .input-helper:after{position:absolute;content:""}.wpdt-c .checkbox .input-helper:before,.wpdt-c .radio .input-helper:before{left:0;border:1px solid #d7d7d7}.wpdt-c .checkbox.disabled,.wpdt-c .radio.disabled{opacity:.6;filter:alpha(opacity=60)}.wpdt-c .checkbox input{width:17px;height:17px}.wpdt-c .checkbox input:checked+.input-helper:before{background-color:#2196F3}.wpdt-c .checkbox input:checked+.input-helper:after{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .checkbox .input-helper:before{top:0;width:17px;height:17px;border-radius:2px}.wpdt-c .checkbox .input-helper:after{opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);content:'\f0c8';font-family:'wpDataTablesIcons';position:absolute;font-size:12px;left:2px;top:0;color:#fff;font-weight:700}.wpdt-c .radio input{width:19px;height:19px}.wpdt-c .radio input:checked+.input-helper:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .radio .input-helper:before{top:-1px;width:19px;height:19px;border-radius:50%}.wpdt-c .radio .input-helper:after{width:9px;height:9px;background:#2196F3;border-radius:50%;top:4px;left:5px;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}.wpdt-c .checkbox-inline,.wpdt-c .radio-inline{vertical-align:top;margin-top:0;padding-left:25px}.wpdt-c .checkbox-light .input-helper:before,.wpdt-c .radio-light .input-helper:before{border-color:#fff}.wpdt-c .checkbox-light input:checked+.input-helper:before{border-color:#fff;background-color:#fff}.wpdt-c .checkbox-light input:checked+.input-helper:after{color:#333}.wpdt-c html:not(.ie9) .select{position:relative}.wpdt-c html:not(.ie9) .select:before{position:absolute;top:0;right:0;content:"";height:calc(100% - 2px);width:30px;background-color:#FFF;background-position:right calc(100% - 7px);background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QUYDDMcpfFSnAAAAJJJREFUKM/VkTEOglAQRB+Emta72HuRuQG9REzsucEchdID0FpS2hA7O5tP8iX/J9LJJptsduZtMQv7KtubvUW0OAId8MowNdBJugNUkfAEDsApA47BA0C5DJIeQANMCWgCmuD5Bm0jaQBaYI6gGWglDdksFsH2xfY79DkVYJk6IOkK9EAv6fZT6muT7U3v+sP6AODpN6SzPrkNAAAAAElFTkSuQmCC);pointer-events:none;z-index:5}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c html:not(.ie9) .select:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QUYDDQZmtow1AAAAQpJREFUSMftlLFKA0EURU8Wm5DePmhl5Q+kFn/jVinSBMFGyR/ElGLzPsFORFKmSpcfCIqlWNiIBAmxmYVhcTKz7Fo5F6bY4ew7PN7wICcnJxYz+9NanQDYB7oNfV+SnquXBwF4Dhw1FK6B4+plEYBvgW0D2dbVIEkoaQrM3OeuhqhkZ65GXOgNegLcheYcSMf9M6n7aJCEmfWAR2CQKFwA55I+yxpJwor8EHgCTiPoCjiT9LYPKmJCV2AIvO7BXoBhTBYVljOQtATGwMcv2Dswckx0cRSR7nzpPXAJfHvIBriQ9ODPvtUVZWbXZrZz56ruSixSIL9TYAqcuHPTamcpy7jNZZ+T80/zAzioYvQbRGcPAAAAAElFTkSuQmCC);background-size:12px 12px}}.wpdt-c html:not(.ie9) .select:not(.fg-line):before{right:0}.wpdt-c html:not(.ie9) .select.fg-line:before{right:10px}.wpdt-c .input-group:not(.input-group-lg):not(.input-group-sm) .input-group-addon{font-size:15px}.wpdt-c .input-group-addon{border-width:0 0 1px 0;min-width:42px}.wpdt-c .input-group-addon>.zmdi{position:relative;top:3px}.wpdt-c .fg-line{position:relative;vertical-align:top}.wpdt-c .fg-line:not(.form-group){display:inline-block;width:100%}.wpdt-c .fg-line .form-control:disabled{color:#9d9d9d;background:transparent}.wpdt-c .fg-line:not(.disabled):after,.wpdt-c .fg-line:not(.readonly):after{position:absolute;z-index:3;bottom:0;left:0;height:2px;width:100%;content:"";-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms}.wpdt-c .fg-line:not([class*=has-]):after{display:none}.wpdt-c .fg-line.readonly .form-control{color:#9d9d9d;background:transparent}.wpdt-c .fg-line.fg-toggled:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .fg-float{margin-top:2px;position:relative}.wpdt-c .fg-float .form-control{position:relative;background:transparent;z-index:1}.wpdt-c .fg-float .form-control::-moz-placeholder{color:#fff;opacity:1}.wpdt-c .fg-float .form-control:-ms-input-placeholder{color:#fff}.wpdt-c .fg-float .form-control::-webkit-input-placeholder{color:#fff}.wpdt-c .fg-float .fg-label{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:200ms;transition-duration:200ms;position:absolute;top:5px;font-weight:400;color:#959595;pointer-events:none;z-index:0;left:0;white-space:nowrap}.wpdt-c .fg-float .fg-toggled .fg-label{top:-20px;font-size:11px}.wpdt-c .control-label{font-weight:400}.wpdt-c .toggle-switch{display:inline-block;vertical-align:top;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpdt-c .toggle-switch .ts-label{display:inline-block;margin:0 20px 0 0;vertical-align:top;-webkit-transition:color 0.56s cubic-bezier(.4,0,.2,1);transition:color 0.56s cubic-bezier(.4,0,.2,1)}.wpdt-c .toggle-switch .ts-helper{display:inline-block;position:relative;width:40px;height:16px;border-radius:8px;background:rgba(0,0,0,.26);-webkit-transition:background 0.28s cubic-bezier(.4,0,.2,1);transition:background 0.28s cubic-bezier(.4,0,.2,1);vertical-align:middle;cursor:pointer}.wpdt-c .toggle-switch .ts-helper:before{content:'';position:absolute;top:-4px;left:-4px;width:24px;height:24px;background:#fafafa;box-shadow:0 2px 8px rgba(0,0,0,.28);border-radius:50%;webkit-transition:left 0.28s cubic-bezier(.4,0,.2,1),background 0.28s cubic-bezier(.4,0,.2,1),box-shadow 0.28s cubic-bezier(.4,0,.2,1);transition:left 0.28s cubic-bezier(.4,0,.2,1),background 0.28s cubic-bezier(.4,0,.2,1),box-shadow 0.28s cubic-bezier(.4,0,.2,1)}.wpdt-c .toggle-switch:not(.disabled) .ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(128,128,128,.1)}.wpdt-c .toggle-switch input{position:absolute;z-index:1;width:16px;height:16px;cursor:pointer;right:11px;top:12px;background:#FAFBFC;border:1px solid #C1C7D0;box-sizing:border-box;border-radius:3px;margin:0;box-shadow:none;outline:none!important}.wpdt-c .wdt-datatables-admin-wrap .check-column i{font-size:18px}.wpdt-c .wpDataTableFilterSection .wdt_checkbox_option input[type=checkbox],.wpdt-c .wdt-datatables-admin-wrap .check-column input[type=checkbox]{z-index:1;width:16px;height:16px;cursor:pointer;background:#FFF;border:1px solid #C1C7D0;box-sizing:border-box;border-radius:3px;margin:0!important;box-shadow:none;outline:none!important;vertical-align:baseline;opacity:1}.wpdt-c .wpDataTableFilterSection .wdt_checkbox_option input[type=checkbox]{position:absolute;top:9px}.wpdt-c .wdt-datatables-admin-wrap .check-column input[type=checkbox]:checked::before,.wpdt-c .wpDataTableFilterSection .wdt_checkbox_option input[type=checkbox]:checked::before{font-family:'wpDataTablesIcons';content:'\f00c';width:16px;height:16px;color:#fff;border:1px solid #2684FF;background:#2684FF;border-radius:3px;margin:0;padding:1px 0 0 0;font-size:11px;float:none;font-weight:700;position:absolute;left:-1px;top:-1px;opacity:1}.wpdt-c .wdt-datatables-admin-wrap #cb-select-all-1 input[type=checkbox]:checked::before{padding:2px 0 0 0}.wpdt-c .toggle-switch input[type=checkbox]:checked:before{font-family:'wpDataTablesIcons';content:'\f00c';width:16px;height:16px;color:#fff;border:1px solid #2684FF;background:#2684FF;border-radius:3px;margin:0;padding:1px 0 0 0;font-size:12px;float:none;font-weight:700;position:absolute;left:-1px;top:-1px}.wpdt-c .toggle-switch input:checked+.ts-helper:before{left:20px}.wpdt-c .toggle-switch:not([data-ts-color]) input:not(:disabled):checked+.ts-helper{background:rgba(0,150,136,.5)}.wpdt-c .toggle-switch:not([data-ts-color]) input:not(:disabled):checked+.ts-helper:before{background:#009688}.wpdt-c .toggle-switch:not([data-ts-color]) input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(0,150,136,.2)}.wpdt-c .toggle-switch.disabled{opacity:.6;filter:alpha(opacity=60)}.wpdt-c .toggle-switch[data-ts-color="red"] input:not(:disabled):checked+.ts-helper{background:rgba(244,67,54,.5)}.wpdt-c .toggle-switch[data-ts-color="red"] input:not(:disabled):checked+.ts-helper:before{background:#F44336}.wpdt-c .toggle-switch[data-ts-color="red"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(244,67,54,.2)}.wpdt-c .toggle-switch[data-ts-color="blue"] input:not(:disabled):checked+.ts-helper{background:rgba(33,150,243,.5)}.wpdt-c .toggle-switch[data-ts-color="blue"] input:not(:disabled):checked+.ts-helper:before{background:#2196F3}.wpdt-c .toggle-switch[data-ts-color="blue"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(33,150,243,.2)}.wpdt-c .toggle-switch[data-ts-color="amber"] input:not(:disabled):checked+.ts-helper{background:rgba(255,193,7,.5)}.wpdt-c .toggle-switch[data-ts-color="amber"] input:not(:disabled):checked+.ts-helper:before{background:#FFC107}.wpdt-c .toggle-switch[data-ts-color="amber"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(255,193,7,.2)}.wpdt-c .toggle-switch[data-ts-color="purple"] input:not(:disabled):checked+.ts-helper{background:rgba(186,104,200,.5)}.wpdt-c .toggle-switch[data-ts-color="purple"] input:not(:disabled):checked+.ts-helper:before{background:#BA68C8}.wpdt-c .toggle-switch[data-ts-color="purple"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(186,104,200,.2)}.wpdt-c .toggle-switch[data-ts-color="pink"] input:not(:disabled):checked+.ts-helper{background:rgba(233,30,99,.5)}.wpdt-c .toggle-switch[data-ts-color="pink"] input:not(:disabled):checked+.ts-helper:before{background:#E91E63}.wpdt-c .toggle-switch[data-ts-color="pink"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(233,30,99,.2)}.wpdt-c .toggle-switch[data-ts-color="lime"] input:not(:disabled):checked+.ts-helper{background:rgba(205,220,57,.5)}.wpdt-c .toggle-switch[data-ts-color="lime"] input:not(:disabled):checked+.ts-helper:before{background:#CDDC39}.wpdt-c .toggle-switch[data-ts-color="lime"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(205,220,57,.2)}.wpdt-c .toggle-switch[data-ts-color="cyan"] input:not(:disabled):checked+.ts-helper{background:rgba(0,188,212,.5)}.wpdt-c .toggle-switch[data-ts-color="cyan"] input:not(:disabled):checked+.ts-helper:before{background:#00BCD4}.wpdt-c .toggle-switch[data-ts-color="cyan"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(0,188,212,.2)}.wpdt-c .toggle-switch[data-ts-color="green"] input:not(:disabled):checked+.ts-helper{background:rgba(76,175,80,.5)}.wpdt-c .toggle-switch[data-ts-color="green"] input:not(:disabled):checked+.ts-helper:before{background:#4CAF50}.wpdt-c .toggle-switch[data-ts-color="green"] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(76,175,80,.2)}.wpdt-c .has-error .checkbox .input-helper:before{border-color:#f99d97}.wpdt-c .has-error .checkbox .input-helper:after{border-bottom-color:#f77066;border-left-color:#f77066}.wpdt-c .has-error .fg-line:after{background:#F44336}.wpdt-c .has-success .checkbox .input-helper:before{border-color:#92cf94}.wpdt-c .has-success .checkbox .input-helper:after{border-bottom-color:#6ec071;border-left-color:#6ec071}.wpdt-c .has-success .fg-line:after{background:#4CAF50}.wpdt-c .has-warning .checkbox .input-helper:before{border-color:#ffc166}.wpdt-c .has-warning .checkbox .input-helper:after{border-bottom-color:#ffad33;border-left-color:#ffad33}.wpdt-c .has-warning .fg-line:after{background:#FF9800}.wpdt-c .ie9-placeholder{color:#888!important;font-weight:400}.wpdt-c .ie9 textarea{overflow:auto!important}.wpdt-c .pagination{border-radius:0}.wpdt-c .pagination>li{margin:0 2px;display:inline-block;vertical-align:top}.wpdt-c .pagination>li>a,.wpdt-c .pagination>li>span{border-radius:50%;padding:0;width:40px;height:40px;line-height:38px;text-align:center;font-size:14px;z-index:1;position:relative;cursor:pointer;background-clip:padding-box}.wpdt-c .pagination>li>a>.zmdi,.wpdt-c .pagination>li>span>.zmdi{font-size:22px;line-height:39px}.wpdt-c .pagination>li.disabled{opacity:.5;filter:alpha(opacity=50)}.wpdt-c .lg-pagination{width:100%;text-align:center;padding:40px 0;margin-top:0}.wpdt-c .pager li>a,.wpdt-c .pager li>span{padding:5px 10px 6px;color:#7E7E7E}.wpdt-c .popover{box-shadow:0 2px 30px rgba(0,0,0,.2)}.wpdt-c .popover-title{border-bottom:0;padding:15px;font-size:12px;text-transform:uppercase}.wpdt-c .popover-title+.popover-content{padding-top:0}.wpdt-c .popover-content{padding:15px}.wpdt-c .popover-content p{margin-bottom:0}.wpdt-c .fw-container .tab-content{padding:25px 0}.wpdt-c .fw-container .fw-footer{text-align:center;margin:30px 0 0;width:100%;border-top:2px solid #eee;padding:15px 0}.wpdt-c.alert{font-size:13px}.wpdt-c.alert span{cursor:pointer}.wpdt-c.alert:not(.alert-dismissible){padding-right:30px}.wpdt-c.alert.alert-dismissable{padding-right:44px}.wpdt-c.alert-inverse{background-color:#333;border-color:transparent;color:#fff}.wpdt-c.alert-inverse hr{border-top-color:rgba(0,0,0,0)}.wpdt-c.alert-inverse .alert-link{color:#e6e6e6}.wpdt-c.growl-animated.alert-inverse{box-shadow:0 0 5px rgba(51,51,51,.5)}.wpdt-c.growl-animated.alert-info{box-shadow:0 0 5px rgba(33,150,243,.5)}.wpdt-c.growl-animated.alert-success{box-shadow:0 0 5px rgba(76,175,80,.5);background:#EBFBEE;border:1px solid #40C057;box-sizing:border-box;color:#061938;padding:8px 12px;font-family:Inter;font-size:12px;line-height:20px}.wpdt-c.growl-animated.alert-success .wpdt-icon-check-circle-full{color:#2F9E44;margin-right:4px}.wpdt-c.growl-animated.alert-warning{box-shadow:0 0 5px rgba(255,193,7,.5)}.wpdt-c.growl-animated.alert-danger{background:linear-gradient(0deg,rgba(240,62,62,.04),rgba(240,62,62,.04)),#FFFFFF;border:1px solid #F03E3E;box-sizing:border-box;box-shadow:0 1px .5px rgba(0,0,0,.08),0 5px 5px rgba(0,0,0,.04);border-radius:4px;font-family:Inter;font-style:normal;font-weight:400;font-size:12px;line-height:20px;color:#061938}.wpdt-c.growl-animated.alert-danger span.wpdt-icon-exclamation-triangle{margin-right:4px;color:#F03E3E}.wpdt-c.alert-link{color:#fff!important}.wpdt-c .lightbox .lightbox-item{overflow:hidden}.wpdt-c .lightbox .lightbox-item>img{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:200ms;transition-duration:200ms;width:100%;border-radius:2px}.wpdt-c .lightbox .lightbox-item:hover{cursor:pointer}.wpdt-c .lightbox .lightbox-item:hover img{-webkit-transform:scale(1.35) rotate(10deg);-ms-transform:scale(1.35) rotate(10deg);-o-transform:scale(1.35) rotate(10deg);transform:scale(1.35) rotate(10deg)}.wpdt-c .lightbox [data-src]:before,.wpdt-c .lightbox [data-src]:after{content:" ";display:table}.wpdt-c .lightbox [data-src]:after{clear:both}.wpdt-c .lightbox [data-src]:before,.wpdt-c .lightbox [data-src]:after{content:" ";display:table}.wpdt-c .lightbox [data-src]:after{clear:both}.wpdt-c .lightbox .lightbox-item:not(.p-item){position:relative}.wpdt-c .carousel .carousel-control{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms;opacity:0;filter:alpha(opacity=0)}.wpdt-c .carousel .carousel-control .zmdi{position:absolute;top:50%;left:50%;line-height:100%}@media screen and (min-width:768px){.wpdt-c .carousel .carousel-control .zmdi{font-size:60px;width:60px;height:60px;margin-top:-30px;margin-left:-30px}}@media screen and (max-width:991px){.wpdt-c .carousel .carousel-control .zmdi{width:24px;height:24px;margin-top:-12px;margin-left:-12px}}.wpdt-c .carousel:hover .carousel-control{opacity:1;filter:alpha(opacity=100)}.wpdt-c .carousel .carousel-caption{background:rgba(0,0,0,.6);left:0;right:0;bottom:0;width:100%;padding-bottom:50px}.wpdt-c .carousel .carousel-caption>h3{color:#fff;margin:0 0 5px;font-weight:300}.wpdt-c .carousel .carousel-caption>p{margin:0}@media screen and (max-width:991px){.wpdt-c .carousel .carousel-caption{display:none}}.wpdt-c .carousel .carousel-indicators{bottom:10px;margin:0;left:0;bottom:0;width:100%;padding:0 0 6px;background:rgba(0,0,0,.6)}.wpdt-c .carousel .carousel-indicators li{border-radius:0;width:15px;border:0;background:#fff;height:3px;margin:0;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms}.wpdt-c .carousel .carousel-indicators li.active{width:25px;height:3px;background:#FF9800}.wpdt-c .modal .modal-content{box-shadow:0 5px 20px rgba(0,0,0,.31);border-radius:3px;border:0}.wpdt-c .modal .modal-header{padding:23px 26px}.wpdt-c .modal .modal-body{padding:0 26px 10px}.wpdt-c .modal .modal-footer .btn-link{font-size:14px;color:#000;font-weight:500}.wpdt-c .modal .modal-footer .btn-link:hover{background-color:#eee}.wpdt-c .modal:not([data-modal-color]) .modal-footer .btn-link{font-weight:500}.wpdt-c .modal:not([data-modal-color]) .modal-footer .btn-link:hover{background-color:#eee;background:#eee}.wpdt-c .modal[data-modal-color]{color:#fff}.wpdt-c .modal[data-modal-color] .modal-title,.wpdt-c .modal[data-modal-color] .modal-footer .btn-link{color:#fff}.wpdt-c .modal[data-modal-color] .modal-footer{background:#FFF}.modal[data-modal-color] .modal-backdrop{background:#fff}.wpdt-c .modal[data-modal-color] .modal-footer .btn-link{font-weight:400}.wpdt-c .modal[data-modal-color] .modal-footer .btn-link:hover{background-color:rgba(0,0,0,.1)}.wpdt-c .modal[data-modal-color="blue"] .modal-content{background:#2196F3}.wpdt-c .modal[data-modal-color="cyan"] .modal-content{background:#00BCD4}.wpdt-c .modal[data-modal-color="green"] .modal-content{background:#4CAF50}.wpdt-c .modal[data-modal-color="lightgreen"] .modal-content{background:#7fc032}.wpdt-c .modal[data-modal-color="lightblue"] .modal-content{background:#03A9F4}.wpdt-c .modal[data-modal-color="amber"] .modal-content{background:#FFC107}.wpdt-c .modal[data-modal-color="teal"] .modal-content{background:#009688}.wpdt-c .modal[data-modal-color="orange"] .modal-content{background:#FF9800}.wpdt-c .modal[data-modal-color="bluegray"] .modal-content{background:#607D8B}.wpdt-c .modal[data-modal-color="red"]{font-family:Inter;font-style:normal;font-weight:400}.wpdt-c .modal[data-modal-color="red"] .modal-title{font-size:15px;line-height:20px;color:#061938}.wpdt-c .modal[data-modal-color="red"] .modal-title i{color:#F03E3E;margin-right:8px}.wpdt-c .modal[data-modal-color="red"] .modal-content{background:#FFF;border:1px solid #F03E3E;box-sizing:border-box;box-shadow:0 0 1px rgba(0,0,0,.04),0 2px 6px rgba(0,0,0,.04),0 16px 24px rgba(0,0,0,.06);border-radius:4px;font-size:14px;line-height:24px;color:#5A6C89}.wpdt-c .panel{box-shadow:none;border:0}.wpdt-c .panel-heading{padding:0}.wpdt-c .panel-title>a{padding:10px 15px;display:block;font-size:13px}.wpdt-c .panel-collapse .panel-heading{position:relative}.wpdt-c .panel-collapse .panel-heading .panel-title>a{padding:8px 5px 16px 30px;color:#000;position:relative}.wpdt-c .panel-collapse .panel-heading .panel-title>a:after,.wpdt-c .panel-collapse .panel-heading .panel-title>a:before{position:absolute;bottom:0;left:0;height:2px;width:100%;content:"";-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.wpdt-c .panel-collapse .panel-heading .panel-title>a:after{-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}.wpdt-c .panel-collapse .panel-heading:not(.active) .panel-title>a:before{background:#eee}.wpdt-c .panel-collapse .panel-heading:before,.wpdt-c .panel-collapse .panel-heading:after{font-family:'wpDataTablesIcons';font-size:17px;position:absolute;left:0;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;top:7px}.wpdt-c .panel-collapse .panel-heading:before{content:"\f107";-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .panel-collapse .panel-heading:after{-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);content:"\f106"}.wpdt-c .panel-collapse .panel-heading.active .panel-title>a:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .panel-collapse .panel-heading.active:before{-webkit-transform:scale(0) rotate(-90deg);-ms-transform:scale(0) rotate(-90deg);-o-transform:scale(0) rotate(-90deg);transform:scale(0) rotate(-90deg)}.wpdt-c .panel-collapse .panel-heading.active:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .panel-collapse .panel-body{border-top:0!important;padding-left:5px;padding-right:5px}.wpdt-c .panel-group:not([data-collapse-color]) .panel-collapse .panel-heading.active .panel-title>a:after{background:#2196F3}.wpdt-c .panel-group[data-collapse-color="red"] .panel-collapse .panel-heading.active .panel-title>a:after{background:#F44336}.wpdt-c .panel-group[data-collapse-color="green"] .panel-collapse .panel-heading.active .panel-title>a:after{background:#4CAF50}.wpdt-c .panel-group[data-collapse-color="amber"] .panel-collapse .panel-heading.active .panel-title>a:after{background:#FFC107}.wpdt-c .panel-group[data-collapse-color="teal"] .panel-collapse .panel-heading.active .panel-title>a:after{background:#009688}.wpdt-c .panel-group[data-collapse-color="black"] .panel-collapse .panel-heading.active .panel-title>a:after{background:#000}.wpdt-c .panel-group[data-collapse-color="cyan"] .panel-collapse .panel-heading.active .panel-title>a:after{background:#00BCD4}.wpdt-c .breadcrumb{border-radius:0;margin-top:-27px;margin-bottom:50px}@media (min-width:1280px){.wpdt-c .breadcrumb{padding:10px 33px 11px 0}}@media (max-width:1279px){.wpdt-c .breadcrumb{padding:10px 33px 11px}}.wpdt-c .messages{height:calc(100vh - 130px);position:relative;overflow:hidden}.wpdt-c .messages header{min-height:55px}.wpdt-c .messages header .actions{position:absolute;top:12px;right:13px}.wpdt-c .m-sidebar{width:300px;border-right:1px solid #eee;position:absolute;height:100%;left:0;top:0;z-index:1}@media (max-width:767px){.m-sidebar{width:60px}.m-sidebar .list-group-item{padding:10px!important}.m-sidebar .ms-time{display:none}}.wpdt-c .m-sidebar header{background-color:#F7F7F7;padding:20px}.wpdt-c .m-sidebar header h2{line-height:100%;font-size:15px;margin:0;text-transform:uppercase;font-weight:400}.wpdt-c .m-sidebar .lgi-heading{max-width:120px}.wpdt-c .m-sidebar .list-group{height:calc(100% - 130px)}.wpdt-c .m-sidebar .mCSB_scrollTools{z-index:2}.wpdt-c .ms-time{position:absolute;top:16px;right:25px;color:#777}.wpdt-c .ms-search{padding:20px 25px;position:relative}.wpdt-c .ms-search .zmdi-search{position:absolute;left:0;top:8px;font-size:20px}.wpdt-c .ms-search input{padding-left:25px!important}.wpdt-c .m-body{position:relative;height:100%}@media (min-width:768px){.wpdt-c .m-body{padding-left:300px}}@media (max-width:767px){.wpdt-c .m-body{padding-left:60px}}.wpdt-c .mb-header{background-color:#F7F7F7;box-shadow:0 -1px 0 1px #eaeaea;position:relative;z-index:2}.wpdt-c .mbh-user{padding:12px 20px}.wpdt-c .mbh-user>img{width:30px;height:30px;border-radius:50%;float:left;margin-right:15px}.wpdt-c .mb-list{height:calc(100% - 55px);position:relative}.wpdt-c .mbl-messages{padding:50px 50px 0;height:calc(100vh - 259px);overflow-x:hidden}@media (max-width:767px){.wpdt-c .mbl-messages{padding:20px 20px 0}}.wpdt-c .mblm-item{position:relative;margin-bottom:10px}.wpdt-c .mblm-item>div{display:inline-block;max-width:70%;padding:15px 20px;border-radius:2px;position:relative}.wpdt-c .mblm-item small{display:block;color:#777;padding:5px 20px}.wpdt-c .mblm-item-left>div{background-color:#eee}.wpdt-c .mblm-item-right{text-align:right}.wpdt-c .mblm-item-right>div{background-color:#FFC107;color:#fff}.wpdt-c .mblmi-img{margin:-10px -15px;cursor:pointer}.wpdt-c .mblmi-img img{max-width:250px;border-radius:2px}.wpdt-c .mbl-compose{border-top:1px solid #eee;height:70px;position:absolute;bottom:0;left:0;width:100%;padding:15px 65px 15px 15px}.wpdt-c .mbl-compose textarea{height:100%;width:100%;border-radius:2px;border:0;resize:none;background:#eee;padding:5px 10px;color:#5E5E5E;-webkit-transition:background-color;-o-transition:background-color;transition:background-color;-webkit-transition-duration:300ms;transition-duration:300ms}.wpdt-c .mbl-compose button{position:absolute;top:14px;right:15px;background:transparent;border:0;font-size:25px}.wpdt-c .mbl-compose button:hover{color:#333}.wpdt-c .four-zero{height:100vh;background-color:#607D8B}.wpdt-c .fz-block{background:#557382;border-radius:2px;position:absolute;top:50%;margin-top:-150px;color:#ECF0F1;text-align:center;padding:25px;height:300px;width:500px;left:50%;margin-left:-250px}.wpdt-c .fz-block h2{font-size:130px;line-height:100%;color:#ECF0F1;font-weight:100}@media (max-width:767px){.wpdt-c .fz-block{width:calc(100% - 40px);left:20px;margin-left:0;height:260px;margin-top:-130px}.wpdt-c .fz-block h2{font-size:90px}}.wpdt-c .fz-block small{display:block;font-size:26px;margin-top:-10px}.wpdt-c .fzb-links{margin-top:20px}.wpdt-c .fzb-links>a{font-size:16px;display:inline-block;color:#ECF0F1;margin:0 1px;line-height:30px;width:30px;height:30px;background:rgba(0,0,0,.09);border-radius:50%;text-align:center}.wpdt-c .fzb-links>a:hover{background:rgba(0,0,0,.2)}.wpdt-c .login-content{min-height:100vh;text-align:center;background-color:#009688}.wpdt-c .login-content:before{display:inline-block;content:'';height:100vh;width:1px;vertical-align:middle}.wpdt-c .lc-block{max-width:500px;padding:20px 0;width:80%;display:inline-block;vertical-align:middle;position:relative}.wpdt-c .lc-block:not(.toggled){display:none}.wpdt-c .lc-block.toggled{-webkit-animation-name:fadeInUp;animation-name:fadeInUp;-webkit-animation-duration:300ms;animation-duration:300ms;-webkit-animation-fill-mode:both;animation-fill-mode:both;z-index:10}.wpdt-c .lc-block:not(.lc-block-alt) .lcb-form{padding:35px 55px 35px 25px}.wpdt-c .lc-block:not(.lc-block-alt) .btn-login{top:50%;margin-top:-43px;right:-25px}.wpdt-c .lc-block .checkbox{margin:5px 0 0 41px;text-align:left}.wpdt-c .lcb-form{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.15);border-radius:2px}.wpdt-c .lcb-navigation{margin-top:15px}.wpdt-c .lcb-navigation a,.wpdt-c .lcb-navigation a span{-webkit-transition:width;-o-transition:width;transition:width;-webkit-transition-duration:200ms;transition-duration:200ms}.wpdt-c .lcb-navigation a{color:#fff;display:inline-block;background:rgba(255,255,255,.2);margin:0 1px;width:30px;height:30px;border-radius:20px;vertical-align:top;white-space:nowrap;text-align:left}.wpdt-c .lcb-navigation a i{width:30px;font-style:normal;font-size:16px;display:inline-block;vertical-align:top;text-align:center;line-height:30px}.wpdt-c .lcb-navigation a span{width:0;overflow:hidden;display:inline-block;line-height:29px;margin-left:-3px}.wpdt-c .lcb-navigation a:hover span{width:100%}.wpdt-c .lcb-navigation a[data-ma-block="#l-register"]:hover{width:95px}.wpdt-c .lcb-navigation a[data-ma-block="#l-forget-password"]:hover{width:147px}.wpdt-c .lcb-navigation a[data-ma-block="#l-login"]:hover{width:85px}.wpdt-c .lc-block-alt .lcb-form{padding:70px 35px 60px}.wpdt-c .lc-block-alt .btn-login{bottom:0;left:50%;margin-left:-25px}.wpdt-c .lcb-user{width:100px;height:100px;border-radius:50%;border:5px solid #fff;position:absolute;top:-35px;left:50%;margin-left:-50px;box-shadow:0 -4px 10px rgba(0,0,0,.18)}.wpdt-c #profile-main{min-height:500px;position:relative}@media (min-width:1200px){.wpdt-c #profile-main .pm-overview{width:300px}}@media (min-width:768px) and (max-width:1200px){.wpdt-c #profile-main .pm-overview{width:250px}}@media (min-width:768px){.wpdt-c #profile-main .pm-overview{position:absolute;left:0;top:0;height:100%;background:#f8f8f8;border-right:1px solid #eee}}@media (max-width:767px){.wpdt-c #profile-main .pm-overview{width:100%;background:#333;text-align:center}}@media (min-width:1200px){.wpdt-c #profile-main .pm-body{padding-left:300px}}@media (min-width:768px) and (max-width:1200px){.wpdt-c #profile-main .pm-body{padding-left:250px}}@media (max-width:767px){.wpdt-c #profile-main .pm-body{padding-left:0}}.wpdt-c #profile-main .pmo-pic{position:relative;margin:20px}@media (min-width:768px){.wpdt-c #profile-main .pmo-pic img{width:100%;border-radius:2px 2px 0 0}}@media (max-width:767px){.wpdt-c #profile-main .pmo-pic img{width:180px;display:inline-block;height:180px;border-radius:50%;border:4px solid #fff;box-shadow:0 8px 17px rgba(0,0,0,.2),0 6px 20px rgba(0,0,0,.19)}}.wpdt-c #profile-main .pmo-pic .pmo-stat{border-radius:0 0 2px 2px;color:#fff;text-align:center;padding:30px 5px 0}@media (min-width:768px){.wpdt-c #profile-main .pmo-pic .pmo-stat{background:#FFC107;padding-bottom:15px}}.wpdt-c #profile-main .pmo-pic .pmop-edit{position:absolute;top:0;left:0;color:#fff;background:rgba(0,0,0,.38);text-align:center;padding:10px 10px 11px}.wpdt-c #profile-main .pmo-pic .pmop-edit:hover{background:rgba(0,0,0,.8)}.wpdt-c #profile-main .pmo-pic .pmop-edit i{font-size:18px;vertical-align:middle;margin-top:-3px}@media (min-width:768px){.wpdt-c #profile-main .pmo-pic .pmop-edit{width:100%;opacity:0;filter:alpha(opacity=0)}.wpdt-c #profile-main .pmo-pic .pmop-edit i{margin-right:4px}}.wpdt-c #profile-main .pmo-pic:hover .pmop-edit{opacity:1;filter:alpha(opacity=100)}.wpdt-c #profile-main .pmo-pic .pmop-message{position:absolute;bottom:27px;left:50%;margin-left:-25px}.wpdt-c #profile-main .pmo-pic .pmop-message .dropdown-menu{padding:5px 0 55px;left:-90px;width:228px;height:150px;top:-74px;-webkit-transform-origin:center;-moz-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.wpdt-c #profile-main .pmo-pic .pmop-message .dropdown-menu textarea{width:100%;height:95px;border:0;resize:none;padding:10px 19px}.wpdt-c #profile-main .pmo-pic .pmop-message .dropdown-menu button{bottom:5px;left:88px}.wpdt-c #profile-main .pmb-block{margin-bottom:20px}@media (min-width:1200px){.wpdt-c #profile-main .pmb-block{padding:40px 42px 0}}@media (max-width:1199px){.wpdt-c #profile-main .pmb-block{padding:30px 20px 0}}.wpdt-c #profile-main .pmb-block:last-child{margin-bottom:50px}.wpdt-c #profile-main .pmb-block .pmbb-header{margin-bottom:25px;position:relative}.wpdt-c #profile-main .pmb-block .pmbb-header .actions{position:absolute;top:-2px;right:0}.wpdt-c #profile-main .pmb-block .pmbb-header h2{margin:0;font-weight:100;font-size:20px}.wpdt-c #profile-main .pmb-block .pmbb-edit{position:relative;z-index:1;display:none}.wpdt-c #profile-main .pmb-block .pmbb-edit,.wpdt-c #profile-main .pmb-block .pmbb-view{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:1000ms;animation-duration:1000ms;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpdt-c #profile-main .pmb-block.toggled .pmbb-edit{display:block}.wpdt-c #profile-main .pmb-block.toggled .pmbb-view{display:none}.wpdt-c #profile-main .pmo-block{padding:25px}.wpdt-c #profile-main .pmo-block>h2{font-size:16px;margin:0 0 15px}.wpdt-c #profile-main .pmo-items .pmob-body{padding:0 10px}.wpdt-c #profile-main .pmo-items a{display:block;padding:4px}.wpdt-c #profile-main .pmo-items a img{width:100%}.wpdt-c .pmo-contact ul{list-style:none;margin:0;padding:0}.wpdt-c .pmo-contact ul li{position:relative;padding:8px 0 8px 35px}.wpdt-c .pmo-contact ul li i{font-size:18px;vertical-align:top;line-height:100%;position:absolute;left:0;width:18px;text-align:center}.wpdt-c .pmo-map{margin:20px -21px -18px;display:block}.wpdt-c .pmo-map img{width:100%}@media (max-width:767px){.c-timeline{background:#edecec;box-shadow:none}.c-timeline .tab-nav{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.15)}}.wpdt-c .timeline{position:relative}@media (min-width:768px){.wpdt-c .timeline{padding:50px;padding-left:100px}}@media (max-width:767px){.wpdt-c .timeline{margin-top:30px}}.wpdt-c .t-view{border:1px solid #eee;position:relative;margin-bottom:35px}@media (max-width:767px){.wpdt-c .t-view{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.15)}}.wpdt-c .t-view .tv-header{padding:16px 18px;border-bottom:1px solid #eee;background:#F9F9F9}.wpdt-c .t-view .tv-header .actions{position:absolute;top:5px;right:10px}.wpdt-c .t-view .tv-body{padding:23px 25px}.wpdt-c .t-view .tv-body .tvb-lightbox{margin:0 -8px 15px}.wpdt-c .t-view .tv-body .tvb-lightbox [data-src]{padding:0 5px;margin-bottom:5px}.wpdt-c .t-view .tvh-user{display:block}.wpdt-c .t-view .tvh-user img{width:46px;height:46px;border-radius:50%}.wpdt-c .tab-nav.settings{box-shadow:none}.wpdt-c .tab-nav.settings>li{float:none;display:block}.wpdt-c .bootstrap-select.btn-group .dropdown-menu li{display:block;margin:0}.wpdt-c .card .card-header.wdt-admin-card-header h2 span{font-size:16px}.wpdt-c .card .card-header h2 small{font-family:Inter;font-size:11px;margin-top:2px;color:#8796AF}.wpdt-c .checkbox .input-helper:after{font-size:14px}#series-settings-container div.chart-series-block:first-child .chart-show-yaxis{display:none}#series-settings-container div.chart-series-block{background:#FFF;box-shadow:0 2px 5px rgba(23,43,77,.1),0 0 1px rgba(23,43,77,.32);border-radius:3px;padding-bottom:10px;margin-bottom:20px}#series-settings-container div.chart-series-block h4.title{margin:0!important;padding:15px;background-color:#F8F8FA}#series-settings-container div.chart-series-block .chart-series-label,#series-settings-container div.chart-series-block .chart-series-color,#series-settings-container div.chart-series-block .chart-series-type,#series-settings-container div.chart-series-block .apexchart-series-type,#series-settings-container div.chart-series-block .apex-series-type-container,#series-settings-container div.chart-series-block .chart-show-yaxis,#series-settings-container div.chart-series-block .chart-series-image{padding:0 20px!important}#series-settings-container div.chart-series-block .chart-series-label{padding-top:10px!important}.wdt-include-bootstrap-block,.wdt-include-bootstrap-back-end-block{margin-bottom:25px}.wpdt-c .wdt-datetimepicker-modal .datepicker{width:100%!important}.wpdt-c .wdt-datetimepicker-modal .timepicker .timepicker-picker .table-condensed tr:nth-child(2) td button.btn:hover{background:#FFF!important;color:#2196F3}.wpdt-c .wdt-datetimepicker-modal .timepicker .timepicker-picker .table-condensed tr:nth-child(2) td{background:#2196F3!important;color:#FFF!important}.wpdt-c .handsontableInputHolder .bootstrap-datetimepicker-widget table td span{width:18px!important}.wpdt-c .wdt-datetimepicker-modal>ul li{margin:0}.wpdt-c .media-modal *{box-sizing:content-box}.wpdt-c .noUi-handle.noUi-handle-upper{right:0!important;left:100%!important;background-color:#0083c2!important}.wpdt-c .noUi-handle.noUi-handle-lower{right:0!important;left:100%!important;background-color:#0083c2!important}.wpdt-c .noUi-horizontal{margin-top:20px!important;margin-right:15px!important}.wpdt-c .noUi-connect{background:#0277bd!important}.wpdt-c #wdt-checkbox-filter-reset,.wpdt-c #wdt-checkbox-filter-close{position:relative}.google_candlestick_chart g.google-visualization-tooltip g:nth-child(3) text:first-child,.google_waterfall_chart g.google-visualization-tooltip g:nth-child(3) text:first-child{display:none!important}#wdt-frontend-modal .wdt_checkbox_option label,#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option label{padding-left:0}#wdt-frontend-modal .wdt_checkbox_option span.wdt-checkbox-label,#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option span.wdt-checkbox-label{vertical-align:top;margin-bottom:2px}#wdt-frontend-modal .wdt_checkbox_option input[type="checkbox"],#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option input[type="checkbox"]{background:#FFF;width:16px;height:16px;border:1px solid #C1C7D0;box-sizing:border-box;border-radius:3px;margin:0 10px 0 0!important;box-shadow:none;outline:none!important;vertical-align:baseline;opacity:1!important;position:relative}#wdt-frontend-modal .wdt_checkbox_option input[type="checkbox"]:checked:before,#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option input[type="checkbox"]:checked:before{font-family:'wpDataTablesIcons';content:'\f00c';width:16px;height:16px;color:#fff;border:1px solid #2684FF;background:#2684FF;border-radius:3px;margin:0;padding:1px 0 0 0;font-size:11px;float:none;font-weight:700;position:absolute;left:-1px;top:-1px;opacity:1}.wpdt-c .wpdt-custom-center-flex{display:flex;justify-content:center}#datatables_buttons_info{width:264px;position:fixed;top:50%;left:50%;height:52px;border:2px solid #37393d;border-radius:26px;box-shadow:0 18px 18px 0 rgba(10,31,68,.12),0 0 1px 0 rgba(10,31,68,.1);background-color:#37393d;margin-top:0;margin-left:0;line-height:normal;text-align:center;z-index:9999}#datatables_buttons_info:before,#datatables_buttons_info:after{display:none}#datatables_buttons_info h2{font-family:GraphikWeb;font-size:16px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.43;letter-spacing:normal;color:#fff;padding:0;margin:2px auto 0;border-bottom:1px solid #37393d;background-color:transparent}#datatables_buttons_info>div{display:block;padding:5px 0 0 0;color:#FFF;font-size:12px}.media-frame-router,.media-frame-content{margin-top:20px}#media-attachment-date-filters{margin-left:180px}
 
1
  /*!
2
  * Bootstrap v3.3.6 (http://getbootstrap.com)
3
  * Copyright 2011-2015 Twitter, Inc.
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap);@font-face{font-family:wpDataTablesIcons!important;src:url(../../fonts/wpDataTablesIcons.eot);src:url(../../fonts/wpDataTablesIcons.eot?#iefix) format('embedded-opentype'),url(../../fonts/wpDataTablesIcons.woff) format('woff'),url(../../fonts/wpDataTablesIcons.ttf) format('truetype'),url(../../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg')}.wpdt-c article,.wpdt-c aside,.wpdt-c details,.wpdt-c figcaption,.wpdt-c figure,.wpdt-c footer,.wpdt-c header,.wpdt-c hgroup,.wpdt-c main,.wpdt-c menu,.wpdt-c nav,.wpdt-c section,.wpdt-c summary{display:block}.wpdt-c audio,.wpdt-c canvas,.wpdt-c progress,.wpdt-c video{display:inline-block;vertical-align:baseline}.wpdt-c audio:not([controls]){display:none;height:0}.wpdt-c [hidden],.wpdt-c template{display:none}.wpdt-c a{background-color:transparent}.wpdt-c a:active,.wpdt-c a:hover{outline:0}.wpdt-c abbr[title]{border-bottom:1px dotted}.wpdt-c b,.wpdt-c strong{font-weight:700}.wpdt-c dfn{font-style:italic}.wpdt-c h1{font-size:2em;margin:.67em 0}.wpdt-c mark{background:#ff0;color:#000}.wpdt-c small{font-size:80%}.wpdt-c sub,.wpdt-c sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wpdt-c sup{top:-.5em}.wpdt-c sub{bottom:-.25em}.wpdt-c img{border:0}.wpdt-c svg:not(:root){overflow:hidden}.wpdt-c figure{margin:1em 40px}.wpdt-c hr{box-sizing:content-box;height:0}.wpdt-c pre{overflow:auto}.wpdt-c code,.wpdt-c kbd,.wpdt-c samp{font-family:monospace,monospace;font-size:1em}.wpdt-c button,.wpdt-c input,.wpdt-c optgroup,.wpdt-c select,.wpdt-c textarea{color:inherit;font:inherit;margin:0}.wpdt-c button{overflow:visible}.wpdt-c button,.wpdt-c select{text-transform:none}.wpdt-c button,.wpdt-c html input[type=button],.wpdt-c input[type=reset],.wpdt-c input[type=submit]{-webkit-appearance:button;cursor:pointer}.wpdt-c button[disabled],.wpdt-c html input[disabled]{cursor:default}.wpdt-c button::-moz-focus-inner,.wpdt-c input::-moz-focus-inner{border:0;padding:0}.wpdt-c input{line-height:normal}.wpdt-c input[type=checkbox],.wpdt-c input[type=radio]{box-sizing:border-box;padding:0}.wpdt-c input[type=number]::-webkit-inner-spin-button,.wpdt-c input[type=number]::-webkit-outer-spin-button{height:auto}.wpdt-c input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}.wpdt-c input[type=search]::-webkit-search-cancel-button,.wpdt-c input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.wpdt-c fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.wpdt-c legend{border:0;padding:0}.wpdt-c textarea{overflow:auto}.wpdt-c optgroup{font-weight:700}.wpdt-c table{border-collapse:collapse;border-spacing:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,.wpdt-c :after,.wpdt-c :before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.wpdt-c a,.wpdt-c a:visited{text-decoration:underline}.wpdt-c a[href]:after{content:" (" attr(href) ")"}.wpdt-c abbr[title]:after{content:" (" attr(title) ")"}.wpdt-c a[href^="#"]:after,.wpdt-c a[href^="javascript:"]:after{content:""}.wpdt-c blockquote,.wpdt-c pre{border:1px solid #999;page-break-inside:avoid}.wpdt-c thead{display:table-header-group}.wpdt-c img,.wpdt-c tr{page-break-inside:avoid}.wpdt-c img{max-width:100%!important}.wpdt-c h2,.wpdt-c h3,.wpdt-c p{orphans:3;widows:3}.wpdt-c h2,.wpdt-c h3{page-break-after:avoid}.wpdt-c .navbar{display:none}.wpdt-c .btn>.caret,.wpdt-c .dropup>.btn>.caret{border-top-color:#000!important}.wpdt-c .label{border:1px solid #000}.wpdt-c .table{border-collapse:collapse!important}.wpdt-c .table td,.wpdt-c .table th{background-color:#fff!important}.wpdt-c .table-bordered td,.wpdt-c .table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url('../../fonts/glyphicons/glyphicons-halflings-regular.eot');src:url('../../fonts/glyphicons/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../../fonts/glyphicons/glyphicons-halflings-regular.woff2') format('woff2'),url('../../fonts/glyphicons/glyphicons-halflings-regular.woff') format('woff'),url('../../fonts/glyphicons/glyphicons-halflings-regular.ttf') format('truetype'),url('../../fonts/glyphicons/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.wpdt-c .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}.wpdt-c .glyphicon-asterisk:before{content:"\002a"}.wpdt-c .glyphicon-plus:before{content:"\002b"}.wpdt-c .glyphicon-eur:before,.wpdt-c .glyphicon-euro:before{content:"\20ac"}.wpdt-c .glyphicon-minus:before{content:"\2212"}.wpdt-c .glyphicon-cloud:before{content:"\2601"}.wpdt-c .glyphicon-envelope:before{content:"\2709"}.wpdt-c .glyphicon-pencil:before{content:"\270f"}.wpdt-c .glyphicon-glass:before{content:"\e001"}.wpdt-c .glyphicon-music:before{content:"\e002"}.wpdt-c .glyphicon-search:before{content:"\e003"}.wpdt-c .glyphicon-heart:before{content:"\e005"}.wpdt-c .glyphicon-star:before{content:"\e006"}.wpdt-c .glyphicon-star-empty:before{content:"\e007"}.wpdt-c .glyphicon-user:before{content:"\e008"}.wpdt-c .glyphicon-film:before{content:"\e009"}.wpdt-c .glyphicon-th-large:before{content:"\e010"}.wpdt-c .glyphicon-th:before{content:"\e011"}.wpdt-c .glyphicon-th-list:before{content:"\e012"}.wpdt-c .glyphicon-ok:before{content:"\e013"}.wpdt-c .glyphicon-remove:before{content:"\e014"}.wpdt-c .glyphicon-zoom-in:before{content:"\e015"}.wpdt-c .glyphicon-zoom-out:before{content:"\e016"}.wpdt-c .glyphicon-off:before{content:"\e017"}.wpdt-c .glyphicon-signal:before{content:"\e018"}.wpdt-c .glyphicon-cog:before{content:"\e019"}.wpdt-c .glyphicon-trash:before{content:"\e020"}.wpdt-c .glyphicon-home:before{content:"\e021"}.wpdt-c .glyphicon-file:before{content:"\e022"}.wpdt-c .glyphicon-time:before{content:"\e023"}.wpdt-c .glyphicon-road:before{content:"\e024"}.wpdt-c .glyphicon-download-alt:before{content:"\e025"}.wpdt-c .glyphicon-download:before{content:"\e026"}.wpdt-c .glyphicon-upload:before{content:"\e027"}.wpdt-c .glyphicon-inbox:before{content:"\e028"}.wpdt-c .glyphicon-play-circle:before{content:"\e029"}.wpdt-c .glyphicon-repeat:before{content:"\e030"}.wpdt-c .glyphicon-refresh:before{content:"\e031"}.wpdt-c .glyphicon-list-alt:before{content:"\e032"}.wpdt-c .glyphicon-lock:before{content:"\e033"}.wpdt-c .glyphicon-flag:before{content:"\e034"}.wpdt-c .glyphicon-headphones:before{content:"\e035"}.wpdt-c .glyphicon-volume-off:before{content:"\e036"}.wpdt-c .glyphicon-volume-down:before{content:"\e037"}.wpdt-c .glyphicon-volume-up:before{content:"\e038"}.wpdt-c .glyphicon-qrcode:before{content:"\e039"}.wpdt-c .glyphicon-barcode:before{content:"\e040"}.wpdt-c .glyphicon-tag:before{content:"\e041"}.wpdt-c .glyphicon-tags:before{content:"\e042"}.wpdt-c .glyphicon-book:before{content:"\e043"}.wpdt-c .glyphicon-bookmark:before{content:"\e044"}.wpdt-c .glyphicon-print:before{content:"\e045"}.wpdt-c .glyphicon-camera:before{content:"\e046"}.wpdt-c .glyphicon-font:before{content:"\e047"}.wpdt-c .glyphicon-bold:before{content:"\e048"}.wpdt-c .glyphicon-italic:before{content:"\e049"}.wpdt-c .glyphicon-text-height:before{content:"\e050"}.wpdt-c .glyphicon-text-width:before{content:"\e051"}.wpdt-c .glyphicon-align-left:before{content:"\e052"}.wpdt-c .glyphicon-align-center:before{content:"\e053"}.wpdt-c .glyphicon-align-right:before{content:"\e054"}.wpdt-c .glyphicon-align-justify:before{content:"\e055"}.wpdt-c .glyphicon-list:before{content:"\e056"}.wpdt-c .glyphicon-indent-left:before{content:"\e057"}.wpdt-c .glyphicon-indent-right:before{content:"\e058"}.wpdt-c .glyphicon-facetime-video:before{content:"\e059"}.wpdt-c .glyphicon-picture:before{content:"\e060"}.wpdt-c .glyphicon-map-marker:before{content:"\e062"}.wpdt-c .glyphicon-adjust:before{content:"\e063"}.wpdt-c .glyphicon-tint:before{content:"\e064"}.wpdt-c .glyphicon-edit:before{content:"\e065"}.wpdt-c .glyphicon-share:before{content:"\e066"}.wpdt-c .glyphicon-check:before{content:"\e067"}.wpdt-c .glyphicon-move:before{content:"\e068"}.wpdt-c .glyphicon-step-backward:before{content:"\e069"}.wpdt-c .glyphicon-fast-backward:before{content:"\e070"}.wpdt-c .glyphicon-backward:before{content:"\e071"}.wpdt-c .glyphicon-play:before{content:"\e072"}.wpdt-c .glyphicon-pause:before{content:"\e073"}.wpdt-c .glyphicon-stop:before{content:"\e074"}.wpdt-c .glyphicon-forward:before{content:"\e075"}.wpdt-c .glyphicon-fast-forward:before{content:"\e076"}.wpdt-c .glyphicon-step-forward:before{content:"\e077"}.wpdt-c .glyphicon-eject:before{content:"\e078"}.wpdt-c .glyphicon-chevron-left:before{content:"\e079"}.wpdt-c .glyphicon-chevron-right:before{content:"\e080"}.wpdt-c .glyphicon-plus-sign:before{content:"\e081"}.wpdt-c .glyphicon-minus-sign:before{content:"\e082"}.wpdt-c .glyphicon-remove-sign:before{content:"\e083"}.wpdt-c .glyphicon-ok-sign:before{content:"\e084"}.wpdt-c .glyphicon-question-sign:before{content:"\e085"}.wpdt-c .glyphicon-info-sign:before{content:"\e086"}.wpdt-c .glyphicon-screenshot:before{content:"\e087"}.wpdt-c .glyphicon-remove-circle:before{content:"\e088"}.wpdt-c .glyphicon-ok-circle:before{content:"\e089"}.wpdt-c .glyphicon-ban-circle:before{content:"\e090"}.wpdt-c .glyphicon-arrow-left:before{content:"\e091"}.wpdt-c .glyphicon-arrow-right:before{content:"\e092"}.wpdt-c .glyphicon-arrow-up:before{content:"\e093"}.wpdt-c .glyphicon-arrow-down:before{content:"\e094"}.wpdt-c .glyphicon-share-alt:before{content:"\e095"}.wpdt-c .glyphicon-resize-full:before{content:"\e096"}.wpdt-c .glyphicon-resize-small:before{content:"\e097"}.wpdt-c .glyphicon-exclamation-sign:before{content:"\e101"}.wpdt-c .glyphicon-gift:before{content:"\e102"}.wpdt-c .glyphicon-leaf:before{content:"\e103"}.wpdt-c .glyphicon-fire:before{content:"\e104"}.wpdt-c .glyphicon-eye-open:before{content:"\e105"}.wpdt-c .glyphicon-eye-close:before{content:"\e106"}.wpdt-c .glyphicon-warning-sign:before{content:"\e107"}.wpdt-c .glyphicon-plane:before{content:"\e108"}.wpdt-c .glyphicon-calendar:before{content:"\e109"}.wpdt-c .glyphicon-random:before{content:"\e110"}.wpdt-c .glyphicon-comment:before{content:"\e111"}.wpdt-c .glyphicon-magnet:before{content:"\e112"}.wpdt-c .glyphicon-chevron-up:before{content:"\e113"}.wpdt-c .glyphicon-chevron-down:before{content:"\e114"}.wpdt-c .glyphicon-retweet:before{content:"\e115"}.wpdt-c .glyphicon-shopping-cart:before{content:"\e116"}.wpdt-c .glyphicon-folder-close:before{content:"\e117"}.wpdt-c .glyphicon-folder-open:before{content:"\e118"}.wpdt-c .glyphicon-resize-vertical:before{content:"\e119"}.wpdt-c .glyphicon-resize-horizontal:before{content:"\e120"}.wpdt-c .glyphicon-hdd:before{content:"\e121"}.wpdt-c .glyphicon-bullhorn:before{content:"\e122"}.wpdt-c .glyphicon-bell:before{content:"\e123"}.wpdt-c .glyphicon-certificate:before{content:"\e124"}.wpdt-c .glyphicon-thumbs-up:before{content:"\e125"}.wpdt-c .glyphicon-thumbs-down:before{content:"\e126"}.wpdt-c .glyphicon-hand-right:before{content:"\e127"}.wpdt-c .glyphicon-hand-left:before{content:"\e128"}.wpdt-c .glyphicon-hand-up:before{content:"\e129"}.wpdt-c .glyphicon-hand-down:before{content:"\e130"}.wpdt-c .glyphicon-circle-arrow-right:before{content:"\e131"}.wpdt-c .glyphicon-circle-arrow-left:before{content:"\e132"}.wpdt-c .glyphicon-circle-arrow-up:before{content:"\e133"}.wpdt-c .glyphicon-circle-arrow-down:before{content:"\e134"}.wpdt-c .glyphicon-globe:before{content:"\e135"}.wpdt-c .glyphicon-wrench:before{content:"\e136"}.wpdt-c .glyphicon-tasks:before{content:"\e137"}.wpdt-c .glyphicon-filter:before{content:"\e138"}.wpdt-c .glyphicon-briefcase:before{content:"\e139"}.wpdt-c .glyphicon-fullscreen:before{content:"\e140"}.wpdt-c .glyphicon-dashboard:before{content:"\e141"}.wpdt-c .glyphicon-paperclip:before{content:"\e142"}.wpdt-c .glyphicon-heart-empty:before{content:"\e143"}.wpdt-c .glyphicon-link:before{content:"\e144"}.wpdt-c .glyphicon-phone:before{content:"\e145"}.wpdt-c .glyphicon-pushpin:before{content:"\e146"}.wpdt-c .glyphicon-usd:before{content:"\e148"}.wpdt-c .glyphicon-gbp:before{content:"\e149"}.wpdt-c .glyphicon-sort:before{content:"\e150"}.wpdt-c .glyphicon-sort-by-alphabet:before{content:"\e151"}.wpdt-c .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.wpdt-c .glyphicon-sort-by-order:before{content:"\e153"}.wpdt-c .glyphicon-sort-by-order-alt:before{content:"\e154"}.wpdt-c .glyphicon-sort-by-attributes:before{content:"\e155"}.wpdt-c .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.wpdt-c .glyphicon-unchecked:before{content:"\e157"}.wpdt-c .glyphicon-expand:before{content:"\e158"}.wpdt-c .glyphicon-collapse-down:before{content:"\e159"}.wpdt-c .glyphicon-collapse-up:before{content:"\e160"}.wpdt-c .glyphicon-log-in:before{content:"\e161"}.wpdt-c .glyphicon-flash:before{content:"\e162"}.wpdt-c .glyphicon-log-out:before{content:"\e163"}.wpdt-c .glyphicon-new-window:before{content:"\e164"}.wpdt-c .glyphicon-record:before{content:"\e165"}.wpdt-c .glyphicon-save:before{content:"\e166"}.wpdt-c .glyphicon-open:before{content:"\e167"}.wpdt-c .glyphicon-saved:before{content:"\e168"}.wpdt-c .glyphicon-import:before{content:"\e169"}.wpdt-c .glyphicon-export:before{content:"\e170"}.wpdt-c .glyphicon-send:before{content:"\e171"}.wpdt-c .glyphicon-floppy-disk:before{content:"\e172"}.wpdt-c .glyphicon-floppy-saved:before{content:"\e173"}.wpdt-c .glyphicon-floppy-remove:before{content:"\e174"}.wpdt-c .glyphicon-floppy-save:before{content:"\e175"}.wpdt-c .glyphicon-floppy-open:before{content:"\e176"}.wpdt-c .glyphicon-credit-card:before{content:"\e177"}.wpdt-c .glyphicon-transfer:before{content:"\e178"}.wpdt-c .glyphicon-cutlery:before{content:"\e179"}.wpdt-c .glyphicon-header:before{content:"\e180"}.wpdt-c .glyphicon-compressed:before{content:"\e181"}.wpdt-c .glyphicon-earphone:before{content:"\e182"}.wpdt-c .glyphicon-phone-alt:before{content:"\e183"}.wpdt-c .glyphicon-tower:before{content:"\e184"}.wpdt-c .glyphicon-stats:before{content:"\e185"}.wpdt-c .glyphicon-sd-video:before{content:"\e186"}.wpdt-c .glyphicon-hd-video:before{content:"\e187"}.wpdt-c .glyphicon-subtitles:before{content:"\e188"}.wpdt-c .glyphicon-sound-stereo:before{content:"\e189"}.wpdt-c .glyphicon-sound-dolby:before{content:"\e190"}.wpdt-c .glyphicon-sound-5-1:before{content:"\e191"}.wpdt-c .glyphicon-sound-6-1:before{content:"\e192"}.wpdt-c .glyphicon-sound-7-1:before{content:"\e193"}.wpdt-c .glyphicon-copyright-mark:before{content:"\e194"}.wpdt-c .glyphicon-registration-mark:before{content:"\e195"}.wpdt-c .glyphicon-cloud-download:before{content:"\e197"}.wpdt-c .glyphicon-cloud-upload:before{content:"\e198"}.wpdt-c .glyphicon-tree-conifer:before{content:"\e199"}.wpdt-c .glyphicon-tree-deciduous:before{content:"\e200"}.wpdt-c .glyphicon-cd:before{content:"\e201"}.wpdt-c .glyphicon-save-file:before{content:"\e202"}.wpdt-c .glyphicon-open-file:before{content:"\e203"}.wpdt-c .glyphicon-level-up:before{content:"\e204"}.wpdt-c .glyphicon-copy:before{content:"\e205"}.wpdt-c .glyphicon-paste:before{content:"\e206"}.wpdt-c .glyphicon-alert:before{content:"\e209"}.wpdt-c .glyphicon-equalizer:before{content:"\e210"}.wpdt-c .glyphicon-king:before{content:"\e211"}.wpdt-c .glyphicon-queen:before{content:"\e212"}.wpdt-c .glyphicon-pawn:before{content:"\e213"}.wpdt-c .glyphicon-bishop:before{content:"\e214"}.wpdt-c .glyphicon-knight:before{content:"\e215"}.wpdt-c .glyphicon-baby-formula:before{content:"\e216"}.wpdt-c .glyphicon-tent:before{content:"\26fa"}.wpdt-c .glyphicon-blackboard:before{content:"\e218"}.wpdt-c .glyphicon-bed:before{content:"\e219"}.wpdt-c .glyphicon-apple:before{content:"\f8ff"}.wpdt-c .glyphicon-erase:before{content:"\e221"}.wpdt-c .glyphicon-hourglass:before{content:"\231b"}.wpdt-c .glyphicon-lamp:before{content:"\e223"}.wpdt-c .glyphicon-duplicate:before{content:"\e224"}.wpdt-c .glyphicon-piggy-bank:before{content:"\e225"}.wpdt-c .glyphicon-scissors:before{content:"\e226"}.wpdt-c .glyphicon-bitcoin:before{content:"\e227"}.wpdt-c .glyphicon-btc:before{content:"\e227"}.wpdt-c .glyphicon-xbt:before{content:"\e227"}.wpdt-c .glyphicon-yen:before{content:"\00a5"}.wpdt-c .glyphicon-jpy:before{content:"\00a5"}.wpdt-c .glyphicon-ruble:before{content:"\20bd"}.wpdt-c .glyphicon-rub:before{content:"\20bd"}.wpdt-c .glyphicon-scale:before{content:"\e230"}.wpdt-c .glyphicon-ice-lolly:before{content:"\e231"}.wpdt-c .glyphicon-ice-lolly-tasted:before{content:"\e232"}.wpdt-c .glyphicon-education:before{content:"\e233"}.wpdt-c .glyphicon-option-horizontal:before{content:"\e234"}.wpdt-c .glyphicon-option-vertical:before{content:"\e235"}.wpdt-c .glyphicon-menu-hamburger:before{content:"\e236"}.wpdt-c .glyphicon-modal-window:before{content:"\e237"}.wpdt-c .glyphicon-oil:before{content:"\e238"}.wpdt-c .glyphicon-grain:before{content:"\e239"}.wpdt-c .glyphicon-sunglasses:before{content:"\e240"}.wpdt-c .glyphicon-text-size:before{content:"\e241"}.wpdt-c .glyphicon-text-color:before{content:"\e242"}.wpdt-c .glyphicon-text-background:before{content:"\e243"}.wpdt-c .glyphicon-object-align-top:before{content:"\e244"}.wpdt-c .glyphicon-object-align-bottom:before{content:"\e245"}.wpdt-c .glyphicon-object-align-horizontal:before{content:"\e246"}.wpdt-c .glyphicon-object-align-left:before{content:"\e247"}.wpdt-c .glyphicon-object-align-vertical:before{content:"\e248"}.wpdt-c .glyphicon-object-align-right:before{content:"\e249"}.wpdt-c .glyphicon-triangle-right:before{content:"\e250"}.wpdt-c .glyphicon-triangle-left:before{content:"\e251"}.wpdt-c .glyphicon-triangle-bottom:before{content:"\e252"}.wpdt-c .glyphicon-triangle-top:before{content:"\e253"}.wpdt-c .glyphicon-console:before{content:"\e254"}.wpdt-c .glyphicon-superscript:before{content:"\e255"}.wpdt-c .glyphicon-subscript:before{content:"\e256"}.wpdt-c .glyphicon-menu-left:before{content:"\e257"}.wpdt-c .glyphicon-menu-right:before{content:"\e258"}.wpdt-c .glyphicon-menu-down:before{content:"\e259"}.wpdt-c .glyphicon-menu-up:before{content:"\e260"}.wpdt-c *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpdt-c :after,.wpdt-c :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpdt-c html{font-size:10px;-webkit-tap-highlight-color:transparent}.wpdt-c button,.wpdt-c input,.wpdt-c select,.wpdt-c textarea{font-family:inherit;font-size:inherit;line-height:inherit}.wpdt-c a{color:#2196f3;text-decoration:none;box-shadow:none}.wpdt-c a:focus,.wpdt-c a:hover{color:#0a6ebd;text-decoration:none}.wpdt-c figure{margin:0}.wpdt-c img{vertical-align:middle}.wpdt-c .carousel-inner>.item>a>img,.wpdt-c .carousel-inner>.item>img,.wpdt-c .img-responsive,.wpdt-c .thumbnail a>img,.wpdt-c .thumbnail>img{display:block;max-width:100%;height:auto}.wpdt-c .img-rounded{border-radius:2px}.wpdt-c .img-thumbnail{padding:3px;line-height:1.42857143;background-color:#fff;border:1px solid #ededed;border-radius:2px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.wpdt-c .img-circle{border-radius:50%}.wpdt-c hr{margin-top:18px;margin-bottom:18px;border:0;border-top:1px solid #dfe1e6}.wpdt-c .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.wpdt-c .sr-only-focusable:active,.wpdt-c .sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.wpdt-c .h1,.wpdt-c .h2,.wpdt-c .h3,.wpdt-c .h4,.wpdt-c .h5,.wpdt-c .h6,.wpdt-c h1,.wpdt-c h2,.wpdt-c h3,.wpdt-c h4,.wpdt-c h5,.wpdt-c h6{font-family:inherit;font-weight:500;line-height:1.1;color:#222}.wpdt-c .h1 .small,.wpdt-c .h1 small,.wpdt-c .h2 .small,.wpdt-c .h2 small,.wpdt-c .h3 .small,.wpdt-c .h3 small,.wpdt-c .h4 .small,.wpdt-c .h4 small,.wpdt-c .h5 .small,.wpdt-c .h5 small,.wpdt-c .h6 .small,.wpdt-c .h6 small,.wpdt-c h1 .small,.wpdt-c h1 small,.wpdt-c h2 .small,.wpdt-c h2 small,.wpdt-c h3 .small,.wpdt-c h3 small,.wpdt-c h4 .small,.wpdt-c h4 small,.wpdt-c h5 .small,.wpdt-c h5 small,.wpdt-c h6 .small,.wpdt-c h6 small{font-weight:400;line-height:1;color:#aeaeae}.wpdt-c .h1,.wpdt-c .h2,.wpdt-c .h3,.wpdt-c h1,.wpdt-c h2,.wpdt-c h3{margin-top:18px;margin-bottom:9px}.wpdt-c .h1 .small,.wpdt-c .h1 small,.wpdt-c .h2 .small,.wpdt-c .h2 small,.wpdt-c .h3 .small,.wpdt-c .h3 small,.wpdt-c h1 .small,.wpdt-c h1 small,.wpdt-c h2 .small,.wpdt-c h2 small,.wpdt-c h3 .small,.wpdt-c h3 small{font-size:65%}.wpdt-c .h4,.wpdt-c .h5,.wpdt-c .h6,.wpdt-c h4,.wpdt-c h5,.wpdt-c h6{margin-top:9px;margin-bottom:9px}.wpdt-c .h4 .small,.wpdt-c .h4 small,.wpdt-c .h5 .small,.wpdt-c .h5 small,.wpdt-c .h6 .small,.wpdt-c .h6 small,.wpdt-c h4 .small,.wpdt-c h4 small,.wpdt-c h5 .small,.wpdt-c h5 small,.wpdt-c h6 .small,.wpdt-c h6 small{font-size:75%}.wpdt-c .h1,.wpdt-c h1{font-size:33px}.wpdt-c .h2,.wpdt-c h2{font-size:27px}.wpdt-c .h3,.wpdt-c h3{font-size:23px}.wpdt-c .h4,.wpdt-c h4{font-size:13px}.wpdt-c .h5,.wpdt-c h5{font-size:13px}.wpdt-c .h6,.wpdt-c h6{font-size:12px}.wpdt-c p{margin:0 0 9px}.wpdt-c .lead{margin-bottom:18px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:768px){.wpdt-c .lead{font-size:19.5px}}.wpdt-c .small,.wpdt-c small{font-size:92%}.wpdt-c .mark,.wpdt-c mark{background-color:#ffa829;padding:.2em}.wpdt-c .text-left{text-align:left}.wpdt-c .text-right{text-align:right}.wpdt-c .text-center{text-align:center}.wpdt-c .text-justify{text-align:justify}.wpdt-c .text-nowrap{white-space:nowrap}.wpdt-c .text-lowercase{text-transform:lowercase}.wpdt-c .text-uppercase{text-transform:uppercase}.wpdt-c .text-capitalize{text-transform:capitalize}.wpdt-c .text-muted{color:#777}.wpdt-c .text-primary{color:#2196f3}.wpdt-c a.text-primary:focus,.wpdt-c a.text-primary:hover{color:#0c7cd5}.wpdt-c .text-success{color:#67bd6a}.wpdt-c a.text-success:focus,.wpdt-c a.text-success:hover{color:#49a84d}.wpdt-c .text-info{color:#31708f}.wpdt-c a.text-info:focus,.wpdt-c a.text-info:hover{color:#245269}.wpdt-c .text-warning{color:#ffa829}.wpdt-c a.text-warning:focus,.wpdt-c a.text-warning:hover{color:#f59200}.wpdt-c .text-danger{color:#f6675d}.wpdt-c a.text-danger:focus,.wpdt-c a.text-danger:hover{color:#f33a2c}.wpdt-c .bg-primary{color:#fff;background-color:#2196f3}.wpdt-c a.bg-primary:focus,.wpdt-c a.bg-primary:hover{background-color:#0c7cd5}.wpdt-c .bg-success{background-color:#67bd6a}.wpdt-c a.bg-success:focus,.wpdt-c a.bg-success:hover{background-color:#49a84d}.wpdt-c .bg-info{background-color:#d9edf7}.wpdt-c a.bg-info:focus,.wpdt-c a.bg-info:hover{background-color:#afd9ee}.wpdt-c .bg-warning{background-color:#ffa829}.wpdt-c a.bg-warning:focus,.wpdt-c a.bg-warning:hover{background-color:#f59200}.wpdt-c .bg-danger{background-color:#f6675d}.wpdt-c a.bg-danger:focus,.wpdt-c a.bg-danger:hover{background-color:#f33a2c}.wpdt-c .page-header{padding-bottom:8px;margin:36px 0 18px;border-bottom:1px solid #eee}.wpdt-c ol,.wpdt-c ul{margin-top:0;margin-bottom:9px}.wpdt-c ol ol,.wpdt-c ol ul,.wpdt-c ul ol,.wpdt-c ul ul{margin-bottom:0}.wpdt-c .list-unstyled{padding-left:0;list-style:none}.wpdt-c .list-inline{padding-left:0;list-style:none;margin-left:-5px}.wpdt-c .list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.wpdt-c dl{margin-top:0;margin-bottom:18px}.wpdt-c dd,.wpdt-c dt{line-height:1.42857143}.wpdt-c dt{font-weight:700}.wpdt-c dd{margin-left:0}@media (min-width:768px){.wpdt-c .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c .dl-horizontal dd{margin-left:180px}}.wpdt-c abbr[data-original-title],.wpdt-c abbr[title]{cursor:help;border-bottom:1px dotted #777}.wpdt-c .initialism{font-size:90%;text-transform:uppercase}.wpdt-c blockquote{padding:9px 18px;margin:0 0 18px;font-size:16.25px;border-left:5px solid #eee}.wpdt-c blockquote ol:last-child,.wpdt-c blockquote p:last-child,.wpdt-c blockquote ul:last-child{margin-bottom:0}.wpdt-c blockquote .small,.wpdt-c blockquote footer,.wpdt-c blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}.wpdt-c blockquote .small:before,.wpdt-c blockquote footer:before,.wpdt-c blockquote small:before{content:'\2014 \00A0'}.wpdt-c .blockquote-reverse,.wpdt-c blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.wpdt-c .blockquote-reverse .small:before,.wpdt-c .blockquote-reverse footer:before,.wpdt-c .blockquote-reverse small:before,.wpdt-c blockquote.pull-right .small:before,.wpdt-c blockquote.pull-right footer:before,.wpdt-c blockquote.pull-right small:before{content:''}.wpdt-c .blockquote-reverse .small:after,.wpdt-c .blockquote-reverse footer:after,.wpdt-c .blockquote-reverse small:after,.wpdt-c blockquote.pull-right .small:after,.wpdt-c blockquote.pull-right footer:after,.wpdt-c blockquote.pull-right small:after{content:'\00A0 \2014'}.wpdt-c address{margin-bottom:18px;font-style:normal;line-height:1.42857143}.wpdt-c code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:2px}.wpdt-c kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}.wpdt-c kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}.wpdt-c pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.wpdt-c .pre-scrollable{max-height:340px;overflow-y:scroll}.wpdt-c .container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.wpdt-c .container{width:100%;max-width:100%}}@media (min-width:992px){.wpdt-c .container{width:100%;max-width:100%}}@media (min-width:1200px){.wpdt-c .container{width:100%;max-width:100%}}.wpdt-c .container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.wpdt-c .row{margin-left:-15px;margin-right:-15px}.col-sm-5-5,.wpdt-c .col-lg-1,.wpdt-c .col-lg-10,.wpdt-c .col-lg-11,.wpdt-c .col-lg-12,.wpdt-c .col-lg-2,.wpdt-c .col-lg-3,.wpdt-c .col-lg-4,.wpdt-c .col-lg-5,.wpdt-c .col-lg-6,.wpdt-c .col-lg-7,.wpdt-c .col-lg-8,.wpdt-c .col-lg-9,.wpdt-c .col-md-1,.wpdt-c .col-md-10,.wpdt-c .col-md-11,.wpdt-c .col-md-12,.wpdt-c .col-md-2,.wpdt-c .col-md-3,.wpdt-c .col-md-4,.wpdt-c .col-md-5,.wpdt-c .col-md-6,.wpdt-c .col-md-7,.wpdt-c .col-md-8,.wpdt-c .col-md-9,.wpdt-c .col-sm-0-4,.wpdt-c .col-sm-0-8,.wpdt-c .col-sm-1,.wpdt-c .col-sm-1-0,.wpdt-c .col-sm-10,.wpdt-c .col-sm-11,.wpdt-c .col-sm-12,.wpdt-c .col-sm-2,.wpdt-c .col-sm-2-0,.wpdt-c .col-sm-2-6,.wpdt-c .col-sm-3,.wpdt-c .col-sm-4,.wpdt-c .col-sm-5,.wpdt-c .col-sm-6,.wpdt-c .col-sm-7,.wpdt-c .col-sm-8,.wpdt-c .col-sm-9,.wpdt-c .col-xs-1,.wpdt-c .col-xs-10,.wpdt-c .col-xs-11,.wpdt-c .col-xs-12,.wpdt-c .col-xs-2,.wpdt-c .col-xs-3,.wpdt-c .col-xs-4,.wpdt-c .col-xs-5,.wpdt-c .col-xs-6,.wpdt-c .col-xs-7,.wpdt-c .col-xs-8,.wpdt-c .col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.wpdt-c .col-xs-1,.wpdt-c .col-xs-10,.wpdt-c .col-xs-11,.wpdt-c .col-xs-12,.wpdt-c .col-xs-2,.wpdt-c .col-xs-3,.wpdt-c .col-xs-4,.wpdt-c .col-xs-5,.wpdt-c .col-xs-6,.wpdt-c .col-xs-7,.wpdt-c .col-xs-8,.wpdt-c .col-xs-9{float:left}.wpdt-c .col-xs-12{width:100%}.wpdt-c .col-xs-11{width:91.66666667%}.wpdt-c .col-xs-10{width:83.33333333%}.wpdt-c .col-xs-9{width:75%}.wpdt-c .col-xs-8{width:66.66666667%}.wpdt-c .col-xs-7{width:58.33333333%}.wpdt-c .col-xs-6{width:50%}.wpdt-c .col-xs-5{width:41.66666667%}.wpdt-c .col-xs-4{width:33.33333333%}.wpdt-c .col-xs-3{width:25%}.wpdt-c .col-xs-2{width:16.66666667%}.wpdt-c .col-xs-1{width:8.33333333%}.wpdt-c .col-xs-pull-12{right:100%}.wpdt-c .col-xs-pull-11{right:91.66666667%}.wpdt-c .col-xs-pull-10{right:83.33333333%}.wpdt-c .col-xs-pull-9{right:75%}.wpdt-c .col-xs-pull-8{right:66.66666667%}.wpdt-c .col-xs-pull-7{right:58.33333333%}.wpdt-c .col-xs-pull-6{right:50%}.wpdt-c .col-xs-pull-5{right:41.66666667%}.wpdt-c .col-xs-pull-4{right:33.33333333%}.wpdt-c .col-xs-pull-3{right:25%}.wpdt-c .col-xs-pull-2{right:16.66666667%}.wpdt-c .col-xs-pull-1{right:8.33333333%}.wpdt-c .col-xs-pull-0{right:auto}.wpdt-c .col-xs-push-12{left:100%}.wpdt-c .col-xs-push-11{left:91.66666667%}.wpdt-c .col-xs-push-10{left:83.33333333%}.wpdt-c .col-xs-push-9{left:75%}.wpdt-c .col-xs-push-8{left:66.66666667%}.wpdt-c .col-xs-push-7{left:58.33333333%}.wpdt-c .col-xs-push-6{left:50%}.wpdt-c .col-xs-push-5{left:41.66666667%}.wpdt-c .col-xs-push-4{left:33.33333333%}.wpdt-c .col-xs-push-3{left:25%}.wpdt-c .col-xs-push-2{left:16.66666667%}.wpdt-c .col-xs-push-1{left:8.33333333%}.wpdt-c .col-xs-push-0{left:auto}.wpdt-c .col-xs-offset-12{margin-left:100%}.wpdt-c .col-xs-offset-11{margin-left:91.66666667%}.wpdt-c .col-xs-offset-10{margin-left:83.33333333%}.wpdt-c .col-xs-offset-9{margin-left:75%}.wpdt-c .col-xs-offset-8{margin-left:66.66666667%}.wpdt-c .col-xs-offset-7{margin-left:58.33333333%}.wpdt-c .col-xs-offset-6{margin-left:50%}.wpdt-c .col-xs-offset-5{margin-left:41.66666667%}.wpdt-c .col-xs-offset-4{margin-left:33.33333333%}.wpdt-c .col-xs-offset-3{margin-left:25%}.wpdt-c .col-xs-offset-2{margin-left:16.66666667%}.wpdt-c .col-xs-offset-1{margin-left:8.33333333%}.wpdt-c .col-xs-offset-0{margin-left:0}.wpdt-c .opacity-50{opacity:50%}.wpdt-c .opacity-6{opacity:.6}.wpdt-c .opacity-5{opacity:.5}@media (min-width:768px){.wpdt-c .col-sm-0-1,.wpdt-c .col-sm-0-4,.wpdt-c .col-sm-0-8,.wpdt-c .col-sm-1,.wpdt-c .col-sm-1-0,.wpdt-c .col-sm-10,.wpdt-c .col-sm-11,.wpdt-c .col-sm-12,.wpdt-c .col-sm-2,.wpdt-c .col-sm-2-0,.wpdt-c .col-sm-2-6,.wpdt-c .col-sm-3,.wpdt-c .col-sm-4,.wpdt-c .col-sm-5,.wpdt-c .col-sm-5-5,.wpdt-c .col-sm-6,.wpdt-c .col-sm-7,.wpdt-c .col-sm-8,.wpdt-c .col-sm-9{float:left}.wpdt-c .col-sm-12{width:100%}.wpdt-c .col-sm-11{width:91.66666667%}.wpdt-c .col-sm-10{width:83.33333333%}.wpdt-c .col-sm-9{width:75%}.wpdt-c .col-sm-8{width:66.66666667%}.wpdt-c .col-sm-7{width:58.33333333%}.wpdt-c .col-sm-6{width:50%}.wpdt-c .col-sm-5-5{width:48%}.wpdt-c .col-sm-5{width:41.66666667%}.wpdt-c .col-sm-4{width:33.33333333%}.wpdt-c .col-sm-0-4{width:4%}.wpdt-c .col-sm-2-0{width:22.66666667%}.wpdt-c .col-sm-1-0{width:5.33333333%}.wpdt-c .wdt-addons .col-sm-3{margin-bottom:18px}.wpdt-c .col-sm-3{width:25%}.wpdt-c .col-sm-2-6{width:23.5%}.wpdt-c .col-sm-2{width:16.66666667%}.wpdt-c .col-sm-1{width:8.33333333%}.wpdt-c .col-sm-0-8{width:3%}.wpdt-c .col-sm-pull-12{right:100%}.wpdt-c .col-sm-pull-11{right:91.66666667%}.wpdt-c .col-sm-pull-10{right:83.33333333%}.wpdt-c .col-sm-pull-9{right:75%}.wpdt-c .col-sm-pull-8{right:66.66666667%}.wpdt-c .col-sm-pull-7{right:58.33333333%}.wpdt-c .col-sm-pull-6{right:50%}.wpdt-c .col-sm-pull-5{right:41.66666667%}.wpdt-c .col-sm-pull-4{right:33.33333333%}.wpdt-c .col-sm-pull-3{right:25%}.wpdt-c .col-sm-pull-2{right:16.66666667%}.wpdt-c .col-sm-pull-1{right:8.33333333%}.wpdt-c .col-sm-pull-0{right:auto}.wpdt-c .col-sm-push-12{left:100%}.wpdt-c .col-sm-push-11{left:91.66666667%}.wpdt-c .col-sm-push-10{left:83.33333333%}.wpdt-c .col-sm-push-9{left:75%}.wpdt-c .col-sm-push-8{left:66.66666667%}.wpdt-c .col-sm-push-7{left:58.33333333%}.wpdt-c .col-sm-push-6{left:50%}.wpdt-c .col-sm-push-5{left:41.66666667%}.wpdt-c .col-sm-push-4{left:33.33333333%}.wpdt-c .col-sm-push-3{left:25%}.wpdt-c .col-sm-push-2{left:16.66666667%}.wpdt-c .col-sm-push-1{left:8.33333333%}.wpdt-c .col-sm-push-0{left:auto}.wpdt-c .col-sm-offset-12{margin-left:100%}.wpdt-c .col-sm-offset-11{margin-left:91.66666667%}.wpdt-c .col-sm-offset-10{margin-left:83.33333333%}.wpdt-c .col-sm-offset-9{margin-left:75%}.wpdt-c .col-sm-offset-8{margin-left:66.66666667%}.wpdt-c .col-sm-offset-7{margin-left:58.33333333%}.wpdt-c .col-sm-offset-6{margin-left:50%}.wpdt-c .col-sm-offset-5{margin-left:41.66666667%}.wpdt-c .col-sm-offset-4{margin-left:33.33333333%}.wpdt-c .col-sm-offset-3{margin-left:25%}.wpdt-c .col-sm-offset-2{margin-left:16.66666667%}.wpdt-c .col-sm-offset-1{margin-left:8.33333333%}.wpdt-c .col-sm-offset-0{margin-left:0}}@media (min-width:992px){.wpdt-c .col-md-1,.wpdt-c .col-md-10,.wpdt-c .col-md-11,.wpdt-c .col-md-12,.wpdt-c .col-md-2,.wpdt-c .col-md-3,.wpdt-c .col-md-4,.wpdt-c .col-md-5,.wpdt-c .col-md-6,.wpdt-c .col-md-7,.wpdt-c .col-md-8,.wpdt-c .col-md-9{float:left}.wpdt-c .col-md-12{width:100%}.wpdt-c .col-md-11{width:91.66666667%}.wpdt-c .col-md-10{width:83.33333333%}.wpdt-c .col-md-9{width:75%}.wpdt-c .col-md-8{width:66.66666667%}.wpdt-c .col-md-7{width:58.33333333%}.wpdt-c .col-md-6{width:50%}.wpdt-c .col-md-5{width:41.66666667%}.wpdt-c .col-md-4{width:33.33333333%}.wpdt-c .col-md-3{width:25%}.wpdt-c .col-md-2{width:16.66666667%}.wpdt-c .col-md-1{width:8.33333333%}.wpdt-c .col-md-pull-12{right:100%}.wpdt-c .col-md-pull-11{right:91.66666667%}.wpdt-c .col-md-pull-10{right:83.33333333%}.wpdt-c .col-md-pull-9{right:75%}.wpdt-c .col-md-pull-8{right:66.66666667%}.wpdt-c .col-md-pull-7{right:58.33333333%}.wpdt-c .col-md-pull-6{right:50%}.wpdt-c .col-md-pull-5{right:41.66666667%}.wpdt-c .col-md-pull-4{right:33.33333333%}.wpdt-c .col-md-pull-3{right:25%}.wpdt-c .col-md-pull-2{right:16.66666667%}.wpdt-c .col-md-pull-1{right:8.33333333%}.wpdt-c .col-md-pull-0{right:auto}.wpdt-c .col-md-push-12{left:100%}.wpdt-c .col-md-push-11{left:91.66666667%}.wpdt-c .col-md-push-10{left:83.33333333%}.wpdt-c .col-md-push-9{left:75%}.wpdt-c .col-md-push-8{left:66.66666667%}.wpdt-c .col-md-push-7{left:58.33333333%}.wpdt-c .col-md-push-6{left:50%}.wpdt-c .col-md-push-5{left:41.66666667%}.wpdt-c .col-md-push-4{left:33.33333333%}.wpdt-c .col-md-push-3{left:25%}.wpdt-c .col-md-push-2{left:16.66666667%}.wpdt-c .col-md-push-1{left:8.33333333%}.wpdt-c .col-md-push-0{left:auto}.wpdt-c .col-md-offset-12{margin-left:100%}.wpdt-c .col-md-offset-11{margin-left:91.66666667%}.wpdt-c .col-md-offset-10{margin-left:83.33333333%}.wpdt-c .col-md-offset-9{margin-left:75%}.wpdt-c .col-md-offset-8{margin-left:66.66666667%}.wpdt-c .col-md-offset-7{margin-left:58.33333333%}.wpdt-c .col-md-offset-6{margin-left:50%}.wpdt-c .col-md-offset-5{margin-left:41.66666667%}.wpdt-c .col-md-offset-4{margin-left:33.33333333%}.wpdt-c .col-md-offset-3{margin-left:25%}.wpdt-c .col-md-offset-2{margin-left:16.66666667%}.wpdt-c .col-md-offset-1{margin-left:8.33333333%}.wpdt-c .col-md-offset-0{margin-left:0}}@media (min-width:1200px){.wpdt-c .col-lg-1,.wpdt-c .col-lg-10,.wpdt-c .col-lg-11,.wpdt-c .col-lg-12,.wpdt-c .col-lg-2,.wpdt-c .col-lg-3,.wpdt-c .col-lg-4,.wpdt-c .col-lg-5,.wpdt-c .col-lg-6,.wpdt-c .col-lg-7,.wpdt-c .col-lg-8,.wpdt-c .col-lg-9{float:left}.wpdt-c .col-lg-12{width:100%}.wpdt-c .col-lg-11{width:91.66666667%}.wpdt-c .col-lg-10{width:83.33333333%}.wpdt-c .col-lg-9{width:75%}.wpdt-c .col-lg-8{width:66.66666667%}.wpdt-c .col-lg-7{width:58.33333333%}.wpdt-c .col-lg-6{width:50%}.wpdt-c .col-lg-5{width:41.66666667%}.wpdt-c .col-lg-4{width:33.33333333%}.wpdt-c .col-lg-3{width:25%}.wpdt-c .col-lg-2{width:16.66666667%}.wpdt-c .col-lg-1{width:8.33333333%}.wpdt-c .col-lg-pull-12{right:100%}.wpdt-c .col-lg-pull-11{right:91.66666667%}.wpdt-c .col-lg-pull-10{right:83.33333333%}.wpdt-c .col-lg-pull-9{right:75%}.wpdt-c .col-lg-pull-8{right:66.66666667%}.wpdt-c .col-lg-pull-7{right:58.33333333%}.wpdt-c .col-lg-pull-6{right:50%}.wpdt-c .col-lg-pull-5{right:41.66666667%}.wpdt-c .col-lg-pull-4{right:33.33333333%}.wpdt-c .col-lg-pull-3{right:25%}.wpdt-c .col-lg-pull-2{right:16.66666667%}.wpdt-c .col-lg-pull-1{right:8.33333333%}.wpdt-c .col-lg-pull-0{right:auto}.wpdt-c .col-lg-push-12{left:100%}.wpdt-c .col-lg-push-11{left:91.66666667%}.wpdt-c .col-lg-push-10{left:83.33333333%}.wpdt-c .col-lg-push-9{left:75%}.wpdt-c .col-lg-push-8{left:66.66666667%}.wpdt-c .col-lg-push-7{left:58.33333333%}.wpdt-c .col-lg-push-6{left:50%}.wpdt-c .col-lg-push-5{left:41.66666667%}.wpdt-c .col-lg-push-4{left:33.33333333%}.wpdt-c .col-lg-push-3{left:25%}.wpdt-c .col-lg-push-2{left:16.66666667%}.wpdt-c .col-lg-push-1{left:8.33333333%}.wpdt-c .col-lg-push-0{left:auto}.wpdt-c .col-lg-offset-12{margin-left:100%}.wpdt-c .col-lg-offset-11{margin-left:91.66666667%}.wpdt-c .col-lg-offset-10{margin-left:83.33333333%}.wpdt-c .col-lg-offset-9{margin-left:75%}.wpdt-c .col-lg-offset-8{margin-left:66.66666667%}.wpdt-c .col-lg-offset-7{margin-left:58.33333333%}.wpdt-c .col-lg-offset-6{margin-left:50%}.wpdt-c .col-lg-offset-5{margin-left:41.66666667%}.wpdt-c .col-lg-offset-4{margin-left:33.33333333%}.wpdt-c .col-lg-offset-3{margin-left:25%}.wpdt-c .col-lg-offset-2{margin-left:16.66666667%}.wpdt-c .col-lg-offset-1{margin-left:8.33333333%}.wpdt-c .col-lg-offset-0{margin-left:0}}.wpdt-c table{background-color:transparent}.wpdt-c caption{padding-top:15px;padding-bottom:15px;color:#777;text-align:left}.wpdt-c th{text-align:left}.wpdt-c .table{width:100%;max-width:100%;margin-bottom:18px}.wpdt-c .table>tbody>tr>td,.wpdt-c .table>tbody>tr>th,.wpdt-c .table>tfoot>tr>td,.wpdt-c .table>tfoot>tr>th,.wpdt-c .table>thead>tr>td,.wpdt-c .table>thead>tr>th{padding:15px;line-height:1.42857143;vertical-align:top;border-top:1px solid #f5f5f5}.wpdt-c .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #f5f5f5}.wpdt-c .table>caption+thead>tr:first-child>td,.wpdt-c .table>caption+thead>tr:first-child>th,.wpdt-c .table>colgroup+thead>tr:first-child>td,.wpdt-c .table>colgroup+thead>tr:first-child>th,.wpdt-c .table>thead:first-child>tr:first-child>td,.wpdt-c .table>thead:first-child>tr:first-child>th{border-top:0}.wpdt-c .table>tbody+tbody{border-top:2px solid #f5f5f5}.wpdt-c .table .table{background-color:#edecec}.wpdt-c .table-condensed>tbody>tr>td,.wpdt-c .table-condensed>tbody>tr>th,.wpdt-c .table-condensed>tfoot>tr>td,.wpdt-c .table-condensed>tfoot>tr>th,.wpdt-c .table-condensed>thead>tr>td,.wpdt-c .table-condensed>thead>tr>th{padding:10px}.wpdt-c .table-bordered{border:1px solid #f5f5f5}.wpdt-c .table-bordered>tbody>tr>td,.wpdt-c .table-bordered>tbody>tr>th,.wpdt-c .table-bordered>tfoot>tr>td,.wpdt-c .table-bordered>tfoot>tr>th,.wpdt-c .table-bordered>thead>tr>td,.wpdt-c .table-bordered>thead>tr>th{border:1px solid #f5f5f5}.wpdt-c .table-bordered>thead>tr>td,.wpdt-c .table-bordered>thead>tr>th{border-bottom-width:2px}.wpdt-c .table-striped>tbody>tr:nth-of-type(odd){background-color:#f4f4f4}.wpdt-c .table-hover>tbody>tr:hover{background-color:#f4f4f4}.wpdt-c table col[class*=col-]{position:static;float:none;display:table-column}.wpdt-c table td[class*=col-],.wpdt-c table th[class*=col-]{position:static;float:none;display:table-cell}.wpdt-c .table>tbody>tr.active>td,.wpdt-c .table>tbody>tr.active>th,.wpdt-c .table>tbody>tr>td.active,.wpdt-c .table>tbody>tr>th.active,.wpdt-c .table>tfoot>tr.active>td,.wpdt-c .table>tfoot>tr.active>th,.wpdt-c .table>tfoot>tr>td.active,.wpdt-c .table>tfoot>tr>th.active,.wpdt-c .table>thead>tr.active>td,.wpdt-c .table>thead>tr.active>th,.wpdt-c .table>thead>tr>td.active,.wpdt-c .table>thead>tr>th.active{background-color:#fffcbe}.wpdt-c .table-hover>tbody>tr.active:hover>td,.wpdt-c .table-hover>tbody>tr.active:hover>th,.wpdt-c .table-hover>tbody>tr:hover>.active,.wpdt-c .table-hover>tbody>tr>td.active:hover,.wpdt-c .table-hover>tbody>tr>th.active:hover{background-color:#fffba4}.wpdt-c .table>tbody>tr.success>td,.wpdt-c .table>tbody>tr.success>th,.wpdt-c .table>tbody>tr>td.success,.wpdt-c .table>tbody>tr>th.success,.wpdt-c .table>tfoot>tr.success>td,.wpdt-c .table>tfoot>tr.success>th,.wpdt-c .table>tfoot>tr>td.success,.wpdt-c .table>tfoot>tr>th.success,.wpdt-c .table>thead>tr.success>td,.wpdt-c .table>thead>tr.success>th,.wpdt-c .table>thead>tr>td.success,.wpdt-c .table>thead>tr>th.success{background-color:#67bd6a}.wpdt-c .table-hover>tbody>tr.success:hover>td,.wpdt-c .table-hover>tbody>tr.success:hover>th,.wpdt-c .table-hover>tbody>tr:hover>.success,.wpdt-c .table-hover>tbody>tr>td.success:hover,.wpdt-c .table-hover>tbody>tr>th.success:hover{background-color:#55b559}.wpdt-c .table>tbody>tr.info>td,.wpdt-c .table>tbody>tr.info>th,.wpdt-c .table>tbody>tr>td.info,.wpdt-c .table>tbody>tr>th.info,.wpdt-c .table>tfoot>tr.info>td,.wpdt-c .table>tfoot>tr.info>th,.wpdt-c .table>tfoot>tr>td.info,.wpdt-c .table>tfoot>tr>th.info,.wpdt-c .table>thead>tr.info>td,.wpdt-c .table>thead>tr.info>th,.wpdt-c .table>thead>tr>td.info,.wpdt-c .table>thead>tr>th.info{background-color:#d9edf7}.wpdt-c .table-hover>tbody>tr.info:hover>td,.wpdt-c .table-hover>tbody>tr.info:hover>th,.wpdt-c .table-hover>tbody>tr:hover>.info,.wpdt-c .table-hover>tbody>tr>td.info:hover,.wpdt-c .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.wpdt-c .table>tbody>tr.warning>td,.wpdt-c .table>tbody>tr.warning>th,.wpdt-c .table>tbody>tr>td.warning,.wpdt-c .table>tbody>tr>th.warning,.wpdt-c .table>tfoot>tr.warning>td,.wpdt-c .table>tfoot>tr.warning>th,.wpdt-c .table>tfoot>tr>td.warning,.wpdt-c .table>tfoot>tr>th.warning,.wpdt-c .table>thead>tr.warning>td,.wpdt-c .table>thead>tr.warning>th,.wpdt-c .table>thead>tr>td.warning,.wpdt-c .table>thead>tr>th.warning{background-color:#ffa829}.wpdt-c .table-hover>tbody>tr.warning:hover>td,.wpdt-c .table-hover>tbody>tr.warning:hover>th,.wpdt-c .table-hover>tbody>tr:hover>.warning,.wpdt-c .table-hover>tbody>tr>td.warning:hover,.wpdt-c .table-hover>tbody>tr>th.warning:hover{background-color:#ff9e0f}.wpdt-c .table>tbody>tr.danger>td,.wpdt-c .table>tbody>tr.danger>th,.wpdt-c .table>tbody>tr>td.danger,.wpdt-c .table>tbody>tr>th.danger,.wpdt-c .table>tfoot>tr.danger>td,.wpdt-c .table>tfoot>tr.danger>th,.wpdt-c .table>tfoot>tr>td.danger,.wpdt-c .table>tfoot>tr>th.danger,.wpdt-c .table>thead>tr.danger>td,.wpdt-c .table>thead>tr.danger>th,.wpdt-c .table>thead>tr>td.danger,.wpdt-c .table>thead>tr>th.danger{background-color:#f6675d}.wpdt-c .table-hover>tbody>tr.danger:hover>td,.wpdt-c .table-hover>tbody>tr.danger:hover>th,.wpdt-c .table-hover>tbody>tr:hover>.danger,.wpdt-c .table-hover>tbody>tr>td.danger:hover,.wpdt-c .table-hover>tbody>tr>th.danger:hover{background-color:#f55145}.wpdt-c .table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.wpdt-c .table-responsive{width:100%;margin-bottom:13.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #f5f5f5}.wpdt-c .table-responsive>.table{margin-bottom:0}.wpdt-c .table-responsive>.table>tbody>tr>td,.wpdt-c .table-responsive>.table>tbody>tr>th,.wpdt-c .table-responsive>.table>tfoot>tr>td,.wpdt-c .table-responsive>.table>tfoot>tr>th,.wpdt-c .table-responsive>.table>thead>tr>td,.wpdt-c .table-responsive>.table>thead>tr>th{white-space:nowrap}.wpdt-c .table-responsive>.table-bordered{border:0}.wpdt-c .table-responsive>.table-bordered>tbody>tr>td:first-child,.wpdt-c .table-responsive>.table-bordered>tbody>tr>th:first-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>td:first-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>th:first-child,.wpdt-c .table-responsive>.table-bordered>thead>tr>td:first-child,.wpdt-c .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.wpdt-c .table-responsive>.table-bordered>tbody>tr>td:last-child,.wpdt-c .table-responsive>.table-bordered>tbody>tr>th:last-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>td:last-child,.wpdt-c .table-responsive>.table-bordered>tfoot>tr>th:last-child,.wpdt-c .table-responsive>.table-bordered>thead>tr>td:last-child,.wpdt-c .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.wpdt-c .table-responsive>.table-bordered>tbody>tr:last-child>td,.wpdt-c .table-responsive>.table-bordered>tbody>tr:last-child>th,.wpdt-c .table-responsive>.table-bordered>tfoot>tr:last-child>td,.wpdt-c .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.wpdt-c fieldset{padding:0;margin:0;border:0;min-width:0}.wpdt-c legend{display:block;width:100%;padding:0;margin-bottom:18px;font-size:19.5px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}.wpdt-c label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}.wpdt-c label.disabled{cursor:not-allowed;color:#eee!important}.wpdt-c input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpdt-c input[type=checkbox],.wpdt-c input[type=radio]{margin:4px 0 0;line-height:normal}.wpdt-c input[type=file]{display:block}.wpdt-c input[type=range]{display:block;width:100%}.wpdt-c select[multiple],.wpdt-c select[size]{height:auto}.wpdt-c input[type=checkbox]:focus,.wpdt-c input[type=file]:focus,.wpdt-c input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline:0!important}.wpdt-c output{display:block;padding-top:7px;font-size:13px;line-height:1.42857143;color:#000}.wpdt-c .form-control{display:block;width:100%;height:30px;padding:6px 12px;font-size:13px;line-height:1.42857143;color:#000;background-color:transparent;background-image:none;border:1px solid #e0e0e0;border-radius:0;-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,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}.wpdt-c .form-control:focus{color:#000;border-color:#b4b4b4;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(180,180,180,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(180,180,180,.6)}.wpdt-c .form-control::-moz-placeholder{color:#999;opacity:1}.wpdt-c .form-control:-ms-input-placeholder{color:#999}.wpdt-c .form-control::-webkit-input-placeholder{color:#999}.wpdt-c .form-control::-ms-expand{border:0;background-color:transparent}.wpdt-c .form-control[disabled],.wpdt-c .form-control[readonly],.wpdt-c fieldset[disabled] .form-control{background-color:#eee!important;opacity:1}.wpdt-c .form-control[disabled],.wpdt-c fieldset[disabled] .form-control{cursor:not-allowed}.wpdt-c textarea.form-control{height:auto}.wpdt-c input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){.wpdt-c input[type=date].form-control,.wpdt-c input[type=datetime-local].form-control,.wpdt-c input[type=month].form-control,.wpdt-c input[type=time].form-control{line-height:35px}.wpdt-c .input-group-sm input[type=date],.wpdt-c .input-group-sm input[type=datetime-local],.wpdt-c .input-group-sm input[type=month],.wpdt-c .input-group-sm input[type=time],.wpdt-c input[type=date].input-sm,.wpdt-c input[type=datetime-local].input-sm,.wpdt-c input[type=month].input-sm,.wpdt-c input[type=time].input-sm{line-height:30px}.wpdt-c .input-group-lg input[type=date],.wpdt-c .input-group-lg input[type=datetime-local],.wpdt-c .input-group-lg input[type=month],.wpdt-c .input-group-lg input[type=time],.wpdt-c input[type=date].input-lg,.wpdt-c input[type=datetime-local].input-lg,.wpdt-c input[type=month].input-lg,.wpdt-c input[type=time].input-lg{line-height:40px}}.wpdt-c .form-group{margin-bottom:15px}.wpdt-c .checkbox,.wpdt-c .radio{position:relative;display:block;float:left;width:33%;margin-bottom:5px}.wpdt-c .checkbox label,.wpdt-c .radio label{min-height:18px;padding-left:20px;margin-bottom:5px;font-weight:400;cursor:pointer}.wpdt-c .checkbox input[type=checkbox],.wpdt-c .checkbox-inline input[type=checkbox],.wpdt-c .radio input[type=radio],.wpdt-c .radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.wpdt-c .checkbox-inline,.wpdt-c .radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.wpdt-c .checkbox-inline+.checkbox-inline,.wpdt-c .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.wpdt-c fieldset[disabled] input[type=checkbox],.wpdt-c fieldset[disabled] input[type=radio],.wpdt-c input[type=checkbox].disabled,.wpdt-c input[type=checkbox][disabled],.wpdt-c input[type=radio].disabled,.wpdt-c input[type=radio][disabled]{cursor:not-allowed}.wpdt-c input[type=checkbox][hidden]{opacity:0}.wpdt-c .checkbox-inline.disabled,.wpdt-c .radio-inline.disabled,.wpdt-c fieldset[disabled] .checkbox-inline,.wpdt-c fieldset[disabled] .radio-inline{cursor:not-allowed}.wpdt-c .checkbox.disabled label,.wpdt-c .radio.disabled label,.wpdt-c fieldset[disabled] .checkbox label,.wpdt-c fieldset[disabled] .radio label{cursor:not-allowed}.wpdt-c .form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:31px}.wpdt-c .form-control-static.input-lg,.wpdt-c .form-control-static.input-sm{padding-left:0;padding-right:0}.wpdt-c .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c select.input-sm{height:30px;line-height:30px}.wpdt-c select[multiple].input-sm,.wpdt-c textarea.input-sm{height:auto}.wpdt-c .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c .form-group-sm select.form-control{height:30px;line-height:30px}.wpdt-c .form-group-sm select[multiple].form-control,.wpdt-c .form-group-sm textarea.form-control{height:auto}.wpdt-c .form-group-sm .form-control-static{height:30px;min-height:30px;padding:6px 10px;font-size:12px;line-height:1.5}.wpdt-c .input-lg{height:40px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:0}.wpdt-c select.input-lg{height:40px;line-height:40px}.wpdt-c select[multiple].input-lg,.wpdt-c textarea.input-lg{height:auto}.wpdt-c .form-group-lg .form-control{height:40px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:0}.wpdt-c .form-group-lg select.form-control{height:40px;line-height:40px}.wpdt-c .form-group-lg select[multiple].form-control,.wpdt-c .form-group-lg textarea.form-control{height:auto}.wpdt-c .form-group-lg .form-control-static{height:40px;min-height:35px;padding:11px 16px;font-size:17px;line-height:1.3333333}.wpdt-c .has-feedback{position:relative}.wpdt-c .has-feedback .form-control{padding-right:43.75px}.wpdt-c .form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:35px;height:35px;line-height:35px;text-align:center;pointer-events:none}.wpdt-c .form-group-lg .form-control+.form-control-feedback,.wpdt-c .input-group-lg+.form-control-feedback,.wpdt-c .input-lg+.form-control-feedback{width:40px;height:40px;line-height:40px}.wpdt-c .form-group-sm .form-control+.form-control-feedback,.wpdt-c .input-group-sm+.form-control-feedback,.wpdt-c .input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.wpdt-c .has-success .checkbox,.wpdt-c .has-success .checkbox-inline,.wpdt-c .has-success .control-label,.wpdt-c .has-success .help-block,.wpdt-c .has-success .radio,.wpdt-c .has-success .radio-inline,.wpdt-c .has-success.checkbox label,.wpdt-c .has-success.checkbox-inline label,.wpdt-c .has-success.radio label,.wpdt-c .has-success.radio-inline label{color:#67bd6a}.wpdt-c .has-success .form-control{border-color:#67bd6a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.wpdt-c .has-success .form-control:focus{border-color:#49a84d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #aedcb0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #aedcb0}.wpdt-c .has-success .input-group-addon{color:#67bd6a;border-color:#67bd6a;background-color:#67bd6a}.wpdt-c .has-success .form-control-feedback{color:#67bd6a}.wpdt-c .has-warning .checkbox,.wpdt-c .has-warning .checkbox-inline,.wpdt-c .has-warning .control-label,.wpdt-c .has-warning .help-block,.wpdt-c .has-warning .radio,.wpdt-c .has-warning .radio-inline,.wpdt-c .has-warning.checkbox label,.wpdt-c .has-warning.checkbox-inline label,.wpdt-c .has-warning.radio label,.wpdt-c .has-warning.radio-inline label{color:#ffa829}.wpdt-c .has-warning .form-control{border-color:#ffa829;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.wpdt-c .has-warning .form-control:focus{border-color:#f59200;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd28f;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffd28f}.wpdt-c .has-warning .input-group-addon{color:#ffa829;border-color:#ffa829;background-color:#ffa829}.wpdt-c .has-warning .form-control-feedback{color:#ffa829}.wpdt-c .has-error .checkbox,.wpdt-c .has-error .checkbox-inline,.wpdt-c .has-error .control-label,.wpdt-c .has-error .help-block,.wpdt-c .has-error .radio,.wpdt-c .has-error .radio-inline,.wpdt-c .has-error.checkbox label,.wpdt-c .has-error.checkbox-inline label,.wpdt-c .has-error.radio label,.wpdt-c .has-error.radio-inline label{color:#f6675d}.wpdt-c .has-error .form-control{border-color:#f6675d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.wpdt-c .has-error .form-control:focus{border-color:#f33a2c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fbc2bd;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fbc2bd}.wpdt-c .has-error .input-group-addon{color:#f6675d;border-color:#f6675d;background-color:#f6675d}.wpdt-c .has-error .form-control-feedback{color:#f6675d}.wpdt-c .has-feedback label~.form-control-feedback{top:23px}.wpdt-c .has-feedback label.sr-only~.form-control-feedback{top:0}.wpdt-c .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#9e9e9e}@media (min-width:768px){.wpdt-c .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.wpdt-c .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.wpdt-c .form-inline .form-control-static{display:inline-block}.wpdt-c .form-inline .input-group{display:inline-table;vertical-align:middle}.wpdt-c .form-inline .input-group .form-control,.wpdt-c .form-inline .input-group .input-group-addon,.wpdt-c .form-inline .input-group .input-group-btn{width:auto}.wpdt-c .form-inline .input-group>.form-control{width:100%}.wpdt-c .form-inline .control-label{margin-bottom:0;vertical-align:middle}.wpdt-c .form-inline .checkbox,.wpdt-c .form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.wpdt-c .form-inline .checkbox label,.wpdt-c .form-inline .radio label{padding-left:0}.wpdt-c .form-inline .checkbox input[type=checkbox],.wpdt-c .form-inline .radio input[type=radio]{position:relative;margin-left:0}.wpdt-c .form-inline .has-feedback .form-control-feedback{top:0}}.wpdt-c .form-horizontal .checkbox,.wpdt-c .form-horizontal .checkbox-inline,.wpdt-c .form-horizontal .radio,.wpdt-c .form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.wpdt-c .form-horizontal .checkbox,.wpdt-c .form-horizontal .radio{min-height:25px}.wpdt-c .form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.wpdt-c .form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.wpdt-c .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.wpdt-c .form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:17px}}@media (min-width:768px){.wpdt-c .form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.wpdt-c .btn,.wpdt-c .wpDataTablesWrapper .btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:none;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:2px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpdt-c .btn.active.focus,.wpdt-c .btn.active:focus,.wpdt-c .btn.focus,.wpdt-c .btn:active.focus,.wpdt-c .btn:active:focus,.wpdt-c .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;outline:0!important}.wpdt-c .btn.focus,.wpdt-c .btn:focus,.wpdt-c .btn:hover{color:#333;text-decoration:none}.wpdt-c .btn.active,.wpdt-c .btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.wpdt-c .btn.disabled,.wpdt-c .btn[disabled],.wpdt-c fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;-webkit-box-shadow:none;box-shadow:none}.wpdt-c a.btn.disabled,.wpdt-c fieldset[disabled] a.btn{pointer-events:none}.wpdt-c .btn-default{color:#333;background-color:#fff;border-color:#ccc}.wpdt-c .btn-default.focus,.wpdt-c .btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.wpdt-c .btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.wpdt-c .btn-default.active,.wpdt-c .btn-default:active,.wpdt-c .open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.wpdt-c .btn-default.active.focus,.wpdt-c .btn-default.active:focus,.wpdt-c .btn-default.active:hover,.wpdt-c .btn-default:active.focus,.wpdt-c .btn-default:active:focus,.wpdt-c .btn-default:active:hover,.wpdt-c .open>.dropdown-toggle.btn-default.focus,.wpdt-c .open>.dropdown-toggle.btn-default:focus,.wpdt-c .open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.wpdt-c .btn-default.active,.wpdt-c .btn-default:active,.wpdt-c .open>.dropdown-toggle.btn-default{background-image:none}.wpdt-c .btn-default.disabled.focus,.wpdt-c .btn-default.disabled:focus,.wpdt-c .btn-default.disabled:hover,.wpdt-c .btn-default[disabled].focus,.wpdt-c .btn-default[disabled]:focus,.wpdt-c .btn-default[disabled]:hover,.wpdt-c fieldset[disabled] .btn-default.focus,.wpdt-c fieldset[disabled] .btn-default:focus,.wpdt-c fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.wpdt-c .btn-default .badge{color:#fff;background-color:#333}.wpdt-c .btn-default.focus,.wpdt-c .btn-default:active,.wpdt-c .btn-default:focus,.wpdt-c .btn-default:hover,.wpdt-c .open>.dropdown-toggle.btn-default{color:#333;background-color:#fff;border-color:transparent}.wpdt-c .btn-default.focus.focus,.wpdt-c .btn-default.focus:focus,.wpdt-c .btn-default.focus:hover,.wpdt-c .btn-default:active.focus,.wpdt-c .btn-default:active:focus,.wpdt-c .btn-default:active:hover,.wpdt-c .btn-default:focus.focus,.wpdt-c .btn-default:focus:focus,.wpdt-c .btn-default:focus:hover,.wpdt-c .btn-default:hover.focus,.wpdt-c .btn-default:hover:focus,.wpdt-c .btn-default:hover:hover,.wpdt-c .open>.dropdown-toggle.btn-default.focus,.wpdt-c .open>.dropdown-toggle.btn-default:focus,.wpdt-c .open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#fff;border-color:transparent}.wpdt-c .btn-default.active,.wpdt-c .btn-default:active,.wpdt-c .open>.dropdown-toggle.btn-default{background-image:none}.wpdt-c .btn-default.disabled,.wpdt-c .btn-default.disabled.focus,.wpdt-c .btn-default.disabled:active,.wpdt-c .btn-default.disabled:focus,.wpdt-c .btn-default.disabled:hover,.wpdt-c .btn-default[disabled],.wpdt-c .btn-default[disabled].focus,.wpdt-c .btn-default[disabled]:active,.wpdt-c .btn-default[disabled]:focus,.wpdt-c .btn-default[disabled]:hover,.wpdt-c fieldset[disabled] .btn-default,.wpdt-c fieldset[disabled] .btn-default.focus,.wpdt-c fieldset[disabled] .btn-default:active,.wpdt-c fieldset[disabled] .btn-default:focus,.wpdt-c fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.wpdt-c .btn-default .badge{color:#fff;background-color:#333}.wpdt-c .btn-primary{background:#008cff;border:none;box-sizing:border-box;border-radius:3px;font-family:Inter;font-style:normal;font-weight:600;font-size:14px;padding:8px 12px;color:#fff}.wpdt-c .btn-primary.focus,.wpdt-c .btn-primary:focus{color:#fff;background-color:#0c7cd5;border-color:#064475}.wpdt-c .btn-primary:hover{color:#fff;background-color:#0c7cd5;border-color:#0a68b4}.wpdt-c .btn-primary.active,.wpdt-c .btn-primary:active,.wpdt-c .open>.dropdown-toggle.btn-primary{color:#fff;background-color:#0c7cd5;border-color:#0a68b4}.wpdt-c .btn-primary.active.focus,.wpdt-c .btn-primary.active:focus,.wpdt-c .btn-primary.active:hover,.wpdt-c .btn-primary:active.focus,.wpdt-c .btn-primary:active:focus,.wpdt-c .btn-primary:active:hover,.wpdt-c .open>.dropdown-toggle.btn-primary.focus,.wpdt-c .open>.dropdown-toggle.btn-primary:focus,.wpdt-c .open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#0a68b4;border-color:#064475}.wpdt-c .btn-primary.active,.wpdt-c .btn-primary:active,.wpdt-c .open>.dropdown-toggle.btn-primary{background-image:none}.wpdt-c .btn-primary.disabled.focus,.wpdt-c .btn-primary.disabled:focus,.wpdt-c .btn-primary.disabled:hover,.wpdt-c .btn-primary[disabled].focus,.wpdt-c .btn-primary[disabled]:focus,.wpdt-c .btn-primary[disabled]:hover,.wpdt-c fieldset[disabled] .btn-primary.focus,.wpdt-c fieldset[disabled] .btn-primary:focus,.wpdt-c fieldset[disabled] .btn-primary:hover{background-color:#2196f3;border-color:#0d8aee}.wpdt-c .btn-primary .badge{color:#2196f3;background-color:#fff}.wpdt-c .btn-primary.focus,.wpdt-c .btn-primary:active,.wpdt-c .btn-primary:focus,.wpdt-c .btn-primary:hover,.wpdt-c .open>.dropdown-toggle.btn-primary{color:#fff;background-color:#2196f3;border-color:transparent}.wpdt-c .btn-primary.focus.focus,.wpdt-c .btn-primary.focus:focus,.wpdt-c .btn-primary.focus:hover,.wpdt-c .btn-primary:active.focus,.wpdt-c .btn-primary:active:focus,.wpdt-c .btn-primary:active:hover,.wpdt-c .btn-primary:focus.focus,.wpdt-c .btn-primary:focus:focus,.wpdt-c .btn-primary:focus:hover,.wpdt-c .btn-primary:hover.focus,.wpdt-c .btn-primary:hover:focus,.wpdt-c .btn-primary:hover:hover,.wpdt-c .open>.dropdown-toggle.btn-primary.focus,.wpdt-c .open>.dropdown-toggle.btn-primary:focus,.wpdt-c .open>.dropdown-toggle.btn-primary:hover{background-color:#0b86ec!important}.wpdt-c .btn-primary.active,.wpdt-c .btn-primary:active,.wpdt-c .open>.dropdown-toggle.btn-primary{background-image:none}.wpdt-c .btn-primary.disabled,.wpdt-c .btn-primary.disabled.focus,.wpdt-c .btn-primary.disabled:active,.wpdt-c .btn-primary.disabled:focus,.wpdt-c .btn-primary.disabled:hover,.wpdt-c .btn-primary[disabled],.wpdt-c .btn-primary[disabled].focus,.wpdt-c .btn-primary[disabled]:active,.wpdt-c .btn-primary[disabled]:focus,.wpdt-c .btn-primary[disabled]:hover,.wpdt-c fieldset[disabled] .btn-primary,.wpdt-c fieldset[disabled] .btn-primary.focus,.wpdt-c fieldset[disabled] .btn-primary:active,.wpdt-c fieldset[disabled] .btn-primary:focus,.wpdt-c fieldset[disabled] .btn-primary:hover{background-color:#2196f3;border-color:#0d8aee}.wpdt-c .btn-primary .badge{color:#2196f3;background-color:#fff}.wpdt-c .btn-success{color:#fff;background-color:#4caf50;border-color:#449d48}.wpdt-c .btn-success.focus,.wpdt-c .btn-success:focus{color:#fff;background-color:#3d8b40;border-color:#1e441f}.wpdt-c .btn-success:hover{color:#fff;background-color:#3d8b40;border-color:#327334}.wpdt-c .btn-success.active,.wpdt-c .btn-success:active,.wpdt-c .open>.dropdown-toggle.btn-success{color:#fff;background-color:#3d8b40;border-color:#327334}.wpdt-c .btn-success.active.focus,.wpdt-c .btn-success.active:focus,.wpdt-c .btn-success.active:hover,.wpdt-c .btn-success:active.focus,.wpdt-c .btn-success:active:focus,.wpdt-c .btn-success:active:hover,.wpdt-c .open>.dropdown-toggle.btn-success.focus,.wpdt-c .open>.dropdown-toggle.btn-success:focus,.wpdt-c .open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#327334;border-color:#1e441f}.wpdt-c .btn-success.active,.wpdt-c .btn-success:active,.wpdt-c .open>.dropdown-toggle.btn-success{background-image:none}.wpdt-c .btn-success.disabled.focus,.wpdt-c .btn-success.disabled:focus,.wpdt-c .btn-success.disabled:hover,.wpdt-c .btn-success[disabled].focus,.wpdt-c .btn-success[disabled]:focus,.wpdt-c .btn-success[disabled]:hover,.wpdt-c fieldset[disabled] .btn-success.focus,.wpdt-c fieldset[disabled] .btn-success:focus,.wpdt-c fieldset[disabled] .btn-success:hover{background-color:#4caf50;border-color:#449d48}.wpdt-c .btn-success .badge{color:#4caf50;background-color:#fff}.wpdt-c .btn-success.focus,.wpdt-c .btn-success:active,.wpdt-c .btn-success:focus,.wpdt-c .btn-success:hover,.wpdt-c .open>.dropdown-toggle.btn-success{color:#fff;background-color:#4caf50;border-color:transparent}.wpdt-c .btn-success.focus.focus,.wpdt-c .btn-success.focus:focus,.wpdt-c .btn-success.focus:hover,.wpdt-c .btn-success:active.focus,.wpdt-c .btn-success:active:focus,.wpdt-c .btn-success:active:hover,.wpdt-c .btn-success:focus.focus,.wpdt-c .btn-success:focus:focus,.wpdt-c .btn-success:focus:hover,.wpdt-c .btn-success:hover.focus,.wpdt-c .btn-success:hover:focus,.wpdt-c .btn-success:hover:hover,.wpdt-c .open>.dropdown-toggle.btn-success.focus,.wpdt-c .open>.dropdown-toggle.btn-success:focus,.wpdt-c .open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#4caf50;border-color:transparent}.wpdt-c .btn-success.active,.wpdt-c .btn-success:active,.wpdt-c .open>.dropdown-toggle.btn-success{background-image:none}.wpdt-c .btn-success.disabled,.wpdt-c .btn-success.disabled.focus,.wpdt-c .btn-success.disabled:active,.wpdt-c .btn-success.disabled:focus,.wpdt-c .btn-success.disabled:hover,.wpdt-c .btn-success[disabled],.wpdt-c .btn-success[disabled].focus,.wpdt-c .btn-success[disabled]:active,.wpdt-c .btn-success[disabled]:focus,.wpdt-c .btn-success[disabled]:hover,.wpdt-c fieldset[disabled] .btn-success,.wpdt-c fieldset[disabled] .btn-success.focus,.wpdt-c fieldset[disabled] .btn-success:active,.wpdt-c fieldset[disabled] .btn-success:focus,.wpdt-c fieldset[disabled] .btn-success:hover{background-color:#4caf50;border-color:#449d48}.wpdt-c .btn-success .badge{color:#4caf50;background-color:#fff}.wpdt-c .btn-info{color:#fff;background-color:#00bcd4;border-color:#00a5bb}.wpdt-c .btn-info.focus,.wpdt-c .btn-info:focus{color:#fff;background-color:#008fa1;border-color:#00343b}.wpdt-c .btn-info:hover{color:#fff;background-color:#008fa1;border-color:#006f7d}.wpdt-c .btn-info.active,.wpdt-c .btn-info:active,.wpdt-c .open>.dropdown-toggle.btn-info{color:#fff;background-color:#008fa1;border-color:#006f7d}.wpdt-c .btn-info.active.focus,.wpdt-c .btn-info.active:focus,.wpdt-c .btn-info.active:hover,.wpdt-c .btn-info:active.focus,.wpdt-c .btn-info:active:focus,.wpdt-c .btn-info:active:hover,.wpdt-c .open>.dropdown-toggle.btn-info.focus,.wpdt-c .open>.dropdown-toggle.btn-info:focus,.wpdt-c .open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#006f7d;border-color:#00343b}.wpdt-c .btn-info.active,.wpdt-c .btn-info:active,.wpdt-c .open>.dropdown-toggle.btn-info{background-image:none}.wpdt-c .btn-info.disabled.focus,.wpdt-c .btn-info.disabled:focus,.wpdt-c .btn-info.disabled:hover,.wpdt-c .btn-info[disabled].focus,.wpdt-c .btn-info[disabled]:focus,.wpdt-c .btn-info[disabled]:hover,.wpdt-c fieldset[disabled] .btn-info.focus,.wpdt-c fieldset[disabled] .btn-info:focus,.wpdt-c fieldset[disabled] .btn-info:hover{background-color:#00bcd4;border-color:#00a5bb}.wpdt-c .btn-info .badge{color:#00bcd4;background-color:#fff}.wpdt-c .btn-info.focus,.wpdt-c .btn-info:active,.wpdt-c .btn-info:focus,.wpdt-c .btn-info:hover,.wpdt-c .open>.dropdown-toggle.btn-info{color:#fff;background-color:#00bcd4;border-color:transparent}.wpdt-c .btn-info.focus.focus,.wpdt-c .btn-info.focus:focus,.wpdt-c .btn-info.focus:hover,.wpdt-c .btn-info:active.focus,.wpdt-c .btn-info:active:focus,.wpdt-c .btn-info:active:hover,.wpdt-c .btn-info:focus.focus,.wpdt-c .btn-info:focus:focus,.wpdt-c .btn-info:focus:hover,.wpdt-c .btn-info:hover.focus,.wpdt-c .btn-info:hover:focus,.wpdt-c .btn-info:hover:hover,.wpdt-c .open>.dropdown-toggle.btn-info.focus,.wpdt-c .open>.dropdown-toggle.btn-info:focus,.wpdt-c .open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#00bcd4;border-color:transparent}.wpdt-c .btn-info.active,.wpdt-c .btn-info:active,.wpdt-c .open>.dropdown-toggle.btn-info{background-image:none}.wpdt-c .btn-info.disabled,.wpdt-c .btn-info.disabled.focus,.wpdt-c .btn-info.disabled:active,.wpdt-c .btn-info.disabled:focus,.wpdt-c .btn-info.disabled:hover,.wpdt-c .btn-info[disabled],.wpdt-c .btn-info[disabled].focus,.wpdt-c .btn-info[disabled]:active,.wpdt-c .btn-info[disabled]:focus,.wpdt-c .btn-info[disabled]:hover,.wpdt-c fieldset[disabled] .btn-info,.wpdt-c fieldset[disabled] .btn-info.focus,.wpdt-c fieldset[disabled] .btn-info:active,.wpdt-c fieldset[disabled] .btn-info:focus,.wpdt-c fieldset[disabled] .btn-info:hover{background-color:#00bcd4;border-color:#00a5bb}.wpdt-c .btn-info .badge{color:#00bcd4;background-color:#fff}.wpdt-c .btn-warning{color:#fff;background-color:#ff9800;border-color:#e68900}.wpdt-c .btn-warning.focus,.wpdt-c .btn-warning:focus{color:#fff;background-color:#cc7a00;border-color:#663d00}.wpdt-c .btn-warning:hover{color:#fff;background-color:#cc7a00;border-color:#a86400}.wpdt-c .btn-warning.active,.wpdt-c .btn-warning:active,.wpdt-c .open>.dropdown-toggle.btn-warning{color:#fff;background-color:#cc7a00;border-color:#a86400}.wpdt-c .btn-warning.active.focus,.wpdt-c .btn-warning.active:focus,.wpdt-c .btn-warning.active:hover,.wpdt-c .btn-warning:active.focus,.wpdt-c .btn-warning:active:focus,.wpdt-c .btn-warning:active:hover,.wpdt-c .open>.dropdown-toggle.btn-warning.focus,.wpdt-c .open>.dropdown-toggle.btn-warning:focus,.wpdt-c .open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#a86400;border-color:#663d00}.wpdt-c .btn-warning.active,.wpdt-c .btn-warning:active,.wpdt-c .open>.dropdown-toggle.btn-warning{background-image:none}.wpdt-c .btn-warning.disabled.focus,.wpdt-c .btn-warning.disabled:focus,.wpdt-c .btn-warning.disabled:hover,.wpdt-c .btn-warning[disabled].focus,.wpdt-c .btn-warning[disabled]:focus,.wpdt-c .btn-warning[disabled]:hover,.wpdt-c fieldset[disabled] .btn-warning.focus,.wpdt-c fieldset[disabled] .btn-warning:focus,.wpdt-c fieldset[disabled] .btn-warning:hover{background-color:#ff9800;border-color:#e68900}.wpdt-c .btn-warning .badge{color:#ff9800;background-color:#fff}.wpdt-c .btn-warning.focus,.wpdt-c .btn-warning:active,.wpdt-c .btn-warning:focus,.wpdt-c .btn-warning:hover,.wpdt-c .open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ff9800;border-color:transparent}.wpdt-c .btn-warning.focus.focus,.wpdt-c .btn-warning.focus:focus,.wpdt-c .btn-warning.focus:hover,.wpdt-c .btn-warning:active.focus,.wpdt-c .btn-warning:active:focus,.wpdt-c .btn-warning:active:hover,.wpdt-c .btn-warning:focus.focus,.wpdt-c .btn-warning:focus:focus,.wpdt-c .btn-warning:focus:hover,.wpdt-c .btn-warning:hover.focus,.wpdt-c .btn-warning:hover:focus,.wpdt-c .btn-warning:hover:hover,.wpdt-c .open>.dropdown-toggle.btn-warning.focus,.wpdt-c .open>.dropdown-toggle.btn-warning:focus,.wpdt-c .open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#ff9800;border-color:transparent}.wpdt-c .btn-warning.active,.wpdt-c .btn-warning:active,.wpdt-c .open>.dropdown-toggle.btn-warning{background-image:none}.wpdt-c .btn-warning.disabled,.wpdt-c .btn-warning.disabled.focus,.wpdt-c .btn-warning.disabled:active,.wpdt-c .btn-warning.disabled:focus,.wpdt-c .btn-warning.disabled:hover,.wpdt-c .btn-warning[disabled],.wpdt-c .btn-warning[disabled].focus,.wpdt-c .btn-warning[disabled]:active,.wpdt-c .btn-warning[disabled]:focus,.wpdt-c .btn-warning[disabled]:hover,.wpdt-c fieldset[disabled] .btn-warning,.wpdt-c fieldset[disabled] .btn-warning.focus,.wpdt-c fieldset[disabled] .btn-warning:active,.wpdt-c fieldset[disabled] .btn-warning:focus,.wpdt-c fieldset[disabled] .btn-warning:hover{background-color:#ff9800;border-color:#e68900}.wpdt-c .btn-warning .badge{color:#ff9800;background-color:#fff}.wpdt-c .btn-danger{color:#fff;background-color:#f44336;border-color:#f32c1e}.wpdt-c .btn-danger.focus,.wpdt-c .btn-danger:focus{color:#fff;background-color:#ea1c0d;border-color:#891008}.wpdt-c .btn-danger:hover{color:#fff;background-color:#ea1c0d;border-color:#c8180b}.wpdt-c .btn-danger.active,.wpdt-c .btn-danger:active,.wpdt-c .open>.dropdown-toggle.btn-danger{color:#fff;background-color:#ea1c0d;border-color:#c8180b}.wpdt-c .btn-danger.active.focus,.wpdt-c .btn-danger.active:focus,.wpdt-c .btn-danger.active:hover,.wpdt-c .btn-danger:active.focus,.wpdt-c .btn-danger:active:focus,.wpdt-c .btn-danger:active:hover,.wpdt-c .open>.dropdown-toggle.btn-danger.focus,.wpdt-c .open>.dropdown-toggle.btn-danger:focus,.wpdt-c .open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#c8180b;border-color:#891008}.wpdt-c .btn-danger.active,.wpdt-c .btn-danger:active,.wpdt-c .open>.dropdown-toggle.btn-danger{background-image:none}.wpdt-c .btn-danger.disabled.focus,.wpdt-c .btn-danger.disabled:focus,.wpdt-c .btn-danger.disabled:hover,.wpdt-c .btn-danger[disabled].focus,.wpdt-c .btn-danger[disabled]:focus,.wpdt-c .btn-danger[disabled]:hover,.wpdt-c fieldset[disabled] .btn-danger.focus,.wpdt-c fieldset[disabled] .btn-danger:focus,.wpdt-c fieldset[disabled] .btn-danger:hover{background-color:#f44336;border-color:#f32c1e}.wpdt-c .btn-danger .badge{color:#f44336;background-color:#fff}.wpdt-c .btn-danger.focus,.wpdt-c .btn-danger:active,.wpdt-c .btn-danger:focus,.wpdt-c .btn-danger:hover,.wpdt-c .open>.dropdown-toggle.btn-danger{color:#fff;background-color:#f44336;border-color:transparent}.wpdt-c .btn-danger.focus.focus,.wpdt-c .btn-danger.focus:focus,.wpdt-c .btn-danger.focus:hover,.wpdt-c .btn-danger:active.focus,.wpdt-c .btn-danger:active:focus,.wpdt-c .btn-danger:active:hover,.wpdt-c .btn-danger:focus.focus,.wpdt-c .btn-danger:focus:focus,.wpdt-c .btn-danger:focus:hover,.wpdt-c .btn-danger:hover.focus,.wpdt-c .btn-danger:hover:focus,.wpdt-c .btn-danger:hover:hover,.wpdt-c .open>.dropdown-toggle.btn-danger.focus,.wpdt-c .open>.dropdown-toggle.btn-danger:focus,.wpdt-c .open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#f44336;border-color:transparent}.wpdt-c .btn-danger.active,.wpdt-c .btn-danger:active,.wpdt-c .open>.dropdown-toggle.btn-danger{background-image:none}.wpdt-c .btn-danger.disabled,.wpdt-c .btn-danger.disabled.focus,.wpdt-c .btn-danger.disabled:active,.wpdt-c .btn-danger.disabled:focus,.wpdt-c .btn-danger.disabled:hover,.wpdt-c .btn-danger[disabled],.wpdt-c .btn-danger[disabled].focus,.wpdt-c .btn-danger[disabled]:active,.wpdt-c .btn-danger[disabled]:focus,.wpdt-c .btn-danger[disabled]:hover,.wpdt-c fieldset[disabled] .btn-danger,.wpdt-c fieldset[disabled] .btn-danger.focus,.wpdt-c fieldset[disabled] .btn-danger:active,.wpdt-c fieldset[disabled] .btn-danger:focus,.wpdt-c fieldset[disabled] .btn-danger:hover{background-color:#f44336;border-color:#f32c1e}.wpdt-c .btn-danger .badge{color:#f44336;background-color:#fff}.wpdt-c .btn-link{color:#2196f3;font-weight:400;border-radius:0}.wpdt-c .btn-link,.wpdt-c .btn-link.active,.wpdt-c .btn-link:active,.wpdt-c .btn-link[disabled],.wpdt-c fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.wpdt-c .btn-link,.wpdt-c .btn-link:active,.wpdt-c .btn-link:focus,.wpdt-c .btn-link:hover{border-color:transparent}.wpdt-c .btn-link:focus,.wpdt-c .btn-link:hover{color:#0a6ebd;text-decoration:none;background-color:transparent}.wpdt-c .btn-link[disabled]:focus,.wpdt-c .btn-link[disabled]:hover,.wpdt-c fieldset[disabled] .btn-link:focus,.wpdt-c fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.wpdt-c .btn-group-lg>.btn,.wpdt-c .btn-lg{padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:2px}.wpdt-c .btn-group-sm>.btn,.wpdt-c .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c .btn-group-xs>.btn,.wpdt-c .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c .btn-block{display:block;width:100%}.wpdt-c .btn-block+.btn-block{margin-top:5px}.wpdt-c input[type=button].btn-block,.wpdt-c input[type=reset].btn-block,.wpdt-c input[type=submit].btn-block{width:100%}.wpdt-c .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.wpdt-c .fade.in{opacity:1}.wpdt-c .collapse{display:none}.wpdt-c .collapse.in{display:block}.wpdt-c .collapse.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.wpdt-c tr.collapse.in{display:table-row}.wpdt-c tbody.collapse.in{display:table-row-group}.wpdt-c .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.wpdt-c .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.wpdt-c .dropdown,.wpdt-c .dropup{position:relative}.wpdt-c .dropdown-toggle:focus{outline:0}.wpdt-c .dropdown-menu,.wpdt-c.dropdown-menu{position:absolute;top:100%;left:0;z-index:9999;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.wpdt-c .dropdown-menu.pull-right{right:0;left:auto}.wpdt-c .dropdown-menu .divider{height:1px;margin:8px 0;overflow:hidden;background-color:rgba(0,0,0,.08)}.wpdt-c .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.wpdt-c .dropdown-menu>li>a:focus,.wpdt-c .dropdown-menu>li>a:hover{text-decoration:none;color:#333;background-color:rgba(0,0,0,.075)}.wpdt-c .dropdown-menu>.active>a,.wpdt-c .dropdown-menu>.active>a:focus,.wpdt-c .dropdown-menu>.active>a:hover{color:#333;text-decoration:none;outline:0;background-color:rgba(0,0,0,.075)}.wpdt-c .dropdown-menu>.disabled>a,.wpdt-c .dropdown-menu>.disabled>a:focus,.wpdt-c .dropdown-menu>.disabled>a:hover{color:#e4e4e4}.wpdt-c .open>.dropdown-menu{display:block}.wpdt-c .open>ul.dropdown-menu{padding:0!important}.wpdt-c .open>a{outline:0}.wpdt-c .dropdown-menu-right{left:auto;right:0}.wpdt-c .dropdown-menu-left{left:0;right:auto}.wpdt-c .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.wpdt-c .dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:-1}.wpdt-c .pull-right>.dropdown-menu{right:0;left:auto}.wpdt-c .dropup .caret,.wpdt-c .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;content:""}.wpdt-c .dropup .dropdown-menu,.wpdt-c .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.wpdt-c .navbar-right .dropdown-menu{left:auto;right:0}.wpdt-c .navbar-right .dropdown-menu-left{left:0;right:auto}}.wpdt-c .btn-group,.wpdt-c .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.wpdt-c .btn-group-vertical>.btn,.wpdt-c .btn-group>.btn{position:relative;float:left}.wpdt-c .btn-group-vertical>.btn.active,.wpdt-c .btn-group-vertical>.btn:active,.wpdt-c .btn-group-vertical>.btn:focus,.wpdt-c .btn-group-vertical>.btn:hover,.wpdt-c .btn-group>.btn.active,.wpdt-c .btn-group>.btn:active,.wpdt-c .btn-group>.btn:focus,.wpdt-c .btn-group>.btn:hover{z-index:2}.wpdt-c .btn-group .btn+.btn,.wpdt-c .btn-group .btn+.btn-group,.wpdt-c .btn-group .btn-group+.btn,.wpdt-c .btn-group .btn-group+.btn-group{margin-left:-1px}.wpdt-c .btn-toolbar{margin-left:-5px}.wpdt-c .btn-toolbar .btn,.wpdt-c .btn-toolbar .btn-group,.wpdt-c .btn-toolbar .input-group{float:left}.wpdt-c .btn-toolbar>.btn,.wpdt-c .btn-toolbar>.btn-group,.wpdt-c .btn-toolbar>.input-group{margin-left:5px}.wpdt-c .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.wpdt-c .btn-group>.btn:first-child{margin-left:0}.wpdt-c .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.wpdt-c .btn-group>.btn:last-child:not(:first-child),.wpdt-c .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.wpdt-c .btn-group>.btn-group{float:left}.wpdt-c .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.wpdt-c .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.wpdt-c .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.wpdt-c .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.wpdt-c .btn-group .dropdown-toggle:active,.wpdt-c .btn-group.open .dropdown-toggle{outline:0}.wpdt-c .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.wpdt-c .btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.wpdt-c .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)}.wpdt-c .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.wpdt-c .btn .caret{margin-left:0}.wpdt-c .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.wpdt-c .dropup .btn-lg .caret{border-width:0 5px 5px}.wpdt-c .btn-group-vertical>.btn,.wpdt-c .btn-group-vertical>.btn-group,.wpdt-c .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.wpdt-c .btn-group-vertical>.btn-group>.btn{float:none}.wpdt-c .btn-group-vertical>.btn+.btn,.wpdt-c .btn-group-vertical>.btn+.btn-group,.wpdt-c .btn-group-vertical>.btn-group+.btn,.wpdt-c .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.wpdt-c .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.wpdt-c .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:2px;border-top-left-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.wpdt-c .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.wpdt-c .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.wpdt-c .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.wpdt-c .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.wpdt-c .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.wpdt-c .btn-group-justified>.btn,.wpdt-c .btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.wpdt-c .btn-group-justified>.btn-group .btn{width:100%}.wpdt-c .btn-group-justified>.btn-group .dropdown-menu{left:auto}.wpdt-c [data-toggle=buttons]>.btn input[type=checkbox],.wpdt-c [data-toggle=buttons]>.btn input[type=radio],.wpdt-c [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.wpdt-c [data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.wpdt-c .input-group{position:relative;display:table;border-collapse:separate}.wpdt-c .input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.wpdt-c .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.wpdt-c .input-group .form-control:focus{z-index:3}.wpdt-c .input-group-lg>.form-control,.wpdt-c .input-group-lg>.input-group-addon,.wpdt-c .input-group-lg>.input-group-btn>.btn{height:40px;padding:10px 16px;font-size:17px;line-height:1.3333333;border-radius:0}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:40px;line-height:40px}.wpdt-c select[multiple].input-group-lg>.form-control,.wpdt-c select[multiple].input-group-lg>.input-group-addon,.wpdt-c select[multiple].input-group-lg>.input-group-btn>.btn,.wpdt-c textarea.input-group-lg>.form-control,.wpdt-c textarea.input-group-lg>.input-group-addon,.wpdt-c textarea.input-group-lg>.input-group-btn>.btn{height:auto}.wpdt-c .input-group-sm>.form-control,.wpdt-c .input-group-sm>.input-group-addon,.wpdt-c .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px}.wpdt-c select.input-group-sm>.form-control,.wpdt-c select.input-group-sm>.input-group-addon,.wpdt-c select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.wpdt-c select[multiple].input-group-sm>.form-control,.wpdt-c select[multiple].input-group-sm>.input-group-addon,.wpdt-c select[multiple].input-group-sm>.input-group-btn>.btn,.wpdt-c textarea.input-group-sm>.form-control,.wpdt-c textarea.input-group-sm>.input-group-addon,.wpdt-c textarea.input-group-sm>.input-group-btn>.btn{height:auto}.wpdt-c .input-group .form-control,.wpdt-c .input-group-addon,.wpdt-c .input-group-btn{display:table-cell}.wpdt-c .input-group .form-control:not(:first-child):not(:last-child),.wpdt-c .input-group-addon:not(:first-child):not(:last-child),.wpdt-c .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.wpdt-c .input-group-addon,.wpdt-c .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.wpdt-c .input-group-addon{padding:6px 12px;font-size:13px;font-weight:400;line-height:1;color:#000;text-align:center;background-color:transparent;border:1px solid transparent;border-radius:0}.wpdt-c .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:2px}.wpdt-c .input-group-addon.input-lg{padding:10px 16px;font-size:17px;border-radius:0}.wpdt-c .input-group-addon input[type=checkbox],.wpdt-c .input-group-addon input[type=radio]{margin-top:0}.wpdt-c .input-group .form-control:first-child,.wpdt-c .input-group-addon:first-child,.wpdt-c .input-group-btn:first-child>.btn,.wpdt-c .input-group-btn:first-child>.btn-group>.btn,.wpdt-c .input-group-btn:first-child>.dropdown-toggle,.wpdt-c .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.wpdt-c .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.wpdt-c .input-group-addon:first-child{border-right:0}.wpdt-c .input-group .form-control:last-child,.wpdt-c .input-group-addon:last-child,.wpdt-c .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.wpdt-c .input-group-btn:first-child>.btn:not(:first-child),.wpdt-c .input-group-btn:last-child>.btn,.wpdt-c .input-group-btn:last-child>.btn-group>.btn,.wpdt-c .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.wpdt-c .input-group-addon:last-child{border-left:0}.wpdt-c .input-group-btn{position:relative;font-size:0;white-space:nowrap}.wpdt-c .input-group-btn>.btn{position:relative}.wpdt-c .input-group-btn>.btn+.btn{margin-left:-1px}.wpdt-c .input-group-btn>.btn:active,.wpdt-c .input-group-btn>.btn:focus,.wpdt-c .input-group-btn>.btn:hover{z-index:2}.wpdt-c .input-group-btn:first-child>.btn,.wpdt-c .input-group-btn:first-child>.btn-group{margin-right:-1px}.wpdt-c .input-group-btn:last-child>.btn,.wpdt-c .input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.wpdt-c .nav{margin-bottom:0;padding-left:0;list-style:none}.wpdt-c .nav>li{position:relative;display:block}.wpdt-c .nav>li>a{position:relative;display:block;padding:10px 15px}.wpdt-c .nav>li>a:focus,.wpdt-c .nav>li>a:hover{text-decoration:none;background-color:#eee}.wpdt-c .nav>li.disabled>a{color:#777}.wpdt-c .nav>li.disabled>a:focus,.wpdt-c .nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.wpdt-c .nav .open>a,.wpdt-c .nav .open>a:focus,.wpdt-c .nav .open>a:hover{background-color:#eee;border-color:#2196f3}.wpdt-c .nav .nav-divider{height:1px;margin:8px 0;overflow:hidden;background-color:#e5e5e5}.wpdt-c .nav>li>a>img{max-width:none}.wpdt-c .nav-tabs{border-bottom:1px solid #fff}.wpdt-c .nav-tabs>li{float:left;margin-bottom:-1px}.wpdt-c .nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:2px 2px 0 0}.wpdt-c .nav-tabs>li>a:hover{border-color:#eee #eee #fff}.wpdt-c .nav-tabs>li.active>a,.wpdt-c .nav-tabs>li.active>a:focus,.wpdt-c .nav-tabs>li.active>a:hover{color:#555;background-color:transparent;border:1px solid #fff;border-bottom-color:transparent;cursor:default}.wpdt-c .nav-tabs.nav-justified{width:100%;border-bottom:0}.wpdt-c .nav-tabs.nav-justified>li{float:none}.wpdt-c .nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.wpdt-c .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.wpdt-c .nav-tabs.nav-justified>li{display:table-cell;width:1%}.wpdt-c .nav-tabs.nav-justified>li>a{margin-bottom:0}}.wpdt-c .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:2px}.wpdt-c .nav-tabs.nav-justified>.active>a,.wpdt-c .nav-tabs.nav-justified>.active>a:focus,.wpdt-c .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.wpdt-c .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.wpdt-c .nav-tabs.nav-justified>.active>a,.wpdt-c .nav-tabs.nav-justified>.active>a:focus,.wpdt-c .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#edecec}}.wpdt-c .nav-pills>li{float:left}.wpdt-c .nav-pills>li>a{border-radius:2px}.wpdt-c .nav-pills>li+li{margin-left:2px}.wpdt-c .nav-pills>li.active>a,.wpdt-c .nav-pills>li.active>a:focus,.wpdt-c .nav-pills>li.active>a:hover{color:#fff;background-color:#2196f3}.wpdt-c .nav-stacked>li{float:none}.wpdt-c .nav-stacked>li+li{margin-top:2px;margin-left:0}.wpdt-c .nav-justified{width:100%}.wpdt-c .nav-justified>li{float:none}.wpdt-c .nav-justified>li>a{text-align:center;margin-bottom:5px}.wpdt-c .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.wpdt-c .nav-justified>li{display:table-cell;width:1%}.wpdt-c .nav-justified>li>a{margin-bottom:0}}.wpdt-c .nav-tabs-justified{border-bottom:0}.wpdt-c .nav-tabs-justified>li>a{margin-right:0;border-radius:2px}.wpdt-c .nav-tabs-justified>.active>a,.wpdt-c .nav-tabs-justified>.active>a:focus,.wpdt-c .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.wpdt-c .nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:2px 2px 0 0}.wpdt-c .nav-tabs-justified>.active>a,.wpdt-c .nav-tabs-justified>.active>a:focus,.wpdt-c .nav-tabs-justified>.active>a:hover{border-bottom-color:#edecec}}.wpdt-c .tab-content>.tab-pane{display:none}.wpdt-c .tab-content>.active{display:block}.wpdt-c .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .navbar{position:relative;min-height:50px;margin-bottom:18px;border:1px solid transparent}@media (min-width:768px){.wpdt-c .navbar{border-radius:2px}}@media (min-width:768px){.wpdt-c .navbar-header{float:left}}.wpdt-c .navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.wpdt-c .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.wpdt-c .navbar-collapse{width:auto;border-top:0;box-shadow:none}.wpdt-c .navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.wpdt-c .navbar-collapse.in{overflow-y:visible}.wpdt-c .navbar-fixed-bottom .navbar-collapse,.wpdt-c .navbar-fixed-top .navbar-collapse,.wpdt-c .navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.wpdt-c .navbar-fixed-bottom .navbar-collapse,.wpdt-c .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.wpdt-c .navbar-fixed-bottom .navbar-collapse,.wpdt-c .navbar-fixed-top .navbar-collapse{max-height:200px}}.wpdt-c .container-fluid>.navbar-collapse,.wpdt-c .container-fluid>.navbar-header,.wpdt-c .container>.navbar-collapse,.wpdt-c .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.wpdt-c .container-fluid>.navbar-collapse,.wpdt-c .container-fluid>.navbar-header,.wpdt-c .container>.navbar-collapse,.wpdt-c .container>.navbar-header{margin-right:0;margin-left:0}}.wpdt-c .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.wpdt-c .navbar-static-top{border-radius:0}}.wpdt-c .navbar-fixed-bottom,.wpdt-c .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.wpdt-c .navbar-fixed-bottom,.wpdt-c .navbar-fixed-top{border-radius:0}}.wpdt-c .navbar-fixed-top{top:0;border-width:0 0 1px}.wpdt-c .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.wpdt-c .navbar-brand{float:left;padding:16px 15px;font-size:17px;line-height:18px;height:50px}.wpdt-c .navbar-brand:focus,.wpdt-c .navbar-brand:hover{text-decoration:none}.wpdt-c .navbar-brand>img{display:block}@media (min-width:768px){.wpdt-c .navbar>.container .navbar-brand,.wpdt-c .navbar>.container-fluid .navbar-brand{margin-left:-15px}}.wpdt-c .navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:2px}.wpdt-c .navbar-toggle:focus{outline:0}.wpdt-c .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.wpdt-c .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.wpdt-c .navbar-toggle{display:none}}.wpdt-c .navbar-nav{margin:8px -15px}.wpdt-c .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:18px}@media (max-width:767px){.wpdt-c .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.wpdt-c .navbar-nav .open .dropdown-menu .dropdown-header,.wpdt-c .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.wpdt-c .navbar-nav .open .dropdown-menu>li>a{line-height:18px}.wpdt-c .navbar-nav .open .dropdown-menu>li>a:focus,.wpdt-c .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.wpdt-c .navbar-nav{float:left;margin:0}.wpdt-c .navbar-nav>li{float:left}.wpdt-c .navbar-nav>li>a{padding-top:16px;padding-bottom:16px}}.wpdt-c .navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.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-top:7.5px;margin-bottom:7.5px}@media (min-width:768px){.wpdt-c .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.wpdt-c .navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.wpdt-c .navbar-form .form-control-static{display:inline-block}.wpdt-c .navbar-form .input-group{display:inline-table;vertical-align:middle}.wpdt-c .navbar-form .input-group .form-control,.wpdt-c .navbar-form .input-group .input-group-addon,.wpdt-c .navbar-form .input-group .input-group-btn{width:auto}.wpdt-c .navbar-form .input-group>.form-control{width:100%}.wpdt-c .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.wpdt-c .navbar-form .checkbox,.wpdt-c .navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.wpdt-c .navbar-form .checkbox label,.wpdt-c .navbar-form .radio label{padding-left:0}.wpdt-c .navbar-form .checkbox input[type=checkbox],.wpdt-c .navbar-form .radio input[type=radio]{position:relative;margin-left:0}.wpdt-c .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.wpdt-c .navbar-form .form-group{margin-bottom:5px}.wpdt-c .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.wpdt-c .navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.wpdt-c .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:2px;border-top-left-radius:2px;border-bottom-right-radius:0;border-bottom-left-radius:0}.wpdt-c .navbar-btn{margin-top:7.5px;margin-bottom:7.5px}.wpdt-c .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.wpdt-c .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.wpdt-c .navbar-text{margin-top:16px;margin-bottom:16px}@media (min-width:768px){.wpdt-c .navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.wpdt-c .navbar-left{float:left!important}.wpdt-c .navbar-right{float:right!important;margin-right:-15px}.wpdt-c .navbar-right~.navbar-right{margin-right:0}}.wpdt-c .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.wpdt-c .navbar-default .navbar-brand{color:#777}.wpdt-c .navbar-default .navbar-brand:focus,.wpdt-c .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.wpdt-c .navbar-default .navbar-text{color:#777}.wpdt-c .navbar-default .navbar-nav>li>a{color:#777}.wpdt-c .navbar-default .navbar-nav>li>a:focus,.wpdt-c .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.wpdt-c .navbar-default .navbar-nav>.active>a,.wpdt-c .navbar-default .navbar-nav>.active>a:focus,.wpdt-c .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.wpdt-c .navbar-default .navbar-nav>.disabled>a,.wpdt-c .navbar-default .navbar-nav>.disabled>a:focus,.wpdt-c .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.wpdt-c .navbar-default .navbar-toggle{border-color:#ddd}.wpdt-c .navbar-default .navbar-toggle:focus,.wpdt-c .navbar-default .navbar-toggle:hover{background-color:#ddd}.wpdt-c .navbar-default .navbar-toggle .icon-bar{background-color:#888}.wpdt-c .navbar-default .navbar-collapse,.wpdt-c .navbar-default .navbar-form{border-color:#e7e7e7}.wpdt-c .navbar-default .navbar-nav>.open>a,.wpdt-c .navbar-default .navbar-nav>.open>a:focus,.wpdt-c .navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.wpdt-c .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.wpdt-c .navbar-default .navbar-link{color:#777}.wpdt-c .navbar-default .navbar-link:hover{color:#333}.wpdt-c .navbar-default .btn-link{color:#777}.wpdt-c .navbar-default .btn-link:focus,.wpdt-c .navbar-default .btn-link:hover{color:#333}.wpdt-c .navbar-default .btn-link[disabled]:focus,.wpdt-c .navbar-default .btn-link[disabled]:hover,.wpdt-c fieldset[disabled] .navbar-default .btn-link:focus,.wpdt-c fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.wpdt-c .navbar-inverse{background-color:#222;border-color:#080808}.wpdt-c .navbar-inverse .navbar-brand{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-brand:focus,.wpdt-c .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.wpdt-c .navbar-inverse .navbar-text{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-nav>li>a:focus,.wpdt-c .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.wpdt-c .navbar-inverse .navbar-nav>.active>a,.wpdt-c .navbar-inverse .navbar-nav>.active>a:focus,.wpdt-c .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.wpdt-c .navbar-inverse .navbar-nav>.disabled>a,.wpdt-c .navbar-inverse .navbar-nav>.disabled>a:focus,.wpdt-c .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.wpdt-c .navbar-inverse .navbar-toggle{border-color:#333}.wpdt-c .navbar-inverse .navbar-toggle:focus,.wpdt-c .navbar-inverse .navbar-toggle:hover{background-color:#333}.wpdt-c .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.wpdt-c .navbar-inverse .navbar-collapse,.wpdt-c .navbar-inverse .navbar-form{border-color:#101010}.wpdt-c .navbar-inverse .navbar-nav>.open>a,.wpdt-c .navbar-inverse .navbar-nav>.open>a:focus,.wpdt-c .navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.wpdt-c .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.wpdt-c .navbar-inverse .navbar-link{color:#9d9d9d}.wpdt-c .navbar-inverse .navbar-link:hover{color:#fff}.wpdt-c .navbar-inverse .btn-link{color:#9d9d9d}.wpdt-c .navbar-inverse .btn-link:focus,.wpdt-c .navbar-inverse .btn-link:hover{color:#fff}.wpdt-c .navbar-inverse .btn-link[disabled]:focus,.wpdt-c .navbar-inverse .btn-link[disabled]:hover,.wpdt-c fieldset[disabled] .navbar-inverse .btn-link:focus,.wpdt-c fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.wpdt-c .breadcrumb{padding:8px 20px;margin-bottom:18px;list-style:none;background-color:transparent;border-radius:2px}.wpdt-c .breadcrumb>li{display:inline-block}.wpdt-c .breadcrumb>li+li:before{font-family:wpDataTablesIcons;content:"\f531";padding:0 5px;color:#ccc}.wpdt-c .breadcrumb>.active{color:#2196f3}.wpdt-c .pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:2px}.wpdt-c .pagination>li{display:inline}.wpdt-c .pagination>li>a,.wpdt-c .pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#7e7e7e;background-color:#e2e2e2;border:1px solid #fff;margin-left:-1px}.wpdt-c .pagination>li:first-child>a,.wpdt-c .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:2px;border-top-left-radius:2px}.wpdt-c .pagination>li:last-child>a,.wpdt-c .pagination>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.wpdt-c .pagination>li>a:focus,.wpdt-c .pagination>li>a:hover,.wpdt-c .pagination>li>span:focus,.wpdt-c .pagination>li>span:hover{z-index:2;color:#333;background-color:#d7d7d7;border-color:#fff}.wpdt-c .pagination>.active>a,.wpdt-c .pagination>.active>a:focus,.wpdt-c .pagination>.active>a:hover,.wpdt-c .pagination>.active>span,.wpdt-c .pagination>.active>span:focus,.wpdt-c .pagination>.active>span:hover{z-index:3;color:#fff;background-color:#00bcd4;border-color:#fff;cursor:default}.wpdt-c .pagination>.disabled>a,.wpdt-c .pagination>.disabled>a:focus,.wpdt-c .pagination>.disabled>a:hover,.wpdt-c .pagination>.disabled>span,.wpdt-c .pagination>.disabled>span:focus,.wpdt-c .pagination>.disabled>span:hover{color:#777;background-color:#e2e2e2;border-color:#fff;cursor:not-allowed}.wpdt-c .pagination-lg>li>a,.wpdt-c .pagination-lg>li>span{padding:10px 16px;font-size:17px;line-height:1.3333333}.wpdt-c .pagination-lg>li:first-child>a,.wpdt-c .pagination-lg>li:first-child>span{border-bottom-left-radius:2px;border-top-left-radius:2px}.wpdt-c .pagination-lg>li:last-child>a,.wpdt-c .pagination-lg>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.wpdt-c .pagination-sm>li>a,.wpdt-c .pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.wpdt-c .pagination-sm>li:first-child>a,.wpdt-c .pagination-sm>li:first-child>span{border-bottom-left-radius:2px;border-top-left-radius:2px}.wpdt-c .pagination-sm>li:last-child>a,.wpdt-c .pagination-sm>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.wpdt-c .pager{padding-left:0;margin:18px 0;list-style:none;text-align:center}.wpdt-c .pager li{display:inline}.wpdt-c .pager li>a,.wpdt-c .pager li>span{display:inline-block;padding:5px 14px;background-color:#e2e2e2;border:1px solid #fff;border-radius:5px}.wpdt-c .pager li>a:focus,.wpdt-c .pager li>a:hover{text-decoration:none;background-color:#d7d7d7}.wpdt-c .pager .next>a,.wpdt-c .pager .next>span{float:right}.wpdt-c .pager .previous>a,.wpdt-c .pager .previous>span{float:left}.wpdt-c .pager .disabled>a,.wpdt-c .pager .disabled>a:focus,.wpdt-c .pager .disabled>a:hover,.wpdt-c .pager .disabled>span{color:#777;background-color:#e2e2e2;cursor:not-allowed}.wpdt-c .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}.wpdt-c a.label:focus,.wpdt-c a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.wpdt-c .label:empty{display:none}.wpdt-c .btn .label{position:relative;top:-1px}.wpdt-c .label-default{background-color:#777}.wpdt-c .label-default[href]:focus,.wpdt-c .label-default[href]:hover{background-color:#5e5e5e}.wpdt-c .label-primary{background-color:#2196f3}.wpdt-c .label-primary[href]:focus,.wpdt-c .label-primary[href]:hover{background-color:#0c7cd5}.wpdt-c .label-success{background-color:#4caf50}.wpdt-c .label-success[href]:focus,.wpdt-c .label-success[href]:hover{background-color:#3d8b40}.wpdt-c .label-info{background-color:#00bcd4}.wpdt-c .label-info[href]:focus,.wpdt-c .label-info[href]:hover{background-color:#008fa1}.wpdt-c .label-warning{background-color:#ff9800}.wpdt-c .label-warning[href]:focus,.wpdt-c .label-warning[href]:hover{background-color:#cc7a00}.wpdt-c .label-danger{background-color:#f44336}.wpdt-c .label-danger[href]:focus,.wpdt-c .label-danger[href]:hover{background-color:#ea1c0d}.wpdt-c .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:400;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#2196f3;border-radius:2px}.wpdt-c .badge:empty{display:none}.wpdt-c .btn .badge{position:relative;top:-1px}.wpdt-c .btn-group-xs>.btn .badge,.wpdt-c .btn-xs .badge{top:0;padding:1px 5px}.wpdt-c a.badge:focus,.wpdt-c a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.wpdt-c .list-group-item.active>.badge,.wpdt-c .nav-pills>.active>a>.badge{color:#fff;background-color:#2196f3}.wpdt-c .list-group-item>.badge{float:right}.wpdt-c .list-group-item>.badge+.badge{margin-right:5px}.wpdt-c .nav-pills>li>a>.badge{margin-left:3px}.wpdt-c .jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#f7f7f7}.wpdt-c .jumbotron .h1,.wpdt-c .jumbotron h1{color:inherit}.wpdt-c .jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.wpdt-c .jumbotron>hr{border-top-color:#dedede}.wpdt-c .container .jumbotron,.wpdt-c .container-fluid .jumbotron{border-radius:2px;padding-left:15px;padding-right:15px}.wpdt-c .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.wpdt-c .jumbotron{padding-top:48px;padding-bottom:48px}.wpdt-c .container .jumbotron,.wpdt-c .container-fluid .jumbotron{padding-left:60px;padding-right:60px}.wpdt-c .jumbotron .h1,.wpdt-c .jumbotron h1{font-size:59px}}.wpdt-c .thumbnail{display:block;padding:3px;margin-bottom:18px;line-height:1.42857143;background-color:#fff;border:1px solid #ededed;border-radius:2px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.wpdt-c .thumbnail a>img,.wpdt-c .thumbnail>img{margin-left:auto;margin-right:auto}.wpdt-c a.thumbnail.active,.wpdt-c a.thumbnail:focus,.wpdt-c a.thumbnail:hover{border-color:#2196f3}.wpdt-c .thumbnail .caption{padding:10px 15px;color:#5e5e5e}.wpdt-c .alert,.wpdt-c.alert{padding:12px;margin-bottom:18px;border:1px solid transparent;background:#f4f5f7;border-radius:3px}.wpdt-c.alert h4 .wpdt-c .alert h4{margin-top:0;color:inherit}.wpdt-c .alert .alert-link,.wpdt-c.alert .alert-link{font-weight:700}.wpdt-c .alert>p,.wpdt-c .alert>ul,.wpdt-c.alert>p,.wpdt-c.alert>ul{margin-bottom:0}.wpdt-c .alert>p+p,.wpdt-c.alert>p+p{margin-top:5px}.wpdt-c .alert-dismissable,.wpdt-c .alert-dismissible,.wpdt-c.alert-dismissable,.wpdt-c.alert-dismissible{padding-right:35px}.wpdt-c .alert-dismissable .close,.wpdt-c .alert-dismissible .close,.wpdt-c.alert-dismissable .close,.wpdt-c.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.wpdt-c .alert-success,.wpdt-c.alert-success{background-color:#4caf50;border-color:transparent;color:#fff}.wpdt-c .alert-success hr,.wpdt-c.alert-success hr{border-top-color:transparent}.wpdt-c .alert-success .alert-link,.wpdt-c.alert-success .alert-link{color:#e6e6e6}.wpdt-c .alert-info i.wpdt-icon-times-full,.wpdt-c.alert-info i.wpdt-icon-times-full{font-size:15px;line-height:20px;color:#8796af}.wpdt-c .alert-info,.wpdt-c.alert-info{background:#f4f5f7;border-radius:3px}.wpdt-c .alert-info hr,.wpdt-c.alert-info hr{border-top-color:transparent}.wpdt-c .alert-info .alert-link,.wpdt-c.alert-info .alert-link{color:#e6e6e6}.wpdt-c .alert-warning,.wpdt-c.alert-warning{background-color:#ffc107;border-color:transparent;color:#fff}.wpdt-c .alert-warning hr,.wpdt-c.alert-warning hr{border-top-color:transparent}.wpdt-c .alert-warning .alert-link,.wpdt-c.alert-warning .alert-link{color:#e6e6e6}.wpdt-c .alert-danger,.wpdt-c.alert-danger{background:rgba(240,62,62,.06);border-radius:3px;font-weight:500;font-size:12px;line-height:16px;color:#f03e3e;border-color:transparent}.wpdt-c .alert-danger hr,.wpdt-c.alert-danger hr{border-top-color:transparent}.wpdt-c .alert-danger .alert-link,.wpdt-c.alert-danger .alert-link{color:#e6e6e6}@-webkit-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}}.wpdt-c .progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.wpdt-c .progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:18px;color:#fff;text-align:center;background-color:#2196f3;-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}.wpdt-c .progress-bar-striped,.wpdt-c .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);background-size:40px 40px}.wpdt-c .progress-bar.active,.wpdt-c .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}.wpdt-c .progress-bar-success{background-color:#4caf50}.wpdt-c .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)}.wpdt-c .progress-bar-info{background-color:#00bcd4}.wpdt-c .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)}.wpdt-c .progress-bar-warning{background-color:#ff9800}.wpdt-c .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)}.wpdt-c .progress-bar-danger{background-color:#f44336}.wpdt-c .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)}.wpdt-c .media{margin-top:15px}.wpdt-c .media:first-child{margin-top:0}.wpdt-c .media,.wpdt-c .media-body{zoom:1;overflow:hidden}.wpdt-c .media-body{width:10000px}.wpdt-c .media-object{display:block}.wpdt-c .media-object.img-thumbnail{max-width:none}.wpdt-c .media-right,.wpdt-c .media>.pull-right{padding-left:10px}.wpdt-c .media-left,.wpdt-c .media>.pull-left{padding-right:10px}.wpdt-c .media-body,.wpdt-c .media-left,.wpdt-c .media-right{display:table-cell;vertical-align:top}.wpdt-c .media-middle{vertical-align:middle}.wpdt-c .media-bottom{vertical-align:bottom}.wpdt-c .media-heading{margin-top:0;margin-bottom:5px}.wpdt-c .media-list{padding-left:0;list-style:none}.wpdt-c .list-group{margin-bottom:20px;padding-left:0}.wpdt-c .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:transparent;border:1px solid #e9e9e9}.wpdt-c .list-group-item:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.wpdt-c .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.wpdt-c a.list-group-item,.wpdt-c button.list-group-item{color:#555}.wpdt-c a.list-group-item .list-group-item-heading,.wpdt-c button.list-group-item .list-group-item-heading{color:#333}.wpdt-c a.list-group-item:focus,.wpdt-c a.list-group-item:hover,.wpdt-c button.list-group-item:focus,.wpdt-c button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f7f7f7}.wpdt-c button.list-group-item{width:100%;text-align:left}.wpdt-c .list-group-item.disabled,.wpdt-c .list-group-item.disabled:focus,.wpdt-c .list-group-item.disabled:hover{background-color:#fff;color:#b5b4b4;cursor:not-allowed}.wpdt-c .list-group-item.disabled .list-group-item-heading,.wpdt-c .list-group-item.disabled:focus .list-group-item-heading,.wpdt-c .list-group-item.disabled:hover .list-group-item-heading{color:inherit}.wpdt-c .list-group-item.disabled .list-group-item-text,.wpdt-c .list-group-item.disabled:focus .list-group-item-text,.wpdt-c .list-group-item.disabled:hover .list-group-item-text{color:#b5b4b4}.wpdt-c .list-group-item.active,.wpdt-c .list-group-item.active:focus,.wpdt-c .list-group-item.active:hover{z-index:2;color:#000;background-color:#f5f5f5;border-color:#e9e9e9}.wpdt-c .list-group-item.active .list-group-item-heading,.wpdt-c .list-group-item.active .list-group-item-heading>.small,.wpdt-c .list-group-item.active .list-group-item-heading>small,.wpdt-c .list-group-item.active:focus .list-group-item-heading,.wpdt-c .list-group-item.active:focus .list-group-item-heading>.small,.wpdt-c .list-group-item.active:focus .list-group-item-heading>small,.wpdt-c .list-group-item.active:hover .list-group-item-heading,.wpdt-c .list-group-item.active:hover .list-group-item-heading>.small,.wpdt-c .list-group-item.active:hover .list-group-item-heading>small{color:inherit}.wpdt-c .list-group-item.active .list-group-item-text,.wpdt-c .list-group-item.active:focus .list-group-item-text,.wpdt-c .list-group-item.active:hover .list-group-item-text{color:#fff}.wpdt-c .list-group-item-success{color:#67bd6a;background-color:#67bd6a}.wpdt-c a.list-group-item-success,.wpdt-c button.list-group-item-success{color:#67bd6a}.wpdt-c a.list-group-item-success .list-group-item-heading,.wpdt-c button.list-group-item-success .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-success:focus,.wpdt-c a.list-group-item-success:hover,.wpdt-c button.list-group-item-success:focus,.wpdt-c button.list-group-item-success:hover{color:#67bd6a;background-color:#55b559}.wpdt-c a.list-group-item-success.active,.wpdt-c a.list-group-item-success.active:focus,.wpdt-c a.list-group-item-success.active:hover,.wpdt-c button.list-group-item-success.active,.wpdt-c button.list-group-item-success.active:focus,.wpdt-c button.list-group-item-success.active:hover{color:#fff;background-color:#67bd6a;border-color:#67bd6a}.wpdt-c .list-group-item-info{color:#31708f;background-color:#d9edf7}.wpdt-c a.list-group-item-info,.wpdt-c button.list-group-item-info{color:#31708f}.wpdt-c a.list-group-item-info .list-group-item-heading,.wpdt-c button.list-group-item-info .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-info:focus,.wpdt-c a.list-group-item-info:hover,.wpdt-c button.list-group-item-info:focus,.wpdt-c button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}.wpdt-c a.list-group-item-info.active,.wpdt-c a.list-group-item-info.active:focus,.wpdt-c a.list-group-item-info.active:hover,.wpdt-c button.list-group-item-info.active,.wpdt-c button.list-group-item-info.active:focus,.wpdt-c button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.wpdt-c .list-group-item-warning{color:#ffa829;background-color:#ffa829}.wpdt-c a.list-group-item-warning,.wpdt-c button.list-group-item-warning{color:#ffa829}.wpdt-c a.list-group-item-warning .list-group-item-heading,.wpdt-c button.list-group-item-warning .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-warning:focus,.wpdt-c a.list-group-item-warning:hover,.wpdt-c button.list-group-item-warning:focus,.wpdt-c button.list-group-item-warning:hover{color:#ffa829;background-color:#ff9e0f}.wpdt-c a.list-group-item-warning.active,.wpdt-c a.list-group-item-warning.active:focus,.wpdt-c a.list-group-item-warning.active:hover,.wpdt-c button.list-group-item-warning.active,.wpdt-c button.list-group-item-warning.active:focus,.wpdt-c button.list-group-item-warning.active:hover{color:#fff;background-color:#ffa829;border-color:#ffa829}.wpdt-c .list-group-item-danger{color:#f6675d;background-color:#f6675d}.wpdt-c a.list-group-item-danger,.wpdt-c button.list-group-item-danger{color:#f6675d}.wpdt-c a.list-group-item-danger .list-group-item-heading,.wpdt-c button.list-group-item-danger .list-group-item-heading{color:inherit}.wpdt-c a.list-group-item-danger:focus,.wpdt-c a.list-group-item-danger:hover,.wpdt-c button.list-group-item-danger:focus,.wpdt-c button.list-group-item-danger:hover{color:#f6675d;background-color:#f55145}.wpdt-c a.list-group-item-danger.active,.wpdt-c a.list-group-item-danger.active:focus,.wpdt-c a.list-group-item-danger.active:hover,.wpdt-c button.list-group-item-danger.active,.wpdt-c button.list-group-item-danger.active:focus,.wpdt-c button.list-group-item-danger.active:hover{color:#fff;background-color:#f6675d;border-color:#f6675d}.wpdt-c .list-group-item-heading{margin-top:0;margin-bottom:5px}.wpdt-c .list-group-item-text{margin-bottom:0;line-height:1.3}.wpdt-c .panel{margin-bottom:18px;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.wpdt-c .panel-body{padding:15px}.wpdt-c .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:1px;border-top-left-radius:1px}.wpdt-c .panel-heading>.dropdown .dropdown-toggle{color:inherit}.wpdt-c .panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}.wpdt-c .panel-title>.small,.wpdt-c .panel-title>.small>a,.wpdt-c .panel-title>a,.wpdt-c .panel-title>small,.wpdt-c .panel-title>small>a{color:inherit}.wpdt-c .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.wpdt-c .panel>.list-group,.wpdt-c .panel>.panel-collapse>.list-group{margin-bottom:0}.wpdt-c .panel>.list-group .list-group-item,.wpdt-c .panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.wpdt-c .panel>.list-group:first-child .list-group-item:first-child,.wpdt-c .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:1px;border-top-left-radius:1px}.wpdt-c .panel>.list-group:last-child .list-group-item:last-child,.wpdt-c .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:1px;border-bottom-left-radius:1px}.wpdt-c .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.wpdt-c .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.wpdt-c .list-group+.panel-footer{border-top-width:0}.wpdt-c .panel>.panel-collapse>.table,.wpdt-c .panel>.table,.wpdt-c .panel>.table-responsive>.table{margin-bottom:0}.wpdt-c .panel>.panel-collapse>.table caption,.wpdt-c .panel>.table caption,.wpdt-c .panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.wpdt-c .panel>.table-responsive:first-child>.table:first-child,.wpdt-c .panel>.table:first-child{border-top-right-radius:1px;border-top-left-radius:1px}.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child,.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:1px;border-top-right-radius:1px}.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:1px}.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.wpdt-c .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:1px}.wpdt-c .panel>.table-responsive:last-child>.table:last-child,.wpdt-c .panel>.table:last-child{border-bottom-right-radius:1px;border-bottom-left-radius:1px}.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:1px;border-bottom-right-radius:1px}.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:1px}.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.wpdt-c .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:1px}.wpdt-c .panel>.panel-body+.table,.wpdt-c .panel>.panel-body+.table-responsive,.wpdt-c .panel>.table+.panel-body,.wpdt-c .panel>.table-responsive+.panel-body{border-top:1px solid #f5f5f5}.wpdt-c .panel>.table>tbody:first-child>tr:first-child td,.wpdt-c .panel>.table>tbody:first-child>tr:first-child th{border-top:0}.wpdt-c .panel>.table-bordered,.wpdt-c .panel>.table-responsive>.table-bordered{border:0}.wpdt-c .panel>.table-bordered>tbody>tr>td:first-child,.wpdt-c .panel>.table-bordered>tbody>tr>th:first-child,.wpdt-c .panel>.table-bordered>tfoot>tr>td:first-child,.wpdt-c .panel>.table-bordered>tfoot>tr>th:first-child,.wpdt-c .panel>.table-bordered>thead>tr>td:first-child,.wpdt-c .panel>.table-bordered>thead>tr>th:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.wpdt-c .panel>.table-bordered>tbody>tr>td:last-child,.wpdt-c .panel>.table-bordered>tbody>tr>th:last-child,.wpdt-c .panel>.table-bordered>tfoot>tr>td:last-child,.wpdt-c .panel>.table-bordered>tfoot>tr>th:last-child,.wpdt-c .panel>.table-bordered>thead>tr>td:last-child,.wpdt-c .panel>.table-bordered>thead>tr>th:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.wpdt-c .panel>.table-bordered>tbody>tr:first-child>td,.wpdt-c .panel>.table-bordered>tbody>tr:first-child>th,.wpdt-c .panel>.table-bordered>thead>tr:first-child>td,.wpdt-c .panel>.table-bordered>thead>tr:first-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.wpdt-c .panel>.table-bordered>tbody>tr:last-child>td,.wpdt-c .panel>.table-bordered>tbody>tr:last-child>th,.wpdt-c .panel>.table-bordered>tfoot>tr:last-child>td,.wpdt-c .panel>.table-bordered>tfoot>tr:last-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.wpdt-c .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.wpdt-c .panel>.table-responsive{border:0;margin-bottom:0}.wpdt-c .panel-group{margin-bottom:18px}.wpdt-c .panel-group .panel{margin-bottom:0;border-radius:2px}.wpdt-c .panel-group .panel+.panel{margin-top:5px}.wpdt-c .panel-group .panel-heading{border-bottom:0}.wpdt-c .panel-group .panel-heading+.panel-collapse>.list-group,.wpdt-c .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.wpdt-c .panel-group .panel-footer{border-top:0}.wpdt-c .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.wpdt-c .panel-default{border-color:#ddd}.wpdt-c .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.wpdt-c .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.wpdt-c .panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.wpdt-c .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.wpdt-c .panel-primary{border-color:#2196f3}.wpdt-c .panel-primary>.panel-heading{color:#fff;background-color:#2196f3;border-color:#2196f3}.wpdt-c .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2196f3}.wpdt-c .panel-primary>.panel-heading .badge{color:#2196f3;background-color:#fff}.wpdt-c .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2196f3}.wpdt-c .panel-success{border-color:#61b555}.wpdt-c .panel-success>.panel-heading{color:#67bd6a;background-color:#67bd6a;border-color:#61b555}.wpdt-c .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#61b555}.wpdt-c .panel-success>.panel-heading .badge{color:#67bd6a;background-color:#67bd6a}.wpdt-c .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#61b555}.wpdt-c .panel-info{border-color:#bce8f1}.wpdt-c .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.wpdt-c .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.wpdt-c .panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.wpdt-c .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.wpdt-c .panel-warning{border-color:#ff760f}.wpdt-c .panel-warning>.panel-heading{color:#ffa829;background-color:#ffa829;border-color:#ff760f}.wpdt-c .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ff760f}.wpdt-c .panel-warning>.panel-heading .badge{color:#ffa829;background-color:#ffa829}.wpdt-c .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ff760f}.wpdt-c .panel-danger{border-color:#f54556}.wpdt-c .panel-danger>.panel-heading{color:#f6675d;background-color:#f6675d;border-color:#f54556}.wpdt-c .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f54556}.wpdt-c .panel-danger>.panel-heading .badge{color:#f6675d;background-color:#f6675d}.wpdt-c .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f54556}.wpdt-c .embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.wpdt-c .embed-responsive .embed-responsive-item,.wpdt-c .embed-responsive embed,.wpdt-c .embed-responsive iframe,.wpdt-c .embed-responsive object,.wpdt-c .embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.wpdt-c .embed-responsive-16by9{padding-bottom:56.25%}.wpdt-c .embed-responsive-4by3{padding-bottom:75%}.wpdt-c .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.wpdt-c .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.wpdt-c .well-lg{padding:24px;border-radius:2px}.wpdt-c .well-sm{padding:9px;border-radius:2px}.wpdt-c .close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.wpdt-c .close:focus,.wpdt-c .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}.wpdt-c button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.wpdt-c .modal-open{overflow:hidden}.wpdt-c .modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;-webkit-overflow-scrolling:touch;outline:0;overflow-y:auto}.wpdt-c .modal.fade{text-align:center}.wpdt-c .modal.fade:before{content:'';height:100%;width:1px;display:inline-block;vertical-align:middle}@media (max-width:767px){.wpdt-c .modal.fade:before{height:inherit}}.wpdt-c .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.wpdt-c .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.wpdt-c .modal-open .modal{overflow-x:hidden;overflow-y:auto}.wpdt-c .modal-dialog{position:relative;width:auto;margin:10px;text-align:left;display:inline-block;vertical-align:middle}.wpdt-c .modal-content{position:relative;background-color:#fff;border:1px solid transparent;border-radius:2px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop,.wpdt-c .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background-color:#000}.modal-backdrop.fade,.wpdt-c .modal-backdrop.fade{opacity:0}.modal-backdrop.in,.wpdt-c .modal-backdrop.in{opacity:.4}.wpdt-c .modal-header{padding:15px;border-bottom:1px solid transparent}.wpdt-c .modal-header .close{margin-top:-2px}.wpdt-c .modal-title{margin:0;line-height:1.42857143}.wpdt-c .modal-body{position:relative;padding:15px}.wpdt-c .modal-footer{padding:15px;text-align:right;border-top:1px solid transparent;clear:both}.wpdt-c .modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.wpdt-c .modal-footer .btn-group .btn+.btn{margin-left:-1px}.wpdt-c .modal-footer .btn-block+.btn-block{margin-left:0}.wpdt-c .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.wpdt-c .modal-dialog{width:600px;margin:30px auto}.wpdt-c .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.wpdt-c .modal-sm{width:300px}}@media (min-width:992px){.wpdt-c .modal-lg{width:900px}}.wpdt-c .tooltip{position:absolute;z-index:1070;display:block;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0}.wpdt-c .tooltip.in{opacity:1}.wpdt-c .tooltip.top{margin-top:-3px;padding:5px 0}.wpdt-c .tooltip.right{margin-left:3px;padding:0 5px}.wpdt-c .tooltip.bottom{margin-top:3px;padding:5px 0}.wpdt-c .tooltip.left{margin-left:-3px;padding:0 5px}.wpdt-c .tooltip-inner{max-width:200px;padding:3px 8px;font-family:Inter;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#fff;text-align:left;background-color:#061938;border-radius:3px}.wpdt-c .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.wpdt-c .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#061938}.wpdt-c .tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#061938}.wpdt-c .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#061938}.wpdt-c .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#061938}.wpdt-c .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#061938}.wpdt-c .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#061938}.wpdt-c .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#061938}.wpdt-c .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#061938}.wpdt-c .popover{position:absolute;top:0;left:0;z-index:1200;display:none;max-width:276px;padding:1px;letter-spacing:normal;line-break:auto;text-align:left;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;background-clip:padding-box;border:1px solid #fff;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);font-family:Inter;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#fff;background-color:#061938;border-radius:3px}.wpdt-c .popover.wdt-premium-popover{background-color:#fff!important;padding:12px}.wpdt-c .popover.wdt-premium-popover .arrow{border-top-color:#fff!important}.wpdt-c .popover.wdt-premium-popover .popover-header{font-family:Inter;font-style:normal;font-weight:500;font-size:13px;line-height:20px;color:#061938;margin-top:0;margin-bottom:7px}.wpdt-c .popover.wdt-premium-popover .popover-header button{font-size:15px;line-height:20px;color:#8796af;background:0 0;margin:0;opacity:.5;font-weight:400;padding:0!important;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;text-shadow:none;float:right}.wpdt-c .popover.wdt-premium-popover .popover-header .wpdt-icon-times-full{font-style:normal;font-weight:400;font-size:14px;line-height:20px;color:#061938}.wpdt-c .popover.wdt-premium-popover .popover-body span{font-family:Inter;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#5a6c89}.wpdt-c .popover.wdt-premium-popover .popover-body a{font-family:Inter;font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#008cff}.wpdt-c .popover.wdt-premium-popover .popover-body .popover-footer{display:block;margin-top:4px}.wpdt-c .popover.top{margin-top:-10px}.wpdt-c .popover.right{margin-left:10px}.wpdt-c .popover.bottom{margin-top:10px}.wpdt-c .popover.left{margin-left:-10px}.wpdt-c .popover-title{margin:0;padding:8px 14px;font-size:13px;color:#fff;background-color:#061938}.wpdt-c .popover-content{padding:9px 14px}.wpdt-c .popover>.arrow,.wpdt-c .popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.wpdt-c .popover>.arrow{border-width:11px}.wpdt-c .popover>.arrow:after{border-width:10px;content:""}.wpdt-c .popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#061938;bottom:-11px}.wpdt-c .popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#061938}.wpdt-c .popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;margin-left:0;border-left-width:0;border-right-color:#061938}.wpdt-c .popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#061938}.wpdt-c .popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#fff;top:-11px}.wpdt-c .popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.wpdt-c .popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#061938}.wpdt-c .popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#061938;bottom:-10px}.wpdt-c .carousel{position:relative}.wpdt-c .carousel-inner{position:relative;overflow:hidden;width:100%}.wpdt-c .carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.wpdt-c .carousel-inner>.item>a>img,.wpdt-c .carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.wpdt-c .carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.wpdt-c .carousel-inner>.item.active.right,.wpdt-c .carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.wpdt-c .carousel-inner>.item.active.left,.wpdt-c .carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.wpdt-c .carousel-inner>.item.active,.wpdt-c .carousel-inner>.item.next.left,.wpdt-c .carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.wpdt-c .carousel-inner>.active,.wpdt-c .carousel-inner>.next,.wpdt-c .carousel-inner>.prev{display:block}.wpdt-c .carousel-inner>.active{left:0}.wpdt-c .carousel-inner>.next,.wpdt-c .carousel-inner>.prev{position:absolute;top:0;width:100%}.wpdt-c .carousel-inner>.next{left:100%}.wpdt-c .carousel-inner>.prev{left:-100%}.wpdt-c .carousel-inner>.next.left,.wpdt-c .carousel-inner>.prev.right{left:0}.wpdt-c .carousel-inner>.active.left{left:-100%}.wpdt-c .carousel-inner>.active.right{left:100%}.wpdt-c .carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;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)}.wpdt-c .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:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x}.wpdt-c .carousel-control.right{left:auto;right:0;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:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x}.wpdt-c .carousel-control:focus,.wpdt-c .carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9}.wpdt-c .carousel-control .glyphicon-chevron-left,.wpdt-c .carousel-control .glyphicon-chevron-right,.wpdt-c .carousel-control .icon-next,.wpdt-c .carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.wpdt-c .carousel-control .glyphicon-chevron-left,.wpdt-c .carousel-control .icon-prev{left:50%;margin-left:-10px}.wpdt-c .carousel-control .glyphicon-chevron-right,.wpdt-c .carousel-control .icon-next{right:50%;margin-right:-10px}.wpdt-c .carousel-control .icon-next,.wpdt-c .carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.wpdt-c .carousel-control .icon-prev:before{content:'\2039'}.wpdt-c .carousel-control .icon-next:before{content:'\203a'}.wpdt-c .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.wpdt-c .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:rgba(0,0,0,0)}.wpdt-c .carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.wpdt-c .carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.wpdt-c .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.wpdt-c .carousel-control .glyphicon-chevron-left,.wpdt-c .carousel-control .glyphicon-chevron-right,.wpdt-c .carousel-control .icon-next,.wpdt-c .carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.wpdt-c .carousel-control .glyphicon-chevron-left,.wpdt-c .carousel-control .icon-prev{margin-left:-10px}.wpdt-c .carousel-control .glyphicon-chevron-right,.wpdt-c .carousel-control .icon-next{margin-right:-10px}.wpdt-c .carousel-caption{left:20%;right:20%;padding-bottom:30px}.wpdt-c .carousel-indicators{bottom:20px}}.wpdt-c .btn-group-vertical>.btn-group:after,.wpdt-c .btn-group-vertical>.btn-group:before,.wpdt-c .btn-toolbar:after,.wpdt-c .btn-toolbar:before,.wpdt-c .clearfix:after,.wpdt-c .clearfix:before,.wpdt-c .container-fluid:after,.wpdt-c .container-fluid:before,.wpdt-c .container:after,.wpdt-c .container:before,.wpdt-c .dl-horizontal dd:after,.wpdt-c .dl-horizontal dd:before,.wpdt-c .form-horizontal .form-group:after,.wpdt-c .form-horizontal .form-group:before,.wpdt-c .modal-footer:after,.wpdt-c .modal-footer:before,.wpdt-c .modal-header:after,.wpdt-c .modal-header:before,.wpdt-c .nav:after,.wpdt-c .nav:before,.wpdt-c .navbar-collapse:after,.wpdt-c .navbar-collapse:before,.wpdt-c .navbar-header:after,.wpdt-c .navbar-header:before,.wpdt-c .navbar:after,.wpdt-c .navbar:before,.wpdt-c .pager:after,.wpdt-c .pager:before,.wpdt-c .panel-body:after,.wpdt-c .panel-body:before,.wpdt-c .row:after,.wpdt-c .row:before{content:" ";display:table}.wpdt-c .btn-group-vertical>.btn-group:after,.wpdt-c .btn-toolbar:after,.wpdt-c .clearfix:after,.wpdt-c .container-fluid:after,.wpdt-c .container:after,.wpdt-c .dl-horizontal dd:after,.wpdt-c .form-horizontal .form-group:after,.wpdt-c .modal-footer:after,.wpdt-c .modal-header:after,.wpdt-c .nav:after,.wpdt-c .navbar-collapse:after,.wpdt-c .navbar-header:after,.wpdt-c .navbar:after,.wpdt-c .pager:after,.wpdt-c .panel-body:after,.wpdt-c .row:after{clear:both}.wpdt-c .center-block{display:block;margin-left:auto;margin-right:auto}.wpdt-c .pull-right{float:right!important}.wpdt-c .pull-left{float:left!important}.wpdt-c .hide{display:none!important}.wpdt-c .show{display:block!important}.wpdt-c .invisible{visibility:hidden}.wpdt-c .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.wpdt-c .hidden{display:none!important}.wpdt-c .affix{position:fixed}@-ms-viewport{width:device-width}.wpdt-c .visible-lg,.wpdt-c .visible-md,.wpdt-c .visible-sm,.wpdt-c .visible-xs{display:none!important}.wpdt-c .visible-lg-block,.wpdt-c .visible-lg-inline,.wpdt-c .visible-lg-inline-block,.wpdt-c .visible-md-block,.wpdt-c .visible-md-inline,.wpdt-c .visible-md-inline-block,.wpdt-c .visible-sm-block,.wpdt-c .visible-sm-inline,.wpdt-c .visible-sm-inline-block,.wpdt-c .visible-xs-block,.wpdt-c .visible-xs-inline,.wpdt-c .visible-xs-inline-block{display:none!important}@media (max-width:767px){.wpdt-c .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){.wpdt-c .visible-xs-block{display:block!important}}@media (max-width:767px){.wpdt-c .visible-xs-inline{display:inline!important}}@media (max-width:767px){.wpdt-c .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.wpdt-c .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){.wpdt-c .visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.wpdt-c .visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.wpdt-c .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.wpdt-c .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){.wpdt-c .visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.wpdt-c .visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.wpdt-c .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.wpdt-c .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){.wpdt-c .visible-lg-block{display:block!important}}@media (min-width:1200px){.wpdt-c .visible-lg-inline{display:inline!important}}@media (min-width:1200px){.wpdt-c .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}}.wpdt-c .visible-print{display:none!important}@media print{.wpdt-c .visible-print{display:block!important}.wpdt-c table.visible-print{display:table!important}.wpdt-c tr.visible-print{display:table-row!important}.wpdt-c td.visible-print,.wpdt-c th.visible-print{display:table-cell!important}}.wpdt-c .visible-print-block{display:none!important}@media print{.wpdt-c .visible-print-block{display:block!important}}.wpdt-c .visible-print-inline{display:none!important}@media print{.wpdt-c .visible-print-inline{display:inline!important}}.wpdt-c .visible-print-inline-block{display:none!important}@media print{.wpdt-c .visible-print-inline-block{display:inline-block!important}}@media print{.wpdt-c .hidden-print{display:none!important}}.wpdt-c #weather-widget [class*=icon-]{font-family:weather-icons;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wpdt-c .icon-0:before{content:":"}.wpdt-c .icon-1:before{content:"p"}.wpdt-c .icon-2:before{content:"S"}.wpdt-c .icon-3:before{content:"Q"}.wpdt-c .icon-4:before{content:"S"}.wpdt-c .icon-5:before{content:"W"}.wpdt-c .icon-6:before{content:"W"}.wpdt-c .icon-7:before{content:"W"}.wpdt-c .icon-8:before{content:"W"}.wpdt-c .icon-9:before{content:"I"}.wpdt-c .icon-10:before{content:"W"}.wpdt-c .icon-11:before{content:"I"}.wpdt-c .icon-12:before{content:"I"}.wpdt-c .icon-13:before{content:"I"}.wpdt-c .icon-14:before{content:"I"}.wpdt-c .icon-15:before{content:"W"}.wpdt-c .icon-16:before{content:"I"}.wpdt-c .icon-17:before{content:"W"}.wpdt-c .icon-18:before{content:"U"}.wpdt-c .icon-19:before{content:"Z"}.wpdt-c .icon-20:before{content:"Z"}.wpdt-c .icon-21:before{content:"Z"}.wpdt-c .icon-22:before{content:"Z"}.wpdt-c .icon-23:before{content:"Z"}.wpdt-c .icon-24:before{content:"E"}.wpdt-c .icon-25:before{content:"E"}.wpdt-c .icon-26:before{content:"3"}.wpdt-c .icon-27:before{content:"a"}.wpdt-c .icon-28:before{content:"A"}.wpdt-c .icon-29:before{content:"a"}.wpdt-c .icon-30:before{content:"A"}.wpdt-c .icon-31:before{content:"6"}.wpdt-c .icon-32:before{content:"1"}.wpdt-c .icon-33:before{content:"6"}.wpdt-c .icon-34:before{content:"1"}.wpdt-c .icon-35:before{content:"W"}.wpdt-c .icon-36:before{content:"1"}.wpdt-c .icon-37:before{content:"S"}.wpdt-c .icon-38:before{content:"S"}.wpdt-c .icon-39:before{content:"S"}.wpdt-c .icon-40:before{content:"M"}.wpdt-c .icon-41:before{content:"W"}.wpdt-c .icon-42:before{content:"I"}.wpdt-c .icon-43:before{content:"W"}.wpdt-c .icon-44:before{content:"a"}.wpdt-c .icon-45:before{content:"S"}.wpdt-c .icon-46:before{content:"U"}.wpdt-c .icon-47:before{content:"S"}.wpdt-c .btn-file{overflow:hidden;position:relative;vertical-align:middle}.wpdt-c .btn-file>input{position:absolute;top:0;right:0;margin:0;opacity:0;font-size:23px;height:100%;width:100%;direction:ltr;cursor:pointer}.wpdt-c .fileinput{margin-bottom:9px;display:inline-block}.wpdt-c .fileinput .form-control{padding-top:7px;padding-bottom:5px;display:inline-block;margin-bottom:0;vertical-align:middle;cursor:text}.wpdt-c .fileinput .thumbnail{overflow:hidden;display:inline-block;margin-bottom:5px;vertical-align:middle;text-align:center}.wpdt-c .fileinput .thumbnail>img{max-height:100%}.wpdt-c .fileinput .btn{vertical-align:middle}.wpdt-c .fileinput-exists .fileinput-new,.wpdt-c .fileinput-new .fileinput-exists{display:none}.wpdt-c .fileinput-inline .fileinput-controls{display:inline}.wpdt-c .fileinput-filename{vertical-align:middle;display:inline-block;overflow:hidden}.wpdt-c .form-control .fileinput-filename{vertical-align:bottom}.wpdt-c .fileinput.input-group{display:table}.wpdt-c .fileinput.input-group>*{position:relative;z-index:2}.wpdt-c .fileinput.input-group>.btn-file{z-index:1}.wpdt-c .fileinput-new .input-group .btn-file,.wpdt-c .fileinput-new.input-group .btn-file{border-radius:0 2px 2px 0}.wpdt-c .fileinput-new .input-group .btn-file.btn-sm,.wpdt-c .fileinput-new .input-group .btn-file.btn-xs,.wpdt-c .fileinput-new.input-group .btn-file.btn-sm,.wpdt-c .fileinput-new.input-group .btn-file.btn-xs{border-radius:0 2px 2px 0}.wpdt-c .fileinput-new .input-group .btn-file.btn-lg,.wpdt-c .fileinput-new.input-group .btn-file.btn-lg{border-radius:0 2px 2px 0}.wpdt-c .form-group.has-warning .fileinput .fileinput-preview{color:#ffa829}.wpdt-c .form-group.has-warning .fileinput .thumbnail{border-color:#ff760f}.wpdt-c .form-group.has-error .fileinput .fileinput-preview{color:#f6675d}.wpdt-c .form-group.has-error .fileinput .thumbnail{border-color:#f54556}.wpdt-c .form-group.has-success .fileinput .fileinput-preview{color:#67bd6a}.wpdt-c .form-group.has-success .fileinput .thumbnail{border-color:#61b555}.wpdt-c .input-group-addon:not(:first-child){border-left:0}.wpdt-c .m-0{margin:0!important}.wpdt-c .m-t-0{margin-top:0!important}.wpdt-c .m-b-0{margin-bottom:0!important}.wpdt-c .m-l-0{margin-left:0!important}.wpdt-c .m-r-0{margin-right:0!important}.wpdt-c .m-5{margin:5px!important}.wpdt-c .m-t-5{margin-top:5px!important}.wpdt-c .m-b-4{margin-bottom:4px!important}.wpdt-c .m-b-2{margin-bottom:2px!important}.wpdt-c .m-b-5{margin-bottom:5px!important}.wpdt-c .m-l-5{margin-left:5px!important}.wpdt-c .m-r-5{margin-right:5px!important}.wpdt-c .m-10{margin:10px!important}.wpdt-c .m-t-10{margin-top:10px!important}.wpdt-c .m-b-10{margin-bottom:10px!important}.wpdt-c .m-l-10{margin-left:10px!important}.wpdt-c .m-r-10{margin-right:10px!important}.wpdt-c .m-15{margin:15px!important}.wpdt-c .m-t-15{margin-top:15px!important}.wpdt-c .m-b-15{margin-bottom:15px!important}.wpdt-c .m-b-16{margin-bottom:16px!important}.wpdt-c .m-l-15{margin-left:15px!important}.wpdt-c .m-r-15{margin-right:15px!important}.wpdt-c .m-t-18{margin-top:18px!important}.wpdt-c .m-b-18{margin-bottom:18px!important}.wpdt-c .m-l-18{margin-left:18px!important}.wpdt-c .m-r-18{margin-right:18px!important}.wpdt-c .m-18{margin:18px!important}.wpdt-c .m-20{margin:20px!important}.wpdt-c .m-t-20{margin-top:20px!important}.wpdt-c .m-b-20{margin-bottom:20px!important}.wpdt-c .m-l-20{margin-left:20px!important}.wpdt-c .m-r-20{margin-right:20px!important}.wpdt-c .m-t-24{margin-top:24px!important}.wpdt-c .m-25{margin:25px!important}.wpdt-c .m-t-25{margin-top:25px!important}.wpdt-c .m-b-25{margin-bottom:25px!important}.wpdt-c .m-l-25{margin-left:25px!important}.wpdt-c .m-r-25{margin-right:25px!important}.wpdt-c .m-30{margin:30px!important}.wpdt-c .m-t-30{margin-top:30px!important}.wpdt-c .m-b-30{margin-bottom:30px!important}.wpdt-c .m-l-30{margin-left:30px!important}.wpdt-c .m-r-30{margin-right:30px!important}.wpdt-c .p-0{padding:0!important}.wpdt-c .p-t-0{padding-top:0!important}.wpdt-c .p-b-0{padding-bottom:0!important}.wpdt-c .p-l-0{padding-left:0!important}.wpdt-c .p-r-0{padding-right:0!important}.wpdt-c .p-5{padding:5px!important}.wpdt-c .p-t-4{padding-top:4px!important}.wpdt-c .p-b-4{padding-bottom:4px!important}.wpdt-c .p-t-5{padding-top:5px!important}.wpdt-c .p-b-5{padding-bottom:5px!important}.wpdt-c .p-l-5{padding-left:5px!important}.wpdt-c .p-r-5{padding-right:5px!important}.wpdt-c .p-10{padding:10px!important}.wpdt-c .p-t-10{padding-top:10px!important}.wpdt-c .p-b-10{padding-bottom:10px!important}.wpdt-c .p-l-10{padding-left:10px!important}.wpdt-c .p-r-12{padding-right:12px!important}.wpdt-c .p-t-12{padding-top:12px!important}.wpdt-c .p-b-12{padding-bottom:12px!important}.wpdt-c .p-l-12{padding-left:12px!important}.wpdt-c .p-r-10{padding-right:10px!important}.wpdt-c .p-15{padding:15px!important}.wpdt-c .p-t-15{padding-top:15px!important}.wpdt-c .p-b-15{padding-bottom:15px!important}.wpdt-c .p-l-15{padding-left:15px!important}.wpdt-c .p-r-15{padding-right:15px!important}.wpdt-c .p-20{padding:20px!important}.wpdt-c .p-t-20{padding-top:20px!important}.wpdt-c .p-b-20{padding-bottom:20px!important}.wpdt-c .p-l-20{padding-left:20px!important}.wpdt-c .p-r-20{padding-right:20px!important}.wpdt-c .p-25{padding:25px!important}.wpdt-c .p-t-25{padding-top:25px!important}.wpdt-c .p-b-25{padding-bottom:25px!important}.wpdt-c .p-l-25{padding-left:25px!important}.wpdt-c .p-r-25{padding-right:25px!important}.wpdt-c .p-30{padding:30px!important}.wpdt-c .p-t-30{padding-top:30px!important}.wpdt-c .p-b-30{padding-bottom:30px!important}.wpdt-c .p-l-30{padding-left:30px!important}.wpdt-c .p-r-30{padding-right:30px!important}.wpdt-c .f-8{font-size:8px!important}.wpdt-c .f-9{font-size:9px!important}.wpdt-c .f-10{font-size:10px!important}.wpdt-c .f-11{font-size:11px!important}.wpdt-c .f-12{font-size:12px!important}.wpdt-c .f-13{font-size:13px!important}.wpdt-c .f-14{font-size:14px!important}.wpdt-c .f-15{font-size:15px!important}.wpdt-c .f-16{font-size:16px!important}.wpdt-c .f-17{font-size:17px!important}.wpdt-c .f-18{font-size:18px!important}.wpdt-c .f-19{font-size:19px!important}.wpdt-c .f-20{font-size:20px!important}.wpdt-c .f-300{font-weight:300!important}.wpdt-c .f-400{font-weight:400!important}.wpdt-c .f-500{font-weight:500!important}.wpdt-c .f-600{font-weight:600!important}.wpdt-c .f-700{font-weight:700!important}.wpdt-c .p-relative{position:relative!important}.wpdt-c .p-absolute{position:absolute!important}.wpdt-c .p-fixed{position:fixed!important}.wpdt-c .p-static{position:static!important}.wpdt-c .o-hidden{overflow:hidden!important}.wpdt-c .o-visible{overflow:visible!important}.wpdt-c .o-auto{overflow:auto!important}.wpdt-c .d-block{display:block!important}.wpdt-c .d-none{display:none!important}.wpdt-c .di-block{display:inline-block!important}.wpdt-c .bgm-white{background-color:#fff!important}.wpdt-c .c-white{color:#fff!important}.wpdt-c .bgm-black{background-color:#000!important}.wpdt-c .c-black{color:#222!important}.wpdt-c .c-title-color{color:#061938!important;font-style:normal;font-weight:400}.wpdt-c .bgm-brown{background-color:#795548!important}.wpdt-c .c-brown{color:#795548!important}.wpdt-c .bgm-pink{background-color:#e91e63!important}.wpdt-c .c-pink{color:#e91e63!important}.wpdt-c .bgm-red{background-color:#f44336!important}.wpdt-c .c-red{color:#f44336!important}.wpdt-c .bgm-blue{background-color:#2196f3!important}.wpdt-c .c-blue{color:#2196f3!important}.wpdt-c .bgm-purple{background-color:#ba68c8!important}.wpdt-c .c-purple{color:#ba68c8!important}.wpdt-c .bgm-deeppurple{background-color:#673ab7!important}.wpdt-c .c-deeppurple{color:#673ab7!important}.wpdt-c .bgm-lightblue{background-color:#03a9f4!important}.wpdt-c .c-lightblue{color:#03a9f4!important}.wpdt-c .bgm-cyan{background-color:#709ed0!important}.wpdt-c .c-cyan{color:#00bcd4!important}.wpdt-c .bgm-teal{background-color:#009688!important}.wpdt-c .c-teal{color:#009688!important}.wpdt-c .bgm-green{background-color:#4caf50!important}.wpdt-c .c-green{color:#4caf50!important}.wpdt-c .bgm-lightgreen{background-color:#7fc032!important}.wpdt-c .c-lightgreen{color:#7fc032!important}.wpdt-c .bgm-lime{background-color:#cddc39!important}.wpdt-c .c-lime{color:#cddc39!important}.wpdt-c .bgm-yellow{background-color:#ffeb3b!important}.wpdt-c .c-yellow{color:#ffeb3b!important}.wpdt-c .bgm-amber{background-color:#ffc107!important}.wpdt-c .c-amber{color:#ffc107!important}.wpdt-c .bgm-orange{background-color:#ff9800!important}.wpdt-c .c-orange{color:#ff9800!important}.wpdt-c .bgm-deeporange{background-color:#ff5722!important}.wpdt-c .c-deeporange{color:#ff5722!important}.wpdt-c .bgm-gray{background-color:#9e9e9e}.wpdt-c .c-gray{color:#9e9e9e!important}.wpdt-c .bgm-bluegray{background-color:#607d8b!important}.wpdt-c .c-bluegray{color:#607d8b!important}.wpdt-c .bgm-indigo{background-color:#3f51b5!important}.wpdt-c .c-indigo{color:#3f51b5!important}.wpdt-c .bg-black-trp{background-color:rgba(0,0,0,.1)!important}.wpdt-c .b-0{border:0!important}.wpdt-c .w-100{width:100%!important}.wpdt-c .brd-2{border-radius:2px}.wpdt-c .media{overflow:visible}.wpdt-c .media:after,.wpdt-c .media:before{content:" ";display:table}.wpdt-c .media:after{clear:both}.wpdt-c .media:after,.wpdt-c .media:before{content:" ";display:table}.wpdt-c .media:after{clear:both}.wpdt-c .media>.pull-left{padding-right:15px}.wpdt-c .media>.pull-right{padding-left:15px}.wpdt-c .media-heading{font-size:14px;margin-bottom:10px}.wpdt-c .media-body{zoom:1;display:block;width:auto}.wpdt-c .media-object{border-radius:2px}.wpdt-c .close{opacity:.5;font-weight:400;text-shadow:none}.wpdt-c .close:hover{color:inherit;opacity:1}.wpdt-c .dl-horizontal dt{text-align:left}.wpdt-c .wdt-datatables-admin-wrap{-webkit-font-smoothing:antialiased}.wpdt-c *,.wpdt-c :active,.wpdt-c :focus,.wpdt-c :hover{outline:0!important;-webkit-tap-highlight-color:transparent!important}.wpdt-c html:not(.ie9) body{overflow-y:scroll}.wpdt-c html.ismobile *{cursor:pointer}.wpdt-c body,.wpdt-c html{min-height:100vh}.wpdt-c body{font-weight:400;position:relative;overflow-x:hidden}.wpdt-c audio,.wpdt-c video{outline:0}.wpdt-c p{margin-bottom:20px}.wpdt-c .h1 small,.wpdt-c .h2 small,.wpdt-c .h3 small,.wpdt-c .h4 small,.wpdt-c .h5 small,.wpdt-c .h6 small,.wpdt-c h1 small,.wpdt-c h2 small,.wpdt-c h3 small,.wpdt-c h4 small,.wpdt-c h5 small,.wpdt-c h6 small{font-size:12px}.wpdt-c #main{position:relative;padding-bottom:110px;padding-top:100px;min-height:100vh}.wpdt-c .sidebar-toggled #main{height:100vh;overflow:hidden}.wpdt-c .container.container-alt{max-width:1170px}@media (min-width:1280px){.wpdt-c #content:not(.content-alt){padding-left:283px;padding-right:15px}}@media (min-width:768px) and (max-width:1279px){.wpdt-c #content{padding-left:15px;padding-right:15px}}.wpdt-c #content.content-alt{max-width:1200px;margin:0 auto}.wpdt-c .h-inner{list-style:none;padding:17px 0;margin-bottom:0;position:relative}.wpdt-c .h-inner>li:not(.pull-right){float:left}.wpdt-c .hi-logo a{color:#fff;text-transform:uppercase;display:block;font-size:16px}.wpdt-c .hi-trigger{position:relative;margin-left:-5px;cursor:pointer;display:none!important}.wpdt-c .hi-trigger:before{content:"";position:absolute;top:50%;left:50%;width:45px;height:45px;border-radius:50%;background:rgba(255,255,255,.22);-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);z-index:0;margin-top:-22px;margin-left:-22px}.wpdt-c .hi-trigger.toggled:before{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .hi-menu{list-style:none;padding:0}.wpdt-c .hi-menu>li{display:inline-block;margin:0 1px;vertical-align:top;min-width:50px}@media (max-width:767px){.wpdt-c .hi-menu>li{position:static!important}}.wpdt-c .hi-menu>li .dropdown-menu{top:-5px}.wpdt-c .hi-menu>li .dropdown-menu-lg{padding:0}.wpdt-c .hi-menu>li .dropdown-menu-lg .lg-body{min-height:350px;overflow-x:hidden}.wpdt-c .hi-menu>li>a{color:#fff;display:block;text-align:center;z-index:1;position:relative;-webkit-transition:background-color;-o-transition:background-color;transition:background-color;-webkit-transition-duration:250ms;transition-duration:250ms;border-radius:2px}.wpdt-c .hi-menu>li>a>.him-icon{font-size:24px;line-height:36px}.wpdt-c .hi-menu>li>a>.him-label{line-height:35px;white-space:nowrap;padding:0 10px;font-size:14px;text-transform:uppercase}.wpdt-c .hi-menu>li>a>.him-counts{position:absolute;font-style:normal;background:#f44336;padding:1px 5px;border-radius:2px;right:7px;top:-3px;font-size:10px;line-height:15px}.wpdt-c .hi-menu>li.toggled>a,.wpdt-c .hi-menu>li:hover>a{background-color:rgba(0,0,0,.08)}@media (max-width:767px){.wpdt-c .hi-menu .dropdown-menu-lg{width:calc(100% - 28px)!important}.wpdt-c .hi-menu .dropdown-menu{right:14px;top:55px!important}}.wpdt-c .him-notification:before{content:"";position:absolute;width:100%;height:calc(100% - 70px);-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:scale(0) rotate(-180deg);-ms-transform:scale(0) rotate(-180deg);-o-transform:scale(0) rotate(-180deg);transform:scale(0) rotate(-180deg);opacity:0;top:42px}.wpdt-c .him-notification.empty:before{-webkit-transform:scale(1) rotate(0);-ms-transform:scale(1) rotate(0);-o-transform:scale(1) rotate(0);transform:scale(1) rotate(0);opacity:1}:-webkit-full-screen [data-ma-action=fullscreen]{display:none}:-moz-full-screen [data-ma-action=fullscreen]{display:none}:-ms-fullscreen [data-ma-action=fullscreen]{display:none}:full-screen [data-ma-action=fullscreen]{display:none}:fullscreen [data-ma-action=fullscreen]{display:none}.wpdt-c #header{box-shadow:0 1px 4px rgba(0,0,0,.3);min-height:70px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:fixed;z-index:11;width:100%;left:0;top:0;padding:0 20px}@media (max-width:767px){.wpdt-c #header{padding:0 8px}}.wpdt-c #header .hi-logo a{padding:7px 10px}.wpdt-c #header .ma-backdrop{position:absolute}@media (max-width:1279px){.wpdt-c #header .hi-trigger{display:inline-block!important}}.wpdt-c #header.search-toggled .h-search-wrap{top:0;opacity:1}.wpdt-c .h-search-wrap{position:absolute;top:-65px;left:0;width:100%;height:70px;background:#fff;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s;opacity:0;z-index:10}.wpdt-c .h-search-wrap input[type=text]{border:0;height:40px;padding:0 10px 0 55px;font-size:18px;border-radius:2px;background-color:#efefef;width:100%}.wpdt-c .h-search-wrap .hsw-close{position:absolute;top:15px;font-size:23px;font-style:normal;width:45px;text-align:center;border-radius:2px 0 0 2px;cursor:pointer;left:15px;height:40px;padding-top:9px}.wpdt-c .h-search-wrap .hsw-close:hover{background-color:#e3e3e3}@media (max-width:767px){.wpdt-c .h-search-wrap .hsw-close{right:7px}}.wpdt-c .hsw-inner{position:relative;padding:15px;max-width:700px;display:block;margin:0 auto}.wpdt-c #header-alt{box-shadow:0 1px 4px rgba(0,0,0,.3);position:relative;margin-bottom:-50px;z-index:10;padding:15px 10px 0 35px}@media (min-width:992px){.wpdt-c #header-alt:before{content:"";position:absolute;bottom:0;left:0;background:rgba(0,0,0,.04);width:100%;height:49px;z-index:-1}}@media (max-width:767px){.wpdt-c #header-alt{padding:5px 5px 0 25px}}.wpdt-c #header-alt .hi-trigger{top:-7px;left:-15px}@media (max-width:991px){.wpdt-c #header-alt .hi-trigger{display:inline-block!important}}.wpdt-c #header-alt .ma-backdrop{position:absolute}.wpdt-c #header-alt .ha-search{margin-bottom:25px;padding-right:25px}.wpdt-c #header-alt .ha-search input[type=text]{width:100%;background:0 0;border:0;border-bottom:1px solid rgba(255,255,255,.24);color:#fff;font-size:15px;font-weight:300;padding:6px 0 6px 30px}.wpdt-c #header-alt .ha-search input[type=text]::-moz-placeholder{color:#fff;opacity:1}.wpdt-c #header-alt .ha-search input[type=text]:-ms-input-placeholder{color:#fff}.wpdt-c #header-alt .ha-search input[type=text]::-webkit-input-placeholder{color:#fff}.wpdt-c #header-alt .ha-search input[type=text].ie9-placeholder{color:#fff!important}.wpdt-c #header-alt .ha-search .fg-line{max-width:500px;position:relative}.wpdt-c #header-alt .ha-search .fg-line:after{background:#ffeb3b}@media (min-width:992px){.wpdt-c .ha-menu>ul{list-style:none;padding:0;margin:0}.wpdt-c .ha-menu>ul>li{display:inline-block;vertical-align:top}.wpdt-c .ha-menu>ul>li:not(.active)>:not(ul){color:rgba(255,255,255,.6)}.ha-menu>ul>li.active>a{color:#fff;box-shadow:inset 0 -3px 0 0 #ffeb3b}.ha-menu>ul>li>a{text-transform:uppercase;padding:15px 12px;display:block}.ha-menu>ul>li>a:hover{color:#fff}.ha-menu>ul>li .dropdown-menu{min-width:100%}}@media (max-width:991px){.wpdt-c .ha-menu{display:none}}.wpdt-c .sidebar{position:fixed;background:#fff;height:calc(100% - 70px);top:70px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s;z-index:10;overflow-y:auto;box-shadow:0 1px 1px rgba(0,0,0,.15)}.wpdt-c #sidebar{width:268px}@media (max-width:1279px){.wpdt-c #sidebar{-webkit-transform:translate3d(-288px,0,0);transform:translate3d(-288px,0,0);box-shadow:0 0 20px rgba(14,18,21,.38)}.wpdt-c #sidebar.toggled{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.wpdt-c .sidebar-alt{top:0;height:100%;-webkit-transform:translate3d(-268px,0,0);transform:translate3d(-268px,0,0)}.wpdt-c .sidebar-alt.toggled{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpdt-c .s-profile>a{display:block;height:129px;margin-bottom:5px;width:100%;background-size:100%}.wpdt-c .s-profile>a .sp-pic{padding:12px}.wpdt-c .s-profile>a .sp-pic>img{width:47px;height:47px;border-radius:50%;border:3px solid rgba(0,0,0,.14);box-sizing:content-box}.wpdt-c .s-profile>a .sp-info{background:rgba(0,0,0,.37);padding:7px 14px;color:#fff;margin-top:20px;position:relative}.wpdt-c .s-profile>a .sp-info>i{font-size:19px;line-height:100%;position:absolute;right:15px;top:7px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s}.wpdt-c .s-profile .main-menu{display:none;margin:0 0 0}.wpdt-c .s-profile.toggled .sp-info>i{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.wpdt-c .main-menu{list-style:none;padding-left:0;margin:20px 0 0 0}.wpdt-c .main-menu a{-webkit-transition:color;-o-transition:color;transition:color;-webkit-transition-duration:.3s;transition-duration:.3s}.wpdt-c .main-menu .active>a,.wpdt-c .main-menu a.active,.wpdt-c .main-menu a:hover{color:#262626}.wpdt-c .main-menu>li>a{padding:14px 20px 14px 65px;display:block;font-weight:500;position:relative;color:#4c4c4c}.wpdt-c .main-menu>li>a>i{position:absolute;left:25px;font-size:20px;top:0;width:25px;text-align:center;padding:13px 0}.wpdt-c .main-menu>li.active>a,.wpdt-c .main-menu>li>a:hover{background-color:#f4f4f4}.wpdt-c .sub-menu>a{position:relative}.wpdt-c .sub-menu ul{list-style:none;display:none;padding:0}.wpdt-c .sub-menu ul>li>a{padding:8px 20px 8px 65px;font-weight:500;display:block;color:#989898}.wpdt-c .sub-menu ul>li:first-child>a{padding-top:14px}.wpdt-c .sub-menu ul>li:last-child>a{padding-bottom:16px}.wpdt-c .sub-menu ul>li ul{font-size:12px;margin:10px 0;background-color:#f7f7f7}.wpdt-c .sub-menu.active>ul{display:block}@media (max-width:1279px){.wpdt-c .ie9 #sidebar{display:none}.wpdt-c .ie9 #sidebar.toggled{display:block}}.wpdt-c .ie9 .sidebar-alt{display:none}.wpdt-c .ie9 .sidebar-alt.toggled{display:block}.wpdt-c .dropdown:not([data-animation]) .dropdown-menu{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpdt-c .dropdown-menu{box-shadow:0 2px 10px rgba(0,0,0,.2);padding:10px 0;border-radius:3px;top:-1px;margin:0;border:0}.wpdt-c .dropdown-menu>li>a{padding:10px 20px;border:0;-webkit-transition:background-color;-o-transition:background-color;transition:background-color;-webkit-transition-duration:.3s;transition-duration:.3s}.wpdt-c .dropdown-menu[class*=bgm-]>li>a{color:#fff}.wpdt-c .dropup .dropdown-menu{bottom:-2px}.wpdt-c .dropdown-menu-lg{width:300px}.wpdt-c .dropdown-header{padding:3px 17px;margin-top:10px;color:#b1b1b1;text-transform:uppercase;font-weight:400}.wpdt-c .btn-group.open .dropdown-toggle{box-shadow:none}.wpdt-c .list-group{margin-bottom:0}.wpdt-c .list-group .list-group-item{border:0;margin:0;padding:15px 23px}.wpdt-c .list-group .list-group-item>.checkbox.pull-left{margin:0}.wpdt-c .list-group.lg-odd-black .list-group-item:nth-child(odd){background-color:#f7f7f7}.wpdt-c .list-group.lg-even-black .list-group-item:nth-child(even){background-color:#f7f7f7}.wpdt-c .lg-header{text-align:center;padding:15px 10px 13px;line-height:100%;text-transform:uppercase;border-bottom:1px solid #f0f0f0;font-weight:500;color:#4c4c4c;margin-bottom:10px}.wpdt-c .lg-header .actions{position:absolute;top:5px;right:10px}.wpdt-c .lgi-img{width:40px;height:40px;border-radius:50%}.wpdt-c .lgi-heading{color:#000;margin-bottom:4px;display:block}.wpdt-c .lgi-heading,.wpdt-c .lgi-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c .lgi-text{display:block;font-size:12px;color:#777}.wpdt-c .lgi-text:not(:last-child){margin-bottom:4px}.wpdt-c .lgi-checkbox{margin-top:8px;margin-bottom:0}.wpdt-c .lgi-attrs{list-style:none;padding:0;margin:0}.wpdt-c .lgi-attrs>li{display:inline-block;border:1px solid #e0e0e0;margin:2px 2px 2px 0;padding:2px 5px;font-size:12px;color:#777}.wpdt-c .lgi-attrs>li>a{display:block}.wpdt-c .progress{box-shadow:none;border-radius:0;height:5px;margin-bottom:0}.wpdt-c .progress .progress-bar{box-shadow:none}.wpdt-c #chat{padding:20px 0 5px;width:280px;right:-300px;box-shadow:0 0 20px rgba(14,18,21,.38)}.wpdt-c #chat.toggled{right:0}.wpdt-c #chat .chat-search{padding:20px 20px 15px 20px}.wpdt-c #chat .chat-search .form-control{background-repeat:no-repeat;background-position:left center;padding-left:30px;background-color:transparent}.wpdt-c #chat .chat-search .form-control:focus{padding:0 30px 0 0}.wpdt-c #chat .lg-body{height:calc(100% - 70px)}[class*=chat-status]{position:absolute;width:10px;height:10px;border-radius:50%;top:-3px;right:12px;border:2px solid #fff}.wpdt-c .chat-status-online{box-shadow:0 0 0 1px #1ec01e;background:#1ec01e}.wpdt-c .chat-status-offline{box-shadow:0 0 0 1px #e73f3f;background:#e73f3f}.wpdt-c .chat-status-busy{box-shadow:0 0 0 1px orange;background:orange}.wpdt-c .tab-nav{list-style:none;padding:0;white-space:nowrap;margin:0;overflow:auto;box-shadow:inset 0 -1px 0 #d7d9e2;width:100%}.wpdt-c .tab-nav li{display:inline-block;vertical-align:top}.wpdt-c .tab-nav li>a{display:inline-block;text-transform:none;position:relative;width:100%;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms;font-family:Inter;font-style:normal;font-weight:500;font-size:14px;line-height:20px;color:#5a6c89}.wpdt-c .tab-nav li>a:after{content:"";height:2px;position:absolute;width:100%;left:0;bottom:0;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}@media (min-width:768px){.wpdt-c .tab-nav li>a{padding:15px}}@media (max-width:769px){.wpdt-c .tab-nav li>a{padding:15px 8px}.wpdt-c .tab-nav{display:flex;flex-direction:column;text-align:center}.wpdt-c .col-sm-4{width:50%}}@media (max-width:480px){.wpdt-c .btn.btn-danger,.wpdt-c .btn.btn-default.wdt-documentation,.wpdt-c .btn.btn-default.wdt-documentation:focus,.wpdt-c .btn.btn-default.wdt-documentation:hover,.wpdt-c .btn.btn-primary,.wpdt-c .btn.wdt-envato-activation-button,.wpdt-c .col-sm-4,.wpdt-c .col-xs-6,.wpdt-c .col-xs-6 button,.wpdt-c .col-xs-6 input,.wpdt-c .pull-left,.wpdt-c .pull-right:not(.wdt-column-settings):not(.wdt-column-block-icon):not(.wdt-column-move-arrows),.wpdt-c .wdt-table-settings .input-path-block .fg-line{width:100%!important;margin:0 0 10px 0!important}.wpdt-c .wdt-edit-buttons span .wdt-standard-view{width:100%;margin-top:10px}.wpdt-c .panel-collapse .panel-heading:before{left:5px;top:7px}.wpdt-c #wdt-columns-list-modal .modal-dialog,.wpdt-c #wdt-formula-editor-modal .modal-dialog{width:100%}.wpdt-c .wdt-activation-section .col-sm-1{padding-right:0;margin-top:10px}.wpdt-c .card .card-header .actions{position:relative!important}.wpdt-c .card .card-header .actions li{display:block}.wpdt-c .card .card-header .actions button{width:100%;margin:0}.wpdt-c .card.column-settings .wpdt-actions-bottom .col{display:flex;flex-direction:column-reverse;width:100%}.wpdt-c .breadcrumb{padding:0!important}}.wpdt-c .tab-nav li.active>a{color:#008cff}.wpdt-c .tab-nav li.active>a:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .tab-nav.tab-nav-right{text-align:right}.wpdt-c .tab-nav.tn-justified>li{display:table-cell;width:1%;text-align:center}.wpdt-c .tab-nav.tn-icon>li .zmdi{font-size:22px;line-height:100%;min-height:25px}.wpdt-c .tab-nav:not([data-tab-color])>li>a:after{background:#008cff}.wpdt-c .tab-nav[data-tab-color=green]>li>a:after{background:#4caf50}.wpdt-c .tab-nav[data-tab-color=red]>li>a:after{background:#f44336}.wpdt-c .tab-nav[data-tab-color=teal]>li>a:after{background:#009688}.wpdt-c .tab-nav[data-tab-color=amber]>li>a:after{background:#ffc107}.wpdt-c .tab-nav[data-tab-color=black]>li>a:after{background:#000}.wpdt-c .tab-nav[data-tab-color=cyan]>li>a:after{background:#00bcd4}.wpdt-c .tab-content{padding:20px 0}.wpdt-c .card{position:relative;background:#fff;box-shadow:none;margin-bottom:30px}.wpdt-c .card .card-header{position:relative}@media screen and (min-width:768px){.wpdt-c .card .card-header{padding:25px 27px}}@media screen and (max-width:991px){.wpdt-c .card .card-header{padding:18px}}.wpdt-c .card .card-header h2{margin:0;font-family:Inter;font-size:20px;font-style:normal;font-weight:400;line-height:24px;color:#304463}.wpdt-c .card .card-header h2 small{display:block;color:#aeaeae;line-height:160%}.wpdt-c .card .card-header.ch-alt:not([class*=bgm-]){background:0 0}.wpdt-c .card .card-header[class*=bgm-] h2,.wpdt-c .card .card-header[class*=bgm-] h2 small{color:#fff}.wpdt-c .card .card-header .actions{position:absolute;right:10px;z-index:2;top:12px}.wpdt-c .card .card-header .btn-float{right:25px;bottom:-23px;z-index:1}.wpdt-c .card a.card-header{display:block}@media screen and (min-width:768px){.wpdt-c .card .card-body.card-padding:not(.wpdt-column-settings-card):not(.wdt-chart-wizard-chosen-columns-container):not(.wdt-chart-wizart-existing-columns-container):not(.wpdt-add-ons-card){padding:24px;background:#fff;box-shadow:0 3px 6px rgba(23,43,77,.08),0 1px 1px rgba(23,43,77,.11);border-radius:3px}}@media screen and (max-width:991px){.wpdt-c .card .card-body.card-padding{padding:18px}}.wpdt-c .card .card-body.card-padding-sm{padding:15px}.wpdt-c .card-header:not(.ch-alt):not([class*=bgm-])+.card-padding{padding-top:0}.wpdt-c .card-light .card-header h2,.wpdt-c .card-light .card-header h2 small{color:#fff}.wpdt-c .chart-edge{margin:20px -8px 0 -10px;overflow:hidden}.wpdt-c .chart-edge .flot-chart{bottom:-14px}.wpdt-c .charts-row{margin-top:50px;margin-bottom:20px}.wpdt-c .mini-charts-item{box-shadow:0 1px 1px rgba(0,0,0,.15);position:relative;margin-bottom:30px}.wpdt-c .mini-charts-item .chart{padding:21px 18px 0;float:left}.wpdt-c .mini-charts-item .chart.chart-pie{margin:0 20px;padding:14px 11px}.wpdt-c .mini-charts-item .count{overflow:hidden;color:rgba(255,255,255,.9);padding:16px 12px}.wpdt-c .mini-charts-item .count>h2{margin:0;line-height:100%;font-size:22px;font-weight:300;color:#fff}.wpdt-c .mini-charts-item .count>small{margin-bottom:2px;display:block}.wpdt-c .mini-charts-item .count>h2,.wpdt-c .mini-charts-item .count>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c .mini-charts-item>.btn-group-vertical>.btn-group,.wpdt-c .mini-charts-item>.btn-toolbar,.wpdt-c .mini-charts-item>.clearfix,.wpdt-c .mini-charts-item>.container,.wpdt-c .mini-charts-item>.container-fluid,.wpdt-c .mini-charts-item>.dl-horizontal dd,.wpdt-c .mini-charts-item>.form-horizontal .form-group,.wpdt-c .mini-charts-item>.modal-footer,.wpdt-c .mini-charts-item>.modal-header,.wpdt-c .mini-charts-item>.nav,.wpdt-c .mini-charts-item>.navbar,.wpdt-c .mini-charts-item>.navbar-collapse,.wpdt-c .mini-charts-item>.navbar-header,.wpdt-c .mini-charts-item>.pager,.wpdt-c .mini-charts-item>.panel-body,.wpdt-c .mini-charts-item>.row{position:relative;z-index:1}.wpdt-c .mini-charts-item:before{-webkit-transition:width;-o-transition:width;transition:width;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;content:"";width:105px;height:100%;background:rgba(0,0,0,.1);position:absolute;left:0;top:0}.wpdt-c .mini-charts-item:hover .count{color:#fff!important}.wpdt-c .mini-charts-item:hover:before{width:100%}.wpdt-c #jqstooltip{min-width:21px;min-height:23px;text-align:center;border:0;background:#fff;box-shadow:2px 2px 5px rgba(0,0,0,.3)}.wpdt-c #jqstooltip .jqsfield{font-size:12px;font-weight:700;font-family:inherit;text-align:center;color:#333}.wpdt-c #jqstooltip .jqsfield>span{display:none}.wpdt-c .epc-item{box-shadow:0 1px 1px rgba(0,0,0,.15);position:relative;margin-bottom:30px;padding:30px 20px;text-align:center}.wpdt-c .easy-pie{display:inline-block;position:relative;padding:0 0 10px}.wpdt-c .easy-pie .percent{position:absolute;font-weight:300;width:100%;line-height:100%;left:4px;color:#fff}.wpdt-c .easy-pie .percent:after{content:"%"}.wpdt-c .easy-pie.main-pie .percent{margin-top:49px;font-size:50px;text-align:center}.wpdt-c .easy-pie.main-pie .percent:after{font-size:30px}.wpdt-c .easy-pie:not(.main-pie) .percent{font-size:24px;margin-top:33px}.wpdt-c .easy-pie:not(.main-pie) .percent:after{font-size:20px}.wpdt-c .easy-pie .pie-title{position:absolute;width:100%;text-align:center;bottom:-3px;left:0}.wpdt-c #recent-items-chart{width:calc(100% + 19px);height:150px;margin:-20px -10px 0;bottom:-10px}.wpdt-c [class*=flot-chart]{width:100%;display:block}.wpdt-c .flot-chart{height:200px}.wpdt-c .flot-chart-pie{height:300px}@media (min-width:768px){.wpdt-c .flot-chart-pie{margin-bottom:20px}}.wpdt-c #flotTip,.wpdt-c .flot-tooltip{position:absolute;color:#333;display:none;font-size:12px;box-shadow:2px 2px 5px rgba(0,0,0,.1);padding:3px 10px;background-color:#fff;z-index:99999}.wpdt-c [class*=flc-]{text-align:center;margin:10px 0 5px}.wpdt-c [class*=flc-] table{display:inline-block}.wpdt-c [class*=flc-] .legendColorBox>div{border:#fff!important}.wpdt-c [class*=flc-] .legendColorBox>div>div{border-radius:50%}.wpdt-c [class*=flc-] .legendLabel{padding:0 8px 0 3px}.wpdt-c .dw-item{position:relative;min-height:400px;margin-bottom:30px;box-shadow:0 1px 1px rgba(0,0,0,.15)}.wpdt-c .dwi-header{position:relative}.wpdt-c .dwi-header-img{background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-position:center;height:155px}.wpdt-c .dw-footer{position:absolute;left:0;bottom:0;width:100%}.wpdt-c .dwih-title{padding:12px 20px;position:absolute;width:100%;left:0}.wpdt-c #site-visits .dwi-header{padding-bottom:38px;margin-bottom:12px;background-color:rgba(255,255,255,.05)}.wpdt-c #site-visits .dwi-header canvas{width:100%!important}.wpdt-c #site-visits .dwih-title{bottom:0;color:#fff}.wpdt-c #site-visits .sv-item:nth-child(even){background-color:rgba(255,255,255,.05)}.wpdt-c #site-visits .sv-item small{color:rgba(255,255,255,.7)}.wpdt-c #site-visits .sv-item h3{font-weight:400;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.wpdt-c #site-visits .sv-item .pull-right{margin-top:5px;opacity:.7}.wpdt-c #best-selling{background-color:#fff}.wpdt-c #best-selling .dwi-header .dwih-title{padding-bottom:30px;top:0;color:#fff;background-image:-webkit-linear-gradient(top,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 100%);background-image:-o-linear-gradient(top,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 100%);background-image:linear-gradient(to bottom,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 100%);background-repeat:repeat-x}.wpdt-c #best-selling .dwi-header .bs-main{padding:15px;color:#fff;position:absolute;bottom:0;left:0;width:100%;background-image:-webkit-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%);background-image:-o-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%);background-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%);background-repeat:repeat-x}.wpdt-c #best-selling .dwi-header .bs-main>h2{font-weight:400;font-size:20px;margin:5px 0 0 0;line-height:100%;color:#fff}.wpdt-c #weather-widget{color:#fff;padding:20px 20px 0}.wpdt-c #weather-widget .weather-status{font-size:40px;line-height:100%}.wpdt-c #weather-widget .weather-icon{text-align:center;margin-top:10px;height:150px;background-repeat:no-repeat;background-position:center}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-0{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-1{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-2{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-3{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-4{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-5{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-6{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-7{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-8{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-9{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-10{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-11{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-12{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-13{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-14{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-15{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-16{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-17{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-18{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-19{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-20{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-21{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){#weather-widget .weather-icon.wi-22{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-23{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-24{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-25{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-26{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-27{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-28{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-29{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-30{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-31{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-32{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-33{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-34{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-35{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-36{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-37{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-38{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-39{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-40{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-41{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-42{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-43{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-44{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-45{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-46{background-size:125px 125px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c #weather-widget .weather-icon.wi-47{background-size:125px 125px}}.wpdt-c #weather-widget .weather-info{list-style:none;padding:0;margin:3px 0 0 0}.wpdt-c #weather-widget .weather-info>li{display:inline-block;border:1px solid rgba(255,255,255,.39);padding:2px 10px 3px;margin-right:5px}.wpdt-c #weather-widget .dw-footer{background:rgba(0,0,0,.04);padding:10px 20px}.wpdt-c #weather-widget .weather-list{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpdt-c #weather-widget .weather-list>span{margin-right:7px;display:inline-block;line-height:40px;vertical-align:top}.wpdt-c #weather-widget .weather-list>span.weather-list-icon{width:35px;height:35px;background-repeat:no-repeat;background-position:center;background-size:30px 30px}.wpdt-c #weather-widget .weather-list>span>i{line-height:100%;font-size:39px}.wpdt-c .profile-view{text-align:center}.wpdt-c .profile-view .pv-header{position:relative;height:145px;width:100%;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;background-position:center}.wpdt-c .profile-view .pv-header>.pv-main{border-radius:50%;width:130px;position:absolute;height:130px;bottom:-50px;left:50%;margin-left:-65px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s}.wpdt-c .profile-view .pv-body{margin-top:70px;padding:0 20px 20px}.wpdt-c .profile-view .pv-body>h2{margin:0;line-height:100%;font-size:20px;font-weight:400}.wpdt-c .profile-view .pv-body>small{display:block;color:#8e8e8e;margin:10px 0 15px}.wpdt-c .profile-view .pv-body .pv-contact,.wpdt-c .profile-view .pv-body .pv-follow{padding:0;list-style:none}.wpdt-c .profile-view .pv-body .pv-contact>li,.wpdt-c .profile-view .pv-body .pv-follow>li{display:inline-block}.wpdt-c .profile-view .pv-body .pv-follow{margin:20px -20px;padding:10px;background-color:#f3f3f3}.wpdt-c .profile-view .pv-body .pv-follow>li{padding:0 10px}.wpdt-c .profile-view .pv-body .pv-contact>li{margin:0 5px}.wpdt-c .profile-view .pv-body .pv-contact>li>.zmdi{line-height:100%;vertical-align:text-bottom;font-size:22px}.wpdt-c .profile-view .pv-body .pv-follow-btn{padding:7px 20px;background:#00bcd4;color:#fff;border-radius:3px;text-transform:uppercase;max-width:200px;width:100%;display:inline-block}.wpdt-c .profile-view .pv-body .pv-follow-btn:hover{background:#00a5bb}.wpdt-c .profile-view:hover .pv-main{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.wpdt-c .picture-list .pl-body{padding:2px}.wpdt-c .picture-list .pl-body [class*=col-]{padding:2px}.wpdt-c .picture-list .pl-body [class*=col-]>a{display:block}.wpdt-c .picture-list .pl-body [class*=col-]>a img{width:100%}.wpdt-c .picture-list .pl-body:after,.wpdt-c .picture-list .pl-body:before{content:" ";display:table}.wpdt-c .picture-list .pl-body:after{clear:both}.wpdt-c .picture-list .pl-body:after,.wpdt-c .picture-list .pl-body:before{content:" ";display:table}.wpdt-c .picture-list .pl-body:after{clear:both}.wpdt-c .go-social .card-body{padding:0 15px 20px}.wpdt-c .go-social .card-body [class*=col-]{padding:12px}.wpdt-c .go-social .card-body [class*=col-] img{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.wpdt-c .go-social .card-body [class*=col-]:hover img{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.wpdt-c .rating-list{padding:0 0 20px}.wpdt-c .rating-list .rl-star{margin-top:10px;margin-bottom:4px}.wpdt-c .rating-list .rl-star .zmdi{font-size:20px;color:#ccc}.wpdt-c .rating-list .rl-star .zmdi.active{color:#ff9800}.wpdt-c .rating-list .media .zmdi-star{line-height:100%;font-size:22px;vertical-align:middle;position:relative;top:-2px;left:6px;color:#ff9800}.wpdt-c .rating-list .media .media-body{padding:7px 10px 0 5px}.wpdt-c .cwh-year{color:rgba(255,255,255,.6);font-size:15px}.wpdt-c .cwh-day{font-size:25px;line-height:100%;color:#fff}.wpdt-c .table{margin-bottom:0}.wpdt-c .table>thead>tr>th{background-color:#fff;vertical-align:middle;font-weight:500;color:#333;border-width:1px;text-transform:uppercase}.wpdt-c .table.table-inner{border:0}.wpdt-c .table>tbody>tr>td:first-child,.wpdt-c .table>tbody>tr>th:first-child,.wpdt-c .table>tfoot>tr>td:first-child,.wpdt-c .table>tfoot>tr>th:first-child,.wpdt-c .table>thead>tr>td:first-child,.wpdt-c .table>thead>tr>th:first-child{padding-left:30px}.wpdt-c .table>tbody>tr>td:last-child,.wpdt-c .table>tbody>tr>th:last-child,.wpdt-c .table>tfoot>tr>td:last-child,.wpdt-c .table>tfoot>tr>th:last-child,.wpdt-c .table>thead>tr>td:last-child,.wpdt-c .table>thead>tr>th:last-child{padding-right:30px}.wpdt-c .table>tbody>tr.active>td,.wpdt-c .table>tbody>tr.danger>td,.wpdt-c .table>tbody>tr.info>td,.wpdt-c .table>tbody>tr.succes>td,.wpdt-c .table>tbody>tr.warning>td,.wpdt-c .table>tfoot>tr.active>td,.wpdt-c .table>tfoot>tr.danger>td,.wpdt-c .table>tfoot>tr.info>td,.wpdt-c .table>tfoot>tr.succes>td,.wpdt-c .table>tfoot>tr.warning>td{border:0}.wpdt-c .table>tbody>tr:last-child>td,.wpdt-c .table>tfoot>tr:last-child>td{padding-bottom:20px}.wpdt-c .table-striped td,.wpdt-c .table-striped th{border:0!important}.wpdt-c .table-bordered{border-bottom:0;border-left:0;border-right:0}.wpdt-c .table-bordered>tbody>tr>td,.wpdt-c .table-bordered>tbody>tr>th{border-bottom:0;border-left:0}.wpdt-c .table-bordered>tbody>tr>td:last-child,.wpdt-c .table-bordered>tbody>tr>th:last-child{border-right:0}.wpdt-c .table-bordered>thead>tr>th{border-left:0}.wpdt-c .table-bordered>thead>tr>th:last-child{border-right:0}.wpdt-c .table-vmiddle td{vertical-align:middle!important}.wpdt-c .table-responsive{border:0}.wpdt-c #todo{background:#ffc107;color:#fff;font-family:satisfy,cursive}.wpdt-c #todo .card-header{padding:28px 35px 20px;background-color:rgba(0,0,0,.03)}.wpdt-c #todo .card-header h2{font-size:25px}.wpdt-c #todo .card-header h2 small{font-size:18px;margin-top:0}.wpdt-c #todo .card-body{font-size:20px;position:relative}.wpdt-c #todo .list-group-item{padding:0}.wpdt-c #todo .checkbox .input-helper:after,.wpdt-c #todo .checkbox .input-helper:before{top:5px}.wpdt-c #todo .checkbox input:checked+i+span{text-decoration:line-through}.wpdt-c .t-add,.wpdt-c .ta-block,.wpdt-c .ta-btn{-webkit-transition:all;-o-transition:all;transition:all;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-duration:250ms;transition-duration:250ms}.wpdt-c .t-add{width:50px;height:50px;border-radius:50%;position:absolute;background:#fff;top:-25px;right:23px;max-height:300px}.wpdt-c .t-add .ta-block{overflow:hidden;opacity:0}.wpdt-c .t-add .ta-block textarea{padding:25px 25px 45px;resize:none;width:100%;font-size:24px;color:#ffc107;position:absolute;height:100%;border:0;outline:0}.wpdt-c .t-add:not(.toggled){overflow:hidden}.wpdt-c .t-add:not(.toggled) .ta-btn{position:relative;z-index:1;display:inline-block;width:50px;height:50px;cursor:pointer;text-align:center;font-size:23px;color:#ff9800;line-height:51px}.wpdt-c .t-add.toggled{width:calc(100% - 47px);height:calc(100% - 25px);border-radius:2px;top:0;z-index:1;box-shadow:0 5px 8px rgba(0,0,0,.2);overflow:visible}.wpdt-c .t-add.toggled .ta-btn{-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);display:none}.wpdt-c .t-add.toggled .ta-block{opacity:1}.wpdt-c .t-add.toggled .ta-block .tab-actions{position:absolute;bottom:0;width:100%;padding:5px 10px;border-top:1px solid #eee;z-index:1}.wpdt-c .t-add.toggled .ta-block .tab-actions>a{font-size:25px;padding:0 6px;border-radius:50%;text-align:center;height:40px;width:40px;line-height:48px;display:inline-block}.wpdt-c .t-add.toggled .ta-block .tab-actions>a:hover{background-color:#eee}.wpdt-c .btn:not(.dropdown-toggle){text-transform:none}.wpdt-c .btn[class*=bgm-]:not(.bgm-white){color:#fff}.wpdt-c .btn .caret{margin-top:-3px}.wpdt-c .btn:not(.btn-link){box-shadow:none}.wpdt-c .btn-group-vertical:not(.bootstrap-select),.wpdt-c .btn-group:not(.bootstrap-select){box-shadow:0 1px 4px 0 rgba(0,0,0,.3)}.wpdt-c .btn-group .btn,.wpdt-c .btn-group .btn-group,.wpdt-c .btn-group .btn:active,.wpdt-c .btn-group .btn:focus,.wpdt-c .btn-group-vertical .btn,.wpdt-c .btn-group-vertical .btn-group,.wpdt-c .btn-group-vertical .btn:active,.wpdt-c .btn-group-vertical .btn:focus{box-shadow:none!important}.wpdt-c .btn-group .btn,.wpdt-c .btn-group-vertical .btn{margin:0}.wpdt-c .btn-group-xs>.btn,.wpdt-c .btn-xs{padding:2px 5px;font-size:11px;line-height:1.5;border-radius:2px}.wpdt-c .btn-link{color:#797979;text-decoration:none;border-radius:2px}.wpdt-c .btn-link:hover{color:#0a0a0a}.wpdt-c .btn-inverse{color:#fff;background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse.focus,.wpdt-c .btn-inverse:focus{color:#fff;background-color:#2b2b2b;border-color:transparent}.wpdt-c .btn-inverse:hover{color:#fff;background-color:#2b2b2b;border-color:transparent}.wpdt-c .btn-inverse.active,.wpdt-c .btn-inverse:active,.wpdt-c .open>.dropdown-toggle.btn-inverse{color:#fff;background-color:#2b2b2b;border-color:transparent}.wpdt-c .btn-inverse.active.focus,.wpdt-c .btn-inverse.active:focus,.wpdt-c .btn-inverse.active:hover,.wpdt-c .btn-inverse:active.focus,.wpdt-c .btn-inverse:active:focus,.wpdt-c .btn-inverse:active:hover,.wpdt-c .open>.dropdown-toggle.btn-inverse.focus,.wpdt-c .open>.dropdown-toggle.btn-inverse:focus,.wpdt-c .open>.dropdown-toggle.btn-inverse:hover{color:#fff;background-color:#1a1a1a;border-color:transparent}.wpdt-c .btn-inverse.active,.wpdt-c .btn-inverse:active,.wpdt-c .open>.dropdown-toggle.btn-inverse{background-image:none}.wpdt-c .btn-inverse.disabled.focus,.wpdt-c .btn-inverse.disabled:focus,.wpdt-c .btn-inverse.disabled:hover,.wpdt-c .btn-inverse[disabled].focus,.wpdt-c .btn-inverse[disabled]:focus,.wpdt-c .btn-inverse[disabled]:hover,.wpdt-c fieldset[disabled] .btn-inverse.focus,.wpdt-c fieldset[disabled] .btn-inverse:focus,.wpdt-c fieldset[disabled] .btn-inverse:hover{background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse .badge{color:#454545;background-color:#fff}.wpdt-c .btn-inverse.focus,.wpdt-c .btn-inverse:active,.wpdt-c .btn-inverse:focus,.wpdt-c .btn-inverse:hover,.wpdt-c .open>.dropdown-toggle.btn-inverse{color:#fff;background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse.focus.focus,.wpdt-c .btn-inverse.focus:focus,.wpdt-c .btn-inverse.focus:hover,.wpdt-c .btn-inverse:active.focus,.wpdt-c .btn-inverse:active:focus,.wpdt-c .btn-inverse:active:hover,.wpdt-c .btn-inverse:focus.focus,.wpdt-c .btn-inverse:focus:focus,.wpdt-c .btn-inverse:focus:hover,.wpdt-c .btn-inverse:hover.focus,.wpdt-c .btn-inverse:hover:focus,.wpdt-c .btn-inverse:hover:hover,.wpdt-c .open>.dropdown-toggle.btn-inverse.focus,.wpdt-c .open>.dropdown-toggle.btn-inverse:focus,.wpdt-c .open>.dropdown-toggle.btn-inverse:hover{color:#fff;background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse.active,.wpdt-c .btn-inverse:active,.wpdt-c .open>.dropdown-toggle.btn-inverse{background-image:none}.wpdt-c .btn-inverse.disabled,.wpdt-c .btn-inverse.disabled.focus,.wpdt-c .btn-inverse.disabled:active,.wpdt-c .btn-inverse.disabled:focus,.wpdt-c .btn-inverse.disabled:hover,.wpdt-c .btn-inverse[disabled],.wpdt-c .btn-inverse[disabled].focus,.wpdt-c .btn-inverse[disabled]:active,.wpdt-c .btn-inverse[disabled]:focus,.wpdt-c .btn-inverse[disabled]:hover,.wpdt-c fieldset[disabled] .btn-inverse,.wpdt-c fieldset[disabled] .btn-inverse.focus,.wpdt-c fieldset[disabled] .btn-inverse:active,.wpdt-c fieldset[disabled] .btn-inverse:focus,.wpdt-c fieldset[disabled] .btn-inverse:hover{background-color:#454545;border-color:transparent}.wpdt-c .btn-inverse .badge{color:#454545;background-color:#fff}.wpdt-c .btn-icon{border-radius:50%;width:40px;line-height:42px;height:40px;padding:0;text-align:center}.wpdt-c .btn-icon .zmdi{font-size:17px}.wpdt-c .btn-icon-text>.zmdi{font-size:15px;vertical-align:top;display:inline-block;margin-top:2px;line-height:100%;margin-right:2px;margin-left:2px}.wpdt-c .btn-float{width:50px;height:50px;border-radius:50%;line-height:46px!important}.wpdt-c .btn-float:not(.m-btn){position:absolute!important}.wpdt-c .btn-float i{font-size:23px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.5s;transition-duration:.5s}.wpdt-c .btn-float:hover i{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}.wpdt-c .btn-float:not(.bgm-white):not(.bgm-gray)>i{color:#fff}.wpdt-c .btn-float.bgm-gray>i,.wpdt-c .btn-float.bgm-white>i{color:#333}.wpdt-c .open .btn{outline:0!important;-webkit-tap-highlight-color:transparent!important}.wpdt-c .open .btn:active,.wpdt-c .open .btn:focus{outline:0!important;-webkit-tap-highlight-color:transparent!important}.wpdt-c .m-btn{z-index:1;bottom:40px;right:40px;position:fixed!important}label{font-weight:500}input:active,input:focus{outline:0}.wpdt-c .form-control{box-shadow:none!important;resize:none}.wpdt-c .form-control:active,.wpdt-c .form-control:focus{box-shadow:none}.wpdt-c .form-control:not(.fc-alt){border-left:0;border-right:0;border-top:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}.wpdt-c .form-control:not(.fc-alt).auto-size{padding-top:6px}.wpdt-c .form-group{margin-bottom:25px}.wpdt-c .checkbox label:before,.wpdt-c .checkbox-inline:before,.wpdt-c .input-helper:after,.wpdt-c .input-helper:before,.wpdt-c .radio label:before,.wpdt-c .radio-inline:before{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms}.wpdt-c .checkbox,.wpdt-c .radio{padding-top:0!important}.wpdt-c .checkbox label,.wpdt-c .radio label{display:inline-block;padding-left:25px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wpdt-c .checkbox input,.wpdt-c .radio input{top:0;left:0;margin-left:0!important;z-index:1;cursor:pointer;opacity:1;margin-top:0}.wpdt-c .checkbox input:checked+.input-helper:before,.wpdt-c .radio input:checked+.input-helper:before{border-color:#098bef}.wpdt-c .checkbox .input-helper:after,.wpdt-c .checkbox .input-helper:before,.wpdt-c .radio .input-helper:after,.wpdt-c .radio .input-helper:before{position:absolute;content:""}.wpdt-c .checkbox .input-helper:before,.wpdt-c .radio .input-helper:before{left:0;border:1px solid #d7d7d7}.wpdt-c .checkbox.disabled,.wpdt-c .radio.disabled{opacity:.6}.wpdt-c .checkbox input{width:17px;height:17px}.wpdt-c .checkbox input:checked+.input-helper:before{background-color:#2196f3}.wpdt-c .checkbox input:checked+.input-helper:after{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .checkbox .input-helper:before{top:0;width:17px;height:17px;border-radius:2px}.wpdt-c .checkbox .input-helper:after{opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);content:'\f0c8';font-family:wpDataTablesIcons;position:absolute;font-size:12px;left:2px;top:0;color:#fff;font-weight:700}.wpdt-c .radio input{width:19px;height:19px}.wpdt-c .radio input:checked+.input-helper:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .radio .input-helper:before{top:-1px;width:19px;height:19px;border-radius:50%}.wpdt-c .radio .input-helper:after{width:9px;height:9px;background:#2196f3;border-radius:50%;top:4px;left:5px;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}.wpdt-c .checkbox-inline,.wpdt-c .radio-inline{vertical-align:top;margin-top:0;padding-left:25px}.wpdt-c .checkbox-light .input-helper:before,.wpdt-c .radio-light .input-helper:before{border-color:#fff}.wpdt-c .checkbox-light input:checked+.input-helper:before{border-color:#fff;background-color:#fff}.wpdt-c .checkbox-light input:checked+.input-helper:after{color:#333}.wpdt-c html:not(.ie9) .select{position:relative}.wpdt-c html:not(.ie9) .select:before{position:absolute;top:0;right:0;content:"";height:calc(100% - 2px);width:30px;background-color:#fff;background-position:right calc(100% - 7px);background-repeat:no-repeat;background-image:url("../../img/select.png");pointer-events:none;z-index:5}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.wpdt-c html:not(.ie9) .select:before{background-image:url("../../img/select@2x.png");background-size:12px 12px}}.wpdt-c html:not(.ie9) .select:not(.fg-line):before{right:0}.wpdt-c html:not(.ie9) .select.fg-line:before{right:10px}.wpdt-c .input-group:not(.input-group-lg):not(.input-group-sm) .input-group-addon{font-size:15px}.wpdt-c .input-group-addon{border-width:0 0 1px 0;min-width:42px}.wpdt-c .input-group-addon>.zmdi{position:relative;top:3px}.wpdt-c .fg-line{position:relative;vertical-align:top}.wpdt-c .fg-line:not(.form-group){display:inline-block;width:100%}.wpdt-c .fg-line .form-control:disabled{color:#9d9d9d;background:0 0}.wpdt-c .fg-line:not(.disabled):after,.wpdt-c .fg-line:not(.readonly):after{position:absolute;z-index:3;bottom:0;left:0;height:2px;width:100%;content:"";-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s}.wpdt-c .fg-line:not([class*=has-]):after{display:none}.wpdt-c .fg-line.readonly .form-control{color:#9d9d9d;background:0 0}.wpdt-c .fg-line.fg-toggled:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .fg-float{margin-top:2px;position:relative}.wpdt-c .fg-float .form-control{position:relative;background:0 0;z-index:1}.wpdt-c .fg-float .form-control::-moz-placeholder{color:#fff;opacity:1}.wpdt-c .fg-float .form-control:-ms-input-placeholder{color:#fff}.wpdt-c .fg-float .form-control::-webkit-input-placeholder{color:#fff}.wpdt-c .fg-float .fg-label{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.2s;transition-duration:.2s;position:absolute;top:5px;font-weight:400;color:#959595;pointer-events:none;z-index:0;left:0;white-space:nowrap}.wpdt-c .fg-float .fg-toggled .fg-label{top:-20px;font-size:11px}.wpdt-c .control-label{font-weight:400}.wpdt-c .toggle-switch{display:inline-block;vertical-align:top;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpdt-c .toggle-switch .ts-label{display:inline-block;margin:0 20px 0 0;vertical-align:top;-webkit-transition:color .56s cubic-bezier(.4, 0, .2, 1);transition:color .56s cubic-bezier(.4, 0, .2, 1)}.wpdt-c .toggle-switch .ts-helper{display:inline-block;position:relative;width:40px;height:16px;border-radius:8px;background:rgba(0,0,0,.26);-webkit-transition:background .28s cubic-bezier(.4, 0, .2, 1);transition:background .28s cubic-bezier(.4, 0, .2, 1);vertical-align:middle;cursor:pointer}.wpdt-c .toggle-switch .ts-helper:before{content:'';position:absolute;top:-4px;left:-4px;width:24px;height:24px;background:#fafafa;box-shadow:0 2px 8px rgba(0,0,0,.28);border-radius:50%;webkit-transition:left 0.28s cubic-bezier(0.4,0,0.2,1),background 0.28s cubic-bezier(0.4,0,0.2,1),box-shadow 0.28s cubic-bezier(0.4,0,0.2,1);transition:left .28s cubic-bezier(.4, 0, .2, 1),background .28s cubic-bezier(.4, 0, .2, 1),box-shadow .28s cubic-bezier(.4, 0, .2, 1)}.wpdt-c .toggle-switch:not(.disabled) .ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(128,128,128,.1)}.wpdt-c .toggle-switch input{position:absolute;z-index:1;width:16px;height:16px;cursor:pointer;right:11px;top:12px;background:#fafbfc;border:1px solid #c1c7d0;box-sizing:border-box;border-radius:3px;margin:0;box-shadow:none;outline:0!important}.wpdt-c .wdt-datatables-admin-wrap .check-column i{font-size:18px}.wpdt-c .wdt-datatables-admin-wrap .check-column input[type=checkbox],.wpdt-c .wpDataTableFilterSection .wdt_checkbox_option input[type=checkbox]{z-index:1;width:16px;height:16px;cursor:pointer;background:#fff;border:1px solid #c1c7d0;box-sizing:border-box;border-radius:3px;margin:0!important;box-shadow:none;outline:0!important;vertical-align:baseline;opacity:1}.wpdt-c .wpDataTableFilterSection .wdt_checkbox_option input[type=checkbox]{position:absolute;top:6px}.wpdt-c .wdt-datatables-admin-wrap .check-column input[type=checkbox]:checked::before,.wpdt-c .wpDataTableFilterSection .wdt_checkbox_option input[type=checkbox]:checked::before{font-family:wpDataTablesIcons;content:'\f00c';width:16px;height:16px;color:#fff;border:1px solid #2684ff;background:#2684ff;border-radius:3px;margin:0;padding:1px 0 0 0;font-size:11px;float:none;font-weight:700;position:absolute;left:-1px;top:-1px;opacity:1}.wpdt-c .wdt-datatables-admin-wrap #cb-select-all-1 input[type=checkbox]:checked::before{padding:2px 0 0 0}.wpdt-c .toggle-switch input[type=checkbox]:checked:before{font-family:wpDataTablesIcons;content:'\f00c';width:16px;height:16px;color:#fff;border:1px solid #2684ff;background:#2684ff;border-radius:3px;margin:0;padding:1px 0 0 0;font-size:12px;float:none;font-weight:700;position:absolute;left:-1px;top:-1px}.wpdt-c .toggle-switch input.wdt-premium-feature[type=checkbox]:checked:before{display:none}.wpdt-c .toggle-switch input:checked+.ts-helper:before{left:20px}.wpdt-c .toggle-switch:not([data-ts-color]) input:not(:disabled):checked+.ts-helper{background:rgba(0,150,136,.5)}.wpdt-c .toggle-switch:not([data-ts-color]) input:not(:disabled):checked+.ts-helper:before{background:#009688}.wpdt-c .toggle-switch:not([data-ts-color]) input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(0,150,136,.2)}.wpdt-c .toggle-switch.disabled{opacity:.6}.wpdt-c .toggle-switch[data-ts-color=red] input:not(:disabled):checked+.ts-helper{background:rgba(244,67,54,.5)}.wpdt-c .toggle-switch[data-ts-color=red] input:not(:disabled):checked+.ts-helper:before{background:#f44336}.wpdt-c .toggle-switch[data-ts-color=red] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(244,67,54,.2)}.wpdt-c .toggle-switch[data-ts-color=blue] input:not(:disabled):checked+.ts-helper{background:rgba(33,150,243,.5)}.wpdt-c .toggle-switch[data-ts-color=blue] input:not(:disabled):checked+.ts-helper:before{background:#2196f3}.wpdt-c .toggle-switch[data-ts-color=blue] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(33,150,243,.2)}.wpdt-c .toggle-switch[data-ts-color=amber] input:not(:disabled):checked+.ts-helper{background:rgba(255,193,7,.5)}.wpdt-c .toggle-switch[data-ts-color=amber] input:not(:disabled):checked+.ts-helper:before{background:#ffc107}.wpdt-c .toggle-switch[data-ts-color=amber] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(255,193,7,.2)}.wpdt-c .toggle-switch[data-ts-color=purple] input:not(:disabled):checked+.ts-helper{background:rgba(186,104,200,.5)}.wpdt-c .toggle-switch[data-ts-color=purple] input:not(:disabled):checked+.ts-helper:before{background:#ba68c8}.wpdt-c .toggle-switch[data-ts-color=purple] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(186,104,200,.2)}.wpdt-c .toggle-switch[data-ts-color=pink] input:not(:disabled):checked+.ts-helper{background:rgba(233,30,99,.5)}.wpdt-c .toggle-switch[data-ts-color=pink] input:not(:disabled):checked+.ts-helper:before{background:#e91e63}.wpdt-c .toggle-switch[data-ts-color=pink] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(233,30,99,.2)}.wpdt-c .toggle-switch[data-ts-color=lime] input:not(:disabled):checked+.ts-helper{background:rgba(205,220,57,.5)}.wpdt-c .toggle-switch[data-ts-color=lime] input:not(:disabled):checked+.ts-helper:before{background:#cddc39}.wpdt-c .toggle-switch[data-ts-color=lime] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(205,220,57,.2)}.wpdt-c .toggle-switch[data-ts-color=cyan] input:not(:disabled):checked+.ts-helper{background:rgba(0,188,212,.5)}.wpdt-c .toggle-switch[data-ts-color=cyan] input:not(:disabled):checked+.ts-helper:before{background:#00bcd4}.wpdt-c .toggle-switch[data-ts-color=cyan] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(0,188,212,.2)}.wpdt-c .toggle-switch[data-ts-color=green] input:not(:disabled):checked+.ts-helper{background:rgba(76,175,80,.5)}.wpdt-c .toggle-switch[data-ts-color=green] input:not(:disabled):checked+.ts-helper:before{background:#4caf50}.wpdt-c .toggle-switch[data-ts-color=green] input:not(:disabled):checked+.ts-helper:active:before{box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 20px rgba(76,175,80,.2)}.wpdt-c .has-error .checkbox .input-helper:before{border-color:#f99d97}.wpdt-c .has-error .checkbox .input-helper:after{border-bottom-color:#f77066;border-left-color:#f77066}.wpdt-c .has-error .fg-line:after{background:#f44336}.wpdt-c .has-success .checkbox .input-helper:before{border-color:#92cf94}.wpdt-c .has-success .checkbox .input-helper:after{border-bottom-color:#6ec071;border-left-color:#6ec071}.wpdt-c .has-success .fg-line:after{background:#4caf50}.wpdt-c .has-warning .checkbox .input-helper:before{border-color:#ffc166}.wpdt-c .has-warning .checkbox .input-helper:after{border-bottom-color:#ffad33;border-left-color:#ffad33}.wpdt-c .has-warning .fg-line:after{background:#ff9800}.wpdt-c .ie9-placeholder{color:#888!important;font-weight:400}.wpdt-c .ie9 textarea{overflow:auto!important}.wpdt-c .pagination{border-radius:0}.wpdt-c .pagination>li{margin:0 2px;display:inline-block;vertical-align:top}.wpdt-c .pagination>li>a,.wpdt-c .pagination>li>span{border-radius:50%;padding:0;width:40px;height:40px;line-height:38px;text-align:center;font-size:14px;z-index:1;position:relative;cursor:pointer;background-clip:padding-box}.wpdt-c .pagination>li>a>.zmdi,.wpdt-c .pagination>li>span>.zmdi{font-size:22px;line-height:39px}.wpdt-c .pagination>li.disabled{opacity:.5}.wpdt-c .lg-pagination{width:100%;text-align:center;padding:40px 0;margin-top:0}.wpdt-c .pager li>a,.wpdt-c .pager li>span{padding:5px 10px 6px;color:#7e7e7e}.wpdt-c .popover{box-shadow:0 2px 30px rgba(0,0,0,.2)}.wpdt-c .popover-title{border-bottom:0;padding:15px;font-size:12px;text-transform:uppercase}.wpdt-c .popover-title+.popover-content{padding-top:0}.wpdt-c .popover-content{padding:15px}.wpdt-c .popover-content p{margin-bottom:0}.wpdt-c .fw-container .tab-content{padding:25px 0}.wpdt-c .fw-container .fw-footer{text-align:center;margin:30px 0 0;width:100%;border-top:2px solid #eee;padding:15px 0}.wpdt-c.alert{font-size:13px}.wpdt-c.alert span{cursor:pointer}.wpdt-c.alert:not(.alert-dismissible){padding-right:30px}.wpdt-c.alert.alert-dismissable{padding-right:44px}.wpdt-c.alert-inverse{background-color:#333;border-color:transparent;color:#fff}.wpdt-c.alert-inverse hr{border-top-color:transparent}.wpdt-c.alert-inverse .alert-link{color:#e6e6e6}.wpdt-c.growl-animated.alert-inverse{box-shadow:0 0 5px rgba(51,51,51,.5)}.wpdt-c.growl-animated.alert-info{box-shadow:0 0 5px rgba(33,150,243,.5)}.wpdt-c.growl-animated.alert-success{box-shadow:0 0 5px rgba(76,175,80,.5);background:#ebfbee;border:1px solid #40c057;box-sizing:border-box;color:#061938;padding:8px 12px;font-family:Inter;font-size:12px;line-height:20px}.wpdt-c.growl-animated.alert-success .wpdt-icon-check-circle-full{color:#2f9e44;margin-right:4px}.wpdt-c.growl-animated.alert-warning{box-shadow:0 0 5px rgba(255,193,7,.5)}.wpdt-c.growl-animated.alert-danger{background:linear-gradient(0deg,rgba(240,62,62,.04),rgba(240,62,62,.04)),#fff;border:1px solid #f03e3e;box-sizing:border-box;box-shadow:0 1px .5px rgba(0,0,0,.08),0 5px 5px rgba(0,0,0,.04);border-radius:4px;font-family:Inter;font-style:normal;font-weight:400;font-size:12px;line-height:20px;color:#061938}.wpdt-c.growl-animated.alert-danger span.wpdt-icon-exclamation-triangle{margin-right:4px;color:#f03e3e}.wpdt-c.alert-link{color:#fff!important}.wpdt-c .lightbox .lightbox-item{overflow:hidden}.wpdt-c .lightbox .lightbox-item>img{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.2s;transition-duration:.2s;width:100%;border-radius:2px}.wpdt-c .lightbox .lightbox-item:hover{cursor:pointer}.wpdt-c .lightbox .lightbox-item:hover img{-webkit-transform:scale(1.35) rotate(10deg);-ms-transform:scale(1.35) rotate(10deg);-o-transform:scale(1.35) rotate(10deg);transform:scale(1.35) rotate(10deg)}.wpdt-c .lightbox [data-src]:after,.wpdt-c .lightbox [data-src]:before{content:" ";display:table}.wpdt-c .lightbox [data-src]:after{clear:both}.wpdt-c .lightbox [data-src]:after,.wpdt-c .lightbox [data-src]:before{content:" ";display:table}.wpdt-c .lightbox [data-src]:after{clear:both}.wpdt-c .lightbox .lightbox-item:not(.p-item){position:relative}.wpdt-c .carousel .carousel-control{-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms;opacity:0}.wpdt-c .carousel .carousel-control .zmdi{position:absolute;top:50%;left:50%;line-height:100%}@media screen and (min-width:768px){.wpdt-c .carousel .carousel-control .zmdi{font-size:60px;width:60px;height:60px;margin-top:-30px;margin-left:-30px}}@media screen and (max-width:991px){.wpdt-c .carousel .carousel-control .zmdi{width:24px;height:24px;margin-top:-12px;margin-left:-12px}}.wpdt-c .carousel:hover .carousel-control{opacity:1}.wpdt-c .carousel .carousel-caption{background:rgba(0,0,0,.6);left:0;right:0;bottom:0;width:100%;padding-bottom:50px}.wpdt-c .carousel .carousel-caption>h3{color:#fff;margin:0 0 5px;font-weight:300}.wpdt-c .carousel .carousel-caption>p{margin:0}@media screen and (max-width:991px){.wpdt-c .carousel .carousel-caption{display:none}}.wpdt-c .carousel .carousel-indicators{bottom:10px;margin:0;left:0;bottom:0;width:100%;padding:0 0 6px;background:rgba(0,0,0,.6)}.wpdt-c .carousel .carousel-indicators li{border-radius:0;width:15px;border:0;background:#fff;height:3px;margin:0;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:250ms;transition-duration:250ms}.wpdt-c .carousel .carousel-indicators li.active{width:25px;height:3px;background:#ff9800}.wpdt-c .modal .modal-content{box-shadow:0 5px 20px rgba(0,0,0,.31);border-radius:3px;border:0}.wpdt-c .modal .modal-header{padding:23px 26px}.wpdt-c .modal .modal-body{padding:0 26px 10px}.wpdt-c .modal .modal-footer .btn-link{font-size:14px;color:#000;font-weight:500}.wpdt-c .modal .modal-footer .btn-link:hover{background-color:#eee}.wpdt-c .modal:not([data-modal-color]) .modal-footer .btn-link{font-weight:500}.wpdt-c .modal:not([data-modal-color]) .modal-footer .btn-link:hover{background-color:#eee;background:#eee}.wpdt-c .modal[data-modal-color]{color:#fff}.wpdt-c .modal[data-modal-color] .modal-footer .btn-link,.wpdt-c .modal[data-modal-color] .modal-title{color:#fff}.wpdt-c .modal[data-modal-color] .modal-footer{background:#fff}.modal[data-modal-color] .modal-backdrop{background:#fff}.wpdt-c .modal[data-modal-color] .modal-footer .btn-link{font-weight:400}.wpdt-c .modal[data-modal-color] .modal-footer .btn-link:hover{background-color:rgba(0,0,0,.1)}.wpdt-c .modal[data-modal-color=blue] .modal-content{background:#2196f3}.wpdt-c .modal[data-modal-color=cyan] .modal-content{background:#00bcd4}.wpdt-c .modal[data-modal-color=green] .modal-content{background:#4caf50}.wpdt-c .modal[data-modal-color=lightgreen] .modal-content{background:#7fc032}.wpdt-c .modal[data-modal-color=lightblue] .modal-content{background:#03a9f4}.wpdt-c .modal[data-modal-color=amber] .modal-content{background:#ffc107}.wpdt-c .modal[data-modal-color=teal] .modal-content{background:#009688}.wpdt-c .modal[data-modal-color=orange] .modal-content{background:#ff9800}.wpdt-c .modal[data-modal-color=bluegray] .modal-content{background:#607d8b}.wpdt-c .modal[data-modal-color=red]{font-family:Inter;font-style:normal;font-weight:400}.wpdt-c .modal[data-modal-color=red] .modal-title{font-size:15px;line-height:20px;color:#061938}.wpdt-c .modal[data-modal-color=red] .modal-title i{color:#f03e3e;margin-right:8px}.wpdt-c .modal[data-modal-color=red] .modal-content{background:#fff;border:1px solid #f03e3e;box-sizing:border-box;box-shadow:0 0 1px rgba(0,0,0,.04),0 2px 6px rgba(0,0,0,.04),0 16px 24px rgba(0,0,0,.06);border-radius:4px;font-size:14px;line-height:24px;color:#5a6c89}.wpdt-c .panel{box-shadow:none;border:0}.wpdt-c .panel-heading{padding:0}.wpdt-c .panel-title>a{padding:10px 15px;display:block;font-size:13px}.wpdt-c .panel-collapse .panel-heading{position:relative}.wpdt-c .panel-collapse .panel-heading .panel-title>a{padding:8px 5px 16px 30px;color:#000;position:relative}.wpdt-c .panel-collapse .panel-heading .panel-title>a:after,.wpdt-c .panel-collapse .panel-heading .panel-title>a:before{position:absolute;bottom:0;left:0;height:2px;width:100%;content:"";-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.wpdt-c .panel-collapse .panel-heading .panel-title>a:after{-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}.wpdt-c .panel-collapse .panel-heading:not(.active) .panel-title>a:before{background:#eee}.wpdt-c .panel-collapse .panel-heading:after,.wpdt-c .panel-collapse .panel-heading:before{font-family:wpDataTablesIcons;font-size:17px;position:absolute;left:0;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;top:7px}.wpdt-c .panel-collapse .panel-heading:before{content:"\f107";-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .panel-collapse .panel-heading:after{-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);content:"\f106"}.wpdt-c .panel-collapse .panel-heading.active .panel-title>a:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .panel-collapse .panel-heading.active:before{-webkit-transform:scale(0) rotate(-90deg);-ms-transform:scale(0) rotate(-90deg);-o-transform:scale(0) rotate(-90deg);transform:scale(0) rotate(-90deg)}.wpdt-c .panel-collapse .panel-heading.active:after{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.wpdt-c .panel-collapse .panel-body{border-top:0!important;padding-left:5px;padding-right:5px}.wpdt-c .panel-group:not([data-collapse-color]) .panel-collapse .panel-heading.active .panel-title>a:after{background:#2196f3}.wpdt-c .panel-group[data-collapse-color=red] .panel-collapse .panel-heading.active .panel-title>a:after{background:#f44336}.wpdt-c .panel-group[data-collapse-color=green] .panel-collapse .panel-heading.active .panel-title>a:after{background:#4caf50}.wpdt-c .panel-group[data-collapse-color=amber] .panel-collapse .panel-heading.active .panel-title>a:after{background:#ffc107}.wpdt-c .panel-group[data-collapse-color=teal] .panel-collapse .panel-heading.active .panel-title>a:after{background:#009688}.wpdt-c .panel-group[data-collapse-color=black] .panel-collapse .panel-heading.active .panel-title>a:after{background:#000}.wpdt-c .panel-group[data-collapse-color=cyan] .panel-collapse .panel-heading.active .panel-title>a:after{background:#00bcd4}.wpdt-c .breadcrumb{border-radius:0;margin-top:-27px;margin-bottom:50px}@media (min-width:1280px){.wpdt-c .breadcrumb{padding:10px 33px 11px 0}}@media (max-width:1279px){.wpdt-c .breadcrumb{padding:10px 33px 11px}}.wpdt-c .messages{height:calc(100vh - 130px);position:relative;overflow:hidden}.wpdt-c .messages header{min-height:55px}.wpdt-c .messages header .actions{position:absolute;top:12px;right:13px}.wpdt-c .m-sidebar{width:300px;border-right:1px solid #eee;position:absolute;height:100%;left:0;top:0;z-index:1}@media (max-width:767px){.m-sidebar{width:60px}.m-sidebar .list-group-item{padding:10px!important}.m-sidebar .ms-time{display:none}}.wpdt-c .m-sidebar header{background-color:#f7f7f7;padding:20px}.wpdt-c .m-sidebar header h2{line-height:100%;font-size:15px;margin:0;text-transform:uppercase;font-weight:400}.wpdt-c .m-sidebar .lgi-heading{max-width:120px}.wpdt-c .m-sidebar .list-group{height:calc(100% - 130px)}.wpdt-c .m-sidebar .mCSB_scrollTools{z-index:2}.wpdt-c .ms-time{position:absolute;top:16px;right:25px;color:#777}.wpdt-c .ms-search{padding:20px 25px;position:relative}.wpdt-c .ms-search .zmdi-search{position:absolute;left:0;top:8px;font-size:20px}.wpdt-c .ms-search input{padding-left:25px!important}.wpdt-c .m-body{position:relative;height:100%}@media (min-width:768px){.wpdt-c .m-body{padding-left:300px}}@media (max-width:767px){.wpdt-c .m-body{padding-left:60px}}.wpdt-c .mb-header{background-color:#f7f7f7;box-shadow:0 -1px 0 1px #eaeaea;position:relative;z-index:2}.wpdt-c .mbh-user{padding:12px 20px}.wpdt-c .mbh-user>img{width:30px;height:30px;border-radius:50%;float:left;margin-right:15px}.wpdt-c .mb-list{height:calc(100% - 55px);position:relative}.wpdt-c .mbl-messages{padding:50px 50px 0;height:calc(100vh - 259px);overflow-x:hidden}@media (max-width:767px){.wpdt-c .mbl-messages{padding:20px 20px 0}}.wpdt-c .mblm-item{position:relative;margin-bottom:10px}.wpdt-c .mblm-item>div{display:inline-block;max-width:70%;padding:15px 20px;border-radius:2px;position:relative}.wpdt-c .mblm-item small{display:block;color:#777;padding:5px 20px}.wpdt-c .mblm-item-left>div{background-color:#eee}.wpdt-c .mblm-item-right{text-align:right}.wpdt-c .mblm-item-right>div{background-color:#ffc107;color:#fff}.wpdt-c .mblmi-img{margin:-10px -15px;cursor:pointer}.wpdt-c .mblmi-img img{max-width:250px;border-radius:2px}.wpdt-c .mbl-compose{border-top:1px solid #eee;height:70px;position:absolute;bottom:0;left:0;width:100%;padding:15px 65px 15px 15px}.wpdt-c .mbl-compose textarea{height:100%;width:100%;border-radius:2px;border:0;resize:none;background:#eee;padding:5px 10px;color:#5e5e5e;-webkit-transition:background-color;-o-transition:background-color;transition:background-color;-webkit-transition-duration:.3s;transition-duration:.3s}.wpdt-c .mbl-compose button{position:absolute;top:14px;right:15px;background:0 0;border:0;font-size:25px}.wpdt-c .mbl-compose button:hover{color:#333}.wpdt-c .four-zero{height:100vh;background-color:#607d8b}.wpdt-c .fz-block{background:#557382;border-radius:2px;position:absolute;top:50%;margin-top:-150px;color:#ecf0f1;text-align:center;padding:25px;height:300px;width:500px;left:50%;margin-left:-250px}.wpdt-c .fz-block h2{font-size:130px;line-height:100%;color:#ecf0f1;font-weight:100}@media (max-width:767px){.wpdt-c .fz-block{width:calc(100% - 40px);left:20px;margin-left:0;height:260px;margin-top:-130px}.wpdt-c .fz-block h2{font-size:90px}}.wpdt-c .fz-block small{display:block;font-size:26px;margin-top:-10px}.wpdt-c .fzb-links{margin-top:20px}.wpdt-c .fzb-links>a{font-size:16px;display:inline-block;color:#ecf0f1;margin:0 1px;line-height:30px;width:30px;height:30px;background:rgba(0,0,0,.09);border-radius:50%;text-align:center}.wpdt-c .fzb-links>a:hover{background:rgba(0,0,0,.2)}.wpdt-c .login-content{min-height:100vh;text-align:center;background-color:#009688}.wpdt-c .login-content:before{display:inline-block;content:'';height:100vh;width:1px;vertical-align:middle}.wpdt-c .lc-block{max-width:500px;padding:20px 0;width:80%;display:inline-block;vertical-align:middle;position:relative}.wpdt-c .lc-block:not(.toggled){display:none}.wpdt-c .lc-block.toggled{-webkit-animation-name:fadeInUp;animation-name:fadeInUp;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;z-index:10}.wpdt-c .lc-block:not(.lc-block-alt) .lcb-form{padding:35px 55px 35px 25px}.wpdt-c .lc-block:not(.lc-block-alt) .btn-login{top:50%;margin-top:-43px;right:-25px}.wpdt-c .lc-block .checkbox{margin:5px 0 0 41px;text-align:left}.wpdt-c .lcb-form{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.15);border-radius:2px}.wpdt-c .lcb-navigation{margin-top:15px}.wpdt-c .lcb-navigation a,.wpdt-c .lcb-navigation a span{-webkit-transition:width;-o-transition:width;transition:width;-webkit-transition-duration:.2s;transition-duration:.2s}.wpdt-c .lcb-navigation a{color:#fff;display:inline-block;background:rgba(255,255,255,.2);margin:0 1px;width:30px;height:30px;border-radius:20px;vertical-align:top;white-space:nowrap;text-align:left}.wpdt-c .lcb-navigation a i{width:30px;font-style:normal;font-size:16px;display:inline-block;vertical-align:top;text-align:center;line-height:30px}.wpdt-c .lcb-navigation a span{width:0;overflow:hidden;display:inline-block;line-height:29px;margin-left:-3px}.wpdt-c .lcb-navigation a:hover span{width:100%}.wpdt-c .lcb-navigation a[data-ma-block="#l-register"]:hover{width:95px}.wpdt-c .lcb-navigation a[data-ma-block="#l-forget-password"]:hover{width:147px}.wpdt-c .lcb-navigation a[data-ma-block="#l-login"]:hover{width:85px}.wpdt-c .lc-block-alt .lcb-form{padding:70px 35px 60px}.wpdt-c .lc-block-alt .btn-login{bottom:0;left:50%;margin-left:-25px}.wpdt-c .lcb-user{width:100px;height:100px;border-radius:50%;border:5px solid #fff;position:absolute;top:-35px;left:50%;margin-left:-50px;box-shadow:0 -4px 10px rgba(0,0,0,.18)}.wpdt-c #profile-main{min-height:500px;position:relative}@media (min-width:1200px){.wpdt-c #profile-main .pm-overview{width:300px}}@media (min-width:768px) and (max-width:1200px){.wpdt-c #profile-main .pm-overview{width:250px}}@media (min-width:768px){.wpdt-c #profile-main .pm-overview{position:absolute;left:0;top:0;height:100%;background:#f8f8f8;border-right:1px solid #eee}}@media (max-width:767px){.wpdt-c #profile-main .pm-overview{width:100%;background:#333;text-align:center}}@media (min-width:1200px){.wpdt-c #profile-main .pm-body{padding-left:300px}}@media (min-width:768px) and (max-width:1200px){.wpdt-c #profile-main .pm-body{padding-left:250px}}@media (max-width:767px){.wpdt-c #profile-main .pm-body{padding-left:0}}.wpdt-c #profile-main .pmo-pic{position:relative;margin:20px}@media (min-width:768px){.wpdt-c #profile-main .pmo-pic img{width:100%;border-radius:2px 2px 0 0}}@media (max-width:767px){.wpdt-c #profile-main .pmo-pic img{width:180px;display:inline-block;height:180px;border-radius:50%;border:4px solid #fff;box-shadow:0 8px 17px rgba(0,0,0,.2),0 6px 20px rgba(0,0,0,.19)}}.wpdt-c #profile-main .pmo-pic .pmo-stat{border-radius:0 0 2px 2px;color:#fff;text-align:center;padding:30px 5px 0}@media (min-width:768px){.wpdt-c #profile-main .pmo-pic .pmo-stat{background:#ffc107;padding-bottom:15px}}.wpdt-c #profile-main .pmo-pic .pmop-edit{position:absolute;top:0;left:0;color:#fff;background:rgba(0,0,0,.38);text-align:center;padding:10px 10px 11px}.wpdt-c #profile-main .pmo-pic .pmop-edit:hover{background:rgba(0,0,0,.8)}.wpdt-c #profile-main .pmo-pic .pmop-edit i{font-size:18px;vertical-align:middle;margin-top:-3px}@media (min-width:768px){.wpdt-c #profile-main .pmo-pic .pmop-edit{width:100%;opacity:0}.wpdt-c #profile-main .pmo-pic .pmop-edit i{margin-right:4px}}.wpdt-c #profile-main .pmo-pic:hover .pmop-edit{opacity:1}.wpdt-c #profile-main .pmo-pic .pmop-message{position:absolute;bottom:27px;left:50%;margin-left:-25px}.wpdt-c #profile-main .pmo-pic .pmop-message .dropdown-menu{padding:5px 0 55px;left:-90px;width:228px;height:150px;top:-74px;-webkit-transform-origin:center;-moz-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.wpdt-c #profile-main .pmo-pic .pmop-message .dropdown-menu textarea{width:100%;height:95px;border:0;resize:none;padding:10px 19px}.wpdt-c #profile-main .pmo-pic .pmop-message .dropdown-menu button{bottom:5px;left:88px}.wpdt-c #profile-main .pmb-block{margin-bottom:20px}@media (min-width:1200px){.wpdt-c #profile-main .pmb-block{padding:40px 42px 0}}@media (max-width:1199px){.wpdt-c #profile-main .pmb-block{padding:30px 20px 0}}.wpdt-c #profile-main .pmb-block:last-child{margin-bottom:50px}.wpdt-c #profile-main .pmb-block .pmbb-header{margin-bottom:25px;position:relative}.wpdt-c #profile-main .pmb-block .pmbb-header .actions{position:absolute;top:-2px;right:0}.wpdt-c #profile-main .pmb-block .pmbb-header h2{margin:0;font-weight:100;font-size:20px}.wpdt-c #profile-main .pmb-block .pmbb-edit{position:relative;z-index:1;display:none}.wpdt-c #profile-main .pmb-block .pmbb-edit,.wpdt-c #profile-main .pmb-block .pmbb-view{-webkit-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.wpdt-c #profile-main .pmb-block.toggled .pmbb-edit{display:block}.wpdt-c #profile-main .pmb-block.toggled .pmbb-view{display:none}.wpdt-c #profile-main .pmo-block{padding:25px}.wpdt-c #profile-main .pmo-block>h2{font-size:16px;margin:0 0 15px}.wpdt-c #profile-main .pmo-items .pmob-body{padding:0 10px}.wpdt-c #profile-main .pmo-items a{display:block;padding:4px}.wpdt-c #profile-main .pmo-items a img{width:100%}.wpdt-c .pmo-contact ul{list-style:none;margin:0;padding:0}.wpdt-c .pmo-contact ul li{position:relative;padding:8px 0 8px 35px}.wpdt-c .pmo-contact ul li i{font-size:18px;vertical-align:top;line-height:100%;position:absolute;left:0;width:18px;text-align:center}.wpdt-c .pmo-map{margin:20px -21px -18px;display:block}.wpdt-c .pmo-map img{width:100%}@media (max-width:767px){.c-timeline{background:#edecec;box-shadow:none}.c-timeline .tab-nav{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.15)}}.wpdt-c .timeline{position:relative}@media (min-width:768px){.wpdt-c .timeline{padding:50px;padding-left:100px}}@media (max-width:767px){.wpdt-c .timeline{margin-top:30px}}.wpdt-c .t-view{border:1px solid #eee;position:relative;margin-bottom:35px}@media (max-width:767px){.wpdt-c .t-view{background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.15)}}.wpdt-c .t-view .tv-header{padding:16px 18px;border-bottom:1px solid #eee;background:#f9f9f9}.wpdt-c .t-view .tv-header .actions{position:absolute;top:5px;right:10px}.wpdt-c .t-view .tv-body{padding:23px 25px}.wpdt-c .t-view .tv-body .tvb-lightbox{margin:0 -8px 15px}.wpdt-c .t-view .tv-body .tvb-lightbox [data-src]{padding:0 5px;margin-bottom:5px}.wpdt-c .t-view .tvh-user{display:block}.wpdt-c .t-view .tvh-user img{width:46px;height:46px;border-radius:50%}.wpdt-c .tab-nav.settings{box-shadow:none}.wpdt-c .tab-nav.settings>li{float:none;display:block}.wpdt-c .bootstrap-select.btn-group .dropdown-menu li{display:block;margin:0}.wpdt-c .card .card-header.wdt-admin-card-header h2 span{font-size:16px}.wpdt-c .card .card-header h2 small{font-family:Inter;font-size:11px;margin-top:2px;color:#8796af}.wpdt-c .checkbox .input-helper:after{font-size:14px}#series-settings-container div.chart-series-block:first-child .chart-show-yaxis{display:none}#series-settings-container div.chart-series-block{background:#fff;box-shadow:0 2px 5px rgba(23,43,77,.1),0 0 1px rgba(23,43,77,.32);border-radius:3px;padding-bottom:10px;margin-bottom:20px}#series-settings-container div.chart-series-block h4.title{margin:0!important;padding:15px;background-color:#f8f8fa}#series-settings-container div.chart-series-block .chart-series-color,#series-settings-container div.chart-series-block .chart-series-label,#series-settings-container div.chart-series-block .chart-series-type,#series-settings-container div.chart-series-block .chart-show-yaxis{padding:0 20px!important}#series-settings-container div.chart-series-block .chart-series-label{padding-top:10px!important}.wdt-include-bootstrap-back-end-block,.wdt-include-bootstrap-block{margin-bottom:25px}.wpdt-c .wdt-datetimepicker-modal .datepicker{width:100%!important}.wpdt-c .wdt-datetimepicker-modal>ul li{margin:0}.wpdt-c .media-modal *{box-sizing:content-box}.wpdt-c .wdt-lite-disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.wpdt-c .noUi-handle.noUi-handle-upper{right:0!important;left:100%!important;background-color:#0083c2!important}.wpdt-c .noUi-handle.noUi-handle-lower{right:0!important;left:100%!important;background-color:#0083c2!important}.wpdt-c .noUi-horizontal{margin-top:20px!important;margin-right:15px!important}.wpdt-c .noUi-connect{background:#0277bd!important}.wpdt-c #wdt-checkbox-filter-close,.wpdt-c #wdt-checkbox-filter-reset{position:relative}.google_candlestick_chart g.google-visualization-tooltip g:nth-child(3) text:first-child,.google_waterfall_chart g.google-visualization-tooltip g:nth-child(3) text:first-child{display:none!important}#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option label,#wdt-frontend-modal .wdt_checkbox_option label{padding-left:0}#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option span.wdt-checkbox-label,#wdt-frontend-modal .wdt_checkbox_option span.wdt-checkbox-label{vertical-align:text-bottom;margin-bottom:2px}#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option input[type=checkbox],#wdt-frontend-modal .wdt_checkbox_option input[type=checkbox]{background:#fff;width:16px;height:16px;border:1px solid #c1c7d0;box-sizing:border-box;border-radius:3px;margin:0 10px 0 0!important;box-shadow:none;outline:0!important;vertical-align:baseline;opacity:1!important;position:relative}#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option input[type=checkbox]:checked:before,#wdt-frontend-modal .wdt_checkbox_option input[type=checkbox]:checked:before{font-family:wpDataTablesIcons;content:'\f00c';width:16px;height:16px;color:#fff;border:1px solid #2684ff;background:#2684ff;border-radius:3px;margin:0;padding:1px 0 0 0;font-size:11px;float:none;font-weight:700;position:absolute;left:-1px;top:-1px;opacity:1}.wpdt-c .wpdt-custom-center-flex{display:flex;justify-content:center}.wpDataTables .dataTables_length select.selectpicker{display:inline-block!important;width:inherit;padding:3px 24px 3px 8px!important;border-radius:4px;border:solid 1px #dcdfe6;outline:0!important}#datatables_buttons_info{width:264px;position:fixed;top:50%;left:50%;height:52px;border:2px solid #37393d;border-radius:26px;box-shadow:0 18px 18px 0 rgba(10,31,68,.12),0 0 1px 0 rgba(10,31,68,.1);background-color:#37393d;margin-top:0;margin-left:0;line-height:normal;text-align:center;z-index:9999}#datatables_buttons_info:after,#datatables_buttons_info:before{display:none}#datatables_buttons_info h2{font-family:GraphikWeb;font-size:16px;font-weight:500;font-style:normal;font-stretch:normal;line-height:1.43;letter-spacing:normal;color:#fff;padding:0;margin:2px auto 0;border-bottom:1px solid #37393d;background-color:transparent}#datatables_buttons_info>div{display:block;padding:5px 0 0 0;color:#fff;font-size:12px}
 
 
 
assets/css/wdt-skins/aqua.css CHANGED
@@ -1303,9 +1303,11 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper
1303
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1304
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1305
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
 
1306
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
1307
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button,
1308
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
 
1309
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1310
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1311
  border-radius: 4px;
@@ -1323,6 +1325,7 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper
1323
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button i,
1324
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button i,
1325
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
 
1326
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
1327
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
1328
  margin-top: 1px;
@@ -1330,7 +1333,8 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper
1330
  float: none;
1331
  }
1332
 
1333
- .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button {
 
1334
  width: 168px;
1335
  border: 1px solid #0083c2;
1336
  background-color: #ffffff;
@@ -2123,6 +2127,7 @@ div.dt-button-collection a.dt-button.buttons-columnVisibility:before {
2123
  }
2124
 
2125
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
 
2126
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
2127
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button {
2128
  width: auto !important;
@@ -2130,6 +2135,7 @@ div.dt-button-collection a.dt-button.buttons-columnVisibility:before {
2130
  }
2131
 
2132
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
 
2133
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
2134
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
2135
  font-size: 12px;
1303
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1304
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1305
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
1306
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button,
1307
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
1308
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button,
1309
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
1310
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button:hover,
1311
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1312
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1313
  border-radius: 4px;
1325
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button i,
1326
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button i,
1327
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
1328
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button i,
1329
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
1330
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
1331
  margin-top: 1px;
1333
  float: none;
1334
  }
1335
 
1336
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
1337
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button {
1338
  width: 168px;
1339
  border: 1px solid #0083c2;
1340
  background-color: #ffffff;
2127
  }
2128
 
2129
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
2130
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button,
2131
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
2132
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button {
2133
  width: auto !important;
2135
  }
2136
 
2137
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
2138
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button i,
2139
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
2140
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
2141
  font-size: 12px;
assets/css/wdt-skins/dark.css CHANGED
@@ -1426,9 +1426,11 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper{
1426
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1427
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1428
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
 
1429
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
1430
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button,
1431
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
 
1432
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1433
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1434
  -webkit-border-radius: 4px;
@@ -1447,12 +1449,14 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper{
1447
  }
1448
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1449
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
 
1450
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1451
  text-transform: uppercase;
1452
  }
1453
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button i,
1454
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button i,
1455
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
 
1456
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
1457
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
1458
  margin-top: 1px;
@@ -1461,7 +1465,8 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper{
1461
  font-size: 20px;
1462
  }
1463
 
1464
- .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button {
 
1465
  width: 175px;
1466
  border: none;
1467
  background-color: #1a1a1a;
@@ -2352,6 +2357,7 @@ div.dt-button-collection a.dt-button.buttons-columnVisibility:before {
2352
  }
2353
 
2354
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
 
2355
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
2356
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button {
2357
  width: auto !important;
@@ -2359,6 +2365,7 @@ div.dt-button-collection a.dt-button.buttons-columnVisibility:before {
2359
  }
2360
 
2361
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
 
2362
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
2363
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
2364
  font-size: 12px;
1426
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1427
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1428
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
1429
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button,
1430
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
1431
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button,
1432
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
1433
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button:hover,
1434
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1435
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1436
  -webkit-border-radius: 4px;
1449
  }
1450
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1451
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
1452
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button:hover,
1453
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1454
  text-transform: uppercase;
1455
  }
1456
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button i,
1457
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button i,
1458
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
1459
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button i,
1460
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
1461
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
1462
  margin-top: 1px;
1465
  font-size: 20px;
1466
  }
1467
 
1468
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
1469
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button {
1470
  width: 175px;
1471
  border: none;
1472
  background-color: #1a1a1a;
2357
  }
2358
 
2359
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
2360
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button,
2361
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
2362
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button {
2363
  width: auto !important;
2365
  }
2366
 
2367
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
2368
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button i,
2369
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
2370
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
2371
  font-size: 12px;
assets/css/wdt-skins/purple.css CHANGED
@@ -1308,9 +1308,11 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper
1308
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1309
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1310
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
 
1311
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
1312
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button,
1313
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
 
1314
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1315
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1316
  border-radius: 4px;
@@ -1328,6 +1330,7 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper
1328
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button i,
1329
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button i,
1330
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
 
1331
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
1332
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
1333
  margin-top: 1px;
@@ -1335,7 +1338,8 @@ div#wpdatatable-preview-container.wpDataTablesWrapper .wpDataTablesWrapper
1335
  float: none;
1336
  }
1337
 
1338
- .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button {
 
1339
  width: 168px;
1340
  border: 1px solid #606fc7;
1341
  background-color: #ffffff;
@@ -2138,6 +2142,7 @@ div.dt-button-collection a.dt-button.buttons-columnVisibility:before {
2138
  }
2139
 
2140
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
 
2141
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
2142
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button {
2143
  width: auto !important;
@@ -2145,6 +2150,7 @@ div.dt-button-collection a.dt-button.buttons-columnVisibility:before {
2145
  }
2146
 
2147
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
 
2148
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
2149
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
2150
  font-size: 12px;
1308
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button:hover,
1309
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1310
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
1311
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button,
1312
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
1313
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button,
1314
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button:hover,
1315
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button:hover,
1316
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button:hover,
1317
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button:hover {
1318
  border-radius: 4px;
1330
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-ok-edit-button i,
1331
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-gf-edit-dialog-button-block button.wdt-cancel-edit-button i,
1332
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
1333
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button i,
1334
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
1335
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
1336
  margin-top: 1px;
1338
  float: none;
1339
  }
1340
 
1341
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
1342
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button {
1343
  width: 168px;
1344
  border: 1px solid #606fc7;
1345
  background-color: #ffffff;
2142
  }
2143
 
2144
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button,
2145
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button,
2146
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button,
2147
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button {
2148
  width: auto !important;
2150
  }
2151
 
2152
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-edit-button i,
2153
+ .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-apply-duplicate-button i,
2154
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-ok-edit-button i,
2155
  .wpdt-c .modal#wdt-frontend-modal .modal-content .modal-footer .wdt-edit-dialog-button-block button.wdt-cancel-edit-button i {
2156
  font-size: 12px;
assets/js/bootstrap/bootstrap-tour/bootstrap-tour-guide.js CHANGED
@@ -27,14 +27,17 @@
27
  var disabledNextButton = $('#wdt-chart-wizard-next-step');
28
  var selectedChartType = $('.wdt-chart-wizard-chart-selecter-block .card.selected');
29
  var googleCharts = $('.charts-type.google-charts-type');
 
30
 
31
- if ((!selectedChartType.length && disabledNextButton.is(":disabled") && googleCharts.is(":visible") && currentStep === 7) ) {
 
32
  invalidStep = tour.getCurrentStep();
33
  }
34
- if (!selectedChartType.length && !disabledNextButton.is(":disabled") && googleCharts.is(":visible")) {
 
35
  invalidStep = tour.getCurrentStep();
36
  }
37
- if (disabledNextButton.is(":disabled") && currentStep === 13) {
38
  invalidStep = tour.getCurrentStep();
39
  }
40
  break;
@@ -57,11 +60,11 @@
57
  tour.goTo(tempStep);
58
  switch (stepName) {
59
  case 'create-chart':
60
- if (currentStep === 8){
61
  errorMessage = wpdtTutorialStrings.cannot_be_empty_chart_type;
62
- } else if (currentStep === 11){
63
  errorMessage = wpdtTutorialStrings.cannot_be_empty_chart_table;
64
- } else if (currentStep === 14){
65
  errorMessage = wpdtTutorialStrings.cannot_be_empty_chart_table_columns;
66
  }
67
  break;
@@ -728,8 +731,30 @@
728
  onNext: function (tour) {
729
  validateStepInput(tour);
730
  }
731
- },{
732
  // step 8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
733
  element: "#wdt-chart-wizard-next-step",
734
  placement: "left",
735
  title: wpdtTutorialStrings.tour2.step10.title,
@@ -753,7 +778,7 @@
753
  $("html, body").animate({scrollTop: 0}, "slow");
754
  },
755
  }, {
756
- // step 9
757
  element: ".data-source",
758
  placement: "right",
759
  title: wpdtTutorialStrings.tour2.step11.title,
@@ -770,7 +795,7 @@
770
  $('.tour-step-background').css("background-color", "inherit");
771
  }
772
  }, {
773
- // step 10
774
  element: "#wpdatatables-chart-source",
775
  placement: "top",
776
  title: wpdtTutorialStrings.tour2.step12.title,
@@ -786,7 +811,7 @@
786
  validateStepInput(tour);
787
  }
788
  }, {
789
- // step 11
790
  element: "#wdt-chart-wizard-next-step",
791
  placement: "left",
792
  title: wpdtTutorialStrings.tour2.step13.title,
@@ -804,7 +829,7 @@
804
  $('.tour-step-background').css("background-color", "inherit");
805
  }
806
  }, {
807
- // step 12
808
  orphan: true,
809
  placement: "bottom",
810
  title: wpdtTutorialStrings.tour2.step14.title,
@@ -816,7 +841,7 @@
816
  $('#wdt-chart-wizard-previous-step').prop('disabled', true)
817
  }
818
  }, {
819
- // step 13
820
  element: ".wdt-chart-column-picker-container",
821
  placement: "bottom",
822
  title: wpdtTutorialStrings.tour2.step15.title,
@@ -835,7 +860,7 @@
835
  validateStepInput(tour);
836
  }
837
  }, {
838
- // step 14
839
  element: "#wdt-chart-wizard-next-step",
840
  placement: "left",
841
  title: wpdtTutorialStrings.tour2.step16.title,
@@ -853,7 +878,7 @@
853
  $('.tour-step-background').css("background-color", "inherit");
854
  }
855
  }, {
856
- // step 15
857
  orphan: true,
858
  placement: "top",
859
  title: wpdtTutorialStrings.tour2.step17.title,
@@ -866,7 +891,7 @@
866
  $('#wdt-chart-wizard-previous-step').prop('disabled', true);
867
  },
868
  }, {
869
- // step 16
870
  element: ".tab-nav.settings",
871
  placement: "right",
872
  title: wpdtTutorialStrings.tour2.step18.title,
@@ -884,7 +909,7 @@
884
 
885
  }
886
  }, {
887
- // step 17
888
  element: "#chart-container-tabs-1",
889
  placement: "right",
890
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -901,7 +926,7 @@
901
  $('.tour-step-background').css("background-color", "inherit");
902
  }
903
  }, {
904
- // step 18
905
  element: "#chart-container-tabs-2",
906
  placement: "right",
907
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -918,7 +943,7 @@
918
  $('.tour-step-background').css("background-color", "inherit");
919
  }
920
  }, {
921
- // step 19
922
  element: "#chart-container-tabs-3",
923
  placement: "right",
924
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -935,7 +960,7 @@
935
  $('.tour-step-background').css("background-color", "inherit");
936
  }
937
  }, {
938
- // step 20
939
  element: "#chart-container-tabs-4",
940
  placement: "right",
941
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -952,7 +977,7 @@
952
  $('.tour-step-background').css("background-color", "inherit");
953
  }
954
  }, {
955
- // step 21
956
  element: "#chart-container-tabs-5",
957
  placement: "right",
958
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -969,7 +994,7 @@
969
  $('.tour-step-background').css("background-color", "inherit");
970
  }
971
  }, {
972
- // step 22
973
  element: "#chart-container-tabs-6",
974
  placement: "right",
975
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -986,7 +1011,7 @@
986
  $('.tour-step-background').css("background-color", "inherit");
987
  }
988
  }, {
989
- // step 23
990
  element: "#chart-container-tabs-7",
991
  placement: "right",
992
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -1003,7 +1028,7 @@
1003
  $('.tour-step-background').css("background-color", "inherit");
1004
  }
1005
  }, {
1006
- // step 24
1007
  element: "#chart-container-tabs-8",
1008
  placement: "right",
1009
  title: wpdtTutorialStrings.tour2.step19.title,
@@ -1020,7 +1045,7 @@
1020
  $('.tour-step-background').css("background-color", "inherit");
1021
  }
1022
  }, {
1023
- // step 25
1024
  element: ".chart-preview-container",
1025
  placement: "left",
1026
  title: wpdtTutorialStrings.tour2.step27.title,
@@ -1038,7 +1063,7 @@
1038
  $('#wdt-chart-wizard-next-step').prop('disabled', false)
1039
  }
1040
  }, {
1041
- // step 26
1042
  element: "#wdt-chart-wizard-next-step",
1043
  placement: "left",
1044
  title: wpdtTutorialStrings.tour2.step28.title,
@@ -1058,7 +1083,7 @@
1058
  $('.tour-step-background').css("background-color", "inherit");
1059
  }
1060
  }, {
1061
- // step 27
1062
  orphan: true,
1063
  placement: "top",
1064
  title: wpdtTutorialStrings.tour2.step29.title,
@@ -1076,7 +1101,7 @@
1076
  ],
1077
  template: function () {
1078
  var showButtons = '';
1079
- var tour2NextButtonSteps = [2, 3, 4, 6, 7, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25];
1080
  if (typeof tour2 == 'undefined' && localStorage.getItem("create-chart_current_step") !== null) {
1081
  window.localStorage.removeItem('create-chart_current_step');
1082
  window.localStorage.removeItem('create-chart_redirect_to');
@@ -1090,7 +1115,7 @@
1090
  showButtons = "<button class='btn btn-warning float-left' data-role='end'>" + wpdtTutorialStrings.cancel_button + "</button><button class='btn btn-primary float-right' data-role='next'>" + wpdtTutorialStrings.start_button + " <i class='wpdt-icon-chevron-right m-l-5'></i></button>" + "</div></div>"
1091
  } else if (jQuery.inArray(tour2.getCurrentStep(), tour2NextButtonSteps) !== -1) {
1092
  showButtons = "<button class='btn btn-primary' data-role='next'>" + wpdtTutorialStrings.next_button + " <i class='wpdt-icon-chevron-right m-l-5'></i></button>" + "<button class='btn btn-warning' data-role='end'> " + wpdtTutorialStrings.skip_button + " </button>" + "</div></div>";
1093
- } else if (tour2.getCurrentStep() === 27) {
1094
  showButtons = "<button class='btn btn-primary float-right' data-role='end'><i class='wpdt-icon-trophy m-r-5'></i> " + wpdtTutorialStrings.finish_button + " </button>" + "</div></div>";
1095
  } else {
1096
  showButtons = "<button class='btn btn-warning' data-role='end'> " + wpdtTutorialStrings.skip_button + " </button>" + "</div></div>";
@@ -1116,6 +1141,12 @@
1116
  $demo0.removeClass("disabled");
1117
  $demo1.removeClass("disabled");
1118
  $demo2.removeClass("disabled");
 
 
 
 
 
 
1119
  }
1120
  }).init();
1121
 
@@ -1163,13 +1194,15 @@
1163
  $('#wdt-chart-wizard-next-step').on('click', function () {
1164
 
1165
  if (localStorage.getItem("create-chart_current_step") == 7 && !$('.wdt-chart-wizard-chart-selecter-block .card.selected').length ||
1166
- localStorage.getItem("create-chart_current_step") == 7 && $('.wdt-chart-wizard-chart-selecter-block .card.selected').length) {
 
 
1167
  $('#wdt-chart-wizard-previous-step').click();
1168
  $("html, body").animate({scrollTop: 0}, "slow");
1169
- } else if (localStorage.getItem("create-chart_current_step") == 10) {
1170
  $('#wdt-chart-wizard-previous-step').click();
1171
  $('#wpdatatables-chart-source').val('').selectpicker('refresh');
1172
- } else if (localStorage.getItem("create-chart_current_step") == 13) {
1173
  var observer = new MutationObserver(function (mutations) {
1174
  if ($("#wdt-chart-wizard-previous-step").length) {
1175
  $('#wdt-chart-wizard-previous-step').click();
27
  var disabledNextButton = $('#wdt-chart-wizard-next-step');
28
  var selectedChartType = $('.wdt-chart-wizard-chart-selecter-block .card.selected');
29
  var googleCharts = $('.charts-type.google-charts-type');
30
+ var ChartsJS = $('.charts-type.chartjs-charts-type');
31
 
32
+ if ((!selectedChartType.length && disabledNextButton.is(":disabled") && googleCharts.is(":visible") && currentStep === 7) ||
33
+ (!selectedChartType.length && disabledNextButton.is(":disabled") && ChartsJS.is(":visible") && currentStep === 8)) {
34
  invalidStep = tour.getCurrentStep();
35
  }
36
+ if (!selectedChartType.length && !disabledNextButton.is(":disabled") && googleCharts.is(":visible") ||
37
+ !selectedChartType.length && !disabledNextButton.is(":disabled") && ChartsJS.is(":visible")) {
38
  invalidStep = tour.getCurrentStep();
39
  }
40
+ if (disabledNextButton.is(":disabled") && currentStep === 14) {
41
  invalidStep = tour.getCurrentStep();
42
  }
43
  break;
60
  tour.goTo(tempStep);
61
  switch (stepName) {
62
  case 'create-chart':
63
+ if (currentStep === 9){
64
  errorMessage = wpdtTutorialStrings.cannot_be_empty_chart_type;
65
+ } else if (currentStep === 12){
66
  errorMessage = wpdtTutorialStrings.cannot_be_empty_chart_table;
67
+ } else if (currentStep === 15){
68
  errorMessage = wpdtTutorialStrings.cannot_be_empty_chart_table_columns;
69
  }
70
  break;
731
  onNext: function (tour) {
732
  validateStepInput(tour);
733
  }
734
+ }, {
735
  // step 8
736
+ element: ".charts-type.chartjs-charts-type",
737
+ placement: "top",
738
+ title: wpdtTutorialStrings.tour2.step7.title,
739
+ content: wpdtTutorialStrings.tour2.step7.content,
740
+ backdrop: true,
741
+ backdropContainer: 'body',
742
+ backdropPadding: 5,
743
+ onShown: function () {
744
+ $('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
745
+ $('#wdt-chart-wizard-next-step').prop('disabled', true);
746
+ $('#chart-render-engine').prop('disabled', true);
747
+ $('[data-id="chart-render-engine"]').prop('disabled', true);
748
+ $('.charts-type.chartjs-charts-type').removeClass('disabled');
749
+ },
750
+ onHidden: function () {
751
+ $('.tour-step-background').css("background-color", "inherit");
752
+ },
753
+ onNext: function (tour) {
754
+ validateStepInput(tour);
755
+ }
756
+ },{
757
+ // step 9
758
  element: "#wdt-chart-wizard-next-step",
759
  placement: "left",
760
  title: wpdtTutorialStrings.tour2.step10.title,
778
  $("html, body").animate({scrollTop: 0}, "slow");
779
  },
780
  }, {
781
+ // step 10
782
  element: ".data-source",
783
  placement: "right",
784
  title: wpdtTutorialStrings.tour2.step11.title,
795
  $('.tour-step-background').css("background-color", "inherit");
796
  }
797
  }, {
798
+ // step 11
799
  element: "#wpdatatables-chart-source",
800
  placement: "top",
801
  title: wpdtTutorialStrings.tour2.step12.title,
811
  validateStepInput(tour);
812
  }
813
  }, {
814
+ // step 12
815
  element: "#wdt-chart-wizard-next-step",
816
  placement: "left",
817
  title: wpdtTutorialStrings.tour2.step13.title,
829
  $('.tour-step-background').css("background-color", "inherit");
830
  }
831
  }, {
832
+ // step 13
833
  orphan: true,
834
  placement: "bottom",
835
  title: wpdtTutorialStrings.tour2.step14.title,
841
  $('#wdt-chart-wizard-previous-step').prop('disabled', true)
842
  }
843
  }, {
844
+ // step 14
845
  element: ".wdt-chart-column-picker-container",
846
  placement: "bottom",
847
  title: wpdtTutorialStrings.tour2.step15.title,
860
  validateStepInput(tour);
861
  }
862
  }, {
863
+ // step 15
864
  element: "#wdt-chart-wizard-next-step",
865
  placement: "left",
866
  title: wpdtTutorialStrings.tour2.step16.title,
878
  $('.tour-step-background').css("background-color", "inherit");
879
  }
880
  }, {
881
+ // step 16
882
  orphan: true,
883
  placement: "top",
884
  title: wpdtTutorialStrings.tour2.step17.title,
891
  $('#wdt-chart-wizard-previous-step').prop('disabled', true);
892
  },
893
  }, {
894
+ // step 17
895
  element: ".tab-nav.settings",
896
  placement: "right",
897
  title: wpdtTutorialStrings.tour2.step18.title,
909
 
910
  }
911
  }, {
912
+ // step 18
913
  element: "#chart-container-tabs-1",
914
  placement: "right",
915
  title: wpdtTutorialStrings.tour2.step19.title,
926
  $('.tour-step-background').css("background-color", "inherit");
927
  }
928
  }, {
929
+ // step 19
930
  element: "#chart-container-tabs-2",
931
  placement: "right",
932
  title: wpdtTutorialStrings.tour2.step19.title,
943
  $('.tour-step-background').css("background-color", "inherit");
944
  }
945
  }, {
946
+ // step 20
947
  element: "#chart-container-tabs-3",
948
  placement: "right",
949
  title: wpdtTutorialStrings.tour2.step19.title,
960
  $('.tour-step-background').css("background-color", "inherit");
961
  }
962
  }, {
963
+ // step 21
964
  element: "#chart-container-tabs-4",
965
  placement: "right",
966
  title: wpdtTutorialStrings.tour2.step19.title,
977
  $('.tour-step-background').css("background-color", "inherit");
978
  }
979
  }, {
980
+ // step 22
981
  element: "#chart-container-tabs-5",
982
  placement: "right",
983
  title: wpdtTutorialStrings.tour2.step19.title,
994
  $('.tour-step-background').css("background-color", "inherit");
995
  }
996
  }, {
997
+ // step 23
998
  element: "#chart-container-tabs-6",
999
  placement: "right",
1000
  title: wpdtTutorialStrings.tour2.step19.title,
1011
  $('.tour-step-background').css("background-color", "inherit");
1012
  }
1013
  }, {
1014
+ // step 24
1015
  element: "#chart-container-tabs-7",
1016
  placement: "right",
1017
  title: wpdtTutorialStrings.tour2.step19.title,
1028
  $('.tour-step-background').css("background-color", "inherit");
1029
  }
1030
  }, {
1031
+ // step 25
1032
  element: "#chart-container-tabs-8",
1033
  placement: "right",
1034
  title: wpdtTutorialStrings.tour2.step19.title,
1045
  $('.tour-step-background').css("background-color", "inherit");
1046
  }
1047
  }, {
1048
+ // step 26
1049
  element: ".chart-preview-container",
1050
  placement: "left",
1051
  title: wpdtTutorialStrings.tour2.step27.title,
1063
  $('#wdt-chart-wizard-next-step').prop('disabled', false)
1064
  }
1065
  }, {
1066
+ // step 27
1067
  element: "#wdt-chart-wizard-next-step",
1068
  placement: "left",
1069
  title: wpdtTutorialStrings.tour2.step28.title,
1083
  $('.tour-step-background').css("background-color", "inherit");
1084
  }
1085
  }, {
1086
+ // step 28
1087
  orphan: true,
1088
  placement: "top",
1089
  title: wpdtTutorialStrings.tour2.step29.title,
1101
  ],
1102
  template: function () {
1103
  var showButtons = '';
1104
+ var tour2NextButtonSteps = [2, 3, 4, 6, 7,8, 11, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
1105
  if (typeof tour2 == 'undefined' && localStorage.getItem("create-chart_current_step") !== null) {
1106
  window.localStorage.removeItem('create-chart_current_step');
1107
  window.localStorage.removeItem('create-chart_redirect_to');
1115
  showButtons = "<button class='btn btn-warning float-left' data-role='end'>" + wpdtTutorialStrings.cancel_button + "</button><button class='btn btn-primary float-right' data-role='next'>" + wpdtTutorialStrings.start_button + " <i class='wpdt-icon-chevron-right m-l-5'></i></button>" + "</div></div>"
1116
  } else if (jQuery.inArray(tour2.getCurrentStep(), tour2NextButtonSteps) !== -1) {
1117
  showButtons = "<button class='btn btn-primary' data-role='next'>" + wpdtTutorialStrings.next_button + " <i class='wpdt-icon-chevron-right m-l-5'></i></button>" + "<button class='btn btn-warning' data-role='end'> " + wpdtTutorialStrings.skip_button + " </button>" + "</div></div>";
1118
+ } else if (tour2.getCurrentStep() === 28) {
1119
  showButtons = "<button class='btn btn-primary float-right' data-role='end'><i class='wpdt-icon-trophy m-r-5'></i> " + wpdtTutorialStrings.finish_button + " </button>" + "</div></div>";
1120
  } else {
1121
  showButtons = "<button class='btn btn-warning' data-role='end'> " + wpdtTutorialStrings.skip_button + " </button>" + "</div></div>";
1141
  $demo0.removeClass("disabled");
1142
  $demo1.removeClass("disabled");
1143
  $demo2.removeClass("disabled");
1144
+ $('button[data-id="chart-render-engine"]').prop('disabled', false);
1145
+ $('.charts-type.google-charts-type:hidden').removeClass('disabled');
1146
+ $('.charts-type.chartjs-charts-type:hidden').removeClass('disabled');
1147
+ $('#chart-render-engine').prop('disabled', false);
1148
+ $('[data-id="chart-render-engine"]').prop('disabled', false);
1149
+ $('#wdt-chart-wizard-previous-step').prop('disabled', false);
1150
  }
1151
  }).init();
1152
 
1194
  $('#wdt-chart-wizard-next-step').on('click', function () {
1195
 
1196
  if (localStorage.getItem("create-chart_current_step") == 7 && !$('.wdt-chart-wizard-chart-selecter-block .card.selected').length ||
1197
+ localStorage.getItem("create-chart_current_step") == 8 && !$('.wdt-chart-wizard-chart-selecter-block .card.selected').length ||
1198
+ localStorage.getItem("create-chart_current_step") == 7 && $('.wdt-chart-wizard-chart-selecter-block .card.selected').length ||
1199
+ localStorage.getItem("create-chart_current_step") == 8 && $('.wdt-chart-wizard-chart-selecter-block .card.selected').length) {
1200
  $('#wdt-chart-wizard-previous-step').click();
1201
  $("html, body").animate({scrollTop: 0}, "slow");
1202
+ } else if (localStorage.getItem("create-chart_current_step") == 11) {
1203
  $('#wdt-chart-wizard-previous-step').click();
1204
  $('#wpdatatables-chart-source').val('').selectpicker('refresh');
1205
+ } else if (localStorage.getItem("create-chart_current_step") == 14) {
1206
  var observer = new MutationObserver(function (mutations) {
1207
  if ($("#wdt-chart-wizard-previous-step").length) {
1208
  $('#wdt-chart-wizard-previous-step').click();
assets/js/chartjs/Chart.js ADDED
@@ -0,0 +1,11557 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Chart.js
3
+ * http://chartjs.org/
4
+ * Version: 2.4.0
5
+ *
6
+ * Copyright 2016 Nick Downie
7
+ * Released under the MIT license
8
+ * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md
9
+ */
10
+ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Chart = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
11
+
12
+ },{}],2:[function(require,module,exports){
13
+ /* MIT license */
14
+ var colorNames = require(6);
15
+
16
+ module.exports = {
17
+ getRgba: getRgba,
18
+ getHsla: getHsla,
19
+ getRgb: getRgb,
20
+ getHsl: getHsl,
21
+ getHwb: getHwb,
22
+ getAlpha: getAlpha,
23
+
24
+ hexString: hexString,
25
+ rgbString: rgbString,
26
+ rgbaString: rgbaString,
27
+ percentString: percentString,
28
+ percentaString: percentaString,
29
+ hslString: hslString,
30
+ hslaString: hslaString,
31
+ hwbString: hwbString,
32
+ keyword: keyword
33
+ }
34
+
35
+ function getRgba(string) {
36
+ if (!string) {
37
+ return;
38
+ }
39
+ var abbr = /^#([a-fA-F0-9]{3})$/,
40
+ hex = /^#([a-fA-F0-9]{6})$/,
41
+ rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,
42
+ per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,
43
+ keyword = /(\w+)/;
44
+
45
+ var rgb = [0, 0, 0],
46
+ a = 1,
47
+ match = string.match(abbr);
48
+ if (match) {
49
+ match = match[1];
50
+ for (var i = 0; i < rgb.length; i++) {
51
+ rgb[i] = parseInt(match[i] + match[i], 16);
52
+ }
53
+ }
54
+ else if (match = string.match(hex)) {
55
+ match = match[1];
56
+ for (var i = 0; i < rgb.length; i++) {
57
+ rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);
58
+ }
59
+ }
60
+ else if (match = string.match(rgba)) {
61
+ for (var i = 0; i < rgb.length; i++) {
62
+ rgb[i] = parseInt(match[i + 1]);
63
+ }
64
+ a = parseFloat(match[4]);
65
+ }
66
+ else if (match = string.match(per)) {
67
+ for (var i = 0; i < rgb.length; i++) {
68
+ rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
69
+ }
70
+ a = parseFloat(match[4]);
71
+ }
72
+ else if (match = string.match(keyword)) {
73
+ if (match[1] == "transparent") {
74
+ return [0, 0, 0, 0];
75
+ }
76
+ rgb = colorNames[match[1]];
77
+ if (!rgb) {
78
+ return;
79
+ }
80
+ }
81
+
82
+ for (var i = 0; i < rgb.length; i++) {
83
+ rgb[i] = scale(rgb[i], 0, 255);
84
+ }
85
+ if (!a && a != 0) {
86
+ a = 1;
87
+ }
88
+ else {
89
+ a = scale(a, 0, 1);
90
+ }
91
+ rgb[3] = a;
92
+ return rgb;
93
+ }
94
+
95
+ function getHsla(string) {
96
+ if (!string) {
97
+ return;
98
+ }
99
+ var hsl = /^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
100
+ var match = string.match(hsl);
101
+ if (match) {
102
+ var alpha = parseFloat(match[4]);
103
+ var h = scale(parseInt(match[1]), 0, 360),
104
+ s = scale(parseFloat(match[2]), 0, 100),
105
+ l = scale(parseFloat(match[3]), 0, 100),
106
+ a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
107
+ return [h, s, l, a];
108
+ }
109
+ }
110
+
111
+ function getHwb(string) {
112
+ if (!string) {
113
+ return;
114
+ }
115
+ var hwb = /^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
116
+ var match = string.match(hwb);
117
+ if (match) {
118
+ var alpha = parseFloat(match[4]);
119
+ var h = scale(parseInt(match[1]), 0, 360),
120
+ w = scale(parseFloat(match[2]), 0, 100),
121
+ b = scale(parseFloat(match[3]), 0, 100),
122
+ a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
123
+ return [h, w, b, a];
124
+ }
125
+ }
126
+
127
+ function getRgb(string) {
128
+ var rgba = getRgba(string);
129
+ return rgba && rgba.slice(0, 3);
130
+ }
131
+
132
+ function getHsl(string) {
133
+ var hsla = getHsla(string);
134
+ return hsla && hsla.slice(0, 3);
135
+ }
136
+
137
+ function getAlpha(string) {
138
+ var vals = getRgba(string);
139
+ if (vals) {
140
+ return vals[3];
141
+ }
142
+ else if (vals = getHsla(string)) {
143
+ return vals[3];
144
+ }
145
+ else if (vals = getHwb(string)) {
146
+ return vals[3];
147
+ }
148
+ }
149
+
150
+ // generators
151
+ function hexString(rgb) {
152
+ return "#" + hexDouble(rgb[0]) + hexDouble(rgb[1])
153
+ + hexDouble(rgb[2]);
154
+ }
155
+
156
+ function rgbString(rgba, alpha) {
157
+ if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
158
+ return rgbaString(rgba, alpha);
159
+ }
160
+ return "rgb(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2] + ")";
161
+ }
162
+
163
+ function rgbaString(rgba, alpha) {
164
+ if (alpha === undefined) {
165
+ alpha = (rgba[3] !== undefined ? rgba[3] : 1);
166
+ }
167
+ return "rgba(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2]
168
+ + ", " + alpha + ")";
169
+ }
170
+
171
+ function percentString(rgba, alpha) {
172
+ if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
173
+ return percentaString(rgba, alpha);
174
+ }
175
+ var r = Math.round(rgba[0]/255 * 100),
176
+ g = Math.round(rgba[1]/255 * 100),
177
+ b = Math.round(rgba[2]/255 * 100);
178
+
179
+ return "rgb(" + r + "%, " + g + "%, " + b + "%)";
180
+ }
181
+
182
+ function percentaString(rgba, alpha) {
183
+ var r = Math.round(rgba[0]/255 * 100),
184
+ g = Math.round(rgba[1]/255 * 100),
185
+ b = Math.round(rgba[2]/255 * 100);
186
+ return "rgba(" + r + "%, " + g + "%, " + b + "%, " + (alpha || rgba[3] || 1) + ")";
187
+ }
188
+
189
+ function hslString(hsla, alpha) {
190
+ if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {
191
+ return hslaString(hsla, alpha);
192
+ }
193
+ return "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)";
194
+ }
195
+
196
+ function hslaString(hsla, alpha) {
197
+ if (alpha === undefined) {
198
+ alpha = (hsla[3] !== undefined ? hsla[3] : 1);
199
+ }
200
+ return "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, "
201
+ + alpha + ")";
202
+ }
203
+
204
+ // hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
205
+ // (hwb have alpha optional & 1 is default value)
206
+ function hwbString(hwb, alpha) {
207
+ if (alpha === undefined) {
208
+ alpha = (hwb[3] !== undefined ? hwb[3] : 1);
209
+ }
210
+ return "hwb(" + hwb[0] + ", " + hwb[1] + "%, " + hwb[2] + "%"
211
+ + (alpha !== undefined && alpha !== 1 ? ", " + alpha : "") + ")";
212
+ }
213
+
214
+ function keyword(rgb) {
215
+ return reverseNames[rgb.slice(0, 3)];
216
+ }
217
+
218
+ // helpers
219
+ function scale(num, min, max) {
220
+ return Math.min(Math.max(min, num), max);
221
+ }
222
+
223
+ function hexDouble(num) {
224
+ var str = num.toString(16).toUpperCase();
225
+ return (str.length < 2) ? "0" + str : str;
226
+ }
227
+
228
+
229
+ //create a list of reverse color names
230
+ var reverseNames = {};
231
+ for (var name in colorNames) {
232
+ reverseNames[colorNames[name]] = name;
233
+ }
234
+
235
+ },{"6":6}],3:[function(require,module,exports){
236
+ /* MIT license */
237
+ var convert = require(5);
238
+ var string = require(2);
239
+
240
+ var ChartJSColor = function (obj) {
241
+ if (obj instanceof ChartJSColor) {
242
+ return obj;
243
+ }
244
+ if (!(this instanceof ChartJSColor)) {
245
+ return new ChartJSColor(obj);
246
+ }
247
+
248
+ this.values = {
249
+ rgb: [0, 0, 0],
250
+ hsl: [0, 0, 0],
251
+ hsv: [0, 0, 0],
252
+ hwb: [0, 0, 0],
253
+ cmyk: [0, 0, 0, 0],
254
+ alpha: 1
255
+ };
256
+
257
+ // parse Color() argument
258
+ var vals;
259
+ if (typeof obj === 'string') {
260
+ vals = string.getRgba(obj);
261
+ if (vals) {
262
+ this.setValues('rgb', vals);
263
+ } else if (vals = string.getHsla(obj)) {
264
+ this.setValues('hsl', vals);
265
+ } else if (vals = string.getHwb(obj)) {
266
+ this.setValues('hwb', vals);
267
+ } else {
268
+ throw new Error('Unable to parse color from string "' + obj + '"');
269
+ }
270
+ } else if (typeof obj === 'object') {
271
+ vals = obj;
272
+ if (vals.r !== undefined || vals.red !== undefined) {
273
+ this.setValues('rgb', vals);
274
+ } else if (vals.l !== undefined || vals.lightness !== undefined) {
275
+ this.setValues('hsl', vals);
276
+ } else if (vals.v !== undefined || vals.value !== undefined) {
277
+ this.setValues('hsv', vals);
278
+ } else if (vals.w !== undefined || vals.whiteness !== undefined) {
279
+ this.setValues('hwb', vals);
280
+ } else if (vals.c !== undefined || vals.cyan !== undefined) {
281
+ this.setValues('cmyk', vals);
282
+ } else {
283
+ throw new Error('Unable to parse color from object ' + JSON.stringify(obj));
284
+ }
285
+ }
286
+ };
287
+
288
+ ChartJSColor.prototype = {
289
+ rgb: function () {
290
+ return this.setSpace('rgb', arguments);
291
+ },
292
+ hsl: function () {
293
+ return this.setSpace('hsl', arguments);
294
+ },
295
+ hsv: function () {
296
+ return this.setSpace('hsv', arguments);
297
+ },
298
+ hwb: function () {
299
+ return this.setSpace('hwb', arguments);
300
+ },
301
+ cmyk: function () {
302
+ return this.setSpace('cmyk', arguments);
303
+ },
304
+
305
+ rgbArray: function () {
306
+ return this.values.rgb;
307
+ },
308
+ hslArray: function () {
309
+ return this.values.hsl;
310
+ },
311
+ hsvArray: function () {
312
+ return this.values.hsv;
313
+ },
314
+ hwbArray: function () {
315
+ var values = this.values;
316
+ if (values.alpha !== 1) {
317
+ return values.hwb.concat([values.alpha]);
318
+ }
319
+ return values.hwb;
320
+ },
321
+ cmykArray: function () {
322
+ return this.values.cmyk;
323
+ },
324
+ rgbaArray: function () {
325
+ var values = this.values;
326
+ return values.rgb.concat([values.alpha]);
327
+ },
328
+ hslaArray: function () {
329
+ var values = this.values;
330
+ return values.hsl.concat([values.alpha]);
331
+ },
332
+ alpha: function (val) {
333
+ if (val === undefined) {
334
+ return this.values.alpha;
335
+ }
336
+ this.setValues('alpha', val);
337
+ return this;
338
+ },
339
+
340
+ red: function (val) {
341
+ return this.setChannel('rgb', 0, val);
342
+ },
343
+ green: function (val) {
344
+ return this.setChannel('rgb', 1, val);
345
+ },
346
+ blue: function (val) {
347
+ return this.setChannel('rgb', 2, val);
348
+ },
349
+ hue: function (val) {
350
+ if (val) {
351
+ val %= 360;
352
+ val = val < 0 ? 360 + val : val;
353
+ }
354
+ return this.setChannel('hsl', 0, val);
355
+ },
356
+ saturation: function (val) {
357
+ return this.setChannel('hsl', 1, val);
358
+ },
359
+ lightness: function (val) {
360
+ return this.setChannel('hsl', 2, val);
361
+ },
362
+ saturationv: function (val) {
363
+ return this.setChannel('hsv', 1, val);
364
+ },
365
+ whiteness: function (val) {
366
+ return this.setChannel('hwb', 1, val);
367
+ },
368
+ blackness: function (val) {
369
+ return this.setChannel('hwb', 2, val);
370
+ },
371
+ value: function (val) {
372
+ return this.setChannel('hsv', 2, val);
373
+ },
374
+ cyan: function (val) {
375
+ return this.setChannel('cmyk', 0, val);
376
+ },
377
+ magenta: function (val) {
378
+ return this.setChannel('cmyk', 1, val);
379
+ },
380
+ yellow: function (val) {
381
+ return this.setChannel('cmyk', 2, val);
382
+ },
383
+ black: function (val) {
384
+ return this.setChannel('cmyk', 3, val);
385
+ },
386
+
387
+ hexString: function () {
388
+ return string.hexString(this.values.rgb);
389
+ },
390
+ rgbString: function () {
391
+ return string.rgbString(this.values.rgb, this.values.alpha);
392
+ },
393
+ rgbaString: function () {
394
+ return string.rgbaString(this.values.rgb, this.values.alpha);
395
+ },
396
+ percentString: function () {
397
+ return string.percentString(this.values.rgb, this.values.alpha);
398
+ },
399
+ hslString: function () {
400
+ return string.hslString(this.values.hsl, this.values.alpha);
401
+ },
402
+ hslaString: function () {
403
+ return string.hslaString(this.values.hsl, this.values.alpha);
404
+ },
405
+ hwbString: function () {
406
+ return string.hwbString(this.values.hwb, this.values.alpha);
407
+ },
408
+ keyword: function () {
409
+ return string.keyword(this.values.rgb, this.values.alpha);
410
+ },
411
+
412
+ rgbNumber: function () {
413
+ var rgb = this.values.rgb;
414
+ return (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];
415
+ },
416
+
417
+ luminosity: function () {
418
+ // http://www.w3.org/TR/WCAG20/#relativeluminancedef
419
+ var rgb = this.values.rgb;
420
+ var lum = [];
421
+ for (var i = 0; i < rgb.length; i++) {
422
+ var chan = rgb[i] / 255;
423
+ lum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);
424
+ }
425
+ return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
426
+ },
427
+
428
+ contrast: function (color2) {
429
+ // http://www.w3.org/TR/WCAG20/#contrast-ratiodef
430
+ var lum1 = this.luminosity();
431
+ var lum2 = color2.luminosity();
432
+ if (lum1 > lum2) {
433
+ return (lum1 + 0.05) / (lum2 + 0.05);
434
+ }
435
+ return (lum2 + 0.05) / (lum1 + 0.05);
436
+ },
437
+
438
+ level: function (color2) {
439
+ var contrastRatio = this.contrast(color2);
440
+ if (contrastRatio >= 7.1) {
441
+ return 'AAA';
442
+ }
443
+
444
+ return (contrastRatio >= 4.5) ? 'AA' : '';
445
+ },
446
+
447
+ dark: function () {
448
+ // YIQ equation from http://24ways.org/2010/calculating-color-contrast
449
+ var rgb = this.values.rgb;
450
+ var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;
451
+ return yiq < 128;
452
+ },
453
+
454
+ light: function () {
455
+ return !this.dark();
456
+ },
457
+
458
+ negate: function () {
459
+ var rgb = [];
460
+ for (var i = 0; i < 3; i++) {
461
+ rgb[i] = 255 - this.values.rgb[i];
462
+ }
463
+ this.setValues('rgb', rgb);
464
+ return this;
465
+ },
466
+
467
+ lighten: function (ratio) {
468
+ var hsl = this.values.hsl;
469
+ hsl[2] += hsl[2] * ratio;
470
+ this.setValues('hsl', hsl);
471
+ return this;
472
+ },
473
+
474
+ darken: function (ratio) {
475
+ var hsl = this.values.hsl;
476
+ hsl[2] -= hsl[2] * ratio;
477
+ this.setValues('hsl', hsl);
478
+ return this;
479
+ },
480
+
481
+ saturate: function (ratio) {
482
+ var hsl = this.values.hsl;
483
+ hsl[1] += hsl[1] * ratio;
484
+ this.setValues('hsl', hsl);
485
+ return this;
486
+ },
487
+
488
+ desaturate: function (ratio) {
489
+ var hsl = this.values.hsl;
490
+ hsl[1] -= hsl[1] * ratio;
491
+ this.setValues('hsl', hsl);
492
+ return this;
493
+ },
494
+
495
+ whiten: function (ratio) {
496
+ var hwb = this.values.hwb;
497
+ hwb[1] += hwb[1] * ratio;
498
+ this.setValues('hwb', hwb);
499
+ return this;
500
+ },
501
+
502
+ blacken: function (ratio) {
503
+ var hwb = this.values.hwb;
504
+ hwb[2] += hwb[2] * ratio;
505
+ this.setValues('hwb', hwb);
506
+ return this;
507
+ },
508
+
509
+ greyscale: function () {
510
+ var rgb = this.values.rgb;
511
+ // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale
512
+ var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
513
+ this.setValues('rgb', [val, val, val]);
514
+ return this;
515
+ },
516
+
517
+ clearer: function (ratio) {
518
+ var alpha = this.values.alpha;
519
+ this.setValues('alpha', alpha - (alpha * ratio));
520
+ return this;
521
+ },
522
+
523
+ opaquer: function (ratio) {
524
+ var alpha = this.values.alpha;
525
+ this.setValues('alpha', alpha + (alpha * ratio));
526
+ return this;
527
+ },
528
+
529
+ rotate: function (degrees) {
530
+ var hsl = this.values.hsl;
531
+ var hue = (hsl[0] + degrees) % 360;
532
+ hsl[0] = hue < 0 ? 360 + hue : hue;
533
+ this.setValues('hsl', hsl);
534
+ return this;
535
+ },
536
+
537
+ /**
538
+ * Ported from sass implementation in C
539
+ * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
540
+ */
541
+ mix: function (mixinColor, weight) {
542
+ var color1 = this;
543
+ var color2 = mixinColor;
544
+ var p = weight === undefined ? 0.5 : weight;
545
+
546
+ var w = 2 * p - 1;
547
+ var a = color1.alpha() - color2.alpha();
548
+
549
+ var w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;
550
+ var w2 = 1 - w1;
551
+
552
+ return this
553
+ .rgb(
554
+ w1 * color1.red() + w2 * color2.red(),
555
+ w1 * color1.green() + w2 * color2.green(),
556
+ w1 * color1.blue() + w2 * color2.blue()
557
+ )
558
+ .alpha(color1.alpha() * p + color2.alpha() * (1 - p));
559
+ },
560
+
561
+ toJSON: function () {
562
+ return this.rgb();
563
+ },
564
+
565
+ clone: function () {
566
+ // NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,
567
+ // making the final build way to big to embed in Chart.js. So let's do it manually,
568
+ // assuming that values to clone are 1 dimension arrays containing only numbers,
569
+ // except 'alpha' which is a number.
570
+ var result = new ChartJSColor();
571
+ var source = this.values;
572
+ var target = result.values;
573
+ var value, type;
574
+
575
+ for (var prop in source) {
576
+ if (source.hasOwnProperty(prop)) {
577
+ value = source[prop];
578
+ type = ({}).toString.call(value);
579
+ if (type === '[object Array]') {
580
+ target[prop] = value.slice(0);
581
+ } else if (type === '[object Number]') {
582
+ target[prop] = value;
583
+ } else {
584
+ console.error('unexpected color value:', value);
585
+ }
586
+ }
587
+ }
588
+
589
+ return result;
590
+ }
591
+ };
592
+
593
+ ChartJSColor.prototype.spaces = {
594
+ rgb: ['red', 'green', 'blue'],
595
+ hsl: ['hue', 'saturation', 'lightness'],
596
+ hsv: ['hue', 'saturation', 'value'],
597
+ hwb: ['hue', 'whiteness', 'blackness'],
598
+ cmyk: ['cyan', 'magenta', 'yellow', 'black']
599
+ };
600
+
601
+ ChartJSColor.prototype.maxes = {
602
+ rgb: [255, 255, 255],
603
+ hsl: [360, 100, 100],
604
+ hsv: [360, 100, 100],
605
+ hwb: [360, 100, 100],
606
+ cmyk: [100, 100, 100, 100]
607
+ };
608
+
609
+ ChartJSColor.prototype.getValues = function (space) {
610
+ var values = this.values;
611
+ var vals = {};
612
+
613
+ for (var i = 0; i < space.length; i++) {
614
+ vals[space.charAt(i)] = values[space][i];
615
+ }
616
+
617
+ if (values.alpha !== 1) {
618
+ vals.a = values.alpha;
619
+ }
620
+
621
+ // {r: 255, g: 255, b: 255, a: 0.4}
622
+ return vals;
623
+ };
624
+
625
+ ChartJSColor.prototype.setValues = function (space, vals) {
626
+ var values = this.values;
627
+ var spaces = this.spaces;
628
+ var maxes = this.maxes;
629
+ var alpha = 1;
630
+ var i;
631
+
632
+ if (space === 'alpha') {
633
+ alpha = vals;
634
+ } else if (vals.length) {
635
+ // [10, 10, 10]
636
+ values[space] = vals.slice(0, space.length);
637
+ alpha = vals[space.length];
638
+ } else if (vals[space.charAt(0)] !== undefined) {
639
+ // {r: 10, g: 10, b: 10}
640
+ for (i = 0; i < space.length; i++) {
641
+ values[space][i] = vals[space.charAt(i)];
642
+ }
643
+
644
+ alpha = vals.a;
645
+ } else if (vals[spaces[space][0]] !== undefined) {
646
+ // {red: 10, green: 10, blue: 10}
647
+ var chans = spaces[space];
648
+
649
+ for (i = 0; i < space.length; i++) {
650
+ values[space][i] = vals[chans[i]];
651
+ }
652
+
653
+ alpha = vals.alpha;
654
+ }
655
+
656
+ values.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));
657
+
658
+ if (space === 'alpha') {
659
+ return false;
660
+ }
661
+
662
+ var capped;
663
+
664
+ // cap values of the space prior converting all values
665
+ for (i = 0; i < space.length; i++) {
666
+ capped = Math.max(0, Math.min(maxes[space][i], values[space][i]));
667
+ values[space][i] = Math.round(capped);
668
+ }
669
+
670
+ // convert to all the other color spaces
671
+ for (var sname in spaces) {
672
+ if (sname !== space) {
673
+ values[sname] = convert[space][sname](values[space]);
674
+ }
675
+ }
676
+
677
+ return true;
678
+ };
679
+
680
+ ChartJSColor.prototype.setSpace = function (space, args) {
681
+ var vals = args[0];
682
+
683
+ if (vals === undefined) {
684
+ // color.rgb()
685
+ return this.getValues(space);
686
+ }
687
+
688
+ // color.rgb(10, 10, 10)
689
+ if (typeof vals === 'number') {
690
+ vals = Array.prototype.slice.call(args);
691
+ }
692
+
693
+ this.setValues(space, vals);
694
+ return this;
695
+ };
696
+
697
+ ChartJSColor.prototype.setChannel = function (space, index, val) {
698
+ var svalues = this.values[space];
699
+ if (val === undefined) {
700
+ // color.red()
701
+ return svalues[index];
702
+ } else if (val === svalues[index]) {
703
+ // color.red(color.red())
704
+ return this;
705
+ }
706
+
707
+ // color.red(100)
708
+ svalues[index] = val;
709
+ this.setValues(space, svalues);
710
+
711
+ return this;
712
+ };
713
+
714
+ if (typeof window !== 'undefined') {
715
+ window.ChartJSColor = ChartJSColor;
716
+ }
717
+
718
+ module.exports = ChartJSColor;
719
+
720
+ },{"2":2,"5":5}],4:[function(require,module,exports){
721
+ /* MIT license */
722
+
723
+ module.exports = {
724
+ rgb2hsl: rgb2hsl,
725
+ rgb2hsv: rgb2hsv,
726
+ rgb2hwb: rgb2hwb,
727
+ rgb2cmyk: rgb2cmyk,
728
+ rgb2keyword: rgb2keyword,
729
+ rgb2xyz: rgb2xyz,
730
+ rgb2lab: rgb2lab,
731
+ rgb2lch: rgb2lch,
732
+
733
+ hsl2rgb: hsl2rgb,
734
+ hsl2hsv: hsl2hsv,
735
+ hsl2hwb: hsl2hwb,
736
+ hsl2cmyk: hsl2cmyk,
737
+ hsl2keyword: hsl2keyword,
738
+
739
+ hsv2rgb: hsv2rgb,
740
+ hsv2hsl: hsv2hsl,
741
+ hsv2hwb: hsv2hwb,
742
+ hsv2cmyk: hsv2cmyk,
743
+ hsv2keyword: hsv2keyword,
744
+
745
+ hwb2rgb: hwb2rgb,
746
+ hwb2hsl: hwb2hsl,
747
+ hwb2hsv: hwb2hsv,
748
+ hwb2cmyk: hwb2cmyk,
749
+ hwb2keyword: hwb2keyword,
750
+
751
+ cmyk2rgb: cmyk2rgb,
752
+ cmyk2hsl: cmyk2hsl,
753
+ cmyk2hsv: cmyk2hsv,
754
+ cmyk2hwb: cmyk2hwb,
755
+ cmyk2keyword: cmyk2keyword,
756
+
757
+ keyword2rgb: keyword2rgb,
758
+ keyword2hsl: keyword2hsl,
759
+ keyword2hsv: keyword2hsv,
760
+ keyword2hwb: keyword2hwb,
761
+ keyword2cmyk: keyword2cmyk,
762
+ keyword2lab: keyword2lab,
763
+ keyword2xyz: keyword2xyz,
764
+
765
+ xyz2rgb: xyz2rgb,
766
+ xyz2lab: xyz2lab,
767
+ xyz2lch: xyz2lch,
768
+
769
+ lab2xyz: lab2xyz,
770
+ lab2rgb: lab2rgb,
771
+ lab2lch: lab2lch,
772
+
773
+ lch2lab: lch2lab,
774
+ lch2xyz: lch2xyz,
775
+ lch2rgb: lch2rgb
776
+ }
777
+
778
+
779
+ function rgb2hsl(rgb) {
780
+ var r = rgb[0]/255,
781
+ g = rgb[1]/255,
782
+ b = rgb[2]/255,
783
+ min = Math.min(r, g, b),
784
+ max = Math.max(r, g, b),
785
+ delta = max - min,
786
+ h, s, l;
787
+
788
+ if (max == min)
789
+ h = 0;
790
+ else if (r == max)
791
+ h = (g - b) / delta;
792
+ else if (g == max)
793
+ h = 2 + (b - r) / delta;
794
+ else if (b == max)
795
+ h = 4 + (r - g)/ delta;
796
+
797
+ h = Math.min(h * 60, 360);
798
+
799
+ if (h < 0)
800
+ h += 360;
801
+
802
+ l = (min + max) / 2;
803
+
804
+ if (max == min)
805
+ s = 0;
806
+ else if (l <= 0.5)
807
+ s = delta / (max + min);
808
+ else
809
+ s = delta / (2 - max - min);
810
+
811
+ return [h, s * 100, l * 100];
812
+ }
813
+
814
+ function rgb2hsv(rgb) {
815
+ var r = rgb[0],
816
+ g = rgb[1],
817
+ b = rgb[2],
818
+ min = Math.min(r, g, b),
819
+ max = Math.max(r, g, b),
820
+ delta = max - min,
821
+ h, s, v;
822
+
823
+ if (max == 0)
824
+ s = 0;
825
+ else
826
+ s = (delta/max * 1000)/10;
827
+
828
+ if (max == min)
829
+ h = 0;
830
+ else if (r == max)
831
+ h = (g - b) / delta;
832
+ else if (g == max)
833
+ h = 2 + (b - r) / delta;
834
+ else if (b == max)
835
+ h = 4 + (r - g) / delta;
836
+
837
+ h = Math.min(h * 60, 360);
838
+
839
+ if (h < 0)
840
+ h += 360;
841
+
842
+ v = ((max / 255) * 1000) / 10;
843
+
844
+ return [h, s, v];
845
+ }
846
+
847
+ function rgb2hwb(rgb) {
848
+ var r = rgb[0],
849
+ g = rgb[1],
850
+ b = rgb[2],
851
+ h = rgb2hsl(rgb)[0],
852
+ w = 1/255 * Math.min(r, Math.min(g, b)),
853
+ b = 1 - 1/255 * Math.max(r, Math.max(g, b));
854
+
855
+ return [h, w * 100, b * 100];
856
+ }
857
+
858
+ function rgb2cmyk(rgb) {
859
+ var r = rgb[0] / 255,
860
+ g = rgb[1] / 255,
861
+ b = rgb[2] / 255,
862
+ c, m, y, k;
863
+
864
+ k = Math.min(1 - r, 1 - g, 1 - b);
865
+ c = (1 - r - k) / (1 - k) || 0;
866
+ m = (1 - g - k) / (1 - k) || 0;
867
+ y = (1 - b - k) / (1 - k) || 0;
868
+ return [c * 100, m * 100, y * 100, k * 100];
869
+ }
870
+
871
+ function rgb2keyword(rgb) {
872
+ return reverseKeywords[JSON.stringify(rgb)];
873
+ }
874
+
875
+ function rgb2xyz(rgb) {
876
+ var r = rgb[0] / 255,
877
+ g = rgb[1] / 255,
878
+ b = rgb[2] / 255;
879
+
880
+ // assume sRGB
881
+ r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);
882
+ g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);
883
+ b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);
884
+
885
+ var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
886
+ var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
887
+ var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);
888
+
889
+ return [x * 100, y *100, z * 100];
890
+ }
891
+
892
+ function rgb2lab(rgb) {
893
+ var xyz = rgb2xyz(rgb),
894
+ x = xyz[0],
895
+ y = xyz[1],
896
+ z = xyz[2],
897
+ l, a, b;
898
+
899
+ x /= 95.047;
900
+ y /= 100;
901
+ z /= 108.883;
902
+
903
+ x = x > 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);
904
+ y = y > 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);
905
+ z = z > 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);
906
+
907
+ l = (116 * y) - 16;
908
+ a = 500 * (x - y);
909
+ b = 200 * (y - z);
910
+
911
+ return [l, a, b];
912
+ }
913
+
914
+ function rgb2lch(args) {
915
+ return lab2lch(rgb2lab(args));
916
+ }
917
+
918
+ function hsl2rgb(hsl) {
919
+ var h = hsl[0] / 360,
920
+ s = hsl[1] / 100,
921
+ l = hsl[2] / 100,
922
+ t1, t2, t3, rgb, val;
923
+
924
+ if (s == 0) {
925
+ val = l * 255;
926
+ return [val, val, val];
927
+ }
928
+
929
+ if (l < 0.5)
930
+ t2 = l * (1 + s);
931
+ else
932
+ t2 = l + s - l * s;
933
+ t1 = 2 * l - t2;
934
+
935
+ rgb = [0, 0, 0];
936
+ for (var i = 0; i < 3; i++) {
937
+ t3 = h + 1 / 3 * - (i - 1);
938
+ t3 < 0 && t3++;
939
+ t3 > 1 && t3--;
940
+
941
+ if (6 * t3 < 1)
942
+ val = t1 + (t2 - t1) * 6 * t3;
943
+ else if (2 * t3 < 1)
944
+ val = t2;
945
+ else if (3 * t3 < 2)
946
+ val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
947
+ else
948
+ val = t1;
949
+
950
+ rgb[i] = val * 255;
951
+ }
952
+
953
+ return rgb;
954
+ }
955
+
956
+ function hsl2hsv(hsl) {
957
+ var h = hsl[0],
958
+ s = hsl[1] / 100,
959
+ l = hsl[2] / 100,
960
+ sv, v;
961
+
962
+ if(l === 0) {
963
+ // no need to do calc on black
964
+ // also avoids divide by 0 error
965
+ return [0, 0, 0];
966
+ }
967
+
968
+ l *= 2;
969
+ s *= (l <= 1) ? l : 2 - l;
970
+ v = (l + s) / 2;
971
+ sv = (2 * s) / (l + s);
972
+ return [h, sv * 100, v * 100];
973
+ }
974
+
975
+ function hsl2hwb(args) {
976
+ return rgb2hwb(hsl2rgb(args));
977
+ }
978
+
979
+ function hsl2cmyk(args) {
980
+ return rgb2cmyk(hsl2rgb(args));
981
+ }
982
+
983
+ function hsl2keyword(args) {
984
+ return rgb2keyword(hsl2rgb(args));
985
+ }
986
+
987
+
988
+ function hsv2rgb(hsv) {
989
+ var h = hsv[0] / 60,
990
+ s = hsv[1] / 100,
991
+ v = hsv[2] / 100,
992
+ hi = Math.floor(h) % 6;
993
+
994
+ var f = h - Math.floor(h),
995
+ p = 255 * v * (1 - s),
996
+ q = 255 * v * (1 - (s * f)),
997
+ t = 255 * v * (1 - (s * (1 - f))),
998
+ v = 255 * v;
999
+
1000
+ switch(hi) {
1001
+ case 0:
1002
+ return [v, t, p];
1003
+ case 1:
1004
+ return [q, v, p];
1005
+ case 2:
1006
+ return [p, v, t];
1007
+ case 3:
1008
+ return [p, q, v];
1009
+ case 4:
1010
+ return [t, p, v];
1011
+ case 5:
1012
+ return [v, p, q];
1013
+ }
1014
+ }
1015
+
1016
+ function hsv2hsl(hsv) {
1017
+ var h = hsv[0],
1018
+ s = hsv[1] / 100,
1019
+ v = hsv[2] / 100,
1020
+ sl, l;
1021
+
1022
+ l = (2 - s) * v;
1023
+ sl = s * v;
1024
+ sl /= (l <= 1) ? l : 2 - l;
1025
+ sl = sl || 0;
1026
+ l /= 2;
1027
+ return [h, sl * 100, l * 100];
1028
+ }
1029
+
1030
+ function hsv2hwb(args) {
1031
+ return rgb2hwb(hsv2rgb(args))
1032
+ }
1033
+
1034
+ function hsv2cmyk(args) {
1035
+ return rgb2cmyk(hsv2rgb(args));
1036
+ }
1037
+
1038
+ function hsv2keyword(args) {
1039
+ return rgb2keyword(hsv2rgb(args));
1040
+ }
1041
+
1042
+ // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
1043
+ function hwb2rgb(hwb) {
1044
+ var h = hwb[0] / 360,
1045
+ wh = hwb[1] / 100,
1046
+ bl = hwb[2] / 100,
1047
+ ratio = wh + bl,
1048
+ i, v, f, n;
1049
+
1050
+ // wh + bl cant be > 1
1051
+ if (ratio > 1) {
1052
+ wh /= ratio;
1053
+ bl /= ratio;
1054
+ }
1055
+
1056
+ i = Math.floor(6 * h);
1057
+ v = 1 - bl;
1058
+ f = 6 * h - i;
1059
+ if ((i & 0x01) != 0) {
1060
+ f = 1 - f;
1061
+ }
1062
+ n = wh + f * (v - wh); // linear interpolation
1063
+
1064
+ switch (i) {
1065
+ default:
1066
+ case 6:
1067
+ case 0: r = v; g = n; b = wh; break;
1068
+ case 1: r = n; g = v; b = wh; break;
1069
+ case 2: r = wh; g = v; b = n; break;
1070
+ case 3: r = wh; g = n; b = v; break;
1071
+ case 4: r = n; g = wh; b = v; break;
1072
+ case 5: r = v; g = wh; b = n; break;
1073
+ }
1074
+
1075
+ return [r * 255, g * 255, b * 255];
1076
+ }
1077
+
1078
+ function hwb2hsl(args) {
1079
+ return rgb2hsl(hwb2rgb(args));
1080
+ }
1081
+
1082
+ function hwb2hsv(args) {
1083
+ return rgb2hsv(hwb2rgb(args));
1084
+ }
1085
+
1086
+ function hwb2cmyk(args) {
1087
+ return rgb2cmyk(hwb2rgb(args));
1088
+ }
1089
+
1090
+ function hwb2keyword(args) {
1091
+ return rgb2keyword(hwb2rgb(args));
1092
+ }
1093
+
1094
+ function cmyk2rgb(cmyk) {
1095
+ var c = cmyk[0] / 100,
1096
+ m = cmyk[1] / 100,
1097
+ y = cmyk[2] / 100,
1098
+ k = cmyk[3] / 100,
1099
+ r, g, b;
1100
+
1101
+ r = 1 - Math.min(1, c * (1 - k) + k);
1102
+ g = 1 - Math.min(1, m * (1 - k) + k);
1103
+ b = 1 - Math.min(1, y * (1 - k) + k);
1104
+ return [r * 255, g * 255, b * 255];
1105
+ }
1106
+
1107
+ function cmyk2hsl(args) {
1108
+ return rgb2hsl(cmyk2rgb(args));
1109
+ }
1110
+
1111
+ function cmyk2hsv(args) {
1112
+ return rgb2hsv(cmyk2rgb(args));
1113
+ }
1114
+
1115
+ function cmyk2hwb(args) {
1116
+ return rgb2hwb(cmyk2rgb(args));
1117
+ }
1118
+
1119
+ function cmyk2keyword(args) {
1120
+ return rgb2keyword(cmyk2rgb(args));
1121
+ }
1122
+
1123
+
1124
+ function xyz2rgb(xyz) {
1125
+ var x = xyz[0] / 100,
1126
+ y = xyz[1] / 100,
1127
+ z = xyz[2] / 100,
1128
+ r, g, b;
1129
+
1130
+ r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);
1131
+ g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);
1132
+ b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);
1133
+
1134
+ // assume sRGB
1135
+ r = r > 0.0031308 ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)
1136
+ : r = (r * 12.92);
1137
+
1138
+ g = g > 0.0031308 ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)
1139
+ : g = (g * 12.92);
1140
+
1141
+ b = b > 0.0031308 ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)
1142
+ : b = (b * 12.92);
1143
+
1144
+ r = Math.min(Math.max(0, r), 1);
1145
+ g = Math.min(Math.max(0, g), 1);
1146
+ b = Math.min(Math.max(0, b), 1);
1147
+
1148
+ return [r * 255, g * 255, b * 255];
1149
+ }
1150
+
1151
+ function xyz2lab(xyz) {
1152
+ var x = xyz[0],
1153
+ y = xyz[1],
1154
+ z = xyz[2],
1155
+ l, a, b;
1156
+
1157
+ x /= 95.047;
1158
+ y /= 100;
1159
+ z /= 108.883;
1160
+
1161
+ x = x > 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);
1162
+ y = y > 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);
1163
+ z = z > 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);
1164
+
1165
+ l = (116 * y) - 16;
1166
+ a = 500 * (x - y);
1167
+ b = 200 * (y - z);
1168
+
1169
+ return [l, a, b];
1170
+ }
1171
+
1172
+ function xyz2lch(args) {
1173
+ return lab2lch(xyz2lab(args));
1174
+ }
1175
+
1176
+ function lab2xyz(lab) {
1177
+ var l = lab[0],
1178
+ a = lab[1],
1179
+ b = lab[2],
1180
+ x, y, z, y2;
1181
+
1182
+ if (l <= 8) {
1183
+ y = (l * 100) / 903.3;
1184
+ y2 = (7.787 * (y / 100)) + (16 / 116);
1185
+ } else {
1186
+ y = 100 * Math.pow((l + 16) / 116, 3);
1187
+ y2 = Math.pow(y / 100, 1/3);
1188
+ }
1189
+
1190
+ x = x / 95.047 <= 0.008856 ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787 : 95.047 * Math.pow((a / 500) + y2, 3);
1191
+
1192
+ z = z / 108.883 <= 0.008859 ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787 : 108.883 * Math.pow(y2 - (b / 200), 3);
1193
+
1194
+ return [x, y, z];
1195
+ }
1196
+
1197
+ function lab2lch(lab) {
1198
+ var l = lab[0],
1199
+ a = lab[1],
1200
+ b = lab[2],
1201
+ hr, h, c;
1202
+
1203
+ hr = Math.atan2(b, a);
1204
+ h = hr * 360 / 2 / Math.PI;
1205
+ if (h < 0) {
1206
+ h += 360;
1207
+ }
1208
+ c = Math.sqrt(a * a + b * b);
1209
+ return [l, c, h];
1210
+ }
1211
+
1212
+ function lab2rgb(args) {
1213
+ return xyz2rgb(lab2xyz(args));
1214
+ }
1215
+
1216
+ function lch2lab(lch) {
1217
+ var l = lch[0],
1218
+ c = lch[1],
1219
+ h = lch[2],
1220
+ a, b, hr;
1221
+
1222
+ hr = h / 360 * 2 * Math.PI;
1223
+ a = c * Math.cos(hr);
1224
+ b = c * Math.sin(hr);
1225
+ return [l, a, b];
1226
+ }
1227
+
1228
+ function lch2xyz(args) {
1229
+ return lab2xyz(lch2lab(args));
1230
+ }
1231
+
1232
+ function lch2rgb(args) {
1233
+ return lab2rgb(lch2lab(args));
1234
+ }
1235
+
1236
+ function keyword2rgb(keyword) {
1237
+ return cssKeywords[keyword];
1238
+ }
1239
+
1240
+ function keyword2hsl(args) {
1241
+ return rgb2hsl(keyword2rgb(args));
1242
+ }
1243
+
1244
+ function keyword2hsv(args) {
1245
+ return rgb2hsv(keyword2rgb(args));
1246
+ }
1247
+
1248
+ function keyword2hwb(args) {
1249
+ return rgb2hwb(keyword2rgb(args));
1250
+ }
1251
+
1252
+ function keyword2cmyk(args) {
1253
+ return rgb2cmyk(keyword2rgb(args));
1254
+ }
1255
+
1256
+ function keyword2lab(args) {
1257
+ return rgb2lab(keyword2rgb(args));
1258
+ }
1259
+
1260
+ function keyword2xyz(args) {
1261
+ return rgb2xyz(keyword2rgb(args));
1262
+ }
1263
+
1264
+ var cssKeywords = {
1265
+ aliceblue: [240,248,255],
1266
+ antiquewhite: [250,235,215],
1267
+ aqua: [0,255,255],
1268
+ aquamarine: [127,255,212],
1269
+ azure: [240,255,255],
1270
+ beige: [245,245,220],
1271
+ bisque: [255,228,196],
1272
+ black: [0,0,0],
1273
+ blanchedalmond: [255,235,205],
1274
+ blue: [0,0,255],
1275
+ blueviolet: [138,43,226],
1276
+ brown: [165,42,42],
1277
+ burlywood: [222,184,135],
1278
+ cadetblue: [95,158,160],
1279
+ chartreuse: [127,255,0],
1280
+ chocolate: [210,105,30],
1281
+ coral: [255,127,80],
1282
+ cornflowerblue: [100,149,237],
1283
+ cornsilk: [255,248,220],
1284
+ crimson: [220,20,60],
1285
+ cyan: [0,255,255],
1286
+ darkblue: [0,0,139],
1287
+ darkcyan: [0,139,139],
1288
+ darkgoldenrod: [184,134,11],
1289
+ darkgray: [169,169,169],
1290
+ darkgreen: [0,100,0],
1291
+ darkgrey: [169,169,169],
1292
+ darkkhaki: [189,183,107],
1293
+ darkmagenta: [139,0,139],
1294
+ darkolivegreen: [85,107,47],
1295
+ darkorange: [255,140,0],
1296
+ darkorchid: [153,50,204],
1297
+ darkred: [139,0,0],
1298
+ darksalmon: [233,150,122],
1299
+ darkseagreen: [143,188,143],
1300
+ darkslateblue: [72,61,139],
1301
+ darkslategray: [47,79,79],
1302
+ darkslategrey: [47,79,79],
1303
+ darkturquoise: [0,206,209],
1304
+ darkviolet: [148,0,211],
1305
+ deeppink: [255,20,147],
1306
+ deepskyblue: [0,191,255],
1307
+ dimgray: [105,105,105],
1308
+ dimgrey: [105,105,105],
1309
+ dodgerblue: [30,144,255],
1310
+ firebrick: [178,34,34],
1311
+ floralwhite: [255,250,240],
1312
+ forestgreen: [34,139,34],
1313
+ fuchsia: [255,0,255],
1314
+ gainsboro: [220,220,220],
1315
+ ghostwhite: [248,248,255],
1316
+ gold: [255,215,0],
1317
+ goldenrod: [218,165,32],
1318
+ gray: [128,128,128],
1319
+ green: [0,128,0],
1320
+ greenyellow: [173,255,47],
1321
+ grey: [128,128,128],
1322
+ honeydew: [240,255,240],
1323
+ hotpink: [255,105,180],
1324
+ indianred: [205,92,92],
1325
+ indigo: [75,0,130],
1326
+ ivory: [255,255,240],
1327
+ khaki: [240,230,140],
1328
+ lavender: [230,230,250],
1329
+ lavenderblush: [255,240,245],
1330
+ lawngreen: [124,252,0],
1331
+ lemonchiffon: [255,250,205],
1332
+ lightblue: [173,216,230],
1333
+ lightcoral: [240,128,128],
1334
+ lightcyan: [224,255,255],
1335
+ lightgoldenrodyellow: [250,250,210],
1336
+ lightgray: [211,211,211],
1337
+ lightgreen: [144,238,144],
1338
+ lightgrey: [211,211,211],
1339
+ lightpink: [255,182,193],
1340
+ lightsalmon: [255,160,122],
1341
+ lightseagreen: [32,178,170],
1342
+ lightskyblue: [135,206,250],
1343
+ lightslategray: [119,136,153],
1344
+ lightslategrey: [119,136,153],
1345
+ lightsteelblue: [176,196,222],
1346
+ lightyellow: [255,255,224],
1347
+ lime: [0,255,0],
1348
+ limegreen: [50,205,50],
1349
+ linen: [250,240,230],
1350
+ magenta: [255,0,255],
1351
+ maroon: [128,0,0],
1352
+ mediumaquamarine: [102,205,170],
1353
+ mediumblue: [0,0,205],
1354
+ mediumorchid: [186,85,211],
1355
+ mediumpurple: [147,112,219],
1356
+ mediumseagreen: [60,179,113],
1357
+ mediumslateblue: [123,104,238],
1358
+ mediumspringgreen: [0,250,154],
1359
+ mediumturquoise: [72,209,204],
1360
+ mediumvioletred: [199,21,133],
1361
+ midnightblue: [25,25,112],
1362
+ mintcream: [245,255,250],
1363
+ mistyrose: [255,228,225],
1364
+ moccasin: [255,228,181],
1365
+ navajowhite: [255,222,173],
1366
+ navy: [0,0,128],
1367
+ oldlace: [253,245,230],
1368
+ olive: [128,128,0],
1369
+ olivedrab: [107,142,35],
1370
+ orange: [255,165,0],
1371
+ orangered: [255,69,0],
1372
+ orchid: [218,112,214],
1373
+ palegoldenrod: [238,232,170],
1374
+ palegreen: [152,251,152],
1375
+ paleturquoise: [175,238,238],
1376
+ palevioletred: [219,112,147],
1377
+ papayawhip: [255,239,213],
1378
+ peachpuff: [255,218,185],
1379
+ peru: [205,133,63],
1380
+ pink: [255,192,203],
1381
+ plum: [221,160,221],
1382
+ powderblue: [176,224,230],
1383
+ purple: [128,0,128],
1384
+ rebeccapurple: [102, 51, 153],
1385
+ red: [255,0,0],
1386
+ rosybrown: [188,143,143],
1387
+ royalblue: [65,105,225],
1388
+ saddlebrown: [139,69,19],
1389
+ salmon: [250,128,114],
1390
+ sandybrown: [244,164,96],
1391
+ seagreen: [46,139,87],
1392
+ seashell: [255,245,238],
1393
+ sienna: [160,82,45],
1394
+ silver: [192,192,192],
1395
+ skyblue: [135,206,235],
1396
+ slateblue: [106,90,205],
1397
+ slategray: [112,128,144],
1398
+ slategrey: [112,128,144],
1399
+ snow: [255,250,250],
1400
+ springgreen: [0,255,127],
1401
+ steelblue: [70,130,180],
1402
+ tan: [210,180,140],
1403
+ teal: [0,128,128],
1404
+ thistle: [216,191,216],
1405
+ tomato: [255,99,71],
1406
+ turquoise: [64,224,208],
1407
+ violet: [238,130,238],
1408
+ wheat: [245,222,179],
1409
+ white: [255,255,255],
1410
+ whitesmoke: [245,245,245],
1411
+ yellow: [255,255,0],
1412
+ yellowgreen: [154,205,50]
1413
+ };
1414
+
1415
+ var reverseKeywords = {};
1416
+ for (var key in cssKeywords) {
1417
+ reverseKeywords[JSON.stringify(cssKeywords[key])] = key;
1418
+ }
1419
+
1420
+ },{}],5:[function(require,module,exports){
1421
+ var conversions = require(4);
1422
+
1423
+ var convert = function() {
1424
+ return new Converter();
1425
+ }
1426
+
1427
+ for (var func in conversions) {
1428
+ // export Raw versions
1429
+ convert[func + "Raw"] = (function(func) {
1430
+ // accept array or plain args
1431
+ return function(arg) {
1432
+ if (typeof arg == "number")
1433
+ arg = Array.prototype.slice.call(arguments);
1434
+ return conversions[func](arg);
1435
+ }
1436
+ })(func);
1437
+
1438
+ var pair = /(\w+)2(\w+)/.exec(func),
1439
+ from = pair[1],
1440
+ to = pair[2];
1441
+
1442
+ // export rgb2hsl and ["rgb"]["hsl"]
1443
+ convert[from] = convert[from] || {};
1444
+
1445
+ convert[from][to] = convert[func] = (function(func) {
1446
+ return function(arg) {
1447
+ if (typeof arg == "number")
1448
+ arg = Array.prototype.slice.call(arguments);
1449
+
1450
+ var val = conversions[func](arg);
1451
+ if (typeof val == "string" || val === undefined)
1452
+ return val; // keyword
1453
+
1454
+ for (var i = 0; i < val.length; i++)
1455
+ val[i] = Math.round(val[i]);
1456
+ return val;
1457
+ }
1458
+ })(func);
1459
+ }
1460
+
1461
+
1462
+ /* Converter does lazy conversion and caching */
1463
+ var Converter = function() {
1464
+ this.convs = {};
1465
+ };
1466
+
1467
+ /* Either get the values for a space or
1468
+ set the values for a space, depending on args */
1469
+ Converter.prototype.routeSpace = function(space, args) {
1470
+ var values = args[0];
1471
+ if (values === undefined) {
1472
+ // color.rgb()
1473
+ return this.getValues(space);
1474
+ }
1475
+ // color.rgb(10, 10, 10)
1476
+ if (typeof values == "number") {
1477
+ values = Array.prototype.slice.call(args);
1478
+ }
1479
+
1480
+ return this.setValues(space, values);
1481
+ };
1482
+
1483
+ /* Set the values for a space, invalidating cache */
1484
+ Converter.prototype.setValues = function(space, values) {
1485
+ this.space = space;
1486
+ this.convs = {};
1487
+ this.convs[space] = values;
1488
+ return this;
1489
+ };
1490
+
1491
+ /* Get the values for a space. If there's already
1492
+ a conversion for the space, fetch it, otherwise
1493
+ compute it */
1494
+ Converter.prototype.getValues = function(space) {
1495
+ var vals = this.convs[space];
1496
+ if (!vals) {
1497
+ var fspace = this.space,
1498
+ from = this.convs[fspace];
1499
+ vals = convert[fspace][space](from);
1500
+
1501
+ this.convs[space] = vals;
1502
+ }
1503
+ return vals;
1504
+ };
1505
+
1506
+ ["rgb", "hsl", "hsv", "cmyk", "keyword"].forEach(function(space) {
1507
+ Converter.prototype[space] = function(vals) {
1508
+ return this.routeSpace(space, arguments);
1509
+ }
1510
+ });
1511
+
1512
+ module.exports = convert;
1513
+ },{"4":4}],6:[function(require,module,exports){
1514
+ module.exports = {
1515
+ "aliceblue": [240, 248, 255],
1516
+ "antiquewhite": [250, 235, 215],
1517
+ "aqua": [0, 255, 255],
1518
+ "aquamarine": [127, 255, 212],
1519
+ "azure": [240, 255, 255],
1520
+ "beige": [245, 245, 220],
1521
+ "bisque": [255, 228, 196],
1522
+ "black": [0, 0, 0],
1523
+ "blanchedalmond": [255, 235, 205],
1524
+ "blue": [0, 0, 255],
1525
+ "blueviolet": [138, 43, 226],
1526
+ "brown": [165, 42, 42],
1527
+ "burlywood": [222, 184, 135],
1528
+ "cadetblue": [95, 158, 160],
1529
+ "chartreuse": [127, 255, 0],
1530
+ "chocolate": [210, 105, 30],
1531
+ "coral": [255, 127, 80],
1532
+ "cornflowerblue": [100, 149, 237],
1533
+ "cornsilk": [255, 248, 220],
1534
+ "crimson": [220, 20, 60],
1535
+ "cyan": [0, 255, 255],
1536
+ "darkblue": [0, 0, 139],
1537
+ "darkcyan": [0, 139, 139],
1538
+ "darkgoldenrod": [184, 134, 11],
1539
+ "darkgray": [169, 169, 169],
1540
+ "darkgreen": [0, 100, 0],
1541
+ "darkgrey": [169, 169, 169],
1542
+ "darkkhaki": [189, 183, 107],
1543
+ "darkmagenta": [139, 0, 139],
1544
+ "darkolivegreen": [85, 107, 47],
1545
+ "darkorange": [255, 140, 0],
1546
+ "darkorchid": [153, 50, 204],
1547
+ "darkred": [139, 0, 0],
1548
+ "darksalmon": [233, 150, 122],
1549
+ "darkseagreen": [143, 188, 143],
1550
+ "darkslateblue": [72, 61, 139],
1551
+ "darkslategray": [47, 79, 79],
1552
+ "darkslategrey": [47, 79, 79],
1553
+ "darkturquoise": [0, 206, 209],
1554
+ "darkviolet": [148, 0, 211],
1555
+ "deeppink": [255, 20, 147],
1556
+ "deepskyblue": [0, 191, 255],
1557
+ "dimgray": [105, 105, 105],
1558
+ "dimgrey": [105, 105, 105],
1559
+ "dodgerblue": [30, 144, 255],
1560
+ "firebrick": [178, 34, 34],
1561
+ "floralwhite": [255, 250, 240],
1562
+ "forestgreen": [34, 139, 34],
1563
+ "fuchsia": [255, 0, 255],
1564
+ "gainsboro": [220, 220, 220],
1565
+ "ghostwhite": [248, 248, 255],
1566
+ "gold": [255, 215, 0],
1567
+ "goldenrod": [218, 165, 32],
1568
+ "gray": [128, 128, 128],
1569
+ "green": [0, 128, 0],
1570
+ "greenyellow": [173, 255, 47],
1571
+ "grey": [128, 128, 128],
1572
+ "honeydew": [240, 255, 240],
1573
+ "hotpink": [255, 105, 180],
1574
+ "indianred": [205, 92, 92],
1575
+ "indigo": [75, 0, 130],
1576
+ "ivory": [255, 255, 240],
1577
+ "khaki": [240, 230, 140],
1578
+ "lavender": [230, 230, 250],
1579
+ "lavenderblush": [255, 240, 245],
1580
+ "lawngreen": [124, 252, 0],
1581
+ "lemonchiffon": [255, 250, 205],
1582
+ "lightblue": [173, 216, 230],
1583
+ "lightcoral": [240, 128, 128],
1584
+ "lightcyan": [224, 255, 255],
1585
+ "lightgoldenrodyellow": [250, 250, 210],
1586
+ "lightgray": [211, 211, 211],
1587
+ "lightgreen": [144, 238, 144],
1588
+ "lightgrey": [211, 211, 211],
1589
+ "lightpink": [255, 182, 193],
1590
+ "lightsalmon": [255, 160, 122],
1591
+ "lightseagreen": [32, 178, 170],
1592
+ "lightskyblue": [135, 206, 250],
1593
+ "lightslategray": [119, 136, 153],
1594
+ "lightslategrey": [119, 136, 153],
1595
+ "lightsteelblue": [176, 196, 222],
1596
+ "lightyellow": [255, 255, 224],
1597
+ "lime": [0, 255, 0],
1598
+ "limegreen": [50, 205, 50],
1599
+ "linen": [250, 240, 230],
1600
+ "magenta": [255, 0, 255],
1601
+ "maroon": [128, 0, 0],
1602
+ "mediumaquamarine": [102, 205, 170],
1603
+ "mediumblue": [0, 0, 205],
1604
+ "mediumorchid": [186, 85, 211],
1605
+ "mediumpurple": [147, 112, 219],
1606
+ "mediumseagreen": [60, 179, 113],
1607
+ "mediumslateblue": [123, 104, 238],
1608
+ "mediumspringgreen": [0, 250, 154],
1609
+ "mediumturquoise": [72, 209, 204],
1610
+ "mediumvioletred": [199, 21, 133],
1611
+ "midnightblue": [25, 25, 112],
1612
+ "mintcream": [245, 255, 250],
1613
+ "mistyrose": [255, 228, 225],
1614
+ "moccasin": [255, 228, 181],
1615
+ "navajowhite": [255, 222, 173],
1616
+ "navy": [0, 0, 128],
1617
+ "oldlace": [253, 245, 230],
1618
+ "olive": [128, 128, 0],
1619
+ "olivedrab": [107, 142, 35],
1620
+ "orange": [255, 165, 0],
1621
+ "orangered": [255, 69, 0],
1622
+ "orchid": [218, 112, 214],
1623
+ "palegoldenrod": [238, 232, 170],
1624
+ "palegreen": [152, 251, 152],
1625
+ "paleturquoise": [175, 238, 238],
1626
+ "palevioletred": [219, 112, 147],
1627
+ "papayawhip": [255, 239, 213],
1628
+ "peachpuff": [255, 218, 185],
1629
+ "peru": [205, 133, 63],
1630
+ "pink": [255, 192, 203],
1631
+ "plum": [221, 160, 221],
1632
+ "powderblue": [176, 224, 230],
1633
+ "purple": [128, 0, 128],
1634
+ "rebeccapurple": [102, 51, 153],
1635
+ "red": [255, 0, 0],
1636
+ "rosybrown": [188, 143, 143],
1637
+ "royalblue": [65, 105, 225],
1638
+ "saddlebrown": [139, 69, 19],
1639
+ "salmon": [250, 128, 114],
1640
+ "sandybrown": [244, 164, 96],
1641
+ "seagreen": [46, 139, 87],
1642
+ "seashell": [255, 245, 238],
1643
+ "sienna": [160, 82, 45],
1644
+ "silver": [192, 192, 192],
1645
+ "skyblue": [135, 206, 235],
1646
+ "slateblue": [106, 90, 205],
1647
+ "slategray": [112, 128, 144],
1648
+ "slategrey": [112, 128, 144],
1649
+ "snow": [255, 250, 250],
1650
+ "springgreen": [0, 255, 127],
1651
+ "steelblue": [70, 130, 180],
1652
+ "tan": [210, 180, 140],
1653
+ "teal": [0, 128, 128],
1654
+ "thistle": [216, 191, 216],
1655
+ "tomato": [255, 99, 71],
1656
+ "turquoise": [64, 224, 208],
1657
+ "violet": [238, 130, 238],
1658
+ "wheat": [245, 222, 179],
1659
+ "white": [255, 255, 255],
1660
+ "whitesmoke": [245, 245, 245],
1661
+ "yellow": [255, 255, 0],
1662
+ "yellowgreen": [154, 205, 50]
1663
+ };
1664
+ },{}],7:[function(require,module,exports){
1665
+ /**
1666
+ * @namespace Chart
1667
+ */
1668
+ var Chart = require(28)();
1669
+
1670
+ require(26)(Chart);
1671
+ require(22)(Chart);
1672
+ require(25)(Chart);
1673
+ require(21)(Chart);
1674
+ require(23)(Chart);
1675
+ require(24)(Chart);
1676
+ require(29)(Chart);
1677
+ require(33)(Chart);
1678
+ require(31)(Chart);
1679
+ require(34)(Chart);
1680
+ require(32)(Chart);
1681
+ require(35)(Chart);
1682
+ require(30)(Chart);
1683
+ require(27)(Chart);
1684
+ require(36)(Chart);
1685
+
1686
+ require(37)(Chart);
1687
+ require(38)(Chart);
1688
+ require(39)(Chart);
1689
+ require(40)(Chart);
1690
+
1691
+ require(43)(Chart);
1692
+ require(41)(Chart);
1693
+ require(42)(Chart);
1694
+ require(44)(Chart);
1695
+ require(45)(Chart);
1696
+ require(46)(Chart);
1697
+
1698
+ // Controllers must be loaded after elements
1699
+ // See Chart.core.datasetController.dataElementType
1700
+ require(15)(Chart);
1701
+ require(16)(Chart);
1702
+ require(17)(Chart);
1703
+ require(18)(Chart);
1704
+ require(19)(Chart);
1705
+ require(20)(Chart);
1706
+
1707
+ require(8)(Chart);
1708
+ require(9)(Chart);
1709
+ require(10)(Chart);
1710
+ require(11)(Chart);
1711
+ require(12)(Chart);
1712
+ require(13)(Chart);
1713
+ require(14)(Chart);
1714
+
1715
+ window.Chart = module.exports = Chart;
1716
+
1717
+ },{"10":10,"11":11,"12":12,"13":13,"14":14,"15":15,"16":16,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"26":26,"27":27,"28":28,"29":29,"30":30,"31":31,"32":32,"33":33,"34":34,"35":35,"36":36,"37":37,"38":38,"39":39,"40":40,"41":41,"42":42,"43":43,"44":44,"45":45,"46":46,"8":8,"9":9}],8:[function(require,module,exports){
1718
+ 'use strict';
1719
+
1720
+ module.exports = function(Chart) {
1721
+
1722
+ Chart.Bar = function(context, config) {
1723
+ config.type = 'bar';
1724
+
1725
+ return new Chart(context, config);
1726
+ };
1727
+
1728
+ };
1729
+
1730
+ },{}],9:[function(require,module,exports){
1731
+ 'use strict';
1732
+
1733
+ module.exports = function(Chart) {
1734
+
1735
+ Chart.Bubble = function(context, config) {
1736
+ config.type = 'bubble';
1737
+ return new Chart(context, config);
1738
+ };
1739
+
1740
+ };
1741
+
1742
+ },{}],10:[function(require,module,exports){
1743
+ 'use strict';
1744
+
1745
+ module.exports = function(Chart) {
1746
+
1747
+ Chart.Doughnut = function(context, config) {
1748
+ config.type = 'doughnut';
1749
+
1750
+ return new Chart(context, config);
1751
+ };
1752
+
1753
+ };
1754
+
1755
+ },{}],11:[function(require,module,exports){
1756
+ 'use strict';
1757
+
1758
+ module.exports = function(Chart) {
1759
+
1760
+ Chart.Line = function(context, config) {
1761
+ config.type = 'line';
1762
+
1763
+ return new Chart(context, config);
1764
+ };
1765
+
1766
+ };
1767
+
1768
+ },{}],12:[function(require,module,exports){
1769
+ 'use strict';
1770
+
1771
+ module.exports = function(Chart) {
1772
+
1773
+ Chart.PolarArea = function(context, config) {
1774
+ config.type = 'polarArea';
1775
+
1776
+ return new Chart(context, config);
1777
+ };
1778
+
1779
+ };
1780
+
1781
+ },{}],13:[function(require,module,exports){
1782
+ 'use strict';
1783
+
1784
+ module.exports = function(Chart) {
1785
+
1786
+ Chart.Radar = function(context, config) {
1787
+ config.type = 'radar';
1788
+
1789
+ return new Chart(context, config);
1790
+ };
1791
+
1792
+ };
1793
+
1794
+ },{}],14:[function(require,module,exports){
1795
+ 'use strict';
1796
+
1797
+ module.exports = function(Chart) {
1798
+
1799
+ var defaultConfig = {
1800
+ hover: {
1801
+ mode: 'single'
1802
+ },
1803
+
1804
+ scales: {
1805
+ xAxes: [{
1806
+ type: 'linear', // scatter should not use a category axis
1807
+ position: 'bottom',
1808
+ id: 'x-axis-1' // need an ID so datasets can reference the scale
1809
+ }],
1810
+ yAxes: [{
1811
+ type: 'linear',
1812
+ position: 'left',
1813
+ id: 'y-axis-1'
1814
+ }]
1815
+ },
1816
+
1817
+ tooltips: {
1818
+ callbacks: {
1819
+ title: function() {
1820
+ // Title doesn't make sense for scatter since we format the data as a point
1821
+ return '';
1822
+ },
1823
+ label: function(tooltipItem) {
1824
+ return '(' + tooltipItem.xLabel + ', ' + tooltipItem.yLabel + ')';
1825
+ }
1826
+ }
1827
+ }
1828
+ };
1829
+
1830
+ // Register the default config for this type
1831
+ Chart.defaults.scatter = defaultConfig;
1832
+
1833
+ // Scatter charts use line controllers
1834
+ Chart.controllers.scatter = Chart.controllers.line;
1835
+
1836
+ Chart.Scatter = function(context, config) {
1837
+ config.type = 'scatter';
1838
+ return new Chart(context, config);
1839
+ };
1840
+
1841
+ };
1842
+
1843
+ },{}],15:[function(require,module,exports){
1844
+ 'use strict';
1845
+
1846
+ module.exports = function(Chart) {
1847
+
1848
+ var helpers = Chart.helpers;
1849
+
1850
+ Chart.defaults.bar = {
1851
+ hover: {
1852
+ mode: 'label'
1853
+ },
1854
+
1855
+ scales: {
1856
+ xAxes: [{
1857
+ type: 'category',
1858
+
1859
+ // Specific to Bar Controller
1860
+ categoryPercentage: 0.8,
1861
+ barPercentage: 0.9,
1862
+
1863
+ // grid line settings
1864
+ gridLines: {
1865
+ offsetGridLines: true
1866
+ }
1867
+ }],
1868
+ yAxes: [{
1869
+ type: 'linear'
1870
+ }]
1871
+ }
1872
+ };
1873
+
1874
+ Chart.controllers.bar = Chart.DatasetController.extend({
1875
+
1876
+ dataElementType: Chart.elements.Rectangle,
1877
+
1878
+ initialize: function(chart, datasetIndex) {
1879
+ Chart.DatasetController.prototype.initialize.call(this, chart, datasetIndex);
1880
+
1881
+ // Use this to indicate that this is a bar dataset.
1882
+ this.getMeta().bar = true;
1883
+ },
1884
+
1885
+ // Get the number of datasets that display bars. We use this to correctly calculate the bar width
1886
+ getBarCount: function() {
1887
+ var me = this;
1888
+ var barCount = 0;
1889
+ helpers.each(me.chart.data.datasets, function(dataset, datasetIndex) {
1890
+ var meta = me.chart.getDatasetMeta(datasetIndex);
1891
+ if (meta.bar && me.chart.isDatasetVisible(datasetIndex)) {
1892
+ ++barCount;
1893
+ }
1894
+ }, me);
1895
+ return barCount;
1896
+ },
1897
+
1898
+ update: function(reset) {
1899
+ var me = this;
1900
+ helpers.each(me.getMeta().data, function(rectangle, index) {
1901
+ me.updateElement(rectangle, index, reset);
1902
+ }, me);
1903
+ },
1904
+
1905
+ updateElement: function(rectangle, index, reset) {
1906
+ var me = this;
1907
+ var meta = me.getMeta();
1908
+ var xScale = me.getScaleForId(meta.xAxisID);
1909
+ var yScale = me.getScaleForId(meta.yAxisID);
1910
+ var scaleBase = yScale.getBasePixel();
1911
+ var rectangleElementOptions = me.chart.options.elements.rectangle;
1912
+ var custom = rectangle.custom || {};
1913
+ var dataset = me.getDataset();
1914
+
1915
+ rectangle._xScale = xScale;
1916
+ rectangle._yScale = yScale;
1917
+ rectangle._datasetIndex = me.index;
1918
+ rectangle._index = index;
1919
+
1920
+ var ruler = me.getRuler(index);
1921
+ rectangle._model = {
1922
+ x: me.calculateBarX(index, me.index, ruler),
1923
+ y: reset ? scaleBase : me.calculateBarY(index, me.index),
1924
+
1925
+ // Tooltip
1926
+ label: me.chart.data.labels[index],
1927
+ datasetLabel: dataset.label,
1928
+
1929
+ // Appearance
1930
+ base: reset ? scaleBase : me.calculateBarBase(me.index, index),
1931
+ width: me.calculateBarWidth(ruler),
1932
+ backgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor),
1933
+ borderSkipped: custom.borderSkipped ? custom.borderSkipped : rectangleElementOptions.borderSkipped,
1934
+ borderColor: custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor),
1935
+ borderWidth: custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth)
1936
+ };
1937
+
1938
+ rectangle.pivot();
1939
+ },
1940
+
1941
+ calculateBarBase: function(datasetIndex, index) {
1942
+ var me = this;
1943
+ var meta = me.getMeta();
1944
+ var yScale = me.getScaleForId(meta.yAxisID);
1945
+ var base = 0;
1946
+
1947
+ if (yScale.options.stacked) {
1948
+ var chart = me.chart;
1949
+ var datasets = chart.data.datasets;
1950
+ var value = Number(datasets[datasetIndex].data[index]);
1951
+
1952
+ for (var i = 0; i < datasetIndex; i++) {
1953
+ var currentDs = datasets[i];
1954
+ var currentDsMeta = chart.getDatasetMeta(i);
1955
+ if (currentDsMeta.bar && currentDsMeta.yAxisID === yScale.id && chart.isDatasetVisible(i)) {
1956
+ var currentVal = Number(currentDs.data[index]);
1957
+ base += value < 0 ? Math.min(currentVal, 0) : Math.max(currentVal, 0);
1958
+ }
1959
+ }
1960
+
1961
+ return yScale.getPixelForValue(base);
1962
+ }
1963
+
1964
+ return yScale.getBasePixel();
1965
+ },
1966
+
1967
+ getRuler: function(index) {
1968
+ var me = this;
1969
+ var meta = me.getMeta();
1970
+ var xScale = me.getScaleForId(meta.xAxisID);
1971
+ var datasetCount = me.getBarCount();
1972
+
1973
+ var tickWidth;
1974
+
1975
+ if (xScale.options.type === 'category') {
1976
+ tickWidth = xScale.getPixelForTick(index + 1) - xScale.getPixelForTick(index);
1977
+ } else {
1978
+ // Average width
1979
+ tickWidth = xScale.width / xScale.ticks.length;
1980
+ }
1981
+ var categoryWidth = tickWidth * xScale.options.categoryPercentage;
1982
+ var categorySpacing = (tickWidth - (tickWidth * xScale.options.categoryPercentage)) / 2;
1983
+ var fullBarWidth = categoryWidth / datasetCount;
1984
+
1985
+ if (xScale.ticks.length !== me.chart.data.labels.length) {
1986
+ var perc = xScale.ticks.length / me.chart.data.labels.length;
1987
+ fullBarWidth = fullBarWidth * perc;
1988
+ }
1989
+
1990
+ var barWidth = fullBarWidth * xScale.options.barPercentage;
1991
+ var barSpacing = fullBarWidth - (fullBarWidth * xScale.options.barPercentage);
1992
+
1993
+ return {
1994
+ datasetCount: datasetCount,
1995
+ tickWidth: tickWidth,
1996
+ categoryWidth: categoryWidth,
1997
+ categorySpacing: categorySpacing,
1998
+ fullBarWidth: fullBarWidth,
1999
+ barWidth: barWidth,
2000
+ barSpacing: barSpacing
2001
+ };
2002
+ },
2003
+
2004
+ calculateBarWidth: function(ruler) {
2005
+ var xScale = this.getScaleForId(this.getMeta().xAxisID);
2006
+ if (xScale.options.barThickness) {
2007
+ return xScale.options.barThickness;
2008
+ }
2009
+ return xScale.options.stacked ? ruler.categoryWidth : ruler.barWidth;
2010
+ },
2011
+
2012
+ // Get bar index from the given dataset index accounting for the fact that not all bars are visible
2013
+ getBarIndex: function(datasetIndex) {
2014
+ var barIndex = 0;
2015
+ var meta, j;
2016
+
2017
+ for (j = 0; j < datasetIndex; ++j) {
2018
+ meta = this.chart.getDatasetMeta(j);
2019
+ if (meta.bar && this.chart.isDatasetVisible(j)) {
2020
+ ++barIndex;
2021
+ }
2022
+ }
2023
+
2024
+ return barIndex;
2025
+ },
2026
+
2027
+ calculateBarX: function(index, datasetIndex, ruler) {
2028
+ var me = this;
2029
+ var meta = me.getMeta();
2030
+ var xScale = me.getScaleForId(meta.xAxisID);
2031
+ var barIndex = me.getBarIndex(datasetIndex);
2032
+ var leftTick = xScale.getPixelForValue(null, index, datasetIndex, me.chart.isCombo);
2033
+ leftTick -= me.chart.isCombo ? (ruler.tickWidth / 2) : 0;
2034
+
2035
+ if (xScale.options.stacked) {
2036
+ return leftTick + (ruler.categoryWidth / 2) + ruler.categorySpacing;
2037
+ }
2038
+
2039
+ return leftTick +
2040
+ (ruler.barWidth / 2) +
2041
+ ruler.categorySpacing +
2042
+ (ruler.barWidth * barIndex) +
2043
+ (ruler.barSpacing / 2) +
2044
+ (ruler.barSpacing * barIndex);
2045
+ },
2046
+
2047
+ calculateBarY: function(index, datasetIndex) {
2048
+ var me = this;
2049
+ var meta = me.getMeta();
2050
+ var yScale = me.getScaleForId(meta.yAxisID);
2051
+ var value = Number(me.getDataset().data[index]);
2052
+
2053
+ if (yScale.options.stacked) {
2054
+
2055
+ var sumPos = 0,
2056
+ sumNeg = 0;
2057
+
2058
+ for (var i = 0; i < datasetIndex; i++) {
2059
+ var ds = me.chart.data.datasets[i];
2060
+ var dsMeta = me.chart.getDatasetMeta(i);
2061
+ if (dsMeta.bar && dsMeta.yAxisID === yScale.id && me.chart.isDatasetVisible(i)) {
2062
+ var stackedVal = Number(ds.data[index]);
2063
+ if (stackedVal < 0) {
2064
+ sumNeg += stackedVal || 0;
2065
+ } else {
2066
+ sumPos += stackedVal || 0;
2067
+ }
2068
+ }
2069
+ }
2070
+
2071
+ if (value < 0) {
2072
+ return yScale.getPixelForValue(sumNeg + value);
2073
+ }
2074
+ return yScale.getPixelForValue(sumPos + value);
2075
+ }
2076
+
2077
+ return yScale.getPixelForValue(value);
2078
+ },
2079
+
2080
+ draw: function(ease) {
2081
+ var me = this;
2082
+ var easingDecimal = ease || 1;
2083
+ var metaData = me.getMeta().data;
2084
+ var dataset = me.getDataset();
2085
+ var i, len;
2086
+
2087
+ for (i = 0, len = metaData.length; i < len; ++i) {
2088
+ var d = dataset.data[i];
2089
+ if (d !== null && d !== undefined && !isNaN(d)) {
2090
+ metaData[i].transition(easingDecimal).draw();
2091
+ }
2092
+ }
2093
+ },
2094
+
2095
+ setHoverStyle: function(rectangle) {
2096
+ var dataset = this.chart.data.datasets[rectangle._datasetIndex];
2097
+ var index = rectangle._index;
2098
+
2099
+ var custom = rectangle.custom || {};
2100
+ var model = rectangle._model;
2101
+ model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.getValueAtIndexOrDefault(dataset.hoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
2102
+ model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.getValueAtIndexOrDefault(dataset.hoverBorderColor, index, helpers.getHoverColor(model.borderColor));
2103
+ model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.getValueAtIndexOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);
2104
+ },
2105
+
2106
+ removeHoverStyle: function(rectangle) {
2107
+ var dataset = this.chart.data.datasets[rectangle._datasetIndex];
2108
+ var index = rectangle._index;
2109
+ var custom = rectangle.custom || {};
2110
+ var model = rectangle._model;
2111
+ var rectangleElementOptions = this.chart.options.elements.rectangle;
2112
+
2113
+ model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor);
2114
+ model.borderColor = custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor);
2115
+ model.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth);
2116
+ }
2117
+
2118
+ });
2119
+
2120
+
2121
+ // including horizontalBar in the bar file, instead of a file of its own
2122
+ // it extends bar (like pie extends doughnut)
2123
+ Chart.defaults.horizontalBar = {
2124
+ hover: {
2125
+ mode: 'label'
2126
+ },
2127
+
2128
+ scales: {
2129
+ xAxes: [{
2130
+ type: 'linear',
2131
+ position: 'bottom'
2132
+ }],
2133
+ yAxes: [{
2134
+ position: 'left',
2135
+ type: 'category',
2136
+
2137
+ // Specific to Horizontal Bar Controller
2138
+ categoryPercentage: 0.8,
2139
+ barPercentage: 0.9,
2140
+
2141
+ // grid line settings
2142
+ gridLines: {
2143
+ offsetGridLines: true
2144
+ }
2145
+ }]
2146
+ },
2147
+ elements: {
2148
+ rectangle: {
2149
+ borderSkipped: 'left'
2150
+ }
2151
+ },
2152
+ tooltips: {
2153
+ callbacks: {
2154
+ title: function(tooltipItems, data) {
2155
+ // Pick first xLabel for now
2156
+ var title = '';
2157
+
2158
+ if (tooltipItems.length > 0) {
2159
+ if (tooltipItems[0].yLabel) {
2160
+ title = tooltipItems[0].yLabel;
2161
+ } else if (data.labels.length > 0 && tooltipItems[0].index < data.labels.length) {
2162
+ title = data.labels[tooltipItems[0].index];
2163
+ }
2164
+ }
2165
+
2166
+ return title;
2167
+ },
2168
+ label: function(tooltipItem, data) {
2169
+ var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || '';
2170
+ return datasetLabel + ': ' + tooltipItem.xLabel;
2171
+ }
2172
+ }
2173
+ }
2174
+ };
2175
+
2176
+ Chart.controllers.horizontalBar = Chart.controllers.bar.extend({
2177
+ updateElement: function(rectangle, index, reset) {
2178
+ var me = this;
2179
+ var meta = me.getMeta();
2180
+ var xScale = me.getScaleForId(meta.xAxisID);
2181
+ var yScale = me.getScaleForId(meta.yAxisID);
2182
+ var scaleBase = xScale.getBasePixel();
2183
+ var custom = rectangle.custom || {};
2184
+ var dataset = me.getDataset();
2185
+ var rectangleElementOptions = me.chart.options.elements.rectangle;
2186
+
2187
+ rectangle._xScale = xScale;
2188
+ rectangle._yScale = yScale;
2189
+ rectangle._datasetIndex = me.index;
2190
+ rectangle._index = index;
2191
+
2192
+ var ruler = me.getRuler(index);
2193
+ rectangle._model = {
2194
+ x: reset ? scaleBase : me.calculateBarX(index, me.index),
2195
+ y: me.calculateBarY(index, me.index, ruler),
2196
+
2197
+ // Tooltip
2198
+ label: me.chart.data.labels[index],
2199
+ datasetLabel: dataset.label,
2200
+
2201
+ // Appearance
2202
+ base: reset ? scaleBase : me.calculateBarBase(me.index, index),
2203
+ height: me.calculateBarHeight(ruler),
2204
+ backgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor),
2205
+ borderSkipped: custom.borderSkipped ? custom.borderSkipped : rectangleElementOptions.borderSkipped,
2206
+ borderColor: custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor),
2207
+ borderWidth: custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth)
2208
+ };
2209
+ rectangle.draw = function() {
2210
+ var ctx = this._chart.ctx;
2211
+ var vm = this._view;
2212
+
2213
+ var halfHeight = vm.height / 2,
2214
+ topY = vm.y - halfHeight,
2215
+ bottomY = vm.y + halfHeight,
2216
+ right = vm.base - (vm.base - vm.x),
2217
+ halfStroke = vm.borderWidth / 2;
2218
+
2219
+ // Canvas doesn't allow us to stroke inside the width so we can
2220
+ // adjust the sizes to fit if we're setting a stroke on the line
2221
+ if (vm.borderWidth) {
2222
+ topY += halfStroke;
2223
+ bottomY -= halfStroke;
2224
+ right += halfStroke;
2225
+ }
2226
+
2227
+ ctx.beginPath();
2228
+
2229
+ ctx.fillStyle = vm.backgroundColor;
2230
+ ctx.strokeStyle = vm.borderColor;
2231
+ ctx.lineWidth = vm.borderWidth;
2232
+
2233
+ // Corner points, from bottom-left to bottom-right clockwise
2234
+ // | 1 2 |
2235
+ // | 0 3 |
2236
+ var corners = [
2237
+ [vm.base, bottomY],
2238
+ [vm.base, topY],
2239
+ [right, topY],
2240
+ [right, bottomY]
2241
+ ];
2242
+
2243
+ // Find first (starting) corner with fallback to 'bottom'
2244
+ var borders = ['bottom', 'left', 'top', 'right'];
2245
+ var startCorner = borders.indexOf(vm.borderSkipped, 0);
2246
+ if (startCorner === -1) {
2247
+ startCorner = 0;
2248
+ }
2249
+
2250
+ function cornerAt(cornerIndex) {
2251
+ return corners[(startCorner + cornerIndex) % 4];
2252
+ }
2253
+
2254
+ // Draw rectangle from 'startCorner'
2255
+ ctx.moveTo.apply(ctx, cornerAt(0));
2256
+ for (var i = 1; i < 4; i++) {
2257
+ ctx.lineTo.apply(ctx, cornerAt(i));
2258
+ }
2259
+
2260
+ ctx.fill();
2261
+ if (vm.borderWidth) {
2262
+ ctx.stroke();
2263
+ }
2264
+ };
2265
+
2266
+ rectangle.pivot();
2267
+ },
2268
+
2269
+ calculateBarBase: function(datasetIndex, index) {
2270
+ var me = this;
2271
+ var meta = me.getMeta();
2272
+ var xScale = me.getScaleForId(meta.xAxisID);
2273
+ var base = 0;
2274
+
2275
+ if (xScale.options.stacked) {
2276
+ var chart = me.chart;
2277
+ var datasets = chart.data.datasets;
2278
+ var value = Number(datasets[datasetIndex].data[index]);
2279
+
2280
+ for (var i = 0; i < datasetIndex; i++) {
2281
+ var currentDs = datasets[i];
2282
+ var currentDsMeta = chart.getDatasetMeta(i);
2283
+ if (currentDsMeta.bar && currentDsMeta.xAxisID === xScale.id && chart.isDatasetVisible(i)) {
2284
+ var currentVal = Number(currentDs.data[index]);
2285
+ base += value < 0 ? Math.min(currentVal, 0) : Math.max(currentVal, 0);
2286
+ }
2287
+ }
2288
+
2289
+ return xScale.getPixelForValue(base);
2290
+ }
2291
+
2292
+ return xScale.getBasePixel();
2293
+ },
2294
+
2295
+ getRuler: function(index) {
2296
+ var me = this;
2297
+ var meta = me.getMeta();
2298
+ var yScale = me.getScaleForId(meta.yAxisID);
2299
+ var datasetCount = me.getBarCount();
2300
+
2301
+ var tickHeight;
2302
+ if (yScale.options.type === 'category') {
2303
+ tickHeight = yScale.getPixelForTick(index + 1) - yScale.getPixelForTick(index);
2304
+ } else {
2305
+ // Average width
2306
+ tickHeight = yScale.width / yScale.ticks.length;
2307
+ }
2308
+ var categoryHeight = tickHeight * yScale.options.categoryPercentage;
2309
+ var categorySpacing = (tickHeight - (tickHeight * yScale.options.categoryPercentage)) / 2;
2310
+ var fullBarHeight = categoryHeight / datasetCount;
2311
+
2312
+ if (yScale.ticks.length !== me.chart.data.labels.length) {
2313
+ var perc = yScale.ticks.length / me.chart.data.labels.length;
2314
+ fullBarHeight = fullBarHeight * perc;
2315
+ }
2316
+
2317
+ var barHeight = fullBarHeight * yScale.options.barPercentage;
2318
+ var barSpacing = fullBarHeight - (fullBarHeight * yScale.options.barPercentage);
2319
+
2320
+ return {
2321
+ datasetCount: datasetCount,
2322
+ tickHeight: tickHeight,
2323
+ categoryHeight: categoryHeight,
2324
+ categorySpacing: categorySpacing,
2325
+ fullBarHeight: fullBarHeight,
2326
+ barHeight: barHeight,
2327
+ barSpacing: barSpacing
2328
+ };
2329
+ },
2330
+
2331
+ calculateBarHeight: function(ruler) {
2332
+ var me = this;
2333
+ var yScale = me.getScaleForId(me.getMeta().yAxisID);
2334
+ if (yScale.options.barThickness) {
2335
+ return yScale.options.barThickness;
2336
+ }
2337
+ return yScale.options.stacked ? ruler.categoryHeight : ruler.barHeight;
2338
+ },
2339
+
2340
+ calculateBarX: function(index, datasetIndex) {
2341
+ var me = this;
2342
+ var meta = me.getMeta();
2343
+ var xScale = me.getScaleForId(meta.xAxisID);
2344
+ var value = Number(me.getDataset().data[index]);
2345
+
2346
+ if (xScale.options.stacked) {
2347
+
2348
+ var sumPos = 0,
2349
+ sumNeg = 0;
2350
+
2351
+ for (var i = 0; i < datasetIndex; i++) {
2352
+ var ds = me.chart.data.datasets[i];
2353
+ var dsMeta = me.chart.getDatasetMeta(i);
2354
+ if (dsMeta.bar && dsMeta.xAxisID === xScale.id && me.chart.isDatasetVisible(i)) {
2355
+ var stackedVal = Number(ds.data[index]);
2356
+ if (stackedVal < 0) {
2357
+ sumNeg += stackedVal || 0;
2358
+ } else {
2359
+ sumPos += stackedVal || 0;
2360
+ }
2361
+ }
2362
+ }
2363
+
2364
+ if (value < 0) {
2365
+ return xScale.getPixelForValue(sumNeg + value);
2366
+ }
2367
+ return xScale.getPixelForValue(sumPos + value);
2368
+ }
2369
+
2370
+ return xScale.getPixelForValue(value);
2371
+ },
2372
+
2373
+ calculateBarY: function(index, datasetIndex, ruler) {
2374
+ var me = this;
2375
+ var meta = me.getMeta();
2376
+ var yScale = me.getScaleForId(meta.yAxisID);
2377
+ var barIndex = me.getBarIndex(datasetIndex);
2378
+ var topTick = yScale.getPixelForValue(null, index, datasetIndex, me.chart.isCombo);
2379
+ topTick -= me.chart.isCombo ? (ruler.tickHeight / 2) : 0;
2380
+
2381
+ if (yScale.options.stacked) {
2382
+ return topTick + (ruler.categoryHeight / 2) + ruler.categorySpacing;
2383
+ }
2384
+
2385
+ return topTick +
2386
+ (ruler.barHeight / 2) +
2387
+ ruler.categorySpacing +
2388
+ (ruler.barHeight * barIndex) +
2389
+ (ruler.barSpacing / 2) +
2390
+ (ruler.barSpacing * barIndex);
2391
+ }
2392
+ });
2393
+ };
2394
+
2395
+ },{}],16:[function(require,module,exports){
2396
+ 'use strict';
2397
+
2398
+ module.exports = function(Chart) {
2399
+
2400
+ var helpers = Chart.helpers;
2401
+
2402
+ Chart.defaults.bubble = {
2403
+ hover: {
2404
+ mode: 'single'
2405
+ },
2406
+
2407
+ scales: {
2408
+ xAxes: [{
2409
+ type: 'linear', // bubble should probably use a linear scale by default
2410
+ position: 'bottom',
2411
+ id: 'x-axis-0' // need an ID so datasets can reference the scale
2412
+ }],
2413
+ yAxes: [{
2414
+ type: 'linear',
2415
+ position: 'left',
2416
+ id: 'y-axis-0'
2417
+ }]
2418
+ },
2419
+
2420
+ tooltips: {
2421
+ callbacks: {
2422
+ title: function() {
2423
+ // Title doesn't make sense for scatter since we format the data as a point
2424
+ return '';
2425
+ },
2426
+ label: function(tooltipItem, data) {
2427
+ var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || '';
2428
+ var dataPoint = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
2429
+ return datasetLabel + ': (' + tooltipItem.xLabel + ', ' + tooltipItem.yLabel + ', ' + dataPoint.r + ')';
2430
+ }
2431
+ }
2432
+ }
2433
+ };
2434
+
2435
+ Chart.controllers.bubble = Chart.DatasetController.extend({
2436
+
2437
+ dataElementType: Chart.elements.Point,
2438
+
2439
+ update: function(reset) {
2440
+ var me = this;
2441
+ var meta = me.getMeta();
2442
+ var points = meta.data;
2443
+
2444
+ // Update Points
2445
+ helpers.each(points, function(point, index) {
2446
+ me.updateElement(point, index, reset);
2447
+ });
2448
+ },
2449
+
2450
+ updateElement: function(point, index, reset) {
2451
+ var me = this;
2452
+ var meta = me.getMeta();
2453
+ var xScale = me.getScaleForId(meta.xAxisID);
2454
+ var yScale = me.getScaleForId(meta.yAxisID);
2455
+
2456
+ var custom = point.custom || {};
2457
+ var dataset = me.getDataset();
2458
+ var data = dataset.data[index];
2459
+ var pointElementOptions = me.chart.options.elements.point;
2460
+ var dsIndex = me.index;
2461
+
2462
+ helpers.extend(point, {
2463
+ // Utility
2464
+ _xScale: xScale,
2465
+ _yScale: yScale,
2466
+ _datasetIndex: dsIndex,
2467
+ _index: index,
2468
+
2469
+ // Desired view properties
2470
+ _model: {
2471
+ x: reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex, me.chart.isCombo),
2472
+ y: reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex),
2473
+ // Appearance
2474
+ radius: reset ? 0 : custom.radius ? custom.radius : me.getRadius(data),
2475
+
2476
+ // Tooltip
2477
+ hitRadius: custom.hitRadius ? custom.hitRadius : helpers.getValueAtIndexOrDefault(dataset.hitRadius, index, pointElementOptions.hitRadius)
2478
+ }
2479
+ });
2480
+
2481
+ // Trick to reset the styles of the point
2482
+ Chart.DatasetController.prototype.removeHoverStyle.call(me, point, pointElementOptions);
2483
+
2484
+ var model = point._model;
2485
+ model.skip = custom.skip ? custom.skip : (isNaN(model.x) || isNaN(model.y));
2486
+
2487
+ point.pivot();
2488
+ },
2489
+
2490
+ getRadius: function(value) {
2491
+ return value.r || this.chart.options.elements.point.radius;
2492
+ },
2493
+
2494
+ setHoverStyle: function(point) {
2495
+ var me = this;
2496
+ Chart.DatasetController.prototype.setHoverStyle.call(me, point);
2497
+
2498
+ // Radius
2499
+ var dataset = me.chart.data.datasets[point._datasetIndex];
2500
+ var index = point._index;
2501
+ var custom = point.custom || {};
2502
+ var model = point._model;
2503
+ model.radius = custom.hoverRadius ? custom.hoverRadius : (helpers.getValueAtIndexOrDefault(dataset.hoverRadius, index, me.chart.options.elements.point.hoverRadius)) + me.getRadius(dataset.data[index]);
2504
+ },
2505
+
2506
+ removeHoverStyle: function(point) {
2507
+ var me = this;
2508
+ Chart.DatasetController.prototype.removeHoverStyle.call(me, point, me.chart.options.elements.point);
2509
+
2510
+ var dataVal = me.chart.data.datasets[point._datasetIndex].data[point._index];
2511
+ var custom = point.custom || {};
2512
+ var model = point._model;
2513
+
2514
+ model.radius = custom.radius ? custom.radius : me.getRadius(dataVal);
2515
+ }
2516
+ });
2517
+ };
2518
+
2519
+ },{}],17:[function(require,module,exports){
2520
+ 'use strict';
2521
+
2522
+ module.exports = function(Chart) {
2523
+
2524
+ var helpers = Chart.helpers,
2525
+ defaults = Chart.defaults;
2526
+
2527
+ defaults.doughnut = {
2528
+ animation: {
2529
+ // Boolean - Whether we animate the rotation of the Doughnut
2530
+ animateRotate: true,
2531
+ // Boolean - Whether we animate scaling the Doughnut from the centre
2532
+ animateScale: false
2533
+ },
2534
+ aspectRatio: 1,
2535
+ hover: {
2536
+ mode: 'single'
2537
+ },
2538
+ legendCallback: function(chart) {
2539
+ var text = [];
2540
+ text.push('<ul class="' + chart.id + '-legend">');
2541
+
2542
+ var data = chart.data;
2543
+ var datasets = data.datasets;
2544
+ var labels = data.labels;
2545
+
2546
+ if (datasets.length) {
2547
+ for (var i = 0; i < datasets[0].data.length; ++i) {
2548
+ text.push('<li><span style="background-color:' + datasets[0].backgroundColor[i] + '"></span>');
2549
+ if (labels[i]) {
2550
+ text.push(labels[i]);
2551
+ }
2552
+ text.push('</li>');
2553
+ }
2554
+ }
2555
+
2556
+ text.push('</ul>');
2557
+ return text.join('');
2558
+ },
2559
+ legend: {
2560
+ labels: {
2561
+ generateLabels: function(chart) {
2562
+ var data = chart.data;
2563
+ if (data.labels.length && data.datasets.length) {
2564
+ return data.labels.map(function(label, i) {
2565
+ var meta = chart.getDatasetMeta(0);
2566
+ var ds = data.datasets[0];
2567
+ var arc = meta.data[i];
2568
+ var custom = arc && arc.custom || {};
2569
+ var getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
2570
+ var arcOpts = chart.options.elements.arc;
2571
+ var fill = custom.backgroundColor ? custom.backgroundColor : getValueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);
2572
+ var stroke = custom.borderColor ? custom.borderColor : getValueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);
2573
+ var bw = custom.borderWidth ? custom.borderWidth : getValueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);
2574
+
2575
+ return {
2576
+ text: label,
2577
+ fillStyle: fill,
2578
+ strokeStyle: stroke,
2579
+ lineWidth: bw,
2580
+ hidden: isNaN(ds.data[i]) || meta.data[i].hidden,
2581
+
2582
+ // Extra data used for toggling the correct item
2583
+ index: i
2584
+ };
2585
+ });
2586
+ }
2587
+ return [];
2588
+ }
2589
+ },
2590
+
2591
+ onClick: function(e, legendItem) {
2592
+ var index = legendItem.index;
2593
+ var chart = this.chart;
2594
+ var i, ilen, meta;
2595
+
2596
+ for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {
2597
+ meta = chart.getDatasetMeta(i);
2598
+ // toggle visibility of index if exists
2599
+ if (meta.data[index]) {
2600
+ meta.data[index].hidden = !meta.data[index].hidden;
2601
+ }
2602
+ }
2603
+
2604
+ chart.update();
2605
+ }
2606
+ },
2607
+
2608
+ // The percentage of the chart that we cut out of the middle.
2609
+ cutoutPercentage: 50,
2610
+
2611
+ // The rotation of the chart, where the first data arc begins.
2612
+ rotation: Math.PI * -0.5,
2613
+
2614
+ // The total circumference of the chart.
2615
+ circumference: Math.PI * 2.0,
2616
+
2617
+ // Need to override these to give a nice default
2618
+ tooltips: {
2619
+ callbacks: {
2620
+ title: function() {
2621
+ return '';
2622
+ },
2623
+ label: function(tooltipItem, data) {
2624
+ var dataLabel = data.labels[tooltipItem.index];
2625
+ var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
2626
+
2627
+ if (helpers.isArray(dataLabel)) {
2628
+ // show value on first line of multiline label
2629
+ // need to clone because we are changing the value
2630
+ dataLabel = dataLabel.slice();
2631
+ dataLabel[0] += value;
2632
+ } else {
2633
+ dataLabel += value;
2634
+ }
2635
+
2636
+ return dataLabel;
2637
+ }
2638
+ }
2639
+ }
2640
+ };
2641
+
2642
+ defaults.pie = helpers.clone(defaults.doughnut);
2643
+ helpers.extend(defaults.pie, {
2644
+ cutoutPercentage: 0
2645
+ });
2646
+
2647
+
2648
+ Chart.controllers.doughnut = Chart.controllers.pie = Chart.DatasetController.extend({
2649
+
2650
+ dataElementType: Chart.elements.Arc,
2651
+
2652
+ linkScales: helpers.noop,
2653
+
2654
+ // Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly
2655
+ getRingIndex: function(datasetIndex) {
2656
+ var ringIndex = 0;
2657
+
2658
+ for (var j = 0; j < datasetIndex; ++j) {
2659
+ if (this.chart.isDatasetVisible(j)) {
2660
+ ++ringIndex;
2661
+ }
2662
+ }
2663
+
2664
+ return ringIndex;
2665
+ },
2666
+
2667
+ update: function(reset) {
2668
+ var me = this;
2669
+ var chart = me.chart,
2670
+ chartArea = chart.chartArea,
2671
+ opts = chart.options,
2672
+ arcOpts = opts.elements.arc,
2673
+ availableWidth = chartArea.right - chartArea.left - arcOpts.borderWidth,
2674
+ availableHeight = chartArea.bottom - chartArea.top - arcOpts.borderWidth,
2675
+ minSize = Math.min(availableWidth, availableHeight),
2676
+ offset = {
2677
+ x: 0,
2678
+ y: 0
2679
+ },
2680
+ meta = me.getMeta(),
2681
+ cutoutPercentage = opts.cutoutPercentage,
2682
+ circumference = opts.circumference;
2683
+
2684
+ // If the chart's circumference isn't a full circle, calculate minSize as a ratio of the width/height of the arc
2685
+ if (circumference < Math.PI * 2.0) {
2686
+ var startAngle = opts.rotation % (Math.PI * 2.0);
2687
+ startAngle += Math.PI * 2.0 * (startAngle >= Math.PI ? -1 : startAngle < -Math.PI ? 1 : 0);
2688
+ var endAngle = startAngle + circumference;
2689
+ var start = {x: Math.cos(startAngle), y: Math.sin(startAngle)};
2690
+ var end = {x: Math.cos(endAngle), y: Math.sin(endAngle)};
2691
+ var contains0 = (startAngle <= 0 && 0 <= endAngle) || (startAngle <= Math.PI * 2.0 && Math.PI * 2.0 <= endAngle);
2692
+ var contains90 = (startAngle <= Math.PI * 0.5 && Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 2.5 && Math.PI * 2.5 <= endAngle);
2693
+ var contains180 = (startAngle <= -Math.PI && -Math.PI <= endAngle) || (startAngle <= Math.PI && Math.PI <= endAngle);
2694
+ var contains270 = (startAngle <= -Math.PI * 0.5 && -Math.PI * 0.5 <= endAngle) || (startAngle <= Math.PI * 1.5 && Math.PI * 1.5 <= endAngle);
2695
+ var cutout = cutoutPercentage / 100.0;
2696
+ var min = {x: contains180 ? -1 : Math.min(start.x * (start.x < 0 ? 1 : cutout), end.x * (end.x < 0 ? 1 : cutout)), y: contains270 ? -1 : Math.min(start.y * (start.y < 0 ? 1 : cutout), end.y * (end.y < 0 ? 1 : cutout))};
2697
+ var max = {x: contains0 ? 1 : Math.max(start.x * (start.x > 0 ? 1 : cutout), end.x * (end.x > 0 ? 1 : cutout)), y: contains90 ? 1 : Math.max(start.y * (start.y > 0 ? 1 : cutout), end.y * (end.y > 0 ? 1 : cutout))};
2698
+ var size = {width: (max.x - min.x) * 0.5, height: (max.y - min.y) * 0.5};
2699
+ minSize = Math.min(availableWidth / size.width, availableHeight / size.height);
2700
+ offset = {x: (max.x + min.x) * -0.5, y: (max.y + min.y) * -0.5};
2701
+ }
2702
+
2703
+ chart.borderWidth = me.getMaxBorderWidth(meta.data);
2704
+ chart.outerRadius = Math.max((minSize - chart.borderWidth) / 2, 0);
2705
+ chart.innerRadius = Math.max(cutoutPercentage ? (chart.outerRadius / 100) * (cutoutPercentage) : 1, 0);
2706
+ chart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();
2707
+ chart.offsetX = offset.x * chart.outerRadius;
2708
+ chart.offsetY = offset.y * chart.outerRadius;
2709
+
2710
+ meta.total = me.calculateTotal();
2711
+
2712
+ me.outerRadius = chart.outerRadius - (chart.radiusLength * me.getRingIndex(me.index));
2713
+ me.innerRadius = me.outerRadius - chart.radiusLength;
2714
+
2715
+ helpers.each(meta.data, function(arc, index) {
2716
+ me.updateElement(arc, index, reset);
2717
+ });
2718
+ },
2719
+
2720
+ updateElement: function(arc, index, reset) {
2721
+ var me = this;
2722
+ var chart = me.chart,
2723
+ chartArea = chart.chartArea,
2724
+ opts = chart.options,
2725
+ animationOpts = opts.animation,
2726
+ centerX = (chartArea.left + chartArea.right) / 2,
2727
+ centerY = (chartArea.top + chartArea.bottom) / 2,
2728
+ startAngle = opts.rotation, // non reset case handled later
2729
+ endAngle = opts.rotation, // non reset case handled later
2730
+ dataset = me.getDataset(),
2731
+ circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / (2.0 * Math.PI)),
2732
+ innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius,
2733
+ outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius,
2734
+ valueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
2735
+
2736
+ helpers.extend(arc, {
2737
+ // Utility
2738
+ _datasetIndex: me.index,
2739
+ _index: index,
2740
+
2741
+ // Desired view properties
2742
+ _model: {
2743
+ x: centerX + chart.offsetX,
2744
+ y: centerY + chart.offsetY,
2745
+ startAngle: startAngle,
2746
+ endAngle: endAngle,
2747
+ circumference: circumference,
2748
+ outerRadius: outerRadius,
2749
+ innerRadius: innerRadius,
2750
+ label: valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])
2751
+ }
2752
+ });
2753
+
2754
+ var model = arc._model;
2755
+ // Resets the visual styles
2756
+ this.removeHoverStyle(arc);
2757
+
2758
+ // Set correct angles if not resetting
2759
+ if (!reset || !animationOpts.animateRotate) {
2760
+ if (index === 0) {
2761
+ model.startAngle = opts.rotation;
2762
+ } else {
2763
+ model.startAngle = me.getMeta().data[index - 1]._model.endAngle;
2764
+ }
2765
+
2766
+ model.endAngle = model.startAngle + model.circumference;
2767
+ }
2768
+
2769
+ arc.pivot();
2770
+ },
2771
+
2772
+ removeHoverStyle: function(arc) {
2773
+ Chart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);
2774
+ },
2775
+
2776
+ calculateTotal: function() {
2777
+ var dataset = this.getDataset();
2778
+ var meta = this.getMeta();
2779
+ var total = 0;
2780
+ var value;
2781
+
2782
+ helpers.each(meta.data, function(element, index) {
2783
+ value = dataset.data[index];
2784
+ if (!isNaN(value) && !element.hidden) {
2785
+ total += Math.abs(value);
2786
+ }
2787
+ });
2788
+
2789
+ /* if (total === 0) {
2790
+ total = NaN;
2791
+ }*/
2792
+
2793
+ return total;
2794
+ },
2795
+
2796
+ calculateCircumference: function(value) {
2797
+ var total = this.getMeta().total;
2798
+ if (total > 0 && !isNaN(value)) {
2799
+ return (Math.PI * 2.0) * (value / total);
2800
+ }
2801
+ return 0;
2802
+ },
2803
+
2804
+ // gets the max border or hover width to properly scale pie charts
2805
+ getMaxBorderWidth: function(elements) {
2806
+ var max = 0,
2807
+ index = this.index,
2808
+ length = elements.length,
2809
+ borderWidth,
2810
+ hoverWidth;
2811
+
2812
+ for (var i = 0; i < length; i++) {
2813
+ borderWidth = elements[i]._model ? elements[i]._model.borderWidth : 0;
2814
+ hoverWidth = elements[i]._chart ? elements[i]._chart.config.data.datasets[index].hoverBorderWidth : 0;
2815
+
2816
+ max = borderWidth > max ? borderWidth : max;
2817
+ max = hoverWidth > max ? hoverWidth : max;
2818
+ }
2819
+ return max;
2820
+ }
2821
+ });
2822
+ };
2823
+
2824
+ },{}],18:[function(require,module,exports){
2825
+ 'use strict';
2826
+
2827
+ module.exports = function(Chart) {
2828
+
2829
+ var helpers = Chart.helpers;
2830
+
2831
+ Chart.defaults.line = {
2832
+ showLines: true,
2833
+ spanGaps: false,
2834
+
2835
+ hover: {
2836
+ mode: 'label'
2837
+ },
2838
+
2839
+ scales: {
2840
+ xAxes: [{
2841
+ type: 'category',
2842
+ id: 'x-axis-0'
2843
+ }],
2844
+ yAxes: [{
2845
+ type: 'linear',
2846
+ id: 'y-axis-0'
2847
+ }]
2848
+ }
2849
+ };
2850
+
2851
+ function lineEnabled(dataset, options) {
2852
+ return helpers.getValueOrDefault(dataset.showLine, options.showLines);
2853
+ }
2854
+
2855
+ Chart.controllers.line = Chart.DatasetController.extend({
2856
+
2857
+ datasetElementType: Chart.elements.Line,
2858
+
2859
+ dataElementType: Chart.elements.Point,
2860
+
2861
+ update: function(reset) {
2862
+ var me = this;
2863
+ var meta = me.getMeta();
2864
+ var line = meta.dataset;
2865
+ var points = meta.data || [];
2866
+ var options = me.chart.options;
2867
+ var lineElementOptions = options.elements.line;
2868
+ var scale = me.getScaleForId(meta.yAxisID);
2869
+ var i, ilen, custom;
2870
+ var dataset = me.getDataset();
2871
+ var showLine = lineEnabled(dataset, options);
2872
+
2873
+ // Update Line
2874
+ if (showLine) {
2875
+ custom = line.custom || {};
2876
+
2877
+ // Compatibility: If the properties are defined with only the old name, use those values
2878
+ if ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {
2879
+ dataset.lineTension = dataset.tension;
2880
+ }
2881
+
2882
+ // Utility
2883
+ line._scale = scale;
2884
+ line._datasetIndex = me.index;
2885
+ // Data
2886
+ line._children = points;
2887
+ // Model
2888
+ line._model = {
2889
+ // Appearance
2890
+ // The default behavior of lines is to break at null values, according
2891
+ // to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158
2892
+ // This option gives lines the ability to span gaps
2893
+ spanGaps: dataset.spanGaps ? dataset.spanGaps : options.spanGaps,
2894
+ tension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, lineElementOptions.tension),
2895
+ backgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),
2896
+ borderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),
2897
+ borderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),
2898
+ borderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),
2899
+ borderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),
2900
+ borderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),
2901
+ borderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),
2902
+ fill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),
2903
+ steppedLine: custom.steppedLine ? custom.steppedLine : helpers.getValueOrDefault(dataset.steppedLine, lineElementOptions.stepped),
2904
+ cubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.getValueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),
2905
+ // Scale
2906
+ scaleTop: scale.top,
2907
+ scaleBottom: scale.bottom,
2908
+ scaleZero: scale.getBasePixel()
2909
+ };
2910
+
2911
+ line.pivot();
2912
+ }
2913
+
2914
+ // Update Points
2915
+ for (i=0, ilen=points.length; i<ilen; ++i) {
2916
+ me.updateElement(points[i], i, reset);
2917
+ }
2918
+
2919
+ if (showLine && line._model.tension !== 0) {
2920
+ me.updateBezierControlPoints();
2921
+ }
2922
+
2923
+ // Now pivot the point for animation
2924
+ for (i=0, ilen=points.length; i<ilen; ++i) {
2925
+ points[i].pivot();
2926
+ }
2927
+ },
2928
+
2929
+ getPointBackgroundColor: function(point, index) {
2930
+ var backgroundColor = this.chart.options.elements.point.backgroundColor;
2931
+ var dataset = this.getDataset();
2932
+ var custom = point.custom || {};
2933
+
2934
+ if (custom.backgroundColor) {
2935
+ backgroundColor = custom.backgroundColor;
2936
+ } else if (dataset.pointBackgroundColor) {
2937
+ backgroundColor = helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);
2938
+ } else if (dataset.backgroundColor) {
2939
+ backgroundColor = dataset.backgroundColor;
2940
+ }
2941
+
2942
+ return backgroundColor;
2943
+ },
2944
+
2945
+ getPointBorderColor: function(point, index) {
2946
+ var borderColor = this.chart.options.elements.point.borderColor;
2947
+ var dataset = this.getDataset();
2948
+ var custom = point.custom || {};
2949
+
2950
+ if (custom.borderColor) {
2951
+ borderColor = custom.borderColor;
2952
+ } else if (dataset.pointBorderColor) {
2953
+ borderColor = helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);
2954
+ } else if (dataset.borderColor) {
2955
+ borderColor = dataset.borderColor;
2956
+ }
2957
+
2958
+ return borderColor;
2959
+ },
2960
+
2961
+ getPointBorderWidth: function(point, index) {
2962
+ var borderWidth = this.chart.options.elements.point.borderWidth;
2963
+ var dataset = this.getDataset();
2964
+ var custom = point.custom || {};
2965
+
2966
+ if (custom.borderWidth) {
2967
+ borderWidth = custom.borderWidth;
2968
+ } else if (dataset.pointBorderWidth) {
2969
+ borderWidth = helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);
2970
+ } else if (dataset.borderWidth) {
2971
+ borderWidth = dataset.borderWidth;
2972
+ }
2973
+
2974
+ return borderWidth;
2975
+ },
2976
+
2977
+ updateElement: function(point, index, reset) {
2978
+ var me = this;
2979
+ var meta = me.getMeta();
2980
+ var custom = point.custom || {};
2981
+ var dataset = me.getDataset();
2982
+ var datasetIndex = me.index;
2983
+ var value = dataset.data[index];
2984
+ var yScale = me.getScaleForId(meta.yAxisID);
2985
+ var xScale = me.getScaleForId(meta.xAxisID);
2986
+ var pointOptions = me.chart.options.elements.point;
2987
+ var x, y;
2988
+ var labels = me.chart.data.labels || [];
2989
+ var includeOffset = (labels.length === 1 || dataset.data.length === 1) || me.chart.isCombo;
2990
+
2991
+ // Compatibility: If the properties are defined with only the old name, use those values
2992
+ if ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {
2993
+ dataset.pointRadius = dataset.radius;
2994
+ }
2995
+ if ((dataset.hitRadius !== undefined) && (dataset.pointHitRadius === undefined)) {
2996
+ dataset.pointHitRadius = dataset.hitRadius;
2997
+ }
2998
+
2999
+ x = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex, includeOffset);
3000
+ y = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);
3001
+
3002
+ // Utility
3003
+ point._xScale = xScale;
3004
+ point._yScale = yScale;
3005
+ point._datasetIndex = datasetIndex;
3006
+ point._index = index;
3007
+
3008
+ // Desired view properties
3009
+ point._model = {
3010
+ x: x,
3011
+ y: y,
3012
+ skip: custom.skip || isNaN(x) || isNaN(y),
3013
+ // Appearance
3014
+ radius: custom.radius || helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),
3015
+ pointStyle: custom.pointStyle || helpers.getValueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),
3016
+ backgroundColor: me.getPointBackgroundColor(point, index),
3017
+ borderColor: me.getPointBorderColor(point, index),
3018
+ borderWidth: me.getPointBorderWidth(point, index),
3019
+ tension: meta.dataset._model ? meta.dataset._model.tension : 0,
3020
+ steppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,
3021
+ // Tooltip
3022
+ hitRadius: custom.hitRadius || helpers.getValueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)
3023
+ };
3024
+ },
3025
+
3026
+ calculatePointY: function(value, index, datasetIndex) {
3027
+ var me = this;
3028
+ var chart = me.chart;
3029
+ var meta = me.getMeta();
3030
+ var yScale = me.getScaleForId(meta.yAxisID);
3031
+ var sumPos = 0;
3032
+ var sumNeg = 0;
3033
+ var i, ds, dsMeta;
3034
+
3035
+ if (yScale.options.stacked) {
3036
+ for (i = 0; i < datasetIndex; i++) {
3037
+ ds = chart.data.datasets[i];
3038
+ dsMeta = chart.getDatasetMeta(i);
3039
+ if (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id && chart.isDatasetVisible(i)) {
3040
+ var stackedRightValue = Number(yScale.getRightValue(ds.data[index]));
3041
+ if (stackedRightValue < 0) {
3042
+ sumNeg += stackedRightValue || 0;
3043
+ } else {
3044
+ sumPos += stackedRightValue || 0;
3045
+ }
3046
+ }
3047
+ }
3048
+
3049
+ var rightValue = Number(yScale.getRightValue(value));
3050
+ if (rightValue < 0) {
3051
+ return yScale.getPixelForValue(sumNeg + rightValue);
3052
+ }
3053
+ return yScale.getPixelForValue(sumPos + rightValue);
3054
+ }
3055
+
3056
+ return yScale.getPixelForValue(value);
3057
+ },
3058
+
3059
+ updateBezierControlPoints: function() {
3060
+ var me = this;
3061
+ var meta = me.getMeta();
3062
+ var area = me.chart.chartArea;
3063
+ var points = (meta.data || []);
3064
+ var i, ilen, point, model, controlPoints;
3065
+
3066
+ // Only consider points that are drawn in case the spanGaps option is used
3067
+ if (meta.dataset._model.spanGaps) {
3068
+ points = points.filter(function(pt) {
3069
+ return !pt._model.skip;
3070
+ });
3071
+ }
3072
+
3073
+ function capControlPoint(pt, min, max) {
3074
+ return Math.max(Math.min(pt, max), min);
3075
+ }
3076
+
3077
+ if (meta.dataset._model.cubicInterpolationMode === 'monotone') {
3078
+ helpers.splineCurveMonotone(points);
3079
+ } else {
3080
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
3081
+ point = points[i];
3082
+ model = point._model;
3083
+ controlPoints = helpers.splineCurve(
3084
+ helpers.previousItem(points, i)._model,
3085
+ model,
3086
+ helpers.nextItem(points, i)._model,
3087
+ meta.dataset._model.tension
3088
+ );
3089
+ model.controlPointPreviousX = controlPoints.previous.x;
3090
+ model.controlPointPreviousY = controlPoints.previous.y;
3091
+ model.controlPointNextX = controlPoints.next.x;
3092
+ model.controlPointNextY = controlPoints.next.y;
3093
+ }
3094
+ }
3095
+
3096
+ if (me.chart.options.elements.line.capBezierPoints) {
3097
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
3098
+ model = points[i]._model;
3099
+ model.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);
3100
+ model.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);
3101
+ model.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);
3102
+ model.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);
3103
+ }
3104
+ }
3105
+ },
3106
+
3107
+ draw: function(ease) {
3108
+ var me = this;
3109
+ var meta = me.getMeta();
3110
+ var points = meta.data || [];
3111
+ var easingDecimal = ease || 1;
3112
+ var i, ilen;
3113
+
3114
+ // Transition Point Locations
3115
+ for (i=0, ilen=points.length; i<ilen; ++i) {
3116
+ points[i].transition(easingDecimal);
3117
+ }
3118
+
3119
+ // Transition and Draw the line
3120
+ if (lineEnabled(me.getDataset(), me.chart.options)) {
3121
+ meta.dataset.transition(easingDecimal).draw();
3122
+ }
3123
+
3124
+ // Draw the points
3125
+ for (i=0, ilen=points.length; i<ilen; ++i) {
3126
+ points[i].draw();
3127
+ }
3128
+ },
3129
+
3130
+ setHoverStyle: function(point) {
3131
+ // Point
3132
+ var dataset = this.chart.data.datasets[point._datasetIndex];
3133
+ var index = point._index;
3134
+ var custom = point.custom || {};
3135
+ var model = point._model;
3136
+
3137
+ model.radius = custom.hoverRadius || helpers.getValueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);
3138
+ model.backgroundColor = custom.hoverBackgroundColor || helpers.getValueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
3139
+ model.borderColor = custom.hoverBorderColor || helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));
3140
+ model.borderWidth = custom.hoverBorderWidth || helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);
3141
+ },
3142
+
3143
+ removeHoverStyle: function(point) {
3144
+ var me = this;
3145
+ var dataset = me.chart.data.datasets[point._datasetIndex];
3146
+ var index = point._index;
3147
+ var custom = point.custom || {};
3148
+ var model = point._model;
3149
+
3150
+ // Compatibility: If the properties are defined with only the old name, use those values
3151
+ if ((dataset.radius !== undefined) && (dataset.pointRadius === undefined)) {
3152
+ dataset.pointRadius = dataset.radius;
3153
+ }
3154
+
3155
+ model.radius = custom.radius || helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, me.chart.options.elements.point.radius);
3156
+ model.backgroundColor = me.getPointBackgroundColor(point, index);
3157
+ model.borderColor = me.getPointBorderColor(point, index);
3158
+ model.borderWidth = me.getPointBorderWidth(point, index);
3159
+ }
3160
+ });
3161
+ };
3162
+
3163
+ },{}],19:[function(require,module,exports){
3164
+ 'use strict';
3165
+
3166
+ module.exports = function(Chart) {
3167
+
3168
+ var helpers = Chart.helpers;
3169
+
3170
+ Chart.defaults.polarArea = {
3171
+
3172
+ scale: {
3173
+ type: 'radialLinear',
3174
+ lineArc: true, // so that lines are circular
3175
+ ticks: {
3176
+ beginAtZero: true
3177
+ }
3178
+ },
3179
+
3180
+ // Boolean - Whether to animate the rotation of the chart
3181
+ animation: {
3182
+ animateRotate: true,
3183
+ animateScale: true
3184
+ },
3185
+
3186
+ startAngle: -0.5 * Math.PI,
3187
+ aspectRatio: 1,
3188
+ legendCallback: function(chart) {
3189
+ var text = [];
3190
+ text.push('<ul class="' + chart.id + '-legend">');
3191
+
3192
+ var data = chart.data;
3193
+ var datasets = data.datasets;
3194
+ var labels = data.labels;
3195
+
3196
+ if (datasets.length) {
3197
+ for (var i = 0; i < datasets[0].data.length; ++i) {
3198
+ text.push('<li><span style="background-color:' + datasets[0].backgroundColor[i] + '"></span>');
3199
+ if (labels[i]) {
3200
+ text.push(labels[i]);
3201
+ }
3202
+ text.push('</li>');
3203
+ }
3204
+ }
3205
+
3206
+ text.push('</ul>');
3207
+ return text.join('');
3208
+ },
3209
+ legend: {
3210
+ labels: {
3211
+ generateLabels: function(chart) {
3212
+ var data = chart.data;
3213
+ if (data.labels.length && data.datasets.length) {
3214
+ return data.labels.map(function(label, i) {
3215
+ var meta = chart.getDatasetMeta(0);
3216
+ var ds = data.datasets[0];
3217
+ var arc = meta.data[i];
3218
+ var custom = arc.custom || {};
3219
+ var getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
3220
+ var arcOpts = chart.options.elements.arc;
3221
+ var fill = custom.backgroundColor ? custom.backgroundColor : getValueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);
3222
+ var stroke = custom.borderColor ? custom.borderColor : getValueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);
3223
+ var bw = custom.borderWidth ? custom.borderWidth : getValueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);
3224
+
3225
+ return {
3226
+ text: label,
3227
+ fillStyle: fill,
3228
+ strokeStyle: stroke,
3229
+ lineWidth: bw,
3230
+ hidden: isNaN(ds.data[i]) || meta.data[i].hidden,
3231
+
3232
+ // Extra data used for toggling the correct item
3233
+ index: i
3234
+ };
3235
+ });
3236
+ }
3237
+ return [];
3238
+ }
3239
+ },
3240
+
3241
+ onClick: function(e, legendItem) {
3242
+ var index = legendItem.index;
3243
+ var chart = this.chart;
3244
+ var i, ilen, meta;
3245
+
3246
+ for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {
3247
+ meta = chart.getDatasetMeta(i);
3248
+ meta.data[index].hidden = !meta.data[index].hidden;
3249
+ }
3250
+
3251
+ chart.update();
3252
+ }
3253
+ },
3254
+
3255
+ // Need to override these to give a nice default
3256
+ tooltips: {
3257
+ callbacks: {
3258
+ title: function() {
3259
+ return '';
3260
+ },
3261
+ label: function(tooltipItem, data) {
3262
+ return data.labels[tooltipItem.index] + ': ' + tooltipItem.yLabel;
3263
+ }
3264
+ }
3265
+ }
3266
+ };
3267
+
3268
+ Chart.controllers.polarArea = Chart.DatasetController.extend({
3269
+
3270
+ dataElementType: Chart.elements.Arc,
3271
+
3272
+ linkScales: helpers.noop,
3273
+
3274
+ update: function(reset) {
3275
+ var me = this;
3276
+ var chart = me.chart;
3277
+ var chartArea = chart.chartArea;
3278
+ var meta = me.getMeta();
3279
+ var opts = chart.options;
3280
+ var arcOpts = opts.elements.arc;
3281
+ var minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);
3282
+ chart.outerRadius = Math.max((minSize - arcOpts.borderWidth / 2) / 2, 0);
3283
+ chart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);
3284
+ chart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();
3285
+
3286
+ me.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);
3287
+ me.innerRadius = me.outerRadius - chart.radiusLength;
3288
+
3289
+ meta.count = me.countVisibleElements();
3290
+
3291
+ helpers.each(meta.data, function(arc, index) {
3292
+ me.updateElement(arc, index, reset);
3293
+ });
3294
+ },
3295
+
3296
+ updateElement: function(arc, index, reset) {
3297
+ var me = this;
3298
+ var chart = me.chart;
3299
+ var dataset = me.getDataset();
3300
+ var opts = chart.options;
3301
+ var animationOpts = opts.animation;
3302
+ var scale = chart.scale;
3303
+ var getValueAtIndexOrDefault = helpers.getValueAtIndexOrDefault;
3304
+ var labels = chart.data.labels;
3305
+
3306
+ var circumference = me.calculateCircumference(dataset.data[index]);
3307
+ var centerX = scale.xCenter;
3308
+ var centerY = scale.yCenter;
3309
+
3310
+ // If there is NaN data before us, we need to calculate the starting angle correctly.
3311
+ // We could be way more efficient here, but its unlikely that the polar area chart will have a lot of data
3312
+ var visibleCount = 0;
3313
+ var meta = me.getMeta();
3314
+ for (var i = 0; i < index; ++i) {
3315
+ if (!isNaN(dataset.data[i]) && !meta.data[i].hidden) {
3316
+ ++visibleCount;
3317
+ }
3318
+ }
3319
+
3320
+ // var negHalfPI = -0.5 * Math.PI;
3321
+ var datasetStartAngle = opts.startAngle;
3322
+ var distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);
3323
+ var startAngle = datasetStartAngle + (circumference * visibleCount);
3324
+ var endAngle = startAngle + (arc.hidden ? 0 : circumference);
3325
+
3326
+ var resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);
3327
+
3328
+ helpers.extend(arc, {
3329
+ // Utility
3330
+ _datasetIndex: me.index,
3331
+ _index: index,
3332
+ _scale: scale,
3333
+
3334
+ // Desired view properties
3335
+ _model: {
3336
+ x: centerX,
3337
+ y: centerY,
3338
+ innerRadius: 0,
3339
+ outerRadius: reset ? resetRadius : distance,
3340
+ startAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,
3341
+ endAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,
3342
+ label: getValueAtIndexOrDefault(labels, index, labels[index])
3343
+ }
3344
+ });
3345
+
3346
+ // Apply border and fill style
3347
+ me.removeHoverStyle(arc);
3348
+
3349
+ arc.pivot();
3350
+ },
3351
+
3352
+ removeHoverStyle: function(arc) {
3353
+ Chart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);
3354
+ },
3355
+
3356
+ countVisibleElements: function() {
3357
+ var dataset = this.getDataset();
3358
+ var meta = this.getMeta();
3359
+ var count = 0;
3360
+
3361
+ helpers.each(meta.data, function(element, index) {
3362
+ if (!isNaN(dataset.data[index]) && !element.hidden) {
3363
+ count++;
3364
+ }
3365
+ });
3366
+
3367
+ return count;
3368
+ },
3369
+
3370
+ calculateCircumference: function(value) {
3371
+ var count = this.getMeta().count;
3372
+ if (count > 0 && !isNaN(value)) {
3373
+ return (2 * Math.PI) / count;
3374
+ }
3375
+ return 0;
3376
+ }
3377
+ });
3378
+ };
3379
+
3380
+ },{}],20:[function(require,module,exports){
3381
+ 'use strict';
3382
+
3383
+ module.exports = function(Chart) {
3384
+
3385
+ var helpers = Chart.helpers;
3386
+
3387
+ Chart.defaults.radar = {
3388
+ aspectRatio: 1,
3389
+ scale: {
3390
+ type: 'radialLinear'
3391
+ },
3392
+ elements: {
3393
+ line: {
3394
+ tension: 0 // no bezier in radar
3395
+ }
3396
+ }
3397
+ };
3398
+
3399
+ Chart.controllers.radar = Chart.DatasetController.extend({
3400
+
3401
+ datasetElementType: Chart.elements.Line,
3402
+
3403
+ dataElementType: Chart.elements.Point,
3404
+
3405
+ linkScales: helpers.noop,
3406
+
3407
+ update: function(reset) {
3408
+ var me = this;
3409
+ var meta = me.getMeta();
3410
+ var line = meta.dataset;
3411
+ var points = meta.data;
3412
+ var custom = line.custom || {};
3413
+ var dataset = me.getDataset();
3414
+ var lineElementOptions = me.chart.options.elements.line;
3415
+ var scale = me.chart.scale;
3416
+
3417
+ // Compatibility: If the properties are defined with only the old name, use those values
3418
+ if ((dataset.tension !== undefined) && (dataset.lineTension === undefined)) {
3419
+ dataset.lineTension = dataset.tension;
3420
+ }
3421
+
3422
+ helpers.extend(meta.dataset, {
3423
+ // Utility
3424
+ _datasetIndex: me.index,
3425
+ // Data
3426
+ _children: points,
3427
+ _loop: true,
3428
+ // Model
3429
+ _model: {
3430
+ // Appearance
3431
+ tension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.lineTension, lineElementOptions.tension),
3432
+ backgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),
3433
+ borderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),
3434
+ borderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),
3435
+ fill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),
3436
+ borderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),
3437
+ borderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),
3438
+ borderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),
3439
+ borderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),
3440
+
3441
+ // Scale
3442
+ scaleTop: scale.top,
3443
+ scaleBottom: scale.bottom,
3444
+ scaleZero: scale.getBasePosition()
3445
+ }
3446
+ });
3447
+
3448
+ meta.dataset.pivot();
3449
+
3450
+ // Update Points
3451
+ helpers.each(points, function(point, index) {
3452
+ me.updateElement(point, index, reset);
3453
+ }, me);
3454
+
3455
+ // Update bezier control points
3456
+ me.updateBezierControlPoints();
3457
+ },
3458
+ updateElement: function(point, index, reset) {
3459
+ var me = this;
3460
+ var custom = point.custom || {};
3461
+ var dataset = me.getDataset();
3462
+ var scale = me.chart.scale;
3463
+ var pointElementOptions = me.chart.options.elements.point;
3464
+ var pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);
3465
+
3466
+ helpers.extend(point, {
3467
+ // Utility
3468
+ _datasetIndex: me.index,
3469
+ _index: index,
3470
+ _scale: scale,
3471
+
3472
+ // Desired view properties
3473
+ _model: {
3474
+ x: reset ? scale.xCenter : pointPosition.x, // value not used in dataset scale, but we want a consistent API between scales
3475
+ y: reset ? scale.yCenter : pointPosition.y,
3476
+
3477
+ // Appearance
3478
+ tension: custom.tension ? custom.tension : helpers.getValueOrDefault(dataset.tension, me.chart.options.elements.line.tension),
3479
+ radius: custom.radius ? custom.radius : helpers.getValueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius),
3480
+ backgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor),
3481
+ borderColor: custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor),
3482
+ borderWidth: custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth),
3483
+ pointStyle: custom.pointStyle ? custom.pointStyle : helpers.getValueAtIndexOrDefault(dataset.pointStyle, index, pointElementOptions.pointStyle),
3484
+
3485
+ // Tooltip
3486
+ hitRadius: custom.hitRadius ? custom.hitRadius : helpers.getValueAtIndexOrDefault(dataset.hitRadius, index, pointElementOptions.hitRadius)
3487
+ }
3488
+ });
3489
+
3490
+ point._model.skip = custom.skip ? custom.skip : (isNaN(point._model.x) || isNaN(point._model.y));
3491
+ },
3492
+ updateBezierControlPoints: function() {
3493
+ var chartArea = this.chart.chartArea;
3494
+ var meta = this.getMeta();
3495
+
3496
+ helpers.each(meta.data, function(point, index) {
3497
+ var model = point._model;
3498
+ var controlPoints = helpers.splineCurve(
3499
+ helpers.previousItem(meta.data, index, true)._model,
3500
+ model,
3501
+ helpers.nextItem(meta.data, index, true)._model,
3502
+ model.tension
3503
+ );
3504
+
3505
+ // Prevent the bezier going outside of the bounds of the graph
3506
+ model.controlPointPreviousX = Math.max(Math.min(controlPoints.previous.x, chartArea.right), chartArea.left);
3507
+ model.controlPointPreviousY = Math.max(Math.min(controlPoints.previous.y, chartArea.bottom), chartArea.top);
3508
+
3509
+ model.controlPointNextX = Math.max(Math.min(controlPoints.next.x, chartArea.right), chartArea.left);
3510
+ model.controlPointNextY = Math.max(Math.min(controlPoints.next.y, chartArea.bottom), chartArea.top);
3511
+
3512
+ // Now pivot the point for animation
3513
+ point.pivot();
3514
+ });
3515
+ },
3516
+
3517
+ draw: function(ease) {
3518
+ var meta = this.getMeta();
3519
+ var easingDecimal = ease || 1;
3520
+
3521
+ // Transition Point Locations
3522
+ helpers.each(meta.data, function(point) {
3523
+ point.transition(easingDecimal);
3524
+ });
3525
+
3526
+ // Transition and Draw the line
3527
+ meta.dataset.transition(easingDecimal).draw();
3528
+
3529
+ // Draw the points
3530
+ helpers.each(meta.data, function(point) {
3531
+ point.draw();
3532
+ });
3533
+ },
3534
+
3535
+ setHoverStyle: function(point) {
3536
+ // Point
3537
+ var dataset = this.chart.data.datasets[point._datasetIndex];
3538
+ var custom = point.custom || {};
3539
+ var index = point._index;
3540
+ var model = point._model;
3541
+
3542
+ model.radius = custom.hoverRadius ? custom.hoverRadius : helpers.getValueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);
3543
+ model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));
3544
+ model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));
3545
+ model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.getValueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);
3546
+ },
3547
+
3548
+ removeHoverStyle: function(point) {
3549
+ var dataset = this.chart.data.datasets[point._datasetIndex];
3550
+ var custom = point.custom || {};
3551
+ var index = point._index;
3552
+ var model = point._model;
3553
+ var pointElementOptions = this.chart.options.elements.point;
3554
+
3555
+ model.radius = custom.radius ? custom.radius : helpers.getValueAtIndexOrDefault(dataset.radius, index, pointElementOptions.radius);
3556
+ model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.getValueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor);
3557
+ model.borderColor = custom.borderColor ? custom.borderColor : helpers.getValueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor);
3558
+ model.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth);
3559
+ }
3560
+ });
3561
+ };
3562
+
3563
+ },{}],21:[function(require,module,exports){
3564
+ /* global window: false */
3565
+ 'use strict';
3566
+
3567
+ module.exports = function(Chart) {
3568
+
3569
+ var helpers = Chart.helpers;
3570
+
3571
+ Chart.defaults.global.animation = {
3572
+ duration: 1000,
3573
+ easing: 'easeOutQuart',
3574
+ onProgress: helpers.noop,
3575
+ onComplete: helpers.noop
3576
+ };
3577
+
3578
+ Chart.Animation = Chart.Element.extend({
3579
+ currentStep: null, // the current animation step
3580
+ numSteps: 60, // default number of steps
3581
+ easing: '', // the easing to use for this animation
3582
+ render: null, // render function used by the animation service
3583
+
3584
+ onAnimationProgress: null, // user specified callback to fire on each step of the animation
3585
+ onAnimationComplete: null // user specified callback to fire when the animation finishes
3586
+ });
3587
+
3588
+ Chart.animationService = {
3589
+ frameDuration: 17,
3590
+ animations: [],
3591
+ dropFrames: 0,
3592
+ request: null,
3593
+
3594
+ /**
3595
+ * @function Chart.animationService.addAnimation
3596
+ * @param chartInstance {ChartController} the chart to animate
3597
+ * @param animationObject {IAnimation} the animation that we will animate
3598
+ * @param duration {Number} length of animation in ms
3599
+ * @param lazy {Boolean} if true, the chart is not marked as animating to enable more responsive interactions
3600
+ */
3601
+ addAnimation: function(chartInstance, animationObject, duration, lazy) {
3602
+ var me = this;
3603
+
3604
+ if (!lazy) {
3605
+ chartInstance.animating = true;
3606
+ }
3607
+
3608
+ for (var index = 0; index < me.animations.length; ++index) {
3609
+ if (me.animations[index].chartInstance === chartInstance) {
3610
+ // replacing an in progress animation
3611
+ me.animations[index].animationObject = animationObject;
3612
+ return;
3613
+ }
3614
+ }
3615
+
3616
+ me.animations.push({
3617
+ chartInstance: chartInstance,
3618
+ animationObject: animationObject
3619
+ });
3620
+
3621
+ // If there are no animations queued, manually kickstart a digest, for lack of a better word
3622
+ if (me.animations.length === 1) {
3623
+ me.requestAnimationFrame();
3624
+ }
3625
+ },
3626
+ // Cancel the animation for a given chart instance
3627
+ cancelAnimation: function(chartInstance) {
3628
+ var index = helpers.findIndex(this.animations, function(animationWrapper) {
3629
+ return animationWrapper.chartInstance === chartInstance;
3630
+ });
3631
+
3632
+ if (index !== -1) {
3633
+ this.animations.splice(index, 1);
3634
+ chartInstance.animating = false;
3635
+ }
3636
+ },
3637
+ requestAnimationFrame: function() {
3638
+ var me = this;
3639
+ if (me.request === null) {
3640
+ // Skip animation frame requests until the active one is executed.
3641
+ // This can happen when processing mouse events, e.g. 'mousemove'
3642
+ // and 'mouseout' events will trigger multiple renders.
3643
+ me.request = helpers.requestAnimFrame.call(window, function() {
3644
+ me.request = null;
3645
+ me.startDigest();
3646
+ });
3647
+ }
3648
+ },
3649
+ startDigest: function() {
3650
+ var me = this;
3651
+
3652
+ var startTime = Date.now();
3653
+ var framesToDrop = 0;
3654
+
3655
+ if (me.dropFrames > 1) {
3656
+ framesToDrop = Math.floor(me.dropFrames);
3657
+ me.dropFrames = me.dropFrames % 1;
3658
+ }
3659
+
3660
+ var i = 0;
3661
+ while (i < me.animations.length) {
3662
+ if (me.animations[i].animationObject.currentStep === null) {
3663
+ me.animations[i].animationObject.currentStep = 0;
3664
+ }
3665
+
3666
+ me.animations[i].animationObject.currentStep += 1 + framesToDrop;
3667
+
3668
+ if (me.animations[i].animationObject.currentStep > me.animations[i].animationObject.numSteps) {
3669
+ me.animations[i].animationObject.currentStep = me.animations[i].animationObject.numSteps;
3670
+ }
3671
+
3672
+ me.animations[i].animationObject.render(me.animations[i].chartInstance, me.animations[i].animationObject);
3673
+ if (me.animations[i].animationObject.onAnimationProgress && me.animations[i].animationObject.onAnimationProgress.call) {
3674
+ me.animations[i].animationObject.onAnimationProgress.call(me.animations[i].chartInstance, me.animations[i]);
3675
+ }
3676
+
3677
+ if (me.animations[i].animationObject.currentStep === me.animations[i].animationObject.numSteps) {
3678
+ if (me.animations[i].animationObject.onAnimationComplete && me.animations[i].animationObject.onAnimationComplete.call) {
3679
+ me.animations[i].animationObject.onAnimationComplete.call(me.animations[i].chartInstance, me.animations[i]);
3680
+ }
3681
+
3682
+ // executed the last frame. Remove the animation.
3683
+ me.animations[i].chartInstance.animating = false;
3684
+
3685
+ me.animations.splice(i, 1);
3686
+ } else {
3687
+ ++i;
3688
+ }
3689
+ }
3690
+
3691
+ var endTime = Date.now();
3692
+ var dropFrames = (endTime - startTime) / me.frameDuration;
3693
+
3694
+ me.dropFrames += dropFrames;
3695
+
3696
+ // Do we have more stuff to animate?
3697
+ if (me.animations.length > 0) {
3698
+ me.requestAnimationFrame();
3699
+ }
3700
+ }
3701
+ };
3702
+ };
3703
+
3704
+ },{}],22:[function(require,module,exports){
3705
+ 'use strict';
3706
+
3707
+ module.exports = function(Chart) {
3708
+ // Global Chart canvas helpers object for drawing items to canvas
3709
+ var helpers = Chart.canvasHelpers = {};
3710
+
3711
+ helpers.drawPoint = function(ctx, pointStyle, radius, x, y) {
3712
+ var type, edgeLength, xOffset, yOffset, height, size;
3713
+
3714
+ if (typeof pointStyle === 'object') {
3715
+ type = pointStyle.toString();
3716
+ if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {
3717
+ ctx.drawImage(pointStyle, x - pointStyle.width / 2, y - pointStyle.height / 2);
3718
+ return;
3719
+ }
3720
+ }
3721
+
3722
+ if (isNaN(radius) || radius <= 0) {
3723
+ return;
3724
+ }
3725
+
3726
+ switch (pointStyle) {
3727
+ // Default includes circle
3728
+ default:
3729
+ ctx.beginPath();
3730
+ ctx.arc(x, y, radius, 0, Math.PI * 2);
3731
+ ctx.closePath();
3732
+ ctx.fill();
3733
+ break;
3734
+ case 'triangle':
3735
+ ctx.beginPath();
3736
+ edgeLength = 3 * radius / Math.sqrt(3);
3737
+ height = edgeLength * Math.sqrt(3) / 2;
3738
+ ctx.moveTo(x - edgeLength / 2, y + height / 3);
3739
+ ctx.lineTo(x + edgeLength / 2, y + height / 3);
3740
+ ctx.lineTo(x, y - 2 * height / 3);
3741
+ ctx.closePath();
3742
+ ctx.fill();
3743
+ break;
3744
+ case 'rect':
3745
+ size = 1 / Math.SQRT2 * radius;
3746
+ ctx.beginPath();
3747
+ ctx.fillRect(x - size, y - size, 2 * size, 2 * size);
3748
+ ctx.strokeRect(x - size, y - size, 2 * size, 2 * size);
3749
+ break;
3750
+ case 'rectRot':
3751
+ size = 1 / Math.SQRT2 * radius;
3752
+ ctx.beginPath();
3753
+ ctx.moveTo(x - size, y);
3754
+ ctx.lineTo(x, y + size);
3755
+ ctx.lineTo(x + size, y);
3756
+ ctx.lineTo(x, y - size);
3757
+ ctx.closePath();
3758
+ ctx.fill();
3759
+ break;
3760
+ case 'cross':
3761
+ ctx.beginPath();
3762
+ ctx.moveTo(x, y + radius);
3763
+ ctx.lineTo(x, y - radius);
3764
+ ctx.moveTo(x - radius, y);
3765
+ ctx.lineTo(x + radius, y);
3766
+ ctx.closePath();
3767
+ break;
3768
+ case 'crossRot':
3769
+ ctx.beginPath();
3770
+ xOffset = Math.cos(Math.PI / 4) * radius;
3771
+ yOffset = Math.sin(Math.PI / 4) * radius;
3772
+ ctx.moveTo(x - xOffset, y - yOffset);
3773
+ ctx.lineTo(x + xOffset, y + yOffset);
3774
+ ctx.moveTo(x - xOffset, y + yOffset);
3775
+ ctx.lineTo(x + xOffset, y - yOffset);
3776
+ ctx.closePath();
3777
+ break;
3778
+ case 'star':
3779
+ ctx.beginPath();
3780
+ ctx.moveTo(x, y + radius);
3781
+ ctx.lineTo(x, y - radius);
3782
+ ctx.moveTo(x - radius, y);
3783
+ ctx.lineTo(x + radius, y);
3784
+ xOffset = Math.cos(Math.PI / 4) * radius;
3785
+ yOffset = Math.sin(Math.PI / 4) * radius;
3786
+ ctx.moveTo(x - xOffset, y - yOffset);
3787
+ ctx.lineTo(x + xOffset, y + yOffset);
3788
+ ctx.moveTo(x - xOffset, y + yOffset);
3789
+ ctx.lineTo(x + xOffset, y - yOffset);
3790
+ ctx.closePath();
3791
+ break;
3792
+ case 'line':
3793
+ ctx.beginPath();
3794
+ ctx.moveTo(x - radius, y);
3795
+ ctx.lineTo(x + radius, y);
3796
+ ctx.closePath();
3797
+ break;
3798
+ case 'dash':
3799
+ ctx.beginPath();
3800
+ ctx.moveTo(x, y);
3801
+ ctx.lineTo(x + radius, y);
3802
+ ctx.closePath();
3803
+ break;
3804
+ }
3805
+
3806
+ ctx.stroke();
3807
+ };
3808
+ };
3809
+
3810
+ },{}],23:[function(require,module,exports){
3811
+ 'use strict';
3812
+
3813
+ module.exports = function(Chart) {
3814
+
3815
+ var helpers = Chart.helpers;
3816
+
3817
+ // Create a dictionary of chart types, to allow for extension of existing types
3818
+ Chart.types = {};
3819
+
3820
+ // Store a reference to each instance - allowing us to globally resize chart instances on window resize.
3821
+ // Destroy method on the chart will remove the instance of the chart from this reference.
3822
+ Chart.instances = {};
3823
+
3824
+ // Controllers available for dataset visualization eg. bar, line, slice, etc.
3825
+ Chart.controllers = {};
3826
+
3827
+ /**
3828
+ * The "used" size is the final value of a dimension property after all calculations have
3829
+ * been performed. This method uses the computed style of `element` but returns undefined
3830
+ * if the computed style is not expressed in pixels. That can happen in some cases where
3831
+ * `element` has a size relative to its parent and this last one is not yet displayed,
3832
+ * for example because of `display: none` on a parent node.
3833
+ * TODO(SB) Move this method in the upcoming core.platform class.
3834
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value
3835
+ * @returns {Number} Size in pixels or undefined if unknown.
3836
+ */
3837
+ function readUsedSize(element, property) {
3838
+ var value = helpers.getStyle(element, property);
3839
+ var matches = value && value.match(/(\d+)px/);
3840
+ return matches? Number(matches[1]) : undefined;
3841
+ }
3842
+
3843
+ /**
3844
+ * Initializes the canvas style and render size without modifying the canvas display size,
3845
+ * since responsiveness is handled by the controller.resize() method. The config is used
3846
+ * to determine the aspect ratio to apply in case no explicit height has been specified.
3847
+ * TODO(SB) Move this method in the upcoming core.platform class.
3848
+ */
3849
+ function initCanvas(canvas, config) {
3850
+ var style = canvas.style;
3851
+
3852
+ // NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it
3853
+ // returns null or '' if no explicit value has been set to the canvas attribute.
3854
+ var renderHeight = canvas.getAttribute('height');
3855
+ var renderWidth = canvas.getAttribute('width');
3856
+
3857
+ // Chart.js modifies some canvas values that we want to restore on destroy
3858
+ canvas._chartjs = {
3859
+ initial: {
3860
+ height: renderHeight,
3861
+ width: renderWidth,
3862
+ style: {
3863
+ display: style.display,
3864
+ height: style.height,
3865
+ width: style.width
3866
+ }
3867
+ }
3868
+ };
3869
+
3870
+ // Force canvas to display as block to avoid extra space caused by inline
3871
+ // elements, which would interfere with the responsive resize process.
3872
+ // https://github.com/chartjs/Chart.js/issues/2538
3873
+ style.display = style.display || 'block';
3874
+
3875
+ if (renderWidth === null || renderWidth === '') {
3876
+ var displayWidth = readUsedSize(canvas, 'width');
3877
+ if (displayWidth !== undefined) {
3878
+ canvas.width = displayWidth;
3879
+ }
3880
+ }
3881
+
3882
+ if (renderHeight === null || renderHeight === '') {
3883
+ if (canvas.style.height === '') {
3884
+ // If no explicit render height and style height, let's apply the aspect ratio,
3885
+ // which one can be specified by the user but also by charts as default option
3886
+ // (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.
3887
+ canvas.height = canvas.width / (config.options.aspectRatio || 2);
3888
+ } else {
3889
+ var displayHeight = readUsedSize(canvas, 'height');
3890
+ if (displayWidth !== undefined) {
3891
+ canvas.height = displayHeight;
3892
+ }
3893
+ }
3894
+ }
3895
+
3896
+ return canvas;
3897
+ }
3898
+
3899
+ /**
3900
+ * Restores the canvas initial state, such as render/display sizes and style.
3901
+ * TODO(SB) Move this method in the upcoming core.platform class.
3902
+ */
3903
+ function releaseCanvas(canvas) {
3904
+ if (!canvas._chartjs) {
3905
+ return;
3906
+ }
3907
+
3908
+ var initial = canvas._chartjs.initial;
3909
+ ['height', 'width'].forEach(function(prop) {
3910
+ var value = initial[prop];
3911
+ if (value === undefined || value === null) {
3912
+ canvas.removeAttribute(prop);
3913
+ } else {
3914
+ canvas.setAttribute(prop, value);
3915
+ }
3916
+ });
3917
+
3918
+ helpers.each(initial.style || {}, function(value, key) {
3919
+ canvas.style[key] = value;
3920
+ });
3921
+
3922
+ // The canvas render size might have been changed (and thus the state stack discarded),
3923
+ // we can't use save() and restore() to restore the initial state. So make sure that at
3924
+ // least the canvas context is reset to the default state by setting the canvas width.
3925
+ // https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html
3926
+ canvas.width = canvas.width;
3927
+
3928
+ delete canvas._chartjs;
3929
+ }
3930
+
3931
+ /**
3932
+ * TODO(SB) Move this method in the upcoming core.platform class.
3933
+ */
3934
+ function acquireContext(item, config) {
3935
+ if (typeof item === 'string') {
3936
+ item = document.getElementById(item);
3937
+ } else if (item.length) {
3938
+ // Support for array based queries (such as jQuery)
3939
+ item = item[0];
3940
+ }
3941
+
3942
+ if (item && item.canvas) {
3943
+ // Support for any object associated to a canvas (including a context2d)
3944
+ item = item.canvas;
3945
+ }
3946
+
3947
+ if (item instanceof HTMLCanvasElement) {
3948
+ // To prevent canvas fingerprinting, some add-ons undefine the getContext
3949
+ // method, for example: https://github.com/kkapsner/CanvasBlocker
3950
+ // https://github.com/chartjs/Chart.js/issues/2807
3951
+ var context = item.getContext && item.getContext('2d');
3952
+ if (context instanceof CanvasRenderingContext2D) {
3953
+ initCanvas(item, config);
3954
+ return context;
3955
+ }
3956
+ }
3957
+
3958
+ return null;
3959
+ }
3960
+
3961
+ /**
3962
+ * Initializes the given config with global and chart default values.
3963
+ */
3964
+ function initConfig(config) {
3965
+ config = config || {};
3966
+
3967
+ // Do NOT use configMerge() for the data object because this method merges arrays
3968
+ // and so would change references to labels and datasets, preventing data updates.
3969
+ var data = config.data = config.data || {};
3970
+ data.datasets = data.datasets || [];
3971
+ data.labels = data.labels || [];
3972
+
3973
+ config.options = helpers.configMerge(
3974
+ Chart.defaults.global,
3975
+ Chart.defaults[config.type],
3976
+ config.options || {});
3977
+
3978
+ return config;
3979
+ }
3980
+
3981
+ /**
3982
+ * @class Chart.Controller
3983
+ * The main controller of a chart.
3984
+ */
3985
+ Chart.Controller = function(item, config, instance) {
3986
+ var me = this;
3987
+
3988
+ config = initConfig(config);
3989
+
3990
+ var context = acquireContext(item, config);
3991
+ var canvas = context && context.canvas;
3992
+ var height = canvas && canvas.height;
3993
+ var width = canvas && canvas.width;
3994
+
3995
+ instance.ctx = context;
3996
+ instance.canvas = canvas;
3997
+ instance.config = config;
3998
+ instance.width = width;
3999
+ instance.height = height;
4000
+ instance.aspectRatio = height? width / height : null;
4001
+
4002
+ me.id = helpers.uid();
4003
+ me.chart = instance;
4004
+ me.config = config;
4005
+ me.options = config.options;
4006
+ me._bufferedRender = false;
4007
+
4008
+ // Add the chart instance to the global namespace
4009
+ Chart.instances[me.id] = me;
4010
+
4011
+ Object.defineProperty(me, 'data', {
4012
+ get: function() {
4013
+ return me.config.data;
4014
+ }
4015
+ });
4016
+
4017
+ if (!context || !canvas) {
4018
+ // The given item is not a compatible context2d element, let's return before finalizing
4019
+ // the chart initialization but after setting basic chart / controller properties that
4020
+ // can help to figure out that the chart is not valid (e.g chart.canvas !== null);
4021
+ // https://github.com/chartjs/Chart.js/issues/2807
4022
+ console.error("Failed to create chart: can't acquire context from the given item");
4023
+ return me;
4024
+ }
4025
+
4026
+ helpers.retinaScale(instance);
4027
+
4028
+ // Responsiveness is currently based on the use of an iframe, however this method causes
4029
+ // performance issues and could be troublesome when used with ad blockers. So make sure
4030
+ // that the user is still able to create a chart without iframe when responsive is false.
4031
+ // See https://github.com/chartjs/Chart.js/issues/2210
4032
+ if (me.options.responsive) {
4033
+ helpers.addResizeListener(canvas.parentNode, function() {
4034
+ me.resize();
4035
+ });
4036
+
4037
+ // Initial resize before chart draws (must be silent to preserve initial animations).
4038
+ me.resize(true);
4039
+ }
4040
+
4041
+ me.initialize();
4042
+
4043
+ return me;
4044
+ };
4045
+
4046
+ helpers.extend(Chart.Controller.prototype, /** @lends Chart.Controller */ {
4047
+ initialize: function() {
4048
+ var me = this;
4049
+
4050
+ // Before init plugin notification
4051
+ Chart.plugins.notify('beforeInit', [me]);
4052
+
4053
+ me.bindEvents();
4054
+
4055
+ // Make sure controllers are built first so that each dataset is bound to an axis before the scales
4056
+ // are built
4057
+ me.ensureScalesHaveIDs();
4058
+ me.buildOrUpdateControllers();
4059
+ me.buildScales();
4060
+ me.updateLayout();
4061
+ me.resetElements();
4062
+ me.initToolTip();
4063
+ me.update();
4064
+
4065
+ // After init plugin notification
4066
+ Chart.plugins.notify('afterInit', [me]);
4067
+
4068
+ return me;
4069
+ },
4070
+
4071
+ clear: function() {
4072
+ helpers.clear(this.chart);
4073
+ return this;
4074
+ },
4075
+
4076
+ stop: function() {
4077
+ // Stops any current animation loop occurring
4078
+ Chart.animationService.cancelAnimation(this);
4079
+ return this;
4080
+ },
4081
+
4082
+ resize: function(silent) {
4083
+ var me = this;
4084
+ var chart = me.chart;
4085
+ var options = me.options;
4086
+ var canvas = chart.canvas;
4087
+ var aspectRatio = (options.maintainAspectRatio && chart.aspectRatio) || null;
4088
+
4089
+ // the canvas render width and height will be casted to integers so make sure that
4090
+ // the canvas display style uses the same integer values to avoid blurring effect.
4091
+ var newWidth = Math.floor(helpers.getMaximumWidth(canvas));
4092
+ var newHeight = Math.floor(aspectRatio? newWidth / aspectRatio : helpers.getMaximumHeight(canvas));
4093
+
4094
+ if (chart.width === newWidth && chart.height === newHeight) {
4095
+ return;
4096
+ }
4097
+
4098
+ canvas.width = chart.width = newWidth;
4099
+ canvas.height = chart.height = newHeight;
4100
+ canvas.style.width = newWidth + 'px';
4101
+ canvas.style.height = newHeight + 'px';
4102
+
4103
+ helpers.retinaScale(chart);
4104
+
4105
+ // Notify any plugins about the resize
4106
+ var newSize = {width: newWidth, height: newHeight};
4107
+ Chart.plugins.notify('resize', [me, newSize]);
4108
+
4109
+ // Notify of resize
4110
+ if (me.options.onResize) {
4111
+ me.options.onResize(me, newSize);
4112
+ }
4113
+
4114
+ if (!silent) {
4115
+ me.stop();
4116
+ me.update(me.options.responsiveAnimationDuration);
4117
+ }
4118
+ },
4119
+
4120
+ ensureScalesHaveIDs: function() {
4121
+ var options = this.options;
4122
+ var scalesOptions = options.scales || {};
4123
+ var scaleOptions = options.scale;
4124
+
4125
+ helpers.each(scalesOptions.xAxes, function(xAxisOptions, index) {
4126
+ xAxisOptions.id = xAxisOptions.id || ('x-axis-' + index);
4127
+ });
4128
+
4129
+ helpers.each(scalesOptions.yAxes, function(yAxisOptions, index) {
4130
+ yAxisOptions.id = yAxisOptions.id || ('y-axis-' + index);
4131
+ });
4132
+
4133
+ if (scaleOptions) {
4134
+ scaleOptions.id = scaleOptions.id || 'scale';
4135
+ }
4136
+ },
4137
+
4138
+ /**
4139
+ * Builds a map of scale ID to scale object for future lookup.
4140
+ */
4141
+ buildScales: function() {
4142
+ var me = this;
4143
+ var options = me.options;
4144
+ var scales = me.scales = {};
4145
+ var items = [];
4146
+
4147
+ if (options.scales) {
4148
+ items = items.concat(
4149
+ (options.scales.xAxes || []).map(function(xAxisOptions) {
4150
+ return {options: xAxisOptions, dtype: 'category'};
4151
+ }),
4152
+ (options.scales.yAxes || []).map(function(yAxisOptions) {
4153
+ return {options: yAxisOptions, dtype: 'linear'};
4154
+ })
4155
+ );
4156
+ }
4157
+
4158
+ if (options.scale) {
4159
+ items.push({options: options.scale, dtype: 'radialLinear', isDefault: true});
4160
+ }
4161
+
4162
+ helpers.each(items, function(item) {
4163
+ var scaleOptions = item.options;
4164
+ var scaleType = helpers.getValueOrDefault(scaleOptions.type, item.dtype);
4165
+ var scaleClass = Chart.scaleService.getScaleConstructor(scaleType);
4166
+ if (!scaleClass) {
4167
+ return;
4168
+ }
4169
+
4170
+ var scale = new scaleClass({
4171
+ id: scaleOptions.id,
4172
+ options: scaleOptions,
4173
+ ctx: me.chart.ctx,
4174
+ chart: me
4175
+ });
4176
+
4177
+ scales[scale.id] = scale;
4178
+
4179
+ // TODO(SB): I think we should be able to remove this custom case (options.scale)
4180
+ // and consider it as a regular scale part of the "scales"" map only! This would
4181
+ // make the logic easier and remove some useless? custom code.
4182
+ if (item.isDefault) {
4183
+ me.scale = scale;
4184
+ }
4185
+ });
4186
+
4187
+ Chart.scaleService.addScalesToLayout(this);
4188
+ },
4189
+
4190
+ updateLayout: function() {
4191
+ Chart.layoutService.update(this, this.chart.width, this.chart.height);
4192
+ },
4193
+
4194
+ buildOrUpdateControllers: function() {
4195
+ var me = this;
4196
+ var types = [];
4197
+ var newControllers = [];
4198
+
4199
+ helpers.each(me.data.datasets, function(dataset, datasetIndex) {
4200
+ var meta = me.getDatasetMeta(datasetIndex);
4201
+ if (!meta.type) {
4202
+ meta.type = dataset.type || me.config.type;
4203
+ }
4204
+
4205
+ types.push(meta.type);
4206
+
4207
+ if (meta.controller) {
4208
+ meta.controller.updateIndex(datasetIndex);
4209
+ } else {
4210
+ meta.controller = new Chart.controllers[meta.type](me, datasetIndex);
4211
+ newControllers.push(meta.controller);
4212
+ }
4213
+ }, me);
4214
+
4215
+ if (types.length > 1) {
4216
+ for (var i = 1; i < types.length; i++) {
4217
+ if (types[i] !== types[i - 1]) {
4218
+ me.isCombo = true;
4219
+ break;
4220
+ }
4221
+ }
4222
+ }
4223
+
4224
+ return newControllers;
4225
+ },
4226
+
4227
+ /**
4228
+ * Reset the elements of all datasets
4229
+ * @method resetElements
4230
+ * @private
4231
+ */
4232
+ resetElements: function() {
4233
+ var me = this;
4234
+ helpers.each(me.data.datasets, function(dataset, datasetIndex) {
4235
+ me.getDatasetMeta(datasetIndex).controller.reset();
4236
+ }, me);
4237
+ },
4238
+
4239
+ /**
4240
+ * Resets the chart back to it's state before the initial animation
4241
+ * @method reset
4242
+ */
4243
+ reset: function() {
4244
+ this.resetElements();
4245
+ this.tooltip.initialize();
4246
+ },
4247
+
4248
+ update: function(animationDuration, lazy) {
4249
+ var me = this;
4250
+ Chart.plugins.notify('beforeUpdate', [me]);
4251
+
4252
+ // In case the entire data object changed
4253
+ me.tooltip._data = me.data;
4254
+
4255
+ // Make sure dataset controllers are updated and new controllers are reset
4256
+ var newControllers = me.buildOrUpdateControllers();
4257
+
4258
+ // Make sure all dataset controllers have correct meta data counts
4259
+ helpers.each(me.data.datasets, function(dataset, datasetIndex) {
4260
+ me.getDatasetMeta(datasetIndex).controller.buildOrUpdateElements();
4261
+ }, me);
4262
+
4263
+ Chart.layoutService.update(me, me.chart.width, me.chart.height);
4264
+
4265
+ // Apply changes to the datasets that require the scales to have been calculated i.e BorderColor changes
4266
+ Chart.plugins.notify('afterScaleUpdate', [me]);
4267
+
4268
+ // Can only reset the new controllers after the scales have been updated
4269
+ helpers.each(newControllers, function(controller) {
4270
+ controller.reset();
4271
+ });
4272
+
4273
+ me.updateDatasets();
4274
+
4275
+ // Do this before render so that any plugins that need final scale updates can use it
4276
+ Chart.plugins.notify('afterUpdate', [me]);
4277
+
4278
+ if (me._bufferedRender) {
4279
+ me._bufferedRequest = {
4280
+ lazy: lazy,
4281
+ duration: animationDuration
4282
+ };
4283
+ } else {
4284
+ me.render(animationDuration, lazy);
4285
+ }
4286
+ },
4287
+
4288
+ /**
4289
+ * @method beforeDatasetsUpdate
4290
+ * @description Called before all datasets are updated. If a plugin returns false,
4291
+ * the datasets update will be cancelled until another chart update is triggered.
4292
+ * @param {Object} instance the chart instance being updated.
4293
+ * @returns {Boolean} false to cancel the datasets update.
4294
+ * @memberof Chart.PluginBase
4295
+ * @since version 2.1.5
4296
+ * @instance
4297
+ */
4298
+
4299
+ /**
4300
+ * @method afterDatasetsUpdate
4301
+ * @description Called after all datasets have been updated. Note that this
4302
+ * extension will not be called if the datasets update has been cancelled.
4303
+ * @param {Object} instance the chart instance being updated.
4304
+ * @memberof Chart.PluginBase
4305
+ * @since version 2.1.5
4306
+ * @instance
4307
+ */
4308
+
4309
+ /**
4310
+ * Updates all datasets unless a plugin returns false to the beforeDatasetsUpdate
4311
+ * extension, in which case no datasets will be updated and the afterDatasetsUpdate
4312
+ * notification will be skipped.
4313
+ * @protected
4314
+ * @instance
4315
+ */
4316
+ updateDatasets: function() {
4317
+ var me = this;
4318
+ var i, ilen;
4319
+
4320
+ if (Chart.plugins.notify('beforeDatasetsUpdate', [me])) {
4321
+ for (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {
4322
+ me.getDatasetMeta(i).controller.update();
4323
+ }
4324
+
4325
+ Chart.plugins.notify('afterDatasetsUpdate', [me]);
4326
+ }
4327
+ },
4328
+
4329
+ render: function(duration, lazy) {
4330
+ var me = this;
4331
+ Chart.plugins.notify('beforeRender', [me]);
4332
+
4333
+ var animationOptions = me.options.animation;
4334
+ if (animationOptions && ((typeof duration !== 'undefined' && duration !== 0) || (typeof duration === 'undefined' && animationOptions.duration !== 0))) {
4335
+ var animation = new Chart.Animation();
4336
+ animation.numSteps = (duration || animationOptions.duration) / 16.66; // 60 fps
4337
+ animation.easing = animationOptions.easing;
4338
+
4339
+ // render function
4340
+ animation.render = function(chartInstance, animationObject) {
4341
+ var easingFunction = helpers.easingEffects[animationObject.easing];
4342
+ var stepDecimal = animationObject.currentStep / animationObject.numSteps;
4343
+ var easeDecimal = easingFunction(stepDecimal);
4344
+
4345
+ chartInstance.draw(easeDecimal, stepDecimal, animationObject.currentStep);
4346
+ };
4347
+
4348
+ // user events
4349
+ animation.onAnimationProgress = animationOptions.onProgress;
4350
+ animation.onAnimationComplete = animationOptions.onComplete;
4351
+
4352
+ Chart.animationService.addAnimation(me, animation, duration, lazy);
4353
+ } else {
4354
+ me.draw();
4355
+ if (animationOptions && animationOptions.onComplete && animationOptions.onComplete.call) {
4356
+ animationOptions.onComplete.call(me);
4357
+ }
4358
+ }
4359
+ return me;
4360
+ },
4361
+
4362
+ draw: function(ease) {
4363
+ var me = this;
4364
+ var easingDecimal = ease || 1;
4365
+ me.clear();
4366
+
4367
+ Chart.plugins.notify('beforeDraw', [me, easingDecimal]);
4368
+
4369
+ // Draw all the scales
4370
+ helpers.each(me.boxes, function(box) {
4371
+ box.draw(me.chartArea);
4372
+ }, me);
4373
+ if (me.scale) {
4374
+ me.scale.draw();
4375
+ }
4376
+
4377
+ Chart.plugins.notify('beforeDatasetsDraw', [me, easingDecimal]);
4378
+
4379
+ // Draw each dataset via its respective controller (reversed to support proper line stacking)
4380
+ helpers.each(me.data.datasets, function(dataset, datasetIndex) {
4381
+ if (me.isDatasetVisible(datasetIndex)) {
4382
+ me.getDatasetMeta(datasetIndex).controller.draw(ease);
4383
+ }
4384
+ }, me, true);
4385
+
4386
+ Chart.plugins.notify('afterDatasetsDraw', [me, easingDecimal]);
4387
+
4388
+ // Finally draw the tooltip
4389
+ me.tooltip.transition(easingDecimal).draw();
4390
+
4391
+ Chart.plugins.notify('afterDraw', [me, easingDecimal]);
4392
+ },
4393
+
4394
+ // Get the single element that was clicked on
4395
+ // @return : An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw
4396
+ getElementAtEvent: function(e) {
4397
+ return Chart.Interaction.modes.single(this, e);
4398
+ },
4399
+
4400
+ getElementsAtEvent: function(e) {
4401
+ return Chart.Interaction.modes.label(this, e, {intersect: true});
4402
+ },
4403
+
4404
+ getElementsAtXAxis: function(e) {
4405
+ return Chart.Interaction.modes['x-axis'](this, e, {intersect: true});
4406
+ },
4407
+
4408
+ getElementsAtEventForMode: function(e, mode, options) {
4409
+ var method = Chart.Interaction.modes[mode];
4410
+ if (typeof method === 'function') {
4411
+ return method(this, e, options);
4412
+ }
4413
+
4414
+ return [];
4415
+ },
4416
+
4417
+ getDatasetAtEvent: function(e) {
4418
+ return Chart.Interaction.modes.dataset(this, e);
4419
+ },
4420
+
4421
+ getDatasetMeta: function(datasetIndex) {
4422
+ var me = this;
4423
+ var dataset = me.data.datasets[datasetIndex];
4424
+ if (!dataset._meta) {
4425
+ dataset._meta = {};
4426
+ }
4427
+
4428
+ var meta = dataset._meta[me.id];
4429
+ if (!meta) {
4430
+ meta = dataset._meta[me.id] = {
4431
+ type: null,
4432
+ data: [],
4433
+ dataset: null,
4434
+ controller: null,
4435
+ hidden: null, // See isDatasetVisible() comment
4436
+ xAxisID: null,
4437
+ yAxisID: null
4438
+ };
4439
+ }
4440
+
4441
+ return meta;
4442
+ },
4443
+
4444
+ getVisibleDatasetCount: function() {
4445
+ var count = 0;
4446
+ for (var i = 0, ilen = this.data.datasets.length; i<ilen; ++i) {
4447
+ if (this.isDatasetVisible(i)) {
4448
+ count++;
4449
+ }
4450
+ }
4451
+ return count;
4452
+ },
4453
+
4454
+ isDatasetVisible: function(datasetIndex) {
4455
+ var meta = this.getDatasetMeta(datasetIndex);
4456
+
4457
+ // meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,
4458
+ // the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.
4459
+ return typeof meta.hidden === 'boolean'? !meta.hidden : !this.data.datasets[datasetIndex].hidden;
4460
+ },
4461
+
4462
+ generateLegend: function() {
4463
+ return this.options.legendCallback(this);
4464
+ },
4465
+
4466
+ destroy: function() {
4467
+ var me = this;
4468
+ var canvas = me.chart.canvas;
4469
+ var meta, i, ilen;
4470
+
4471
+ me.stop();
4472
+
4473
+ // dataset controllers need to cleanup associated data
4474
+ for (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {
4475
+ meta = me.getDatasetMeta(i);
4476
+ if (meta.controller) {
4477
+ meta.controller.destroy();
4478
+ meta.controller = null;
4479
+ }
4480
+ }
4481
+
4482
+ if (canvas) {
4483
+ helpers.unbindEvents(me, me.events);
4484
+ helpers.removeResizeListener(canvas.parentNode);
4485
+ helpers.clear(me.chart);
4486
+ releaseCanvas(canvas);
4487
+ me.chart.canvas = null;
4488
+ me.chart.ctx = null;
4489
+ }
4490
+
4491
+ Chart.plugins.notify('destroy', [me]);
4492
+
4493
+ delete Chart.instances[me.id];
4494
+ },
4495
+
4496
+ toBase64Image: function() {
4497
+ return this.chart.canvas.toDataURL.apply(this.chart.canvas, arguments);
4498
+ },
4499
+
4500
+ initToolTip: function() {
4501
+ var me = this;
4502
+ me.tooltip = new Chart.Tooltip({
4503
+ _chart: me.chart,
4504
+ _chartInstance: me,
4505
+ _data: me.data,
4506
+ _options: me.options.tooltips
4507
+ }, me);
4508
+ me.tooltip.initialize();
4509
+ },
4510
+
4511
+ bindEvents: function() {
4512
+ var me = this;
4513
+ helpers.bindEvents(me, me.options.events, function(evt) {
4514
+ me.eventHandler(evt);
4515
+ });
4516
+ },
4517
+
4518
+ updateHoverStyle: function(elements, mode, enabled) {
4519
+ var method = enabled? 'setHoverStyle' : 'removeHoverStyle';
4520
+ var element, i, ilen;
4521
+
4522
+ for (i=0, ilen=elements.length; i<ilen; ++i) {
4523
+ element = elements[i];
4524
+ if (element) {
4525
+ this.getDatasetMeta(element._datasetIndex).controller[method](element);
4526
+ }
4527
+ }
4528
+ },
4529
+
4530
+ eventHandler: function(e) {
4531
+ var me = this;
4532
+ var legend = me.legend;
4533
+ var tooltip = me.tooltip;
4534
+ var hoverOptions = me.options.hover;
4535
+
4536
+ // Buffer any update calls so that renders do not occur
4537
+ me._bufferedRender = true;
4538
+ me._bufferedRequest = null;
4539
+
4540
+ var changed = me.handleEvent(e);
4541
+ changed |= legend && legend.handleEvent(e);
4542
+ changed |= tooltip && tooltip.handleEvent(e);
4543
+
4544
+ var bufferedRequest = me._bufferedRequest;
4545
+ if (bufferedRequest) {
4546
+ // If we have an update that was triggered, we need to do a normal render
4547
+ me.render(bufferedRequest.duration, bufferedRequest.lazy);
4548
+ } else if (changed && !me.animating) {
4549
+ // If entering, leaving, or changing elements, animate the change via pivot
4550
+ me.stop();
4551
+
4552
+ // We only need to render at this point. Updating will cause scales to be
4553
+ // recomputed generating flicker & using more memory than necessary.
4554
+ me.render(hoverOptions.animationDuration, true);
4555
+ }
4556
+
4557
+ me._bufferedRender = false;
4558
+ me._bufferedRequest = null;
4559
+
4560
+ return me;
4561
+ },
4562
+
4563
+ /**
4564
+ * Handle an event
4565
+ * @private
4566
+ * param e {Event} the event to handle
4567
+ * @return {Boolean} true if the chart needs to re-render
4568
+ */
4569
+ handleEvent: function(e) {
4570
+ var me = this;
4571
+ var options = me.options || {};
4572
+ var hoverOptions = options.hover;
4573
+ var changed = false;
4574
+
4575
+ me.lastActive = me.lastActive || [];
4576
+
4577
+ // Find Active Elements for hover and tooltips
4578
+ if (e.type === 'mouseout') {
4579
+ me.active = [];
4580
+ } else {
4581
+ me.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);
4582
+ }
4583
+
4584
+ // On Hover hook
4585
+ if (hoverOptions.onHover) {
4586
+ hoverOptions.onHover.call(me, me.active);
4587
+ }
4588
+
4589
+ if (e.type === 'mouseup' || e.type === 'click') {
4590
+ if (options.onClick) {
4591
+ options.onClick.call(me, e, me.active);
4592
+ }
4593
+ }
4594
+
4595
+ // Remove styling for last active (even if it may still be active)
4596
+ if (me.lastActive.length) {
4597
+ me.updateHoverStyle(me.lastActive, hoverOptions.mode, false);
4598
+ }
4599
+
4600
+ // Built in hover styling
4601
+ if (me.active.length && hoverOptions.mode) {
4602
+ me.updateHoverStyle(me.active, hoverOptions.mode, true);
4603
+ }
4604
+
4605
+ changed = !helpers.arrayEquals(me.active, me.lastActive);
4606
+
4607
+ // Remember Last Actives
4608
+ me.lastActive = me.active;
4609
+
4610
+ return changed;
4611
+ }
4612
+ });
4613
+ };
4614
+
4615
+ },{}],24:[function(require,module,exports){
4616
+ 'use strict';
4617
+
4618
+ module.exports = function(Chart) {
4619
+
4620
+ var helpers = Chart.helpers;
4621
+
4622
+ var arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];
4623
+
4624
+ /**
4625
+ * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',
4626
+ * 'unshift') and notify the listener AFTER the array has been altered. Listeners are
4627
+ * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.
4628
+ */
4629
+ function listenArrayEvents(array, listener) {
4630
+ if (array._chartjs) {
4631
+ array._chartjs.listeners.push(listener);
4632
+ return;
4633
+ }
4634
+
4635
+ Object.defineProperty(array, '_chartjs', {
4636
+ configurable: true,
4637
+ enumerable: false,
4638
+ value: {
4639
+ listeners: [listener]
4640
+ }
4641
+ });
4642
+
4643
+ arrayEvents.forEach(function(key) {
4644
+ var method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);
4645
+ var base = array[key];
4646
+
4647
+ Object.defineProperty(array, key, {
4648
+ configurable: true,
4649
+ enumerable: false,
4650
+ value: function() {
4651
+ var args = Array.prototype.slice.call(arguments);
4652
+ var res = base.apply(this, args);
4653
+
4654
+ helpers.each(array._chartjs.listeners, function(object) {
4655
+ if (typeof object[method] === 'function') {
4656
+ object[method].apply(object, args);
4657
+ }
4658
+ });
4659
+
4660
+ return res;
4661
+ }
4662
+ });
4663
+ });
4664
+ }
4665
+
4666
+ /**
4667
+ * Removes the given array event listener and cleanup extra attached properties (such as
4668
+ * the _chartjs stub and overridden methods) if array doesn't have any more listeners.
4669
+ */
4670
+ function unlistenArrayEvents(array, listener) {
4671
+ var stub = array._chartjs;
4672
+ if (!stub) {
4673
+ return;
4674
+ }
4675
+
4676
+ var listeners = stub.listeners;
4677
+ var index = listeners.indexOf(listener);
4678
+ if (index !== -1) {
4679
+ listeners.splice(index, 1);
4680
+ }
4681
+
4682
+ if (listeners.length > 0) {
4683
+ return;
4684
+ }
4685
+
4686
+ arrayEvents.forEach(function(key) {
4687
+ delete array[key];
4688
+ });
4689
+
4690
+ delete array._chartjs;
4691
+ }
4692
+
4693
+ // Base class for all dataset controllers (line, bar, etc)
4694
+ Chart.DatasetController = function(chart, datasetIndex) {
4695
+ this.initialize(chart, datasetIndex);
4696
+ };
4697
+
4698
+ helpers.extend(Chart.DatasetController.prototype, {
4699
+
4700
+ /**
4701
+ * Element type used to generate a meta dataset (e.g. Chart.element.Line).
4702
+ * @type {Chart.core.element}
4703
+ */
4704
+ datasetElementType: null,
4705
+
4706
+ /**
4707
+ * Element type used to generate a meta data (e.g. Chart.element.Point).
4708
+ * @type {Chart.core.element}
4709
+ */
4710
+ dataElementType: null,
4711
+
4712
+ initialize: function(chart, datasetIndex) {
4713
+ var me = this;
4714
+ me.chart = chart;
4715
+ me.index = datasetIndex;
4716
+ me.linkScales();
4717
+ me.addElements();
4718
+ },
4719
+
4720
+ updateIndex: function(datasetIndex) {
4721
+ this.index = datasetIndex;
4722
+ },
4723
+
4724
+ linkScales: function() {
4725
+ var me = this;
4726
+ var meta = me.getMeta();
4727
+ var dataset = me.getDataset();
4728
+
4729
+ if (meta.xAxisID === null) {
4730
+ meta.xAxisID = dataset.xAxisID || me.chart.options.scales.xAxes[0].id;
4731
+ }
4732
+ if (meta.yAxisID === null) {
4733
+ meta.yAxisID = dataset.yAxisID || me.chart.options.scales.yAxes[0].id;
4734
+ }
4735
+ },
4736
+
4737
+ getDataset: function() {
4738
+ return this.chart.data.datasets[this.index];
4739
+ },
4740
+
4741
+ getMeta: function() {
4742
+ return this.chart.getDatasetMeta(this.index);
4743
+ },
4744
+
4745
+ getScaleForId: function(scaleID) {
4746
+ return this.chart.scales[scaleID];
4747
+ },
4748
+
4749
+ reset: function() {
4750
+ this.update(true);
4751
+ },
4752
+
4753
+ /**
4754
+ * @private
4755
+ */
4756
+ destroy: function() {
4757
+ if (this._data) {
4758
+ unlistenArrayEvents(this._data, this);
4759
+ }
4760
+ },
4761
+
4762
+ createMetaDataset: function() {
4763
+ var me = this;
4764
+ var type = me.datasetElementType;
4765
+ return type && new type({
4766
+ _chart: me.chart.chart,
4767
+ _datasetIndex: me.index
4768
+ });
4769
+ },
4770
+
4771
+ createMetaData: function(index) {
4772
+ var me = this;
4773
+ var type = me.dataElementType;
4774
+ return type && new type({
4775
+ _chart: me.chart.chart,
4776
+ _datasetIndex: me.index,
4777
+ _index: index
4778
+ });
4779
+ },
4780
+
4781
+ addElements: function() {
4782
+ var me = this;
4783
+ var meta = me.getMeta();
4784
+ var data = me.getDataset().data || [];
4785
+ var metaData = meta.data;
4786
+ var i, ilen;
4787
+
4788
+ for (i=0, ilen=data.length; i<ilen; ++i) {
4789
+ metaData[i] = metaData[i] || me.createMetaData(i);
4790
+ }
4791
+
4792
+ meta.dataset = meta.dataset || me.createMetaDataset();
4793
+ },
4794
+
4795
+ addElementAndReset: function(index) {
4796
+ var element = this.createMetaData(index);
4797
+ this.getMeta().data.splice(index, 0, element);
4798
+ this.updateElement(element, index, true);
4799
+ },
4800
+
4801
+ buildOrUpdateElements: function() {
4802
+ var me = this;
4803
+ var dataset = me.getDataset();
4804
+ var data = dataset.data || (dataset.data = []);
4805
+
4806
+ // In order to correctly handle data addition/deletion animation (an thus simulate
4807
+ // real-time charts), we need to monitor these data modifications and synchronize
4808
+ // the internal meta data accordingly.
4809
+ if (me._data !== data) {
4810
+ if (me._data) {
4811
+ // This case happens when the user replaced the data array instance.
4812
+ unlistenArrayEvents(me._data, me);
4813
+ }
4814
+
4815
+ listenArrayEvents(data, me);
4816
+ me._data = data;
4817
+ }
4818
+
4819
+ // Re-sync meta data in case the user replaced the data array or if we missed
4820
+ // any updates and so make sure that we handle number of datapoints changing.
4821
+ me.resyncElements();
4822
+ },
4823
+
4824
+ update: helpers.noop,
4825
+
4826
+ draw: function(ease) {
4827
+ var easingDecimal = ease || 1;
4828
+ var i, len;
4829
+ var metaData = this.getMeta().data;
4830
+ for (i = 0, len = metaData.length; i < len; ++i) {
4831
+ metaData[i].transition(easingDecimal).draw();
4832
+ }
4833
+ },
4834
+
4835
+ removeHoverStyle: function(element, elementOpts) {
4836
+ var dataset = this.chart.data.datasets[element._datasetIndex],
4837
+ index = element._index,
4838
+ custom = element.custom || {},
4839
+ valueOrDefault = helpers.getValueAtIndexOrDefault,
4840
+ model = element._model;
4841
+
4842
+ model.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);
4843
+ model.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);
4844
+ model.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);
4845
+ },
4846
+
4847
+ setHoverStyle: function(element) {
4848
+ var dataset = this.chart.data.datasets[element._datasetIndex],
4849
+ index = element._index,
4850
+ custom = element.custom || {},
4851
+ valueOrDefault = helpers.getValueAtIndexOrDefault,
4852
+ getHoverColor = helpers.getHoverColor,
4853
+ model = element._model;
4854
+
4855
+ model.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : valueOrDefault(dataset.hoverBackgroundColor, index, getHoverColor(model.backgroundColor));
4856
+ model.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : valueOrDefault(dataset.hoverBorderColor, index, getHoverColor(model.borderColor));
4857
+ model.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : valueOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);
4858
+ },
4859
+
4860
+ /**
4861
+ * @private
4862
+ */
4863
+ resyncElements: function() {
4864
+ var me = this;
4865
+ var meta = me.getMeta();
4866
+ var data = me.getDataset().data;
4867
+ var numMeta = meta.data.length;
4868
+ var numData = data.length;
4869
+
4870
+ if (numData < numMeta) {
4871
+ meta.data.splice(numData, numMeta - numData);
4872
+ } else if (numData > numMeta) {
4873
+ me.insertElements(numMeta, numData - numMeta);
4874
+ }
4875
+ },
4876
+
4877
+ /**
4878
+ * @private
4879
+ */
4880
+ insertElements: function(start, count) {
4881
+ for (var i=0; i<count; ++i) {
4882
+ this.addElementAndReset(start + i);
4883
+ }
4884
+ },
4885
+
4886
+ /**
4887
+ * @private
4888
+ */
4889
+ onDataPush: function() {
4890
+ this.insertElements(this.getDataset().data.length-1, arguments.length);
4891
+ },
4892
+
4893
+ /**
4894
+ * @private
4895
+ */
4896
+ onDataPop: function() {
4897
+ this.getMeta().data.pop();
4898
+ },
4899
+
4900
+ /**
4901
+ * @private
4902
+ */
4903
+ onDataShift: function() {
4904
+ this.getMeta().data.shift();
4905
+ },
4906
+
4907
+ /**
4908
+ * @private
4909
+ */
4910
+ onDataSplice: function(start, count) {
4911
+ this.getMeta().data.splice(start, count);
4912
+ this.insertElements(start, arguments.length - 2);
4913
+ },
4914
+
4915
+ /**
4916
+ * @private
4917
+ */
4918
+ onDataUnshift: function() {
4919
+ this.insertElements(0, arguments.length);
4920
+ }
4921
+ });
4922
+
4923
+ Chart.DatasetController.extend = helpers.inherits;
4924
+ };
4925
+
4926
+ },{}],25:[function(require,module,exports){
4927
+ 'use strict';
4928
+
4929
+ module.exports = function(Chart) {
4930
+
4931
+ var helpers = Chart.helpers;
4932
+
4933
+ Chart.elements = {};
4934
+
4935
+ Chart.Element = function(configuration) {
4936
+ helpers.extend(this, configuration);
4937
+ this.initialize.apply(this, arguments);
4938
+ };
4939
+
4940
+ helpers.extend(Chart.Element.prototype, {
4941
+
4942
+ initialize: function() {
4943
+ this.hidden = false;
4944
+ },
4945
+
4946
+ pivot: function() {
4947
+ var me = this;
4948
+ if (!me._view) {
4949
+ me._view = helpers.clone(me._model);
4950
+ }
4951
+ me._start = helpers.clone(me._view);
4952
+ return me;
4953
+ },
4954
+
4955
+ transition: function(ease) {
4956
+ var me = this;
4957
+
4958
+ if (!me._view) {
4959
+ me._view = helpers.clone(me._model);
4960
+ }
4961
+
4962
+ // No animation -> No Transition
4963
+ if (ease === 1) {
4964
+ me._view = me._model;
4965
+ me._start = null;
4966
+ return me;
4967
+ }
4968
+
4969
+ if (!me._start) {
4970
+ me.pivot();
4971
+ }
4972
+
4973
+ helpers.each(me._model, function(value, key) {
4974
+
4975
+ if (key[0] === '_') {
4976
+ // Only non-underscored properties
4977
+ // Init if doesn't exist
4978
+ } else if (!me._view.hasOwnProperty(key)) {
4979
+ if (typeof value === 'number' && !isNaN(me._view[key])) {
4980
+ me._view[key] = value * ease;
4981
+ } else {
4982
+ me._view[key] = value;
4983
+ }
4984
+ // No unnecessary computations
4985
+ } else if (value === me._view[key]) {
4986
+ // It's the same! Woohoo!
4987
+ // Color transitions if possible
4988
+ } else if (typeof value === 'string') {
4989
+ try {
4990
+ var color = helpers.color(me._model[key]).mix(helpers.color(me._start[key]), ease);
4991
+ me._view[key] = color.rgbString();
4992
+ } catch (err) {
4993
+ me._view[key] = value;
4994
+ }
4995
+ // Number transitions
4996
+ } else if (typeof value === 'number') {
4997
+ var startVal = me._start[key] !== undefined && isNaN(me._start[key]) === false ? me._start[key] : 0;
4998
+ me._view[key] = ((me._model[key] - startVal) * ease) + startVal;
4999
+ // Everything else
5000
+ } else {
5001
+ me._view[key] = value;
5002
+ }
5003
+ }, me);
5004
+
5005
+ return me;
5006
+ },
5007
+
5008
+ tooltipPosition: function() {
5009
+ return {
5010
+ x: this._model.x,
5011
+ y: this._model.y
5012
+ };
5013
+ },
5014
+
5015
+ hasValue: function() {
5016
+ return helpers.isNumber(this._model.x) && helpers.isNumber(this._model.y);
5017
+ }
5018
+ });
5019
+
5020
+ Chart.Element.extend = helpers.inherits;
5021
+
5022
+ };
5023
+
5024
+ },{}],26:[function(require,module,exports){
5025
+ /* global window: false */
5026
+ /* global document: false */
5027
+ 'use strict';
5028
+
5029
+ var color = require(3);
5030
+
5031
+ module.exports = function(Chart) {
5032
+ // Global Chart helpers object for utility methods and classes
5033
+ var helpers = Chart.helpers = {};
5034
+
5035
+ // -- Basic js utility methods
5036
+ helpers.each = function(loopable, callback, self, reverse) {
5037
+ // Check to see if null or undefined firstly.
5038
+ var i, len;
5039
+ if (helpers.isArray(loopable)) {
5040
+ len = loopable.length;
5041
+ if (reverse) {
5042
+ for (i = len - 1; i >= 0; i--) {
5043
+ callback.call(self, loopable[i], i);
5044
+ }
5045
+ } else {
5046
+ for (i = 0; i < len; i++) {
5047
+ callback.call(self, loopable[i], i);
5048
+ }
5049
+ }
5050
+ } else if (typeof loopable === 'object') {
5051
+ var keys = Object.keys(loopable);
5052
+ len = keys.length;
5053
+ for (i = 0; i < len; i++) {
5054
+ callback.call(self, loopable[keys[i]], keys[i]);
5055
+ }
5056
+ }
5057
+ };
5058
+ helpers.clone = function(obj) {
5059
+ var objClone = {};
5060
+ helpers.each(obj, function(value, key) {
5061
+ if (helpers.isArray(value)) {
5062
+ objClone[key] = value.slice(0);
5063
+ } else if (typeof value === 'object' && value !== null) {
5064
+ objClone[key] = helpers.clone(value);
5065
+ } else {
5066
+ objClone[key] = value;
5067
+ }
5068
+ });
5069
+ return objClone;
5070
+ };
5071
+ helpers.extend = function(base) {
5072
+ var setFn = function(value, key) {
5073
+ base[key] = value;
5074
+ };
5075
+ for (var i = 1, ilen = arguments.length; i < ilen; i++) {
5076
+ helpers.each(arguments[i], setFn);
5077
+ }
5078
+ return base;
5079
+ };
5080
+ // Need a special merge function to chart configs since they are now grouped
5081
+ helpers.configMerge = function(_base) {
5082
+ var base = helpers.clone(_base);
5083
+ helpers.each(Array.prototype.slice.call(arguments, 1), function(extension) {
5084
+ helpers.each(extension, function(value, key) {
5085
+ var baseHasProperty = base.hasOwnProperty(key);
5086
+ var baseVal = baseHasProperty ? base[key] : {};
5087
+
5088
+ if (key === 'scales') {
5089
+ // Scale config merging is complex. Add our own function here for that
5090
+ base[key] = helpers.scaleMerge(baseVal, value);
5091
+ } else if (key === 'scale') {
5092
+ // Used in polar area & radar charts since there is only one scale
5093
+ base[key] = helpers.configMerge(baseVal, Chart.scaleService.getScaleDefaults(value.type), value);
5094
+ } else if (baseHasProperty
5095
+ && typeof baseVal === 'object'
5096
+ && !helpers.isArray(baseVal)
5097
+ && baseVal !== null
5098
+ && typeof value === 'object'
5099
+ && !helpers.isArray(value)) {
5100
+ // If we are overwriting an object with an object, do a merge of the properties.
5101
+ base[key] = helpers.configMerge(baseVal, value);
5102
+ } else {
5103
+ // can just overwrite the value in this case
5104
+ base[key] = value;
5105
+ }
5106
+ });
5107
+ });
5108
+
5109
+ return base;
5110
+ };
5111
+ helpers.scaleMerge = function(_base, extension) {
5112
+ var base = helpers.clone(_base);
5113
+
5114
+ helpers.each(extension, function(value, key) {
5115
+ if (key === 'xAxes' || key === 'yAxes') {
5116
+ // These properties are arrays of items
5117
+ if (base.hasOwnProperty(key)) {
5118
+ helpers.each(value, function(valueObj, index) {
5119
+ var axisType = helpers.getValueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');
5120
+ var axisDefaults = Chart.scaleService.getScaleDefaults(axisType);
5121
+ if (index >= base[key].length || !base[key][index].type) {
5122
+ base[key].push(helpers.configMerge(axisDefaults, valueObj));
5123
+ } else if (valueObj.type && valueObj.type !== base[key][index].type) {
5124
+ // Type changed. Bring in the new defaults before we bring in valueObj so that valueObj can override the correct scale defaults
5125
+ base[key][index] = helpers.configMerge(base[key][index], axisDefaults, valueObj);
5126
+ } else {
5127
+ // Type is the same
5128
+ base[key][index] = helpers.configMerge(base[key][index], valueObj);
5129
+ }
5130
+ });
5131
+ } else {
5132
+ base[key] = [];
5133
+ helpers.each(value, function(valueObj) {
5134
+ var axisType = helpers.getValueOrDefault(valueObj.type, key === 'xAxes' ? 'category' : 'linear');
5135
+ base[key].push(helpers.configMerge(Chart.scaleService.getScaleDefaults(axisType), valueObj));
5136
+ });
5137
+ }
5138
+ } else if (base.hasOwnProperty(key) && typeof base[key] === 'object' && base[key] !== null && typeof value === 'object') {
5139
+ // If we are overwriting an object with an object, do a merge of the properties.
5140
+ base[key] = helpers.configMerge(base[key], value);
5141
+
5142
+ } else {
5143
+ // can just overwrite the value in this case
5144
+ base[key] = value;
5145
+ }
5146
+ });
5147
+
5148
+ return base;
5149
+ };
5150
+ helpers.getValueAtIndexOrDefault = function(value, index, defaultValue) {
5151
+ if (value === undefined || value === null) {
5152
+ return defaultValue;
5153
+ }
5154
+
5155
+ if (helpers.isArray(value)) {
5156
+ return index < value.length ? value[index] : defaultValue;
5157
+ }
5158
+
5159
+ return value;
5160
+ };
5161
+ helpers.getValueOrDefault = function(value, defaultValue) {
5162
+ return value === undefined ? defaultValue : value;
5163
+ };
5164
+ helpers.indexOf = Array.prototype.indexOf?
5165
+ function(array, item) {
5166
+ return array.indexOf(item);
5167
+ }:
5168
+ function(array, item) {
5169
+ for (var i = 0, ilen = array.length; i < ilen; ++i) {
5170
+ if (array[i] === item) {
5171
+ return i;
5172
+ }
5173
+ }
5174
+ return -1;
5175
+ };
5176
+ helpers.where = function(collection, filterCallback) {
5177
+ if (helpers.isArray(collection) && Array.prototype.filter) {
5178
+ return collection.filter(filterCallback);
5179
+ }
5180
+ var filtered = [];
5181
+
5182
+ helpers.each(collection, function(item) {
5183
+ if (filterCallback(item)) {
5184
+ filtered.push(item);
5185
+ }
5186
+ });
5187
+
5188
+ return filtered;
5189
+ };
5190
+ helpers.findIndex = Array.prototype.findIndex?
5191
+ function(array, callback, scope) {
5192
+ return array.findIndex(callback, scope);
5193
+ } :
5194
+ function(array, callback, scope) {
5195
+ scope = scope === undefined? array : scope;
5196
+ for (var i = 0, ilen = array.length; i < ilen; ++i) {
5197
+ if (callback.call(scope, array[i], i, array)) {
5198
+ return i;
5199
+ }
5200
+ }
5201
+ return -1;
5202
+ };
5203
+ helpers.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {
5204
+ // Default to start of the array
5205
+ if (startIndex === undefined || startIndex === null) {
5206
+ startIndex = -1;
5207
+ }
5208
+ for (var i = startIndex + 1; i < arrayToSearch.length; i++) {
5209
+ var currentItem = arrayToSearch[i];
5210
+ if (filterCallback(currentItem)) {
5211
+ return currentItem;
5212
+ }
5213
+ }
5214
+ };
5215
+ helpers.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {
5216
+ // Default to end of the array
5217
+ if (startIndex === undefined || startIndex === null) {
5218
+ startIndex = arrayToSearch.length;
5219
+ }
5220
+ for (var i = startIndex - 1; i >= 0; i--) {
5221
+ var currentItem = arrayToSearch[i];
5222
+ if (filterCallback(currentItem)) {
5223
+ return currentItem;
5224
+ }
5225
+ }
5226
+ };
5227
+ helpers.inherits = function(extensions) {
5228
+ // Basic javascript inheritance based on the model created in Backbone.js
5229
+ var me = this;
5230
+ var ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {
5231
+ return me.apply(this, arguments);
5232
+ };
5233
+
5234
+ var Surrogate = function() {
5235
+ this.constructor = ChartElement;
5236
+ };
5237
+ Surrogate.prototype = me.prototype;
5238
+ ChartElement.prototype = new Surrogate();
5239
+
5240
+ ChartElement.extend = helpers.inherits;
5241
+
5242
+ if (extensions) {
5243
+ helpers.extend(ChartElement.prototype, extensions);
5244
+ }
5245
+
5246
+ ChartElement.__super__ = me.prototype;
5247
+
5248
+ return ChartElement;
5249
+ };
5250
+ helpers.noop = function() {};
5251
+ helpers.uid = (function() {
5252
+ var id = 0;
5253
+ return function() {
5254
+ return id++;
5255
+ };
5256
+ }());
5257
+ // -- Math methods
5258
+ helpers.isNumber = function(n) {
5259
+ return !isNaN(parseFloat(n)) && isFinite(n);
5260
+ };
5261
+ helpers.almostEquals = function(x, y, epsilon) {
5262
+ return Math.abs(x - y) < epsilon;
5263
+ };
5264
+ helpers.max = function(array) {
5265
+ return array.reduce(function(max, value) {
5266
+ if (!isNaN(value)) {
5267
+ return Math.max(max, value);
5268
+ }
5269
+ return max;
5270
+ }, Number.NEGATIVE_INFINITY);
5271
+ };
5272
+ helpers.min = function(array) {
5273
+ return array.reduce(function(min, value) {
5274
+ if (!isNaN(value)) {
5275
+ return Math.min(min, value);
5276
+ }
5277
+ return min;
5278
+ }, Number.POSITIVE_INFINITY);
5279
+ };
5280
+ helpers.sign = Math.sign?
5281
+ function(x) {
5282
+ return Math.sign(x);
5283
+ } :
5284
+ function(x) {
5285
+ x = +x; // convert to a number
5286
+ if (x === 0 || isNaN(x)) {
5287
+ return x;
5288
+ }
5289
+ return x > 0 ? 1 : -1;
5290
+ };
5291
+ helpers.log10 = Math.log10?
5292
+ function(x) {
5293
+ return Math.log10(x);
5294
+ } :
5295
+ function(x) {
5296
+ return Math.log(x) / Math.LN10;
5297
+ };
5298
+ helpers.toRadians = function(degrees) {
5299
+ return degrees * (Math.PI / 180);
5300
+ };
5301
+ helpers.toDegrees = function(radians) {
5302
+ return radians * (180 / Math.PI);
5303
+ };
5304
+ // Gets the angle from vertical upright to the point about a centre.
5305
+ helpers.getAngleFromPoint = function(centrePoint, anglePoint) {
5306
+ var distanceFromXCenter = anglePoint.x - centrePoint.x,
5307
+ distanceFromYCenter = anglePoint.y - centrePoint.y,
5308
+ radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);
5309
+
5310
+ var angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);
5311
+
5312
+ if (angle < (-0.5 * Math.PI)) {
5313
+ angle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]
5314
+ }
5315
+
5316
+ return {
5317
+ angle: angle,
5318
+ distance: radialDistanceFromCenter
5319
+ };
5320
+ };
5321
+ helpers.distanceBetweenPoints = function(pt1, pt2) {
5322
+ return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));
5323
+ };
5324
+ helpers.aliasPixel = function(pixelWidth) {
5325
+ return (pixelWidth % 2 === 0) ? 0 : 0.5;
5326
+ };
5327
+ helpers.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {
5328
+ // Props to Rob Spencer at scaled innovation for his post on splining between points
5329
+ // http://scaledinnovation.com/analytics/splines/aboutSplines.html
5330
+
5331
+ // This function must also respect "skipped" points
5332
+
5333
+ var previous = firstPoint.skip ? middlePoint : firstPoint,
5334
+ current = middlePoint,
5335
+ next = afterPoint.skip ? middlePoint : afterPoint;
5336
+
5337
+ var d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));
5338
+ var d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));
5339
+
5340
+ var s01 = d01 / (d01 + d12);
5341
+ var s12 = d12 / (d01 + d12);
5342
+
5343
+ // If all points are the same, s01 & s02 will be inf
5344
+ s01 = isNaN(s01) ? 0 : s01;
5345
+ s12 = isNaN(s12) ? 0 : s12;
5346
+
5347
+ var fa = t * s01; // scaling factor for triangle Ta
5348
+ var fb = t * s12;
5349
+
5350
+ return {
5351
+ previous: {
5352
+ x: current.x - fa * (next.x - previous.x),
5353
+ y: current.y - fa * (next.y - previous.y)
5354
+ },
5355
+ next: {
5356
+ x: current.x + fb * (next.x - previous.x),
5357
+ y: current.y + fb * (next.y - previous.y)
5358
+ }
5359
+ };
5360
+ };
5361
+ helpers.EPSILON = Number.EPSILON || 1e-14;
5362
+ helpers.splineCurveMonotone = function(points) {
5363
+ // This function calculates Bézier control points in a similar way than |splineCurve|,
5364
+ // but preserves monotonicity of the provided data and ensures no local extremums are added
5365
+ // between the dataset discrete points due to the interpolation.
5366
+ // See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation
5367
+
5368
+ var pointsWithTangents = (points || []).map(function(point) {
5369
+ return {
5370
+ model: point._model,
5371
+ deltaK: 0,
5372
+ mK: 0
5373
+ };
5374
+ });
5375
+
5376
+ // Calculate slopes (deltaK) and initialize tangents (mK)
5377
+ var pointsLen = pointsWithTangents.length;
5378
+ var i, pointBefore, pointCurrent, pointAfter;
5379
+ for (i = 0; i < pointsLen; ++i) {
5380
+ pointCurrent = pointsWithTangents[i];
5381
+ if (pointCurrent.model.skip) {
5382
+ continue;
5383
+ }
5384
+
5385
+ pointBefore = i > 0 ? pointsWithTangents[i - 1] : null;
5386
+ pointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;
5387
+ if (pointAfter && !pointAfter.model.skip) {
5388
+ pointCurrent.deltaK = (pointAfter.model.y - pointCurrent.model.y) / (pointAfter.model.x - pointCurrent.model.x);
5389
+ }
5390
+
5391
+ if (!pointBefore || pointBefore.model.skip) {
5392
+ pointCurrent.mK = pointCurrent.deltaK;
5393
+ } else if (!pointAfter || pointAfter.model.skip) {
5394
+ pointCurrent.mK = pointBefore.deltaK;
5395
+ } else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {
5396
+ pointCurrent.mK = 0;
5397
+ } else {
5398
+ pointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;
5399
+ }
5400
+ }
5401
+
5402
+ // Adjust tangents to ensure monotonic properties
5403
+ var alphaK, betaK, tauK, squaredMagnitude;
5404
+ for (i = 0; i < pointsLen - 1; ++i) {
5405
+ pointCurrent = pointsWithTangents[i];
5406
+ pointAfter = pointsWithTangents[i + 1];
5407
+ if (pointCurrent.model.skip || pointAfter.model.skip) {
5408
+ continue;
5409
+ }
5410
+
5411
+ if (helpers.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {
5412
+ pointCurrent.mK = pointAfter.mK = 0;
5413
+ continue;
5414
+ }
5415
+
5416
+ alphaK = pointCurrent.mK / pointCurrent.deltaK;
5417
+ betaK = pointAfter.mK / pointCurrent.deltaK;
5418
+ squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);
5419
+ if (squaredMagnitude <= 9) {
5420
+ continue;
5421
+ }
5422
+
5423
+ tauK = 3 / Math.sqrt(squaredMagnitude);
5424
+ pointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;
5425
+ pointAfter.mK = betaK * tauK * pointCurrent.deltaK;
5426
+ }
5427
+
5428
+ // Compute control points
5429
+ var deltaX;
5430
+ for (i = 0; i < pointsLen; ++i) {
5431
+ pointCurrent = pointsWithTangents[i];
5432
+ if (pointCurrent.model.skip) {
5433
+ continue;
5434
+ }
5435
+
5436
+ pointBefore = i > 0 ? pointsWithTangents[i - 1] : null;
5437
+ pointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;
5438
+ if (pointBefore && !pointBefore.model.skip) {
5439
+ deltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;
5440
+ pointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;
5441
+ pointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;
5442
+ }
5443
+ if (pointAfter && !pointAfter.model.skip) {
5444
+ deltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;
5445
+ pointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;
5446
+ pointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;
5447
+ }
5448
+ }
5449
+ };
5450
+ helpers.nextItem = function(collection, index, loop) {
5451
+ if (loop) {
5452
+ return index >= collection.length - 1 ? collection[0] : collection[index + 1];
5453
+ }
5454
+ return index >= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];
5455
+ };
5456
+ helpers.previousItem = function(collection, index, loop) {
5457
+ if (loop) {
5458
+ return index <= 0 ? collection[collection.length - 1] : collection[index - 1];
5459
+ }
5460
+ return index <= 0 ? collection[0] : collection[index - 1];
5461
+ };
5462
+ // Implementation of the nice number algorithm used in determining where axis labels will go
5463
+ helpers.niceNum = function(range, round) {
5464
+ var exponent = Math.floor(helpers.log10(range));
5465
+ var fraction = range / Math.pow(10, exponent);
5466
+ var niceFraction;
5467
+
5468
+ if (round) {
5469
+ if (fraction < 1.5) {
5470
+ niceFraction = 1;
5471
+ } else if (fraction < 3) {
5472
+ niceFraction = 2;
5473
+ } else if (fraction < 7) {
5474
+ niceFraction = 5;
5475
+ } else {
5476
+ niceFraction = 10;
5477
+ }
5478
+ } else if (fraction <= 1.0) {
5479
+ niceFraction = 1;
5480
+ } else if (fraction <= 2) {
5481
+ niceFraction = 2;
5482
+ } else if (fraction <= 5) {
5483
+ niceFraction = 5;
5484
+ } else {
5485
+ niceFraction = 10;
5486
+ }
5487
+
5488
+ return niceFraction * Math.pow(10, exponent);
5489
+ };
5490
+ // Easing functions adapted from Robert Penner's easing equations
5491
+ // http://www.robertpenner.com/easing/
5492
+ var easingEffects = helpers.easingEffects = {
5493
+ linear: function(t) {
5494
+ return t;
5495
+ },
5496
+ easeInQuad: function(t) {
5497
+ return t * t;
5498
+ },
5499
+ easeOutQuad: function(t) {
5500
+ return -1 * t * (t - 2);
5501
+ },
5502
+ easeInOutQuad: function(t) {
5503
+ if ((t /= 1 / 2) < 1) {
5504
+ return 1 / 2 * t * t;
5505
+ }
5506
+ return -1 / 2 * ((--t) * (t - 2) - 1);
5507
+ },
5508
+ easeInCubic: function(t) {
5509
+ return t * t * t;
5510
+ },
5511
+ easeOutCubic: function(t) {
5512
+ return 1 * ((t = t / 1 - 1) * t * t + 1);
5513
+ },
5514
+ easeInOutCubic: function(t) {
5515
+ if ((t /= 1 / 2) < 1) {
5516
+ return 1 / 2 * t * t * t;
5517
+ }
5518
+ return 1 / 2 * ((t -= 2) * t * t + 2);
5519
+ },
5520
+ easeInQuart: function(t) {
5521
+ return t * t * t * t;
5522
+ },
5523
+ easeOutQuart: function(t) {
5524
+ return -1 * ((t = t / 1 - 1) * t * t * t - 1);
5525
+ },
5526
+ easeInOutQuart: function(t) {
5527
+ if ((t /= 1 / 2) < 1) {
5528
+ return 1 / 2 * t * t * t * t;
5529
+ }
5530
+ return -1 / 2 * ((t -= 2) * t * t * t - 2);
5531
+ },
5532
+ easeInQuint: function(t) {
5533
+ return 1 * (t /= 1) * t * t * t * t;
5534
+ },
5535
+ easeOutQuint: function(t) {
5536
+ return 1 * ((t = t / 1 - 1) * t * t * t * t + 1);
5537
+ },
5538
+ easeInOutQuint: function(t) {
5539
+ if ((t /= 1 / 2) < 1) {
5540
+ return 1 / 2 * t * t * t * t * t;
5541
+ }
5542
+ return 1 / 2 * ((t -= 2) * t * t * t * t + 2);
5543
+ },
5544
+ easeInSine: function(t) {
5545
+ return -1 * Math.cos(t / 1 * (Math.PI / 2)) + 1;
5546
+ },
5547
+ easeOutSine: function(t) {
5548
+ return 1 * Math.sin(t / 1 * (Math.PI / 2));
5549
+ },
5550
+ easeInOutSine: function(t) {
5551
+ return -1 / 2 * (Math.cos(Math.PI * t / 1) - 1);
5552
+ },
5553
+ easeInExpo: function(t) {
5554
+ return (t === 0) ? 1 : 1 * Math.pow(2, 10 * (t / 1 - 1));
5555
+ },
5556
+ easeOutExpo: function(t) {
5557
+ return (t === 1) ? 1 : 1 * (-Math.pow(2, -10 * t / 1) + 1);
5558
+ },
5559
+ easeInOutExpo: function(t) {
5560
+ if (t === 0) {
5561
+ return 0;
5562
+ }
5563
+ if (t === 1) {
5564
+ return 1;
5565
+ }
5566
+ if ((t /= 1 / 2) < 1) {
5567
+ return 1 / 2 * Math.pow(2, 10 * (t - 1));
5568
+ }
5569
+ return 1 / 2 * (-Math.pow(2, -10 * --t) + 2);
5570
+ },
5571
+ easeInCirc: function(t) {
5572
+ if (t >= 1) {
5573
+ return t;
5574
+ }
5575
+ return -1 * (Math.sqrt(1 - (t /= 1) * t) - 1);
5576
+ },
5577
+ easeOutCirc: function(t) {
5578
+ return 1 * Math.sqrt(1 - (t = t / 1 - 1) * t);
5579
+ },
5580
+ easeInOutCirc: function(t) {
5581
+ if ((t /= 1 / 2) < 1) {
5582
+ return -1 / 2 * (Math.sqrt(1 - t * t) - 1);
5583
+ }
5584
+ return 1 / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1);
5585
+ },
5586
+ easeInElastic: function(t) {
5587
+ var s = 1.70158;
5588
+ var p = 0;
5589
+ var a = 1;
5590
+ if (t === 0) {
5591
+ return 0;
5592
+ }
5593
+ if ((t /= 1) === 1) {
5594
+ return 1;
5595
+ }
5596
+ if (!p) {
5597
+ p = 1 * 0.3;
5598
+ }
5599
+ if (a < Math.abs(1)) {
5600
+ a = 1;
5601
+ s = p / 4;
5602
+ } else {
5603
+ s = p / (2 * Math.PI) * Math.asin(1 / a);
5604
+ }
5605
+ return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));
5606
+ },
5607
+ easeOutElastic: function(t) {
5608
+ var s = 1.70158;
5609
+ var p = 0;
5610
+ var a = 1;
5611
+ if (t === 0) {
5612
+ return 0;
5613
+ }
5614
+ if ((t /= 1) === 1) {
5615
+ return 1;
5616
+ }
5617
+ if (!p) {
5618
+ p = 1 * 0.3;
5619
+ }
5620
+ if (a < Math.abs(1)) {
5621
+ a = 1;
5622
+ s = p / 4;
5623
+ } else {
5624
+ s = p / (2 * Math.PI) * Math.asin(1 / a);
5625
+ }
5626
+ return a * Math.pow(2, -10 * t) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) + 1;
5627
+ },
5628
+ easeInOutElastic: function(t) {
5629
+ var s = 1.70158;
5630
+ var p = 0;
5631
+ var a = 1;
5632
+ if (t === 0) {
5633
+ return 0;
5634
+ }
5635
+ if ((t /= 1 / 2) === 2) {
5636
+ return 1;
5637
+ }
5638
+ if (!p) {
5639
+ p = 1 * (0.3 * 1.5);
5640
+ }
5641
+ if (a < Math.abs(1)) {
5642
+ a = 1;
5643
+ s = p / 4;
5644
+ } else {
5645
+ s = p / (2 * Math.PI) * Math.asin(1 / a);
5646
+ }
5647
+ if (t < 1) {
5648
+ return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p));
5649
+ }
5650
+ return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * 1 - s) * (2 * Math.PI) / p) * 0.5 + 1;
5651
+ },
5652
+ easeInBack: function(t) {
5653
+ var s = 1.70158;
5654
+ return 1 * (t /= 1) * t * ((s + 1) * t - s);
5655
+ },
5656
+ easeOutBack: function(t) {
5657
+ var s = 1.70158;
5658
+ return 1 * ((t = t / 1 - 1) * t * ((s + 1) * t + s) + 1);
5659
+ },
5660
+ easeInOutBack: function(t) {
5661
+ var s = 1.70158;
5662
+ if ((t /= 1 / 2) < 1) {
5663
+ return 1 / 2 * (t * t * (((s *= (1.525)) + 1) * t - s));
5664
+ }
5665
+ return 1 / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);
5666
+ },
5667
+ easeInBounce: function(t) {
5668
+ return 1 - easingEffects.easeOutBounce(1 - t);
5669
+ },
5670
+ easeOutBounce: function(t) {
5671
+ if ((t /= 1) < (1 / 2.75)) {
5672
+ return 1 * (7.5625 * t * t);
5673
+ } else if (t < (2 / 2.75)) {
5674
+ return 1 * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75);
5675
+ } else if (t < (2.5 / 2.75)) {
5676
+ return 1 * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375);
5677
+ }
5678
+ return 1 * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375);
5679
+ },
5680
+ easeInOutBounce: function(t) {
5681
+ if (t < 1 / 2) {
5682
+ return easingEffects.easeInBounce(t * 2) * 0.5;
5683
+ }
5684
+ return easingEffects.easeOutBounce(t * 2 - 1) * 0.5 + 1 * 0.5;
5685
+ }
5686
+ };
5687
+ // Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/
5688
+ helpers.requestAnimFrame = (function() {
5689
+ return window.requestAnimationFrame ||
5690
+ window.webkitRequestAnimationFrame ||
5691
+ window.mozRequestAnimationFrame ||
5692
+ window.oRequestAnimationFrame ||
5693
+ window.msRequestAnimationFrame ||
5694
+ function(callback) {
5695
+ return window.setTimeout(callback, 1000 / 60);
5696
+ };
5697
+ }());
5698
+ helpers.cancelAnimFrame = (function() {
5699
+ return window.cancelAnimationFrame ||
5700
+ window.webkitCancelAnimationFrame ||
5701
+ window.mozCancelAnimationFrame ||
5702
+ window.oCancelAnimationFrame ||
5703
+ window.msCancelAnimationFrame ||
5704
+ function(callback) {
5705
+ return window.clearTimeout(callback, 1000 / 60);
5706
+ };
5707
+ }());
5708
+ // -- DOM methods
5709
+ helpers.getRelativePosition = function(evt, chart) {
5710
+ var mouseX, mouseY;
5711
+ var e = evt.originalEvent || evt,
5712
+ canvas = evt.currentTarget || evt.srcElement,
5713
+ boundingRect = canvas.getBoundingClientRect();
5714
+
5715
+ var touches = e.touches;
5716
+ if (touches && touches.length > 0) {
5717
+ mouseX = touches[0].clientX;
5718
+ mouseY = touches[0].clientY;
5719
+
5720
+ } else {
5721
+ mouseX = e.clientX;
5722
+ mouseY = e.clientY;
5723
+ }
5724
+
5725
+ // Scale mouse coordinates into canvas coordinates
5726
+ // by following the pattern laid out by 'jerryj' in the comments of
5727
+ // http://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/
5728
+ var paddingLeft = parseFloat(helpers.getStyle(canvas, 'padding-left'));
5729
+ var paddingTop = parseFloat(helpers.getStyle(canvas, 'padding-top'));
5730
+ var paddingRight = parseFloat(helpers.getStyle(canvas, 'padding-right'));
5731
+ var paddingBottom = parseFloat(helpers.getStyle(canvas, 'padding-bottom'));
5732
+ var width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;
5733
+ var height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;
5734
+
5735
+ // We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However
5736
+ // the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here
5737
+ mouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);
5738
+ mouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);
5739
+
5740
+ return {
5741
+ x: mouseX,
5742
+ y: mouseY
5743
+ };
5744
+
5745
+ };
5746
+ helpers.addEvent = function(node, eventType, method) {
5747
+ if (node.addEventListener) {
5748
+ node.addEventListener(eventType, method);
5749
+ } else if (node.attachEvent) {
5750
+ node.attachEvent('on' + eventType, method);
5751
+ } else {
5752
+ node['on' + eventType] = method;
5753
+ }
5754
+ };
5755
+ helpers.removeEvent = function(node, eventType, handler) {
5756
+ if (node.removeEventListener) {
5757
+ node.removeEventListener(eventType, handler, false);
5758
+ } else if (node.detachEvent) {
5759
+ node.detachEvent('on' + eventType, handler);
5760
+ } else {
5761
+ node['on' + eventType] = helpers.noop;
5762
+ }
5763
+ };
5764
+ helpers.bindEvents = function(chartInstance, arrayOfEvents, handler) {
5765
+ // Create the events object if it's not already present
5766
+ var events = chartInstance.events = chartInstance.events || {};
5767
+
5768
+ helpers.each(arrayOfEvents, function(eventName) {
5769
+ events[eventName] = function() {
5770
+ handler.apply(chartInstance, arguments);
5771
+ };
5772
+ helpers.addEvent(chartInstance.chart.canvas, eventName, events[eventName]);
5773
+ });
5774
+ };
5775
+ helpers.unbindEvents = function(chartInstance, arrayOfEvents) {
5776
+ var canvas = chartInstance.chart.canvas;
5777
+ helpers.each(arrayOfEvents, function(handler, eventName) {
5778
+ helpers.removeEvent(canvas, eventName, handler);
5779
+ });
5780
+ };
5781
+
5782
+ // Private helper function to convert max-width/max-height values that may be percentages into a number
5783
+ function parseMaxStyle(styleValue, node, parentProperty) {
5784
+ var valueInPixels;
5785
+ if (typeof(styleValue) === 'string') {
5786
+ valueInPixels = parseInt(styleValue, 10);
5787
+
5788
+ if (styleValue.indexOf('%') !== -1) {
5789
+ // percentage * size in dimension
5790
+ valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];
5791
+ }
5792
+ } else {
5793
+ valueInPixels = styleValue;
5794
+ }
5795
+
5796
+ return valueInPixels;
5797
+ }
5798
+
5799
+ /**
5800
+ * Returns if the given value contains an effective constraint.
5801
+ * @private
5802
+ */
5803
+ function isConstrainedValue(value) {
5804
+ return value !== undefined && value !== null && value !== 'none';
5805
+ }
5806
+
5807
+ // Private helper to get a constraint dimension
5808
+ // @param domNode : the node to check the constraint on
5809
+ // @param maxStyle : the style that defines the maximum for the direction we are using (maxWidth / maxHeight)
5810
+ // @param percentageProperty : property of parent to use when calculating width as a percentage
5811
+ // @see http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser
5812
+ function getConstraintDimension(domNode, maxStyle, percentageProperty) {
5813
+ var view = document.defaultView;
5814
+ var parentNode = domNode.parentNode;
5815
+ var constrainedNode = view.getComputedStyle(domNode)[maxStyle];
5816
+ var constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];
5817
+ var hasCNode = isConstrainedValue(constrainedNode);
5818
+ var hasCContainer = isConstrainedValue(constrainedContainer);
5819
+ var infinity = Number.POSITIVE_INFINITY;
5820
+
5821
+ if (hasCNode || hasCContainer) {
5822
+ return Math.min(
5823
+ hasCNode? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,
5824
+ hasCContainer? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);
5825
+ }
5826
+
5827
+ return 'none';
5828
+ }
5829
+ // returns Number or undefined if no constraint
5830
+ helpers.getConstraintWidth = function(domNode) {
5831
+ return getConstraintDimension(domNode, 'max-width', 'clientWidth');
5832
+ };
5833
+ // returns Number or undefined if no constraint
5834
+ helpers.getConstraintHeight = function(domNode) {
5835
+ return getConstraintDimension(domNode, 'max-height', 'clientHeight');
5836
+ };
5837
+ helpers.getMaximumWidth = function(domNode) {
5838
+ var container = domNode.parentNode;
5839
+ var paddingLeft = parseInt(helpers.getStyle(container, 'padding-left'), 10);
5840
+ var paddingRight = parseInt(helpers.getStyle(container, 'padding-right'), 10);
5841
+ var w = container.clientWidth - paddingLeft - paddingRight;
5842
+ var cw = helpers.getConstraintWidth(domNode);
5843
+ return isNaN(cw)? w : Math.min(w, cw);
5844
+ };
5845
+ helpers.getMaximumHeight = function(domNode) {
5846
+ var container = domNode.parentNode;
5847
+ var paddingTop = parseInt(helpers.getStyle(container, 'padding-top'), 10);
5848
+ var paddingBottom = parseInt(helpers.getStyle(container, 'padding-bottom'), 10);
5849
+ var h = container.clientHeight - paddingTop - paddingBottom;
5850
+ var ch = helpers.getConstraintHeight(domNode);
5851
+ return isNaN(ch)? h : Math.min(h, ch);
5852
+ };
5853
+ helpers.getStyle = function(el, property) {
5854
+ return el.currentStyle ?
5855
+ el.currentStyle[property] :
5856
+ document.defaultView.getComputedStyle(el, null).getPropertyValue(property);
5857
+ };
5858
+ helpers.retinaScale = function(chart) {
5859
+ var pixelRatio = chart.currentDevicePixelRatio = window.devicePixelRatio || 1;
5860
+ if (pixelRatio === 1) {
5861
+ return;
5862
+ }
5863
+
5864
+ var canvas = chart.canvas;
5865
+ var height = chart.height;
5866
+ var width = chart.width;
5867
+
5868
+ canvas.height = height * pixelRatio;
5869
+ canvas.width = width * pixelRatio;
5870
+ chart.ctx.scale(pixelRatio, pixelRatio);
5871
+
5872
+ // If no style has been set on the canvas, the render size is used as display size,
5873
+ // making the chart visually bigger, so let's enforce it to the "correct" values.
5874
+ // See https://github.com/chartjs/Chart.js/issues/3575
5875
+ canvas.style.height = height + 'px';
5876
+ canvas.style.width = width + 'px';
5877
+ };
5878
+ // -- Canvas methods
5879
+ helpers.clear = function(chart) {
5880
+ chart.ctx.clearRect(0, 0, chart.width, chart.height);
5881
+ };
5882
+ helpers.fontString = function(pixelSize, fontStyle, fontFamily) {
5883
+ return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;
5884
+ };
5885
+ helpers.longestText = function(ctx, font, arrayOfThings, cache) {
5886
+ cache = cache || {};
5887
+ var data = cache.data = cache.data || {};
5888
+ var gc = cache.garbageCollect = cache.garbageCollect || [];
5889
+
5890
+ if (cache.font !== font) {
5891
+ data = cache.data = {};
5892
+ gc = cache.garbageCollect = [];
5893
+ cache.font = font;
5894
+ }
5895
+
5896
+ ctx.font = font;
5897
+ var longest = 0;
5898
+ helpers.each(arrayOfThings, function(thing) {
5899
+ // Undefined strings and arrays should not be measured
5900
+ if (thing !== undefined && thing !== null && helpers.isArray(thing) !== true) {
5901
+ longest = helpers.measureText(ctx, data, gc, longest, thing);
5902
+ } else if (helpers.isArray(thing)) {
5903
+ // if it is an array lets measure each element
5904
+ // to do maybe simplify this function a bit so we can do this more recursively?
5905
+ helpers.each(thing, function(nestedThing) {
5906
+ // Undefined strings and arrays should not be measured
5907
+ if (nestedThing !== undefined && nestedThing !== null && !helpers.isArray(nestedThing)) {
5908
+ longest = helpers.measureText(ctx, data, gc, longest, nestedThing);
5909
+ }
5910
+ });
5911
+ }
5912
+ });
5913
+
5914
+ var gcLen = gc.length / 2;
5915
+ if (gcLen > arrayOfThings.length) {
5916
+ for (var i = 0; i < gcLen; i++) {
5917
+ delete data[gc[i]];
5918
+ }
5919
+ gc.splice(0, gcLen);
5920
+ }
5921
+ return longest;
5922
+ };
5923
+ helpers.measureText = function(ctx, data, gc, longest, string) {
5924
+ var textWidth = data[string];
5925
+ if (!textWidth) {
5926
+ textWidth = data[string] = ctx.measureText(string).width;
5927
+ gc.push(string);
5928
+ }
5929
+ if (textWidth > longest) {
5930
+ longest = textWidth;
5931
+ }
5932
+ return longest;
5933
+ };
5934
+ helpers.numberOfLabelLines = function(arrayOfThings) {
5935
+ var numberOfLines = 1;
5936
+ helpers.each(arrayOfThings, function(thing) {
5937
+ if (helpers.isArray(thing)) {
5938
+ if (thing.length > numberOfLines) {
5939
+ numberOfLines = thing.length;
5940
+ }
5941
+ }
5942
+ });
5943
+ return numberOfLines;
5944
+ };
5945
+ helpers.drawRoundedRectangle = function(ctx, x, y, width, height, radius) {
5946
+ ctx.beginPath();
5947
+ ctx.moveTo(x + radius, y);
5948
+ ctx.lineTo(x + width - radius, y);
5949
+ ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
5950
+ ctx.lineTo(x + width, y + height - radius);
5951
+ ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
5952
+ ctx.lineTo(x + radius, y + height);
5953
+ ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
5954
+ ctx.lineTo(x, y + radius);
5955
+ ctx.quadraticCurveTo(x, y, x + radius, y);
5956
+ ctx.closePath();
5957
+ };
5958
+ helpers.color = function(c) {
5959
+ if (!color) {
5960
+ console.error('Color.js not found!');
5961
+ return c;
5962
+ }
5963
+
5964
+ /* global CanvasGradient */
5965
+ if (c instanceof CanvasGradient) {
5966
+ return color(Chart.defaults.global.defaultColor);
5967
+ }
5968
+
5969
+ return color(c);
5970
+ };
5971
+ helpers.addResizeListener = function(node, callback) {
5972
+ var iframe = document.createElement('iframe');
5973
+ iframe.className = 'chartjs-hidden-iframe';
5974
+ iframe.style.cssText =
5975
+ 'display:block;'+
5976
+ 'overflow:hidden;'+
5977
+ 'border:0;'+
5978
+ 'margin:0;'+
5979
+ 'top:0;'+
5980
+ 'left:0;'+
5981
+ 'bottom:0;'+
5982
+ 'right:0;'+
5983
+ 'height:100%;'+
5984
+ 'width:100%;'+
5985
+ 'position:absolute;'+
5986
+ 'pointer-events:none;'+
5987
+ 'z-index:-1;';
5988
+
5989
+ // Prevent the iframe to gain focus on tab.
5990
+ // https://github.com/chartjs/Chart.js/issues/3090
5991
+ iframe.tabIndex = -1;
5992
+
5993
+ // Let's keep track of this added iframe and thus avoid DOM query when removing it.
5994
+ var stub = node._chartjs = {
5995
+ resizer: iframe,
5996
+ ticking: false
5997
+ };
5998
+
5999
+ // Throttle the callback notification until the next animation frame.
6000
+ var notify = function() {
6001
+ if (!stub.ticking) {
6002
+ stub.ticking = true;
6003
+ helpers.requestAnimFrame.call(window, function() {
6004
+ if (stub.resizer) {
6005
+ stub.ticking = false;
6006
+ return callback();
6007
+ }
6008
+ });
6009
+ }
6010
+ };
6011
+
6012
+ // If the iframe is re-attached to the DOM, the resize listener is removed because the
6013
+ // content is reloaded, so make sure to install the handler after the iframe is loaded.
6014
+ // https://github.com/chartjs/Chart.js/issues/3521
6015
+ helpers.addEvent(iframe, 'load', function() {
6016
+ helpers.addEvent(iframe.contentWindow || iframe, 'resize', notify);
6017
+
6018
+ // The iframe size might have changed while loading, which can also
6019
+ // happen if the size has been changed while detached from the DOM.
6020
+ notify();
6021
+ });
6022
+
6023
+ node.insertBefore(iframe, node.firstChild);
6024
+ };
6025
+ helpers.removeResizeListener = function(node) {
6026
+ if (!node || !node._chartjs) {
6027
+ return;
6028
+ }
6029
+
6030
+ var iframe = node._chartjs.resizer;
6031
+ if (iframe) {
6032
+ iframe.parentNode.removeChild(iframe);
6033
+ node._chartjs.resizer = null;
6034
+ }
6035
+
6036
+ delete node._chartjs;
6037
+ };
6038
+ helpers.isArray = Array.isArray?
6039
+ function(obj) {
6040
+ return Array.isArray(obj);
6041
+ } :
6042
+ function(obj) {
6043
+ return Object.prototype.toString.call(obj) === '[object Array]';
6044
+ };
6045
+ // ! @see http://stackoverflow.com/a/14853974
6046
+ helpers.arrayEquals = function(a0, a1) {
6047
+ var i, ilen, v0, v1;
6048
+
6049
+ if (!a0 || !a1 || a0.length !== a1.length) {
6050
+ return false;
6051
+ }
6052
+
6053
+ for (i = 0, ilen=a0.length; i < ilen; ++i) {
6054
+ v0 = a0[i];
6055
+ v1 = a1[i];
6056
+
6057
+ if (v0 instanceof Array && v1 instanceof Array) {
6058
+ if (!helpers.arrayEquals(v0, v1)) {
6059
+ return false;
6060
+ }
6061
+ } else if (v0 !== v1) {
6062
+ // NOTE: two different object instances will never be equal: {x:20} != {x:20}
6063
+ return false;
6064
+ }
6065
+ }
6066
+
6067
+ return true;
6068
+ };
6069
+ helpers.callCallback = function(fn, args, _tArg) {
6070
+ if (fn && typeof fn.call === 'function') {
6071
+ fn.apply(_tArg, args);
6072
+ }
6073
+ };
6074
+ helpers.getHoverColor = function(colorValue) {
6075
+ /* global CanvasPattern */
6076
+ return (colorValue instanceof CanvasPattern) ?
6077
+ colorValue :
6078
+ helpers.color(colorValue).saturate(0.5).darken(0.1).rgbString();
6079
+ };
6080
+ };
6081
+
6082
+ },{"3":3}],27:[function(require,module,exports){
6083
+ 'use strict';
6084
+
6085
+ module.exports = function(Chart) {
6086
+ var helpers = Chart.helpers;
6087
+
6088
+ /**
6089
+ * Helper function to traverse all of the visible elements in the chart
6090
+ * @param chart {chart} the chart
6091
+ * @param handler {Function} the callback to execute for each visible item
6092
+ */
6093
+ function parseVisibleItems(chart, handler) {
6094
+ var datasets = chart.data.datasets;
6095
+ var meta, i, j, ilen, jlen;
6096
+
6097
+ for (i = 0, ilen = datasets.length; i < ilen; ++i) {
6098
+ if (!chart.isDatasetVisible(i)) {
6099
+ continue;
6100
+ }
6101
+
6102
+ meta = chart.getDatasetMeta(i);
6103
+ for (j = 0, jlen = meta.data.length; j < jlen; ++j) {
6104
+ var element = meta.data[j];
6105
+ if (!element._view.skip) {
6106
+ handler(element);
6107
+ }
6108
+ }
6109
+ }
6110
+ }
6111
+
6112
+ /**
6113
+ * Helper function to get the items that intersect the event position
6114
+ * @param items {ChartElement[]} elements to filter
6115
+ * @param position {Point} the point to be nearest to
6116
+ * @return {ChartElement[]} the nearest items
6117
+ */
6118
+ function getIntersectItems(chart, position) {
6119
+ var elements = [];
6120
+
6121
+ parseVisibleItems(chart, function(element) {
6122
+ if (element.inRange(position.x, position.y)) {
6123
+ elements.push(element);
6124
+ }
6125
+ });
6126
+
6127
+ return elements;
6128
+ }
6129
+
6130
+ /**
6131
+ * Helper function to get the items nearest to the event position considering all visible items in teh chart
6132
+ * @param chart {Chart} the chart to look at elements from
6133
+ * @param position {Point} the point to be nearest to
6134
+ * @param intersect {Boolean} if true, only consider items that intersect the position
6135
+ * @param distanceMetric {Function} Optional function to provide the distance between
6136
+ * @return {ChartElement[]} the nearest items
6137
+ */
6138
+ function getNearestItems(chart, position, intersect, distanceMetric) {
6139
+ var minDistance = Number.POSITIVE_INFINITY;
6140
+ var nearestItems = [];
6141
+
6142
+ if (!distanceMetric) {
6143
+ distanceMetric = helpers.distanceBetweenPoints;
6144
+ }
6145
+
6146
+ parseVisibleItems(chart, function(element) {
6147
+ if (intersect && !element.inRange(position.x, position.y)) {
6148
+ return;
6149
+ }
6150
+
6151
+ var center = element.getCenterPoint();
6152
+ var distance = distanceMetric(position, center);
6153
+
6154
+ if (distance < minDistance) {
6155
+ nearestItems = [element];
6156
+ minDistance = distance;
6157
+ } else if (distance === minDistance) {
6158
+ // Can have multiple items at the same distance in which case we sort by size
6159
+ nearestItems.push(element);
6160
+ }
6161
+ });
6162
+
6163
+ return nearestItems;
6164
+ }
6165
+
6166
+ function indexMode(chart, e, options) {
6167
+ var position = helpers.getRelativePosition(e, chart.chart);
6168
+ var distanceMetric = function(pt1, pt2) {
6169
+ return Math.abs(pt1.x - pt2.x);
6170
+ };
6171
+ var items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);
6172
+ var elements = [];
6173
+
6174
+ if (!items.length) {
6175
+ return [];
6176
+ }
6177
+
6178
+ chart.data.datasets.forEach(function(dataset, datasetIndex) {
6179
+ if (chart.isDatasetVisible(datasetIndex)) {
6180
+ var meta = chart.getDatasetMeta(datasetIndex),
6181
+ element = meta.data[items[0]._index];
6182
+
6183
+ // don't count items that are skipped (null data)
6184
+ if (element && !element._view.skip) {
6185
+ elements.push(element);
6186
+ }
6187
+ }
6188
+ });
6189
+
6190
+ return elements;
6191
+ }
6192
+
6193
+ /**
6194
+ * @interface IInteractionOptions
6195
+ */
6196
+ /**
6197
+ * If true, only consider items that intersect the point
6198
+ * @name IInterfaceOptions#boolean
6199
+ * @type Boolean
6200
+ */
6201
+
6202
+ /**
6203
+ * @namespace Chart.Interaction
6204
+ * Contains interaction related functions
6205
+ */
6206
+ Chart.Interaction = {
6207
+ // Helper function for different modes
6208
+ modes: {
6209
+ single: function(chart, e) {
6210
+ var position = helpers.getRelativePosition(e, chart.chart);
6211
+ var elements = [];
6212
+
6213
+ parseVisibleItems(chart, function(element) {
6214
+ if (element.inRange(position.x, position.y)) {
6215
+ elements.push(element);
6216
+ return elements;
6217
+ }
6218
+ });
6219
+
6220
+ return elements.slice(0, 1);
6221
+ },
6222
+
6223
+ /**
6224
+ * @function Chart.Interaction.modes.label
6225
+ * @deprecated since version 2.4.0
6226
+ */
6227
+ label: indexMode,
6228
+
6229
+ /**
6230
+ * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something
6231
+ * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item
6232
+ * @function Chart.Interaction.modes.index
6233
+ * @since v2.4.0
6234
+ * @param chart {chart} the chart we are returning items from
6235
+ * @param e {Event} the event we are find things at
6236
+ * @param options {IInteractionOptions} options to use during interaction
6237
+ * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
6238
+ */
6239
+ index: indexMode,
6240
+
6241
+ /**
6242
+ * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something
6243
+ * If the options.intersect is false, we find the nearest item and return the items in that dataset
6244
+ * @function Chart.Interaction.modes.dataset
6245
+ * @param chart {chart} the chart we are returning items from
6246
+ * @param e {Event} the event we are find things at
6247
+ * @param options {IInteractionOptions} options to use during interaction
6248
+ * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
6249
+ */
6250
+ dataset: function(chart, e, options) {
6251
+ var position = helpers.getRelativePosition(e, chart.chart);
6252
+ var items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false);
6253
+
6254
+ if (items.length > 0) {
6255
+ items = chart.getDatasetMeta(items[0]._datasetIndex).data;
6256
+ }
6257
+
6258
+ return items;
6259
+ },
6260
+
6261
+ /**
6262
+ * @function Chart.Interaction.modes.x-axis
6263
+ * @deprecated since version 2.4.0. Use index mode and intersect == true
6264
+ */
6265
+ 'x-axis': function(chart, e) {
6266
+ return indexMode(chart, e, true);
6267
+ },
6268
+
6269
+ /**
6270
+ * Point mode returns all elements that hit test based on the event position
6271
+ * of the event
6272
+ * @function Chart.Interaction.modes.intersect
6273
+ * @param chart {chart} the chart we are returning items from
6274
+ * @param e {Event} the event we are find things at
6275
+ * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
6276
+ */
6277
+ point: function(chart, e) {
6278
+ var position = helpers.getRelativePosition(e, chart.chart);
6279
+ return getIntersectItems(chart, position);
6280
+ },
6281
+
6282
+ /**
6283
+ * nearest mode returns the element closest to the point
6284
+ * @function Chart.Interaction.modes.intersect
6285
+ * @param chart {chart} the chart we are returning items from
6286
+ * @param e {Event} the event we are find things at
6287
+ * @param options {IInteractionOptions} options to use
6288
+ * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
6289
+ */
6290
+ nearest: function(chart, e, options) {
6291
+ var position = helpers.getRelativePosition(e, chart.chart);
6292
+ var nearestItems = getNearestItems(chart, position, options.intersect);
6293
+
6294
+ // We have multiple items at the same distance from the event. Now sort by smallest
6295
+ if (nearestItems.length > 1) {
6296
+ nearestItems.sort(function(a, b) {
6297
+ var sizeA = a.getArea();
6298
+ var sizeB = b.getArea();
6299
+ var ret = sizeA - sizeB;
6300
+
6301
+ if (ret === 0) {
6302
+ // if equal sort by dataset index
6303
+ ret = a._datasetIndex - b._datasetIndex;
6304
+ }
6305
+
6306
+ return ret;
6307
+ });
6308
+ }
6309
+
6310
+ // Return only 1 item
6311
+ return nearestItems.slice(0, 1);
6312
+ },
6313
+
6314
+ /**
6315
+ * x mode returns the elements that hit-test at the current x coordinate
6316
+ * @function Chart.Interaction.modes.x
6317
+ * @param chart {chart} the chart we are returning items from
6318
+ * @param e {Event} the event we are find things at
6319
+ * @param options {IInteractionOptions} options to use
6320
+ * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
6321
+ */
6322
+ x: function(chart, e, options) {
6323
+ var position = helpers.getRelativePosition(e, chart.chart);
6324
+ var items = [];
6325
+ var intersectsItem = false;
6326
+
6327
+ parseVisibleItems(chart, function(element) {
6328
+ if (element.inXRange(position.x)) {
6329
+ items.push(element);
6330
+ }
6331
+
6332
+ if (element.inRange(position.x, position.y)) {
6333
+ intersectsItem = true;
6334
+ }
6335
+ });
6336
+
6337
+ // If we want to trigger on an intersect and we don't have any items
6338
+ // that intersect the position, return nothing
6339
+ if (options.intersect && !intersectsItem) {
6340
+ items = [];
6341
+ }
6342
+ return items;
6343
+ },
6344
+
6345
+ /**
6346
+ * y mode returns the elements that hit-test at the current y coordinate
6347
+ * @function Chart.Interaction.modes.y
6348
+ * @param chart {chart} the chart we are returning items from
6349
+ * @param e {Event} the event we are find things at
6350
+ * @param options {IInteractionOptions} options to use
6351
+ * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
6352
+ */
6353
+ y: function(chart, e, options) {
6354
+ var position = helpers.getRelativePosition(e, chart.chart);
6355
+ var items = [];
6356
+ var intersectsItem = false;
6357
+
6358
+ parseVisibleItems(chart, function(element) {
6359
+ if (element.inYRange(position.y)) {
6360
+ items.push(element);
6361
+ }
6362
+
6363
+ if (element.inRange(position.x, position.y)) {
6364
+ intersectsItem = true;
6365
+ }
6366
+ });
6367
+
6368
+ // If we want to trigger on an intersect and we don't have any items
6369
+ // that intersect the position, return nothing
6370
+ if (options.intersect && !intersectsItem) {
6371
+ items = [];
6372
+ }
6373
+ return items;
6374
+ }
6375
+ }
6376
+ };
6377
+ };
6378
+
6379
+ },{}],28:[function(require,module,exports){
6380
+ 'use strict';
6381
+
6382
+ module.exports = function() {
6383
+
6384
+ // Occupy the global variable of Chart, and create a simple base class
6385
+ var Chart = function(item, config) {
6386
+ this.controller = new Chart.Controller(item, config, this);
6387
+ return this.controller;
6388
+ };
6389
+
6390
+ // Globally expose the defaults to allow for user updating/changing
6391
+ Chart.defaults = {
6392
+ global: {
6393
+ responsive: true,
6394
+ responsiveAnimationDuration: 0,
6395
+ maintainAspectRatio: true,
6396
+ events: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],
6397
+ hover: {
6398
+ onHover: null,
6399
+ mode: 'nearest',
6400
+ intersect: true,
6401
+ animationDuration: 400
6402
+ },
6403
+ onClick: null,
6404
+ defaultColor: 'rgba(0,0,0,0.1)',
6405
+ defaultFontColor: '#666',
6406
+ defaultFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
6407
+ defaultFontSize: 12,
6408
+ defaultFontStyle: 'normal',
6409
+ showLines: true,
6410
+
6411
+ // Element defaults defined in element extensions
6412
+ elements: {},
6413
+
6414
+ // Legend callback string
6415
+ legendCallback: function(chart) {
6416
+ var text = [];
6417
+ text.push('<ul class="' + chart.id + '-legend">');
6418
+ for (var i = 0; i < chart.data.datasets.length; i++) {
6419
+ text.push('<li><span style="background-color:' + chart.data.datasets[i].backgroundColor + '"></span>');
6420
+ if (chart.data.datasets[i].label) {
6421
+ text.push(chart.data.datasets[i].label);
6422
+ }
6423
+ text.push('</li>');
6424
+ }
6425
+ text.push('</ul>');
6426
+
6427
+ return text.join('');
6428
+ }
6429
+ }
6430
+ };
6431
+
6432
+ Chart.Chart = Chart;
6433
+
6434
+ return Chart;
6435
+ };
6436
+
6437
+ },{}],29:[function(require,module,exports){
6438
+ 'use strict';
6439
+
6440
+ module.exports = function(Chart) {
6441
+
6442
+ var helpers = Chart.helpers;
6443
+
6444
+ // The layout service is very self explanatory. It's responsible for the layout within a chart.
6445
+ // Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need
6446
+ // It is this service's responsibility of carrying out that layout.
6447
+ Chart.layoutService = {
6448
+ defaults: {},
6449
+
6450
+ // Register a box to a chartInstance. A box is simply a reference to an object that requires layout. eg. Scales, Legend, Plugins.
6451
+ addBox: function(chartInstance, box) {
6452
+ if (!chartInstance.boxes) {
6453
+ chartInstance.boxes = [];
6454
+ }
6455
+ chartInstance.boxes.push(box);
6456
+ },
6457
+
6458
+ removeBox: function(chartInstance, box) {
6459
+ if (!chartInstance.boxes) {
6460
+ return;
6461
+ }
6462
+ chartInstance.boxes.splice(chartInstance.boxes.indexOf(box), 1);
6463
+ },
6464
+
6465
+ // The most important function
6466
+ update: function(chartInstance, width, height) {
6467
+
6468
+ if (!chartInstance) {
6469
+ return;
6470
+ }
6471
+
6472
+ var layoutOptions = chartInstance.options.layout;
6473
+ var padding = layoutOptions ? layoutOptions.padding : null;
6474
+
6475
+ var leftPadding = 0;
6476
+ var rightPadding = 0;
6477
+ var topPadding = 0;
6478
+ var bottomPadding = 0;
6479
+
6480
+ if (!isNaN(padding)) {
6481
+ // options.layout.padding is a number. assign to all
6482
+ leftPadding = padding;
6483
+ rightPadding = padding;
6484
+ topPadding = padding;
6485
+ bottomPadding = padding;
6486
+ } else {
6487
+ leftPadding = padding.left || 0;
6488
+ rightPadding = padding.right || 0;
6489
+ topPadding = padding.top || 0;
6490
+ bottomPadding = padding.bottom || 0;
6491
+ }
6492
+
6493
+ var leftBoxes = helpers.where(chartInstance.boxes, function(box) {
6494
+ return box.options.position === 'left';
6495
+ });
6496
+ var rightBoxes = helpers.where(chartInstance.boxes, function(box) {
6497
+ return box.options.position === 'right';
6498
+ });
6499
+ var topBoxes = helpers.where(chartInstance.boxes, function(box) {
6500
+ return box.options.position === 'top';
6501
+ });
6502
+ var bottomBoxes = helpers.where(chartInstance.boxes, function(box) {
6503
+ return box.options.position === 'bottom';
6504
+ });
6505
+
6506
+ // Boxes that overlay the chartarea such as the radialLinear scale
6507
+ var chartAreaBoxes = helpers.where(chartInstance.boxes, function(box) {
6508
+ return box.options.position === 'chartArea';
6509
+ });
6510
+
6511
+ // Ensure that full width boxes are at the very top / bottom
6512
+ topBoxes.sort(function(a, b) {
6513
+ return (b.options.fullWidth ? 1 : 0) - (a.options.fullWidth ? 1 : 0);
6514
+ });
6515
+ bottomBoxes.sort(function(a, b) {
6516
+ return (a.options.fullWidth ? 1 : 0) - (b.options.fullWidth ? 1 : 0);
6517
+ });
6518
+
6519
+ // Essentially we now have any number of boxes on each of the 4 sides.
6520
+ // Our canvas looks like the following.
6521
+ // The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and
6522
+ // B1 is the bottom axis
6523
+ // There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays
6524
+ // These locations are single-box locations only, when trying to register a chartArea location that is already taken,
6525
+ // an error will be thrown.
6526
+ //
6527
+ // |----------------------------------------------------|
6528
+ // | T1 (Full Width) |
6529
+ // |----------------------------------------------------|
6530
+ // | | | T2 | |
6531
+ // | |----|-------------------------------------|----|
6532
+ // | | | C1 | | C2 | |
6533
+ // | | |----| |----| |
6534
+ // | | | | |
6535
+ // | L1 | L2 | ChartArea (C0) | R1 |
6536
+ // | | | | |
6537
+ // | | |----| |----| |
6538
+ // | | | C3 | | C4 | |
6539
+ // | |----|-------------------------------------|----|
6540
+ // | | | B1 | |
6541
+ // |----------------------------------------------------|
6542
+ // | B2 (Full Width) |
6543
+ // |----------------------------------------------------|
6544
+ //
6545
+ // What we do to find the best sizing, we do the following
6546
+ // 1. Determine the minimum size of the chart area.
6547
+ // 2. Split the remaining width equally between each vertical axis
6548
+ // 3. Split the remaining height equally between each horizontal axis
6549
+ // 4. Give each layout the maximum size it can be. The layout will return it's minimum size
6550
+ // 5. Adjust the sizes of each axis based on it's minimum reported size.
6551
+ // 6. Refit each axis
6552
+ // 7. Position each axis in the final location
6553
+ // 8. Tell the chart the final location of the chart area
6554
+ // 9. Tell any axes that overlay the chart area the positions of the chart area
6555
+
6556
+ // Step 1
6557
+ var chartWidth = width - leftPadding - rightPadding;
6558
+ var chartHeight = height - topPadding - bottomPadding;
6559
+ var chartAreaWidth = chartWidth / 2; // min 50%
6560
+ var chartAreaHeight = chartHeight / 2; // min 50%
6561
+
6562
+ // Step 2
6563
+ var verticalBoxWidth = (width - chartAreaWidth) / (leftBoxes.length + rightBoxes.length);
6564
+
6565
+ // Step 3
6566
+ var horizontalBoxHeight = (height - chartAreaHeight) / (topBoxes.length + bottomBoxes.length);
6567
+
6568
+ // Step 4
6569
+ var maxChartAreaWidth = chartWidth;
6570
+ var maxChartAreaHeight = chartHeight;
6571
+ var minBoxSizes = [];
6572
+
6573
+ function getMinimumBoxSize(box) {
6574
+ var minSize;
6575
+ var isHorizontal = box.isHorizontal();
6576
+
6577
+ if (isHorizontal) {
6578
+ minSize = box.update(box.options.fullWidth ? chartWidth : maxChartAreaWidth, horizontalBoxHeight);
6579
+ maxChartAreaHeight -= minSize.height;
6580
+ } else {
6581
+ minSize = box.update(verticalBoxWidth, chartAreaHeight);
6582
+ maxChartAreaWidth -= minSize.width;
6583
+ }
6584
+
6585
+ minBoxSizes.push({
6586
+ horizontal: isHorizontal,
6587
+ minSize: minSize,
6588
+ box: box
6589
+ });
6590
+ }
6591
+
6592
+ helpers.each(leftBoxes.concat(rightBoxes, topBoxes, bottomBoxes), getMinimumBoxSize);
6593
+
6594
+ // At this point, maxChartAreaHeight and maxChartAreaWidth are the size the chart area could
6595
+ // be if the axes are drawn at their minimum sizes.
6596
+
6597
+ // Steps 5 & 6
6598
+ var totalLeftBoxesWidth = leftPadding;
6599
+ var totalRightBoxesWidth = rightPadding;
6600
+ var totalTopBoxesHeight = topPadding;
6601
+ var totalBottomBoxesHeight = bottomPadding;
6602
+
6603
+ // Function to fit a box
6604
+ function fitBox(box) {
6605
+ var minBoxSize = helpers.findNextWhere(minBoxSizes, function(minBox) {
6606
+ return minBox.box === box;
6607
+ });
6608
+
6609
+ if (minBoxSize) {
6610
+ if (box.isHorizontal()) {
6611
+ var scaleMargin = {
6612
+ left: totalLeftBoxesWidth,
6613
+ right: totalRightBoxesWidth,
6614
+ top: 0,
6615
+ bottom: 0
6616
+ };
6617
+
6618
+ // Don't use min size here because of label rotation. When the labels are rotated, their rotation highly depends
6619
+ // on the margin. Sometimes they need to increase in size slightly
6620
+ box.update(box.options.fullWidth ? chartWidth : maxChartAreaWidth, chartHeight / 2, scaleMargin);
6621
+ } else {
6622
+ box.update(minBoxSize.minSize.width, maxChartAreaHeight);
6623
+ }
6624
+ }
6625
+ }
6626
+
6627
+ // Update, and calculate the left and right margins for the horizontal boxes
6628
+ helpers.each(leftBoxes.concat(rightBoxes), fitBox);
6629
+
6630
+ helpers.each(leftBoxes, function(box) {
6631
+ totalLeftBoxesWidth += box.width;
6632
+ });
6633
+
6634
+ helpers.each(rightBoxes, function(box) {
6635
+ totalRightBoxesWidth += box.width;
6636
+ });
6637
+
6638
+ // Set the Left and Right margins for the horizontal boxes
6639
+ helpers.each(topBoxes.concat(bottomBoxes), fitBox);
6640
+
6641
+ // Figure out how much margin is on the top and bottom of the vertical boxes
6642
+ helpers.each(topBoxes, function(box) {
6643
+ totalTopBoxesHeight += box.height;
6644
+ });
6645
+
6646
+ helpers.each(bottomBoxes, function(box) {
6647
+ totalBottomBoxesHeight += box.height;
6648
+ });
6649
+
6650
+ function finalFitVerticalBox(box) {
6651
+ var minBoxSize = helpers.findNextWhere(minBoxSizes, function(minSize) {
6652
+ return minSize.box === box;
6653
+ });
6654
+
6655
+ var scaleMargin = {
6656
+ left: 0,
6657
+ right: 0,
6658
+ top: totalTopBoxesHeight,
6659
+ bottom: totalBottomBoxesHeight
6660
+ };
6661
+
6662
+ if (minBoxSize) {
6663
+ box.update(minBoxSize.minSize.width, maxChartAreaHeight, scaleMargin);
6664
+ }
6665
+ }
6666
+
6667
+ // Let the left layout know the final margin
6668
+ helpers.each(leftBoxes.concat(rightBoxes), finalFitVerticalBox);
6669
+
6670
+ // Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)
6671
+ totalLeftBoxesWidth = leftPadding;
6672
+ totalRightBoxesWidth = rightPadding;
6673
+ totalTopBoxesHeight = topPadding;
6674
+ totalBottomBoxesHeight = bottomPadding;
6675
+
6676
+ helpers.each(leftBoxes, function(box) {
6677
+ totalLeftBoxesWidth += box.width;
6678
+ });
6679
+
6680
+ helpers.each(rightBoxes, function(box) {
6681
+ totalRightBoxesWidth += box.width;
6682
+ });
6683
+
6684
+ helpers.each(topBoxes, function(box) {
6685
+ totalTopBoxesHeight += box.height;
6686
+ });
6687
+ helpers.each(bottomBoxes, function(box) {
6688
+ totalBottomBoxesHeight += box.height;
6689
+ });
6690
+
6691
+ // Figure out if our chart area changed. This would occur if the dataset layout label rotation
6692
+ // changed due to the application of the margins in step 6. Since we can only get bigger, this is safe to do
6693
+ // without calling `fit` again
6694
+ var newMaxChartAreaHeight = height - totalTopBoxesHeight - totalBottomBoxesHeight;
6695
+ var newMaxChartAreaWidth = width - totalLeftBoxesWidth - totalRightBoxesWidth;
6696
+
6697
+ if (newMaxChartAreaWidth !== maxChartAreaWidth || newMaxChartAreaHeight !== maxChartAreaHeight) {
6698
+ helpers.each(leftBoxes, function(box) {
6699
+ box.height = newMaxChartAreaHeight;
6700
+ });
6701
+
6702
+ helpers.each(rightBoxes, function(box) {
6703
+ box.height = newMaxChartAreaHeight;
6704
+ });
6705
+
6706
+ helpers.each(topBoxes, function(box) {
6707
+ if (!box.options.fullWidth) {
6708
+ box.width = newMaxChartAreaWidth;
6709
+ }
6710
+ });
6711
+
6712
+ helpers.each(bottomBoxes, function(box) {
6713
+ if (!box.options.fullWidth) {
6714
+ box.width = newMaxChartAreaWidth;
6715
+ }
6716
+ });
6717
+
6718
+ maxChartAreaHeight = newMaxChartAreaHeight;
6719
+ maxChartAreaWidth = newMaxChartAreaWidth;
6720
+ }
6721
+
6722
+ // Step 7 - Position the boxes
6723
+ var left = leftPadding;
6724
+ var top = topPadding;
6725
+
6726
+ function placeBox(box) {
6727
+ if (box.isHorizontal()) {
6728
+ box.left = box.options.fullWidth ? leftPadding : totalLeftBoxesWidth;
6729
+ box.right = box.options.fullWidth ? width - rightPadding : totalLeftBoxesWidth + maxChartAreaWidth;
6730
+ box.top = top;
6731
+ box.bottom = top + box.height;
6732
+
6733
+ // Move to next point
6734
+ top = box.bottom;
6735
+
6736
+ } else {
6737
+
6738
+ box.left = left;
6739
+ box.right = left + box.width;
6740
+ box.top = totalTopBoxesHeight;
6741
+ box.bottom = totalTopBoxesHeight + maxChartAreaHeight;
6742
+
6743
+ // Move to next point
6744
+ left = box.right;
6745
+ }
6746
+ }
6747
+
6748
+ helpers.each(leftBoxes.concat(topBoxes), placeBox);
6749
+
6750
+ // Account for chart width and height
6751
+ left += maxChartAreaWidth;
6752
+ top += maxChartAreaHeight;
6753
+
6754
+ helpers.each(rightBoxes, placeBox);
6755
+ helpers.each(bottomBoxes, placeBox);
6756
+
6757
+ // Step 8
6758
+ chartInstance.chartArea = {
6759
+ left: totalLeftBoxesWidth,
6760
+ top: totalTopBoxesHeight,
6761
+ right: totalLeftBoxesWidth + maxChartAreaWidth,
6762
+ bottom: totalTopBoxesHeight + maxChartAreaHeight
6763
+ };
6764
+
6765
+ // Step 9
6766
+ helpers.each(chartAreaBoxes, function(box) {
6767
+ box.left = chartInstance.chartArea.left;
6768
+ box.top = chartInstance.chartArea.top;
6769
+ box.right = chartInstance.chartArea.right;
6770
+ box.bottom = chartInstance.chartArea.bottom;
6771
+
6772
+ box.update(maxChartAreaWidth, maxChartAreaHeight);
6773
+ });
6774
+ }
6775
+ };
6776
+ };
6777
+
6778
+ },{}],30:[function(require,module,exports){
6779
+ 'use strict';
6780
+
6781
+ module.exports = function(Chart) {
6782
+
6783
+ var helpers = Chart.helpers;
6784
+ var noop = helpers.noop;
6785
+
6786
+ Chart.defaults.global.legend = {
6787
+
6788
+ display: true,
6789
+ position: 'top',
6790
+ fullWidth: true, // marks that this box should take the full width of the canvas (pushing down other boxes)
6791
+ reverse: false,
6792
+
6793
+ // a callback that will handle
6794
+ onClick: function(e, legendItem) {
6795
+ var index = legendItem.datasetIndex;
6796
+ var ci = this.chart;
6797
+ var meta = ci.getDatasetMeta(index);
6798
+
6799
+ // See controller.isDatasetVisible comment
6800
+ meta.hidden = meta.hidden === null? !ci.data.datasets[index].hidden : null;
6801
+
6802
+ // We hid a dataset ... rerender the chart
6803
+ ci.update();
6804
+ },
6805
+
6806
+ onHover: null,
6807
+
6808
+ labels: {
6809
+ boxWidth: 40,
6810
+ padding: 10,
6811
+ // Generates labels shown in the legend
6812
+ // Valid properties to return:
6813
+ // text : text to display
6814
+ // fillStyle : fill of coloured box
6815
+ // strokeStyle: stroke of coloured box
6816
+ // hidden : if this legend item refers to a hidden item
6817
+ // lineCap : cap style for line
6818
+ // lineDash
6819
+ // lineDashOffset :
6820
+ // lineJoin :
6821
+ // lineWidth :
6822
+ generateLabels: function(chart) {
6823
+ var data = chart.data;
6824
+ return helpers.isArray(data.datasets) ? data.datasets.map(function(dataset, i) {
6825
+ return {
6826
+ text: dataset.label,
6827
+ fillStyle: (!helpers.isArray(dataset.backgroundColor) ? dataset.backgroundColor : dataset.backgroundColor[0]),
6828
+ hidden: !chart.isDatasetVisible(i),
6829
+ lineCap: dataset.borderCapStyle,
6830
+ lineDash: dataset.borderDash,
6831
+ lineDashOffset: dataset.borderDashOffset,
6832
+ lineJoin: dataset.borderJoinStyle,
6833
+ lineWidth: dataset.borderWidth,
6834
+ strokeStyle: dataset.borderColor,
6835
+ pointStyle: dataset.pointStyle,
6836
+
6837
+ // Below is extra data used for toggling the datasets
6838
+ datasetIndex: i
6839
+ };
6840
+ }, this) : [];
6841
+ }
6842
+ }
6843
+ };
6844
+
6845
+ /**
6846
+ * Helper function to get the box width based on the usePointStyle option
6847
+ * @param labelopts {Object} the label options on the legend
6848
+ * @param fontSize {Number} the label font size
6849
+ * @return {Number} width of the color box area
6850
+ */
6851
+ function getBoxWidth(labelOpts, fontSize) {
6852
+ return labelOpts.usePointStyle ?
6853
+ fontSize * Math.SQRT2 :
6854
+ labelOpts.boxWidth;
6855
+ }
6856
+
6857
+ Chart.Legend = Chart.Element.extend({
6858
+
6859
+ initialize: function(config) {
6860
+ helpers.extend(this, config);
6861
+
6862
+ // Contains hit boxes for each dataset (in dataset order)
6863
+ this.legendHitBoxes = [];
6864
+
6865
+ // Are we in doughnut mode which has a different data type
6866
+ this.doughnutMode = false;
6867
+ },
6868
+
6869
+ // These methods are ordered by lifecycle. Utilities then follow.
6870
+ // Any function defined here is inherited by all legend types.
6871
+ // Any function can be extended by the legend type
6872
+
6873
+ beforeUpdate: noop,
6874
+ update: function(maxWidth, maxHeight, margins) {
6875
+ var me = this;
6876
+
6877
+ // Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)
6878
+ me.beforeUpdate();
6879
+
6880
+ // Absorb the master measurements
6881
+ me.maxWidth = maxWidth;
6882
+ me.maxHeight = maxHeight;
6883
+ me.margins = margins;
6884
+
6885
+ // Dimensions
6886
+ me.beforeSetDimensions();
6887
+ me.setDimensions();
6888
+ me.afterSetDimensions();
6889
+ // Labels
6890
+ me.beforeBuildLabels();
6891
+ me.buildLabels();
6892
+ me.afterBuildLabels();
6893
+
6894
+ // Fit
6895
+ me.beforeFit();
6896
+ me.fit();
6897
+ me.afterFit();
6898
+ //
6899
+ me.afterUpdate();
6900
+
6901
+ return me.minSize;
6902
+ },
6903
+ afterUpdate: noop,
6904
+
6905
+ //
6906
+
6907
+ beforeSetDimensions: noop,
6908
+ setDimensions: function() {
6909
+ var me = this;
6910
+ // Set the unconstrained dimension before label rotation
6911
+ if (me.isHorizontal()) {
6912
+ // Reset position before calculating rotation
6913
+ me.width = me.maxWidth;
6914
+ me.left = 0;
6915
+ me.right = me.width;
6916
+ } else {
6917
+ me.height = me.maxHeight;
6918
+
6919
+ // Reset position before calculating rotation
6920
+ me.top = 0;
6921
+ me.bottom = me.height;
6922
+ }
6923
+
6924
+ // Reset padding
6925
+ me.paddingLeft = 0;
6926
+ me.paddingTop = 0;
6927
+ me.paddingRight = 0;
6928
+ me.paddingBottom = 0;
6929
+
6930
+ // Reset minSize
6931
+ me.minSize = {
6932
+ width: 0,
6933
+ height: 0
6934
+ };
6935
+ },
6936
+ afterSetDimensions: noop,
6937
+
6938
+ //
6939
+
6940
+ beforeBuildLabels: noop,
6941
+ buildLabels: function() {
6942
+ var me = this;
6943
+ me.legendItems = me.options.labels.generateLabels.call(me, me.chart);
6944
+ if (me.options.reverse) {
6945
+ me.legendItems.reverse();
6946
+ }
6947
+ },
6948
+ afterBuildLabels: noop,
6949
+
6950
+ //
6951
+
6952
+ beforeFit: noop,
6953
+ fit: function() {
6954
+ var me = this;
6955
+ var opts = me.options;
6956
+ var labelOpts = opts.labels;
6957
+ var display = opts.display;
6958
+
6959
+ var ctx = me.ctx;
6960
+
6961
+ var globalDefault = Chart.defaults.global,
6962
+ itemOrDefault = helpers.getValueOrDefault,
6963
+ fontSize = itemOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),
6964
+ fontStyle = itemOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),
6965
+ fontFamily = itemOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),
6966
+ labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);
6967
+
6968
+ // Reset hit boxes
6969
+ var hitboxes = me.legendHitBoxes = [];
6970
+
6971
+ var minSize = me.minSize;
6972
+ var isHorizontal = me.isHorizontal();
6973
+
6974
+ if (isHorizontal) {
6975
+ minSize.width = me.maxWidth; // fill all the width
6976
+ minSize.height = display ? 10 : 0;
6977
+ } else {
6978
+ minSize.width = display ? 10 : 0;
6979
+ minSize.height = me.maxHeight; // fill all the height
6980
+ }
6981
+
6982
+ // Increase sizes here
6983
+ if (display) {
6984
+ ctx.font = labelFont;
6985
+
6986
+ if (isHorizontal) {
6987
+ // Labels
6988
+
6989
+ // Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one
6990
+ var lineWidths = me.lineWidths = [0];
6991
+ var totalHeight = me.legendItems.length ? fontSize + (labelOpts.padding) : 0;
6992
+
6993
+ ctx.textAlign = 'left';
6994
+ ctx.textBaseline = 'top';
6995
+
6996
+ helpers.each(me.legendItems, function(legendItem, i) {
6997
+ var boxWidth = getBoxWidth(labelOpts, fontSize);
6998
+ var width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;
6999
+
7000
+ if (lineWidths[lineWidths.length - 1] + width + labelOpts.padding >= me.width) {
7001
+ totalHeight += fontSize + (labelOpts.padding);
7002
+ lineWidths[lineWidths.length] = me.left;
7003
+ }
7004
+
7005
+ // Store the hitbox width and height here. Final position will be updated in `draw`
7006
+ hitboxes[i] = {
7007
+ left: 0,
7008
+ top: 0,
7009
+ width: width,
7010
+ height: fontSize
7011
+ };
7012
+
7013
+ lineWidths[lineWidths.length - 1] += width + labelOpts.padding;
7014
+ });
7015
+
7016
+ minSize.height += totalHeight;
7017
+
7018
+ } else {
7019
+ var vPadding = labelOpts.padding;
7020
+ var columnWidths = me.columnWidths = [];
7021
+ var totalWidth = labelOpts.padding;
7022
+ var currentColWidth = 0;
7023
+ var currentColHeight = 0;
7024
+ var itemHeight = fontSize + vPadding;
7025
+
7026
+ helpers.each(me.legendItems, function(legendItem, i) {
7027
+ var boxWidth = getBoxWidth(labelOpts, fontSize);
7028
+ var itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;
7029
+
7030
+ // If too tall, go to new column
7031
+ if (currentColHeight + itemHeight > minSize.height) {
7032
+ totalWidth += currentColWidth + labelOpts.padding;
7033
+ columnWidths.push(currentColWidth); // previous column width
7034
+
7035
+ currentColWidth = 0;
7036
+ currentColHeight = 0;
7037
+ }
7038
+
7039
+ // Get max width
7040
+ currentColWidth = Math.max(currentColWidth, itemWidth);
7041
+ currentColHeight += itemHeight;
7042
+
7043
+ // Store the hitbox width and height here. Final position will be updated in `draw`
7044
+ hitboxes[i] = {
7045
+ left: 0,
7046
+ top: 0,
7047
+ width: itemWidth,
7048
+ height: fontSize
7049
+ };
7050
+ });
7051
+
7052
+ totalWidth += currentColWidth;
7053
+ columnWidths.push(currentColWidth);
7054
+ minSize.width += totalWidth;
7055
+ }
7056
+ }
7057
+
7058
+ me.width = minSize.width;
7059
+ me.height = minSize.height;
7060
+ },
7061
+ afterFit: noop,
7062
+
7063
+ // Shared Methods
7064
+ isHorizontal: function() {
7065
+ return this.options.position === 'top' || this.options.position === 'bottom';
7066
+ },
7067
+
7068
+ // Actually draw the legend on the canvas
7069
+ draw: function() {
7070
+ var me = this;
7071
+ var opts = me.options;
7072
+ var labelOpts = opts.labels;
7073
+ var globalDefault = Chart.defaults.global,
7074
+ lineDefault = globalDefault.elements.line,
7075
+ legendWidth = me.width,
7076
+ lineWidths = me.lineWidths;
7077
+
7078
+ if (opts.display) {
7079
+ var ctx = me.ctx,
7080
+ cursor,
7081
+ itemOrDefault = helpers.getValueOrDefault,
7082
+ fontColor = itemOrDefault(labelOpts.fontColor, globalDefault.defaultFontColor),
7083
+ fontSize = itemOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize),
7084
+ fontStyle = itemOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle),
7085
+ fontFamily = itemOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily),
7086
+ labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);
7087
+
7088
+ // Canvas setup
7089
+ ctx.textAlign = 'left';
7090
+ ctx.textBaseline = 'top';
7091
+ ctx.lineWidth = 0.5;
7092
+ ctx.strokeStyle = fontColor; // for strikethrough effect
7093
+ ctx.fillStyle = fontColor; // render in correct colour
7094
+ ctx.font = labelFont;
7095
+
7096
+ var boxWidth = getBoxWidth(labelOpts, fontSize),
7097
+ hitboxes = me.legendHitBoxes;
7098
+
7099
+ // current position
7100
+ var drawLegendBox = function(x, y, legendItem) {
7101
+ if (isNaN(boxWidth) || boxWidth <= 0) {
7102
+ return;
7103
+ }
7104
+
7105
+ // Set the ctx for the box
7106
+ ctx.save();
7107
+
7108
+ ctx.fillStyle = itemOrDefault(legendItem.fillStyle, globalDefault.defaultColor);
7109
+ ctx.lineCap = itemOrDefault(legendItem.lineCap, lineDefault.borderCapStyle);
7110
+ ctx.lineDashOffset = itemOrDefault(legendItem.lineDashOffset, lineDefault.borderDashOffset);
7111
+ ctx.lineJoin = itemOrDefault(legendItem.lineJoin, lineDefault.borderJoinStyle);
7112
+ ctx.lineWidth = itemOrDefault(legendItem.lineWidth, lineDefault.borderWidth);
7113
+ ctx.strokeStyle = itemOrDefault(legendItem.strokeStyle, globalDefault.defaultColor);
7114
+ var isLineWidthZero = (itemOrDefault(legendItem.lineWidth, lineDefault.borderWidth) === 0);
7115
+
7116
+ if (ctx.setLineDash) {
7117
+ // IE 9 and 10 do not support line dash
7118
+ ctx.setLineDash(itemOrDefault(legendItem.lineDash, lineDefault.borderDash));
7119
+ }
7120
+
7121
+ if (opts.labels && opts.labels.usePointStyle) {
7122
+ // Recalculate x and y for drawPoint() because its expecting
7123
+ // x and y to be center of figure (instead of top left)
7124
+ var radius = fontSize * Math.SQRT2 / 2;
7125
+ var offSet = radius / Math.SQRT2;
7126
+ var centerX = x + offSet;
7127
+ var centerY = y + offSet;
7128
+
7129
+ // Draw pointStyle as legend symbol
7130
+ Chart.canvasHelpers.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY);
7131
+ } else {
7132
+ // Draw box as legend symbol
7133
+ if (!isLineWidthZero) {
7134
+ ctx.strokeRect(x, y, boxWidth, fontSize);
7135
+ }
7136
+ ctx.fillRect(x, y, boxWidth, fontSize);
7137
+ }
7138
+
7139
+ ctx.restore();
7140
+ };
7141
+ var fillText = function(x, y, legendItem, textWidth) {
7142
+ ctx.fillText(legendItem.text, boxWidth + (fontSize / 2) + x, y);
7143
+
7144
+ if (legendItem.hidden) {
7145
+ // Strikethrough the text if hidden
7146
+ ctx.beginPath();
7147
+ ctx.lineWidth = 2;
7148
+ ctx.moveTo(boxWidth + (fontSize / 2) + x, y + (fontSize / 2));
7149
+ ctx.lineTo(boxWidth + (fontSize / 2) + x + textWidth, y + (fontSize / 2));
7150
+ ctx.stroke();
7151
+ }
7152
+ };
7153
+
7154
+ // Horizontal
7155
+ var isHorizontal = me.isHorizontal();
7156
+ if (isHorizontal) {
7157
+ cursor = {
7158
+ x: me.left + ((legendWidth - lineWidths[0]) / 2),
7159
+ y: me.top + labelOpts.padding,
7160
+ line: 0
7161
+ };
7162
+ } else {
7163
+ cursor = {
7164
+ x: me.left + labelOpts.padding,
7165
+ y: me.top + labelOpts.padding,
7166
+ line: 0
7167
+ };
7168
+ }
7169
+
7170
+ var itemHeight = fontSize + labelOpts.padding;
7171
+ helpers.each(me.legendItems, function(legendItem, i) {
7172
+ var textWidth = ctx.measureText(legendItem.text).width,
7173
+ width = boxWidth + (fontSize / 2) + textWidth,
7174
+ x = cursor.x,
7175
+ y = cursor.y;
7176
+
7177
+ if (isHorizontal) {
7178
+ if (x + width >= legendWidth) {
7179
+ y = cursor.y += itemHeight;
7180
+ cursor.line++;
7181
+ x = cursor.x = me.left + ((legendWidth - lineWidths[cursor.line]) / 2);
7182
+ }
7183
+ } else if (y + itemHeight > me.bottom) {
7184
+ x = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;
7185
+ y = cursor.y = me.top;
7186
+ cursor.line++;
7187
+ }
7188
+
7189
+ drawLegendBox(x, y, legendItem);
7190
+
7191
+ hitboxes[i].left = x;
7192
+ hitboxes[i].top = y;
7193
+
7194
+ // Fill the actual label
7195
+ fillText(x, y, legendItem, textWidth);
7196
+
7197
+ if (isHorizontal) {
7198
+ cursor.x += width + (labelOpts.padding);
7199
+ } else {
7200
+ cursor.y += itemHeight;
7201
+ }
7202
+
7203
+ });
7204
+ }
7205
+ },
7206
+
7207
+ /**
7208
+ * Handle an event
7209
+ * @private
7210
+ * @param e {Event} the event to handle
7211
+ * @return {Boolean} true if a change occured
7212
+ */
7213
+ handleEvent: function(e) {
7214
+ var me = this;
7215
+ var opts = me.options;
7216
+ var type = e.type === 'mouseup' ? 'click' : e.type;
7217
+ var changed = false;
7218
+
7219
+ if (type === 'mousemove') {
7220
+ if (!opts.onHover) {
7221
+ return;
7222
+ }
7223
+ } else if (type === 'click') {
7224
+ if (!opts.onClick) {
7225
+ return;
7226
+ }
7227
+ } else {
7228
+ return;
7229
+ }
7230
+
7231
+ var position = helpers.getRelativePosition(e, me.chart.chart),
7232
+ x = position.x,
7233
+ y = position.y;
7234
+
7235
+ if (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {
7236
+ // See if we are touching one of the dataset boxes
7237
+ var lh = me.legendHitBoxes;
7238
+ for (var i = 0; i < lh.length; ++i) {
7239
+ var hitBox = lh[i];
7240
+
7241
+ if (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {
7242
+ // Touching an element
7243
+ if (type === 'click') {
7244
+ opts.onClick.call(me, e, me.legendItems[i]);
7245
+ changed = true;
7246
+ break;
7247
+ } else if (type === 'mousemove') {
7248
+ opts.onHover.call(me, e, me.legendItems[i]);
7249
+ changed = true;
7250
+ break;
7251
+ }
7252
+ }
7253
+ }
7254
+ }
7255
+
7256
+ return changed;
7257
+ }
7258
+ });
7259
+
7260
+ // Register the legend plugin
7261
+ Chart.plugins.register({
7262
+ beforeInit: function(chartInstance) {
7263
+ var opts = chartInstance.options;
7264
+ var legendOpts = opts.legend;
7265
+
7266
+ if (legendOpts) {
7267
+ chartInstance.legend = new Chart.Legend({
7268
+ ctx: chartInstance.chart.ctx,
7269
+ options: legendOpts,
7270
+ chart: chartInstance
7271
+ });
7272
+
7273
+ Chart.layoutService.addBox(chartInstance, chartInstance.legend);
7274
+ }
7275
+ }
7276
+ });
7277
+ };
7278
+
7279
+ },{}],31:[function(require,module,exports){
7280
+ 'use strict';
7281
+
7282
+ module.exports = function(Chart) {
7283
+
7284
+ var noop = Chart.helpers.noop;
7285
+
7286
+ /**
7287
+ * The plugin service singleton
7288
+ * @namespace Chart.plugins
7289
+ * @since 2.1.0
7290
+ */
7291
+ Chart.plugins = {
7292
+ _plugins: [],
7293
+
7294
+ /**
7295
+ * Registers the given plugin(s) if not already registered.
7296
+ * @param {Array|Object} plugins plugin instance(s).
7297
+ */
7298
+ register: function(plugins) {
7299
+ var p = this._plugins;
7300
+ ([]).concat(plugins).forEach(function(plugin) {
7301
+ if (p.indexOf(plugin) === -1) {
7302
+ p.push(plugin);
7303
+ }
7304
+ });
7305
+ },
7306
+
7307
+ /**
7308
+ * Unregisters the given plugin(s) only if registered.
7309
+ * @param {Array|Object} plugins plugin instance(s).
7310
+ */
7311
+ unregister: function(plugins) {
7312
+ var p = this._plugins;
7313
+ ([]).concat(plugins).forEach(function(plugin) {
7314
+ var idx = p.indexOf(plugin);
7315
+ if (idx !== -1) {
7316
+ p.splice(idx, 1);
7317
+ }
7318
+ });
7319
+ },
7320
+
7321
+ /**
7322
+ * Remove all registered plugins.
7323
+ * @since 2.1.5
7324
+ */
7325
+ clear: function() {
7326
+ this._plugins = [];
7327
+ },
7328
+
7329
+ /**
7330
+ * Returns the number of registered plugins?
7331
+ * @returns {Number}
7332
+ * @since 2.1.5
7333
+ */
7334
+ count: function() {
7335
+ return this._plugins.length;
7336
+ },
7337
+
7338
+ /**
7339
+ * Returns all registered plugin instances.
7340
+ * @returns {Array} array of plugin objects.
7341
+ * @since 2.1.5
7342
+ */
7343
+ getAll: function() {
7344
+ return this._plugins;
7345
+ },
7346
+
7347
+ /**
7348
+ * Calls registered plugins on the specified extension, with the given args. This
7349
+ * method immediately returns as soon as a plugin explicitly returns false. The
7350
+ * returned value can be used, for instance, to interrupt the current action.
7351
+ * @param {String} extension the name of the plugin method to call (e.g. 'beforeUpdate').
7352
+ * @param {Array} [args] extra arguments to apply to the extension call.
7353
+ * @returns {Boolean} false if any of the plugins return false, else returns true.
7354
+ */
7355
+ notify: function(extension, args) {
7356
+ var plugins = this._plugins;
7357
+ var ilen = plugins.length;
7358
+ var i, plugin;
7359
+
7360
+ for (i=0; i<ilen; ++i) {
7361
+ plugin = plugins[i];
7362
+ if (typeof plugin[extension] === 'function') {
7363
+ if (plugin[extension].apply(plugin, args || []) === false) {
7364
+ return false;
7365
+ }
7366
+ }
7367
+ }
7368
+
7369
+ return true;
7370
+ }
7371
+ };
7372
+
7373
+ /**
7374
+ * Plugin extension methods.
7375
+ * @interface Chart.PluginBase
7376
+ * @since 2.1.0
7377
+ */
7378
+ Chart.PluginBase = Chart.Element.extend({
7379
+ // Called at start of chart init
7380
+ beforeInit: noop,
7381
+
7382
+ // Called at end of chart init
7383
+ afterInit: noop,
7384
+
7385
+ // Called at start of update
7386
+ beforeUpdate: noop,
7387
+
7388
+ // Called at end of update
7389
+ afterUpdate: noop,
7390
+
7391
+ // Called at start of draw
7392
+ beforeDraw: noop,
7393
+
7394
+ // Called at end of draw
7395
+ afterDraw: noop,
7396
+
7397
+ // Called during destroy
7398
+ destroy: noop
7399
+ });
7400
+
7401
+ /**
7402
+ * Provided for backward compatibility, use Chart.plugins instead
7403
+ * @namespace Chart.pluginService
7404
+ * @deprecated since version 2.1.5
7405
+ * @todo remove me at version 3
7406
+ */
7407
+ Chart.pluginService = Chart.plugins;
7408
+ };
7409
+
7410
+ },{}],32:[function(require,module,exports){
7411
+ 'use strict';
7412
+
7413
+ module.exports = function(Chart) {
7414
+
7415
+ var helpers = Chart.helpers;
7416
+
7417
+ Chart.defaults.scale = {
7418
+ display: true,
7419
+ position: 'left',
7420
+
7421
+ // grid line settings
7422
+ gridLines: {
7423
+ display: true,
7424
+ color: 'rgba(0, 0, 0, 0.1)',
7425
+ lineWidth: 1,
7426
+ drawBorder: true,
7427
+ drawOnChartArea: true,
7428
+ drawTicks: true,
7429
+ tickMarkLength: 10,
7430
+ zeroLineWidth: 1,
7431
+ zeroLineColor: 'rgba(0,0,0,0.25)',
7432
+ offsetGridLines: false,
7433
+ borderDash: [],
7434
+ borderDashOffset: 0.0
7435
+ },
7436
+
7437
+ // scale label
7438
+ scaleLabel: {
7439
+ // actual label
7440
+ labelString: '',
7441
+
7442
+ // display property
7443
+ display: false
7444
+ },
7445
+
7446
+ // label settings
7447
+ ticks: {
7448
+ beginAtZero: false,
7449
+ minRotation: 0,
7450
+ maxRotation: 50,
7451
+ mirror: false,
7452
+ padding: 10,
7453
+ reverse: false,
7454
+ display: true,
7455
+ autoSkip: true,
7456
+ autoSkipPadding: 0,
7457
+ labelOffset: 0,
7458
+ // We pass through arrays to be rendered as multiline labels, we convert Others to strings here.
7459
+ callback: Chart.Ticks.formatters.values
7460
+ }
7461
+ };
7462
+
7463
+ Chart.Scale = Chart.Element.extend({
7464
+
7465
+ // These methods are ordered by lifecycle. Utilities then follow.
7466
+ // Any function defined here is inherited by all scale types.
7467
+ // Any function can be extended by the scale type
7468
+
7469
+ beforeUpdate: function() {
7470
+ helpers.callCallback(this.options.beforeUpdate, [this]);
7471
+ },
7472
+ update: function(maxWidth, maxHeight, margins) {
7473
+ var me = this;
7474
+
7475
+ // Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)
7476
+ me.beforeUpdate();
7477
+
7478
+ // Absorb the master measurements
7479
+ me.maxWidth = maxWidth;
7480
+ me.maxHeight = maxHeight;
7481
+ me.margins = helpers.extend({
7482
+ left: 0,
7483
+ right: 0,
7484
+ top: 0,
7485
+ bottom: 0
7486
+ }, margins);
7487
+
7488
+ // Dimensions
7489
+ me.beforeSetDimensions();
7490
+ me.setDimensions();
7491
+ me.afterSetDimensions();
7492
+
7493
+ // Data min/max
7494
+ me.beforeDataLimits();
7495
+ me.determineDataLimits();
7496
+ me.afterDataLimits();
7497
+
7498
+ // Ticks
7499
+ me.beforeBuildTicks();
7500
+ me.buildTicks();
7501
+ me.afterBuildTicks();
7502
+
7503
+ me.beforeTickToLabelConversion();
7504
+ me.convertTicksToLabels();
7505
+ me.afterTickToLabelConversion();
7506
+
7507
+ // Tick Rotation
7508
+ me.beforeCalculateTickRotation();
7509
+ me.calculateTickRotation();
7510
+ me.afterCalculateTickRotation();
7511
+ // Fit
7512
+ me.beforeFit();
7513
+ me.fit();
7514
+ me.afterFit();
7515
+ //
7516
+ me.afterUpdate();
7517
+
7518
+ return me.minSize;
7519
+
7520
+ },
7521
+ afterUpdate: function() {
7522
+ helpers.callCallback(this.options.afterUpdate, [this]);
7523
+ },
7524
+
7525
+ //
7526
+
7527
+ beforeSetDimensions: function() {
7528
+ helpers.callCallback(this.options.beforeSetDimensions, [this]);
7529
+ },
7530
+ setDimensions: function() {
7531
+ var me = this;
7532
+ // Set the unconstrained dimension before label rotation
7533
+ if (me.isHorizontal()) {
7534
+ // Reset position before calculating rotation
7535
+ me.width = me.maxWidth;
7536
+ me.left = 0;
7537
+ me.right = me.width;
7538
+ } else {
7539
+ me.height = me.maxHeight;
7540
+
7541
+ // Reset position before calculating rotation
7542
+ me.top = 0;
7543
+ me.bottom = me.height;
7544
+ }
7545
+
7546
+ // Reset padding
7547
+ me.paddingLeft = 0;
7548
+ me.paddingTop = 0;
7549
+ me.paddingRight = 0;
7550
+ me.paddingBottom = 0;
7551
+ },
7552
+ afterSetDimensions: function() {
7553
+ helpers.callCallback(this.options.afterSetDimensions, [this]);
7554
+ },
7555
+
7556
+ // Data limits
7557
+ beforeDataLimits: function() {
7558
+ helpers.callCallback(this.options.beforeDataLimits, [this]);
7559
+ },
7560
+ determineDataLimits: helpers.noop,
7561
+ afterDataLimits: function() {
7562
+ helpers.callCallback(this.options.afterDataLimits, [this]);
7563
+ },
7564
+
7565
+ //
7566
+ beforeBuildTicks: function() {
7567
+ helpers.callCallback(this.options.beforeBuildTicks, [this]);
7568
+ },
7569
+ buildTicks: helpers.noop,
7570
+ afterBuildTicks: function() {
7571
+ helpers.callCallback(this.options.afterBuildTicks, [this]);
7572
+ },
7573
+
7574
+ beforeTickToLabelConversion: function() {
7575
+ helpers.callCallback(this.options.beforeTickToLabelConversion, [this]);
7576
+ },
7577
+ convertTicksToLabels: function() {
7578
+ var me = this;
7579
+ // Convert ticks to strings
7580
+ var tickOpts = me.options.ticks;
7581
+ me.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback);
7582
+ },
7583
+ afterTickToLabelConversion: function() {
7584
+ helpers.callCallback(this.options.afterTickToLabelConversion, [this]);
7585
+ },
7586
+
7587
+ //
7588
+
7589
+ beforeCalculateTickRotation: function() {
7590
+ helpers.callCallback(this.options.beforeCalculateTickRotation, [this]);
7591
+ },
7592
+ calculateTickRotation: function() {
7593
+ var me = this;
7594
+ var context = me.ctx;
7595
+ var globalDefaults = Chart.defaults.global;
7596
+ var optionTicks = me.options.ticks;
7597
+
7598
+ // Get the width of each grid by calculating the difference
7599
+ // between x offsets between 0 and 1.
7600
+ var tickFontSize = helpers.getValueOrDefault(optionTicks.fontSize, globalDefaults.defaultFontSize);
7601
+ var tickFontStyle = helpers.getValueOrDefault(optionTicks.fontStyle, globalDefaults.defaultFontStyle);
7602
+ var tickFontFamily = helpers.getValueOrDefault(optionTicks.fontFamily, globalDefaults.defaultFontFamily);
7603
+ var tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);
7604
+ context.font = tickLabelFont;
7605
+
7606
+ var firstWidth = context.measureText(me.ticks[0]).width;
7607
+ var lastWidth = context.measureText(me.ticks[me.ticks.length - 1]).width;
7608
+ var firstRotated;
7609
+
7610
+ me.labelRotation = optionTicks.minRotation || 0;
7611
+ me.paddingRight = 0;
7612
+ me.paddingLeft = 0;
7613
+
7614
+ if (me.options.display) {
7615
+ if (me.isHorizontal()) {
7616
+ me.paddingRight = lastWidth / 2 + 3;
7617
+ me.paddingLeft = firstWidth / 2 + 3;
7618
+
7619
+ if (!me.longestTextCache) {
7620
+ me.longestTextCache = {};
7621
+ }
7622
+ var originalLabelWidth = helpers.longestText(context, tickLabelFont, me.ticks, me.longestTextCache);
7623
+ var labelWidth = originalLabelWidth;
7624
+ var cosRotation;
7625
+ var sinRotation;
7626
+
7627
+ // Allow 3 pixels x2 padding either side for label readability
7628
+ // only the index matters for a dataset scale, but we want a consistent interface between scales
7629
+ var tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;
7630
+
7631
+ // Max label rotation can be set or default to 90 - also act as a loop counter
7632
+ while (labelWidth > tickWidth && me.labelRotation < optionTicks.maxRotation) {
7633
+ cosRotation = Math.cos(helpers.toRadians(me.labelRotation));
7634
+ sinRotation = Math.sin(helpers.toRadians(me.labelRotation));
7635
+
7636
+ firstRotated = cosRotation * firstWidth;
7637
+
7638
+ // We're right aligning the text now.
7639
+ if (firstRotated + tickFontSize / 2 > me.yLabelWidth) {
7640
+ me.paddingLeft = firstRotated + tickFontSize / 2;
7641
+ }
7642
+
7643
+ me.paddingRight = tickFontSize / 2;
7644
+
7645
+ if (sinRotation * originalLabelWidth > me.maxHeight) {
7646
+ // go back one step
7647
+ me.labelRotation--;
7648
+ break;
7649
+ }
7650
+
7651
+ me.labelRotation++;
7652
+ labelWidth = cosRotation * originalLabelWidth;
7653
+ }
7654
+ }
7655
+ }
7656
+
7657
+ if (me.margins) {
7658
+ me.paddingLeft = Math.max(me.paddingLeft - me.margins.left, 0);
7659
+ me.paddingRight = Math.max(me.paddingRight - me.margins.right, 0);
7660
+ }
7661
+ },
7662
+ afterCalculateTickRotation: function() {
7663
+ helpers.callCallback(this.options.afterCalculateTickRotation, [this]);
7664
+ },
7665
+
7666
+ //
7667
+
7668
+ beforeFit: function() {
7669
+ helpers.callCallback(this.options.beforeFit, [this]);
7670
+ },
7671
+ fit: function() {
7672
+ var me = this;
7673
+ // Reset
7674
+ var minSize = me.minSize = {
7675
+ width: 0,
7676
+ height: 0
7677
+ };
7678
+
7679
+ var opts = me.options;
7680
+ var globalDefaults = Chart.defaults.global;
7681
+ var tickOpts = opts.ticks;
7682
+ var scaleLabelOpts = opts.scaleLabel;
7683
+ var gridLineOpts = opts.gridLines;
7684
+ var display = opts.display;
7685
+ var isHorizontal = me.isHorizontal();
7686
+
7687
+ var tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
7688
+ var tickFontStyle = helpers.getValueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);
7689
+ var tickFontFamily = helpers.getValueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);
7690
+ var tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);
7691
+
7692
+ var scaleLabelFontSize = helpers.getValueOrDefault(scaleLabelOpts.fontSize, globalDefaults.defaultFontSize);
7693
+
7694
+ var tickMarkLength = opts.gridLines.tickMarkLength;
7695
+
7696
+ // Width
7697
+ if (isHorizontal) {
7698
+ // subtract the margins to line up with the chartArea if we are a full width scale
7699
+ minSize.width = me.isFullWidth() ? me.maxWidth - me.margins.left - me.margins.right : me.maxWidth;
7700
+ } else {
7701
+ minSize.width = display && gridLineOpts.drawTicks ? tickMarkLength : 0;
7702
+ }
7703
+
7704
+ // height
7705
+ if (isHorizontal) {
7706
+ minSize.height = display && gridLineOpts.drawTicks ? tickMarkLength : 0;
7707
+ } else {
7708
+ minSize.height = me.maxHeight; // fill all the height
7709
+ }
7710
+
7711
+ // Are we showing a title for the scale?
7712
+ if (scaleLabelOpts.display && display) {
7713
+ if (isHorizontal) {
7714
+ minSize.height += (scaleLabelFontSize * 1.5);
7715
+ } else {
7716
+ minSize.width += (scaleLabelFontSize * 1.5);
7717
+ }
7718
+ }
7719
+
7720
+ if (tickOpts.display && display) {
7721
+ // Don't bother fitting the ticks if we are not showing them
7722
+ if (!me.longestTextCache) {
7723
+ me.longestTextCache = {};
7724
+ }
7725
+
7726
+ var largestTextWidth = helpers.longestText(me.ctx, tickLabelFont, me.ticks, me.longestTextCache);
7727
+ var tallestLabelHeightInLines = helpers.numberOfLabelLines(me.ticks);
7728
+ var lineSpace = tickFontSize * 0.5;
7729
+
7730
+ if (isHorizontal) {
7731
+ // A horizontal axis is more constrained by the height.
7732
+ me.longestLabelWidth = largestTextWidth;
7733
+
7734
+ // TODO - improve this calculation
7735
+ var labelHeight = (Math.sin(helpers.toRadians(me.labelRotation)) * me.longestLabelWidth) + (tickFontSize * tallestLabelHeightInLines) + (lineSpace * tallestLabelHeightInLines);
7736
+
7737
+ minSize.height = Math.min(me.maxHeight, minSize.height + labelHeight);
7738
+ me.ctx.font = tickLabelFont;
7739
+
7740
+ var firstLabelWidth = me.ctx.measureText(me.ticks[0]).width;
7741
+ var lastLabelWidth = me.ctx.measureText(me.ticks[me.ticks.length - 1]).width;
7742
+
7743
+ // Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned which means that the right padding is dominated
7744
+ // by the font height
7745
+ var cosRotation = Math.cos(helpers.toRadians(me.labelRotation));
7746
+ var sinRotation = Math.sin(helpers.toRadians(me.labelRotation));
7747
+ me.paddingLeft = me.labelRotation !== 0 ? (cosRotation * firstLabelWidth) + 3 : firstLabelWidth / 2 + 3; // add 3 px to move away from canvas edges
7748
+ me.paddingRight = me.labelRotation !== 0 ? (sinRotation * (tickFontSize / 2)) + 3 : lastLabelWidth / 2 + 3; // when rotated
7749
+ } else {
7750
+ // A vertical axis is more constrained by the width. Labels are the dominant factor here, so get that length first
7751
+ var maxLabelWidth = me.maxWidth - minSize.width;
7752
+
7753
+ // Account for padding
7754
+ var mirror = tickOpts.mirror;
7755
+ if (!mirror) {
7756
+ largestTextWidth += me.options.ticks.padding;
7757
+ } else {
7758
+ // If mirrored text is on the inside so don't expand
7759
+ largestTextWidth = 0;
7760
+ }
7761
+
7762
+ if (largestTextWidth < maxLabelWidth) {
7763
+ // We don't need all the room
7764
+ minSize.width += largestTextWidth;
7765
+ } else {
7766
+ // Expand to max size
7767
+ minSize.width = me.maxWidth;
7768
+ }
7769
+
7770
+ me.paddingTop = tickFontSize / 2;
7771
+ me.paddingBottom = tickFontSize / 2;
7772
+ }
7773
+ }
7774
+
7775
+ if (me.margins) {
7776
+ me.paddingLeft = Math.max(me.paddingLeft - me.margins.left, 0);
7777
+ me.paddingTop = Math.max(me.paddingTop - me.margins.top, 0);
7778
+ me.paddingRight = Math.max(me.paddingRight - me.margins.right, 0);
7779
+ me.paddingBottom = Math.max(me.paddingBottom - me.margins.bottom, 0);
7780
+ }
7781
+
7782
+ me.width = minSize.width;
7783
+ me.height = minSize.height;
7784
+
7785
+ },
7786
+ afterFit: function() {
7787
+ helpers.callCallback(this.options.afterFit, [this]);
7788
+ },
7789
+
7790
+ // Shared Methods
7791
+ isHorizontal: function() {
7792
+ return this.options.position === 'top' || this.options.position === 'bottom';
7793
+ },
7794
+ isFullWidth: function() {
7795
+ return (this.options.fullWidth);
7796
+ },
7797
+
7798
+ // Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not
7799
+ getRightValue: function(rawValue) {
7800
+ // Null and undefined values first
7801
+ if (rawValue === null || typeof(rawValue) === 'undefined') {
7802
+ return NaN;
7803
+ }
7804
+ // isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values
7805
+ if (typeof(rawValue) === 'number' && !isFinite(rawValue)) {
7806
+ return NaN;
7807
+ }
7808
+ // If it is in fact an object, dive in one more level
7809
+ if (typeof(rawValue) === 'object') {
7810
+ if ((rawValue instanceof Date) || (rawValue.isValid)) {
7811
+ return rawValue;
7812
+ }
7813
+ return this.getRightValue(this.isHorizontal() ? rawValue.x : rawValue.y);
7814
+ }
7815
+
7816
+ // Value is good, return it
7817
+ return rawValue;
7818
+ },
7819
+
7820
+ // Used to get the value to display in the tooltip for the data at the given index
7821
+ // function getLabelForIndex(index, datasetIndex)
7822
+ getLabelForIndex: helpers.noop,
7823
+
7824
+ // Used to get data value locations. Value can either be an index or a numerical value
7825
+ getPixelForValue: helpers.noop,
7826
+
7827
+ // Used to get the data value from a given pixel. This is the inverse of getPixelForValue
7828
+ getValueForPixel: helpers.noop,
7829
+
7830
+ // Used for tick location, should
7831
+ getPixelForTick: function(index, includeOffset) {
7832
+ var me = this;
7833
+ if (me.isHorizontal()) {
7834
+ var innerWidth = me.width - (me.paddingLeft + me.paddingRight);
7835
+ var tickWidth = innerWidth / Math.max((me.ticks.length - ((me.options.gridLines.offsetGridLines) ? 0 : 1)), 1);
7836
+ var pixel = (tickWidth * index) + me.paddingLeft;
7837
+
7838
+ if (includeOffset) {
7839
+ pixel += tickWidth / 2;
7840
+ }
7841
+
7842
+ var finalVal = me.left + Math.round(pixel);
7843
+ finalVal += me.isFullWidth() ? me.margins.left : 0;
7844
+ return finalVal;
7845
+ }
7846
+ var innerHeight = me.height - (me.paddingTop + me.paddingBottom);
7847
+ return me.top + (index * (innerHeight / (me.ticks.length - 1)));
7848
+ },
7849
+
7850
+ // Utility for getting the pixel location of a percentage of scale
7851
+ getPixelForDecimal: function(decimal /* , includeOffset*/) {
7852
+ var me = this;
7853
+ if (me.isHorizontal()) {
7854
+ var innerWidth = me.width - (me.paddingLeft + me.paddingRight);
7855
+ var valueOffset = (innerWidth * decimal) + me.paddingLeft;
7856
+
7857
+ var finalVal = me.left + Math.round(valueOffset);
7858
+ finalVal += me.isFullWidth() ? me.margins.left : 0;
7859
+ return finalVal;
7860
+ }
7861
+ return me.top + (decimal * me.height);
7862
+ },
7863
+
7864
+ getBasePixel: function() {
7865
+ var me = this;
7866
+ var min = me.min;
7867
+ var max = me.max;
7868
+
7869
+ return me.getPixelForValue(
7870
+ me.beginAtZero? 0:
7871
+ min < 0 && max < 0? max :
7872
+ min > 0 && max > 0? min :
7873
+ 0);
7874
+ },
7875
+
7876
+ // Actually draw the scale on the canvas
7877
+ // @param {rectangle} chartArea : the area of the chart to draw full grid lines on
7878
+ draw: function(chartArea) {
7879
+ var me = this;
7880
+ var options = me.options;
7881
+ if (!options.display) {
7882
+ return;
7883
+ }
7884
+
7885
+ var context = me.ctx;
7886
+ var globalDefaults = Chart.defaults.global;
7887
+ var optionTicks = options.ticks;
7888
+ var gridLines = options.gridLines;
7889
+ var scaleLabel = options.scaleLabel;
7890
+
7891
+ var isRotated = me.labelRotation !== 0;
7892
+ var skipRatio;
7893
+ var useAutoskipper = optionTicks.autoSkip;
7894
+ var isHorizontal = me.isHorizontal();
7895
+
7896
+ // figure out the maximum number of gridlines to show
7897
+ var maxTicks;
7898
+ if (optionTicks.maxTicksLimit) {
7899
+ maxTicks = optionTicks.maxTicksLimit;
7900
+ }
7901
+
7902
+ var tickFontColor = helpers.getValueOrDefault(optionTicks.fontColor, globalDefaults.defaultFontColor);
7903
+ var tickFontSize = helpers.getValueOrDefault(optionTicks.fontSize, globalDefaults.defaultFontSize);
7904
+ var tickFontStyle = helpers.getValueOrDefault(optionTicks.fontStyle, globalDefaults.defaultFontStyle);
7905
+ var tickFontFamily = helpers.getValueOrDefault(optionTicks.fontFamily, globalDefaults.defaultFontFamily);
7906
+ var tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);
7907
+ var tl = gridLines.tickMarkLength;
7908
+ var borderDash = helpers.getValueOrDefault(gridLines.borderDash, globalDefaults.borderDash);
7909
+ var borderDashOffset = helpers.getValueOrDefault(gridLines.borderDashOffset, globalDefaults.borderDashOffset);
7910
+
7911
+ var scaleLabelFontColor = helpers.getValueOrDefault(scaleLabel.fontColor, globalDefaults.defaultFontColor);
7912
+ var scaleLabelFontSize = helpers.getValueOrDefault(scaleLabel.fontSize, globalDefaults.defaultFontSize);
7913
+ var scaleLabelFontStyle = helpers.getValueOrDefault(scaleLabel.fontStyle, globalDefaults.defaultFontStyle);
7914
+ var scaleLabelFontFamily = helpers.getValueOrDefault(scaleLabel.fontFamily, globalDefaults.defaultFontFamily);
7915
+ var scaleLabelFont = helpers.fontString(scaleLabelFontSize, scaleLabelFontStyle, scaleLabelFontFamily);
7916
+
7917
+ var labelRotationRadians = helpers.toRadians(me.labelRotation);
7918
+ var cosRotation = Math.cos(labelRotationRadians);
7919
+ var longestRotatedLabel = me.longestLabelWidth * cosRotation;
7920
+
7921
+ // Make sure we draw text in the correct color and font
7922
+ context.fillStyle = tickFontColor;
7923
+
7924
+ var itemsToDraw = [];
7925
+
7926
+ if (isHorizontal) {
7927
+ skipRatio = false;
7928
+
7929
+ // Only calculate the skip ratio with the half width of longestRotateLabel if we got an actual rotation
7930
+ // See #2584
7931
+ if (isRotated) {
7932
+ longestRotatedLabel /= 2;
7933
+ }
7934
+
7935
+ if ((longestRotatedLabel + optionTicks.autoSkipPadding) * me.ticks.length > (me.width - (me.paddingLeft + me.paddingRight))) {
7936
+ skipRatio = 1 + Math.floor(((longestRotatedLabel + optionTicks.autoSkipPadding) * me.ticks.length) / (me.width - (me.paddingLeft + me.paddingRight)));
7937
+ }
7938
+
7939
+ // if they defined a max number of optionTicks,
7940
+ // increase skipRatio until that number is met
7941
+ if (maxTicks && me.ticks.length > maxTicks) {
7942
+ while (!skipRatio || me.ticks.length / (skipRatio || 1) > maxTicks) {
7943
+ if (!skipRatio) {
7944
+ skipRatio = 1;
7945
+ }
7946
+ skipRatio += 1;
7947
+ }
7948
+ }
7949
+
7950
+ if (!useAutoskipper) {
7951
+ skipRatio = false;
7952
+ }
7953
+ }
7954
+
7955
+
7956
+ var xTickStart = options.position === 'right' ? me.left : me.right - tl;
7957
+ var xTickEnd = options.position === 'right' ? me.left + tl : me.right;
7958
+ var yTickStart = options.position === 'bottom' ? me.top : me.bottom - tl;
7959
+ var yTickEnd = options.position === 'bottom' ? me.top + tl : me.bottom;
7960
+
7961
+ helpers.each(me.ticks, function(label, index) {
7962
+ // If the callback returned a null or undefined value, do not draw this line
7963
+ if (label === undefined || label === null) {
7964
+ return;
7965
+ }
7966
+
7967
+ var isLastTick = me.ticks.length === index + 1;
7968
+
7969
+ // Since we always show the last tick,we need may need to hide the last shown one before
7970
+ var shouldSkip = (skipRatio > 1 && index % skipRatio > 0) || (index % skipRatio === 0 && index + skipRatio >= me.ticks.length);
7971
+ if (shouldSkip && !isLastTick || (label === undefined || label === null)) {
7972
+ return;
7973
+ }
7974
+
7975
+ var lineWidth, lineColor;
7976
+ if (index === (typeof me.zeroLineIndex !== 'undefined' ? me.zeroLineIndex : 0)) {
7977
+ // Draw the first index specially
7978
+ lineWidth = gridLines.zeroLineWidth;
7979
+ lineColor = gridLines.zeroLineColor;
7980
+ } else {
7981
+ lineWidth = helpers.getValueAtIndexOrDefault(gridLines.lineWidth, index);
7982
+ lineColor = helpers.getValueAtIndexOrDefault(gridLines.color, index);
7983
+ }
7984
+
7985
+ // Common properties
7986
+ var tx1, ty1, tx2, ty2, x1, y1, x2, y2, labelX, labelY;
7987
+ var textAlign = 'middle';
7988
+ var textBaseline = 'middle';
7989
+
7990
+ if (isHorizontal) {
7991
+ if (!isRotated) {
7992
+ textBaseline = options.position === 'top' ? 'bottom' : 'top';
7993
+ }
7994
+
7995
+ textAlign = isRotated ? 'right' : 'center';
7996
+
7997
+ var xLineValue = me.getPixelForTick(index) + helpers.aliasPixel(lineWidth); // xvalues for grid lines
7998
+ labelX = me.getPixelForTick(index, gridLines.offsetGridLines) + optionTicks.labelOffset; // x values for optionTicks (need to consider offsetLabel option)
7999
+ labelY = (isRotated) ? me.top + 12 : options.position === 'top' ? me.bottom - tl : me.top + tl;
8000
+
8001
+ tx1 = tx2 = x1 = x2 = xLineValue;
8002
+ ty1 = yTickStart;
8003
+ ty2 = yTickEnd;
8004
+ y1 = chartArea.top;
8005
+ y2 = chartArea.bottom;
8006
+ } else {
8007
+ if (options.position === 'left') {
8008
+ if (optionTicks.mirror) {
8009
+ labelX = me.right + optionTicks.padding;
8010
+ textAlign = 'left';
8011
+ } else {
8012
+ labelX = me.right - optionTicks.padding;
8013
+ textAlign = 'right';
8014
+ }
8015
+ // right side
8016
+ } else if (optionTicks.mirror) {
8017
+ labelX = me.left - optionTicks.padding;
8018
+ textAlign = 'right';
8019
+ } else {
8020
+ labelX = me.left + optionTicks.padding;
8021
+ textAlign = 'left';
8022
+ }
8023
+
8024
+ var yLineValue = me.getPixelForTick(index); // xvalues for grid lines
8025
+ yLineValue += helpers.aliasPixel(lineWidth);
8026
+ labelY = me.getPixelForTick(index, gridLines.offsetGridLines);
8027
+
8028
+ tx1 = xTickStart;
8029
+ tx2 = xTickEnd;
8030
+ x1 = chartArea.left;
8031
+ x2 = chartArea.right;
8032
+ ty1 = ty2 = y1 = y2 = yLineValue;
8033
+ }
8034
+
8035
+ itemsToDraw.push({
8036
+ tx1: tx1,
8037
+ ty1: ty1,
8038
+ tx2: tx2,
8039
+ ty2: ty2,
8040
+ x1: x1,
8041
+ y1: y1,
8042
+ x2: x2,
8043
+ y2: y2,
8044
+ labelX: labelX,
8045
+ labelY: labelY,
8046
+ glWidth: lineWidth,
8047
+ glColor: lineColor,
8048
+ glBorderDash: borderDash,
8049
+ glBorderDashOffset: borderDashOffset,
8050
+ rotation: -1 * labelRotationRadians,
8051
+ label: label,
8052
+ textBaseline: textBaseline,
8053
+ textAlign: textAlign
8054
+ });
8055
+ });
8056
+
8057
+ // Draw all of the tick labels, tick marks, and grid lines at the correct places
8058
+ helpers.each(itemsToDraw, function(itemToDraw) {
8059
+ if (gridLines.display) {
8060
+ context.save();
8061
+ context.lineWidth = itemToDraw.glWidth;
8062
+ context.strokeStyle = itemToDraw.glColor;
8063
+ if (context.setLineDash) {
8064
+ context.setLineDash(itemToDraw.glBorderDash);
8065
+ context.lineDashOffset = itemToDraw.glBorderDashOffset;
8066
+ }
8067
+
8068
+ context.beginPath();
8069
+
8070
+ if (gridLines.drawTicks) {
8071
+ context.moveTo(itemToDraw.tx1, itemToDraw.ty1);
8072
+ context.lineTo(itemToDraw.tx2, itemToDraw.ty2);
8073
+ }
8074
+
8075
+ if (gridLines.drawOnChartArea) {
8076
+ context.moveTo(itemToDraw.x1, itemToDraw.y1);
8077
+ context.lineTo(itemToDraw.x2, itemToDraw.y2);
8078
+ }
8079
+
8080
+ context.stroke();
8081
+ context.restore();
8082
+ }
8083
+
8084
+ if (optionTicks.display) {
8085
+ context.save();
8086
+ context.translate(itemToDraw.labelX, itemToDraw.labelY);
8087
+ context.rotate(itemToDraw.rotation);
8088
+ context.font = tickLabelFont;
8089
+ context.textBaseline = itemToDraw.textBaseline;
8090
+ context.textAlign = itemToDraw.textAlign;
8091
+
8092
+ var label = itemToDraw.label;
8093
+ if (helpers.isArray(label)) {
8094
+ for (var i = 0, y = -(label.length - 1)*tickFontSize*0.75; i < label.length; ++i) {
8095
+ // We just make sure the multiline element is a string here..
8096
+ context.fillText('' + label[i], 0, y);
8097
+ // apply same lineSpacing as calculated @ L#320
8098
+ y += (tickFontSize * 1.5);
8099
+ }
8100
+ } else {
8101
+ context.fillText(label, 0, 0);
8102
+ }
8103
+ context.restore();
8104
+ }
8105
+ });
8106
+
8107
+ if (scaleLabel.display) {
8108
+ // Draw the scale label
8109
+ var scaleLabelX;
8110
+ var scaleLabelY;
8111
+ var rotation = 0;
8112
+
8113
+ if (isHorizontal) {
8114
+ scaleLabelX = me.left + ((me.right - me.left) / 2); // midpoint of the width
8115
+ scaleLabelY = options.position === 'bottom' ? me.bottom - (scaleLabelFontSize / 2) : me.top + (scaleLabelFontSize / 2);
8116
+ } else {
8117
+ var isLeft = options.position === 'left';
8118
+ scaleLabelX = isLeft ? me.left + (scaleLabelFontSize / 2) : me.right - (scaleLabelFontSize / 2);
8119
+ scaleLabelY = me.top + ((me.bottom - me.top) / 2);
8120
+ rotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;
8121
+ }
8122
+
8123
+ context.save();
8124
+ context.translate(scaleLabelX, scaleLabelY);
8125
+ context.rotate(rotation);
8126
+ context.textAlign = 'center';
8127
+ context.textBaseline = 'middle';
8128
+ context.fillStyle = scaleLabelFontColor; // render in correct colour
8129
+ context.font = scaleLabelFont;
8130
+ context.fillText(scaleLabel.labelString, 0, 0);
8131
+ context.restore();
8132
+ }
8133
+
8134
+ if (gridLines.drawBorder) {
8135
+ // Draw the line at the edge of the axis
8136
+ context.lineWidth = helpers.getValueAtIndexOrDefault(gridLines.lineWidth, 0);
8137
+ context.strokeStyle = helpers.getValueAtIndexOrDefault(gridLines.color, 0);
8138
+ var x1 = me.left,
8139
+ x2 = me.right,
8140
+ y1 = me.top,
8141
+ y2 = me.bottom;
8142
+
8143
+ var aliasPixel = helpers.aliasPixel(context.lineWidth);
8144
+ if (isHorizontal) {
8145
+ y1 = y2 = options.position === 'top' ? me.bottom : me.top;
8146
+ y1 += aliasPixel;
8147
+ y2 += aliasPixel;
8148
+ } else {
8149
+ x1 = x2 = options.position === 'left' ? me.right : me.left;
8150
+ x1 += aliasPixel;
8151
+ x2 += aliasPixel;
8152
+ }
8153
+
8154
+ context.beginPath();
8155
+ context.moveTo(x1, y1);
8156
+ context.lineTo(x2, y2);
8157
+ context.stroke();
8158
+ }
8159
+ }
8160
+ });
8161
+ };
8162
+
8163
+ },{}],33:[function(require,module,exports){
8164
+ 'use strict';
8165
+
8166
+ module.exports = function(Chart) {
8167
+
8168
+ var helpers = Chart.helpers;
8169
+
8170
+ Chart.scaleService = {
8171
+ // Scale registration object. Extensions can register new scale types (such as log or DB scales) and then
8172
+ // use the new chart options to grab the correct scale
8173
+ constructors: {},
8174
+ // Use a registration function so that we can move to an ES6 map when we no longer need to support
8175
+ // old browsers
8176
+
8177
+ // Scale config defaults
8178
+ defaults: {},
8179
+ registerScaleType: function(type, scaleConstructor, defaults) {
8180
+ this.constructors[type] = scaleConstructor;
8181
+ this.defaults[type] = helpers.clone(defaults);
8182
+ },
8183
+ getScaleConstructor: function(type) {
8184
+ return this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;
8185
+ },
8186
+ getScaleDefaults: function(type) {
8187
+ // Return the scale defaults merged with the global settings so that we always use the latest ones
8188
+ return this.defaults.hasOwnProperty(type) ? helpers.scaleMerge(Chart.defaults.scale, this.defaults[type]) : {};
8189
+ },
8190
+ updateScaleDefaults: function(type, additions) {
8191
+ var defaults = this.defaults;
8192
+ if (defaults.hasOwnProperty(type)) {
8193
+ defaults[type] = helpers.extend(defaults[type], additions);
8194
+ }
8195
+ },
8196
+ addScalesToLayout: function(chartInstance) {
8197
+ // Adds each scale to the chart.boxes array to be sized accordingly
8198
+ helpers.each(chartInstance.scales, function(scale) {
8199
+ Chart.layoutService.addBox(chartInstance, scale);
8200
+ });
8201
+ }
8202
+ };
8203
+ };
8204
+
8205
+ },{}],34:[function(require,module,exports){
8206
+ 'use strict';
8207
+
8208
+ module.exports = function(Chart) {
8209
+
8210
+ var helpers = Chart.helpers;
8211
+
8212
+ /**
8213
+ * Namespace to hold static tick generation functions
8214
+ * @namespace Chart.Ticks
8215
+ */
8216
+ Chart.Ticks = {
8217
+ /**
8218
+ * Namespace to hold generators for different types of ticks
8219
+ * @namespace Chart.Ticks.generators
8220
+ */
8221
+ generators: {
8222
+ /**
8223
+ * Interface for the options provided to the numeric tick generator
8224
+ * @interface INumericTickGenerationOptions
8225
+ */
8226
+ /**
8227
+ * The maximum number of ticks to display
8228
+ * @name INumericTickGenerationOptions#maxTicks
8229
+ * @type Number
8230
+ */
8231
+ /**
8232
+ * The distance between each tick.
8233
+ * @name INumericTickGenerationOptions#stepSize
8234
+ * @type Number
8235
+ * @optional
8236
+ */
8237
+ /**
8238
+ * Forced minimum for the ticks. If not specified, the minimum of the data range is used to calculate the tick minimum
8239
+ * @name INumericTickGenerationOptions#min
8240
+ * @type Number
8241
+ * @optional
8242
+ */
8243
+ /**
8244
+ * The maximum value of the ticks. If not specified, the maximum of the data range is used to calculate the tick maximum
8245
+ * @name INumericTickGenerationOptions#max
8246
+ * @type Number
8247
+ * @optional
8248
+ */
8249
+
8250
+ /**
8251
+ * Generate a set of linear ticks
8252
+ * @method Chart.Ticks.generators.linear
8253
+ * @param generationOptions {INumericTickGenerationOptions} the options used to generate the ticks
8254
+ * @param dataRange {IRange} the range of the data
8255
+ * @returns {Array<Number>} array of tick values
8256
+ */
8257
+ linear: function(generationOptions, dataRange) {
8258
+ var ticks = [];
8259
+ // To get a "nice" value for the tick spacing, we will use the appropriately named
8260
+ // "nice number" algorithm. See http://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks
8261
+ // for details.
8262
+
8263
+ var spacing;
8264
+ if (generationOptions.stepSize && generationOptions.stepSize > 0) {
8265
+ spacing = generationOptions.stepSize;
8266
+ } else {
8267
+ var niceRange = helpers.niceNum(dataRange.max - dataRange.min, false);
8268
+ spacing = helpers.niceNum(niceRange / (generationOptions.maxTicks - 1), true);
8269
+ }
8270
+ var niceMin = Math.floor(dataRange.min / spacing) * spacing;
8271
+ var niceMax = Math.ceil(dataRange.max / spacing) * spacing;
8272
+
8273
+ // If min, max and stepSize is set and they make an evenly spaced scale use it.
8274
+ if (generationOptions.min && generationOptions.max && generationOptions.stepSize) {
8275
+ var minMaxDeltaDivisibleByStepSize = ((generationOptions.max - generationOptions.min) % generationOptions.stepSize) === 0;
8276
+ if (minMaxDeltaDivisibleByStepSize) {
8277
+ niceMin = generationOptions.min;
8278
+ niceMax = generationOptions.max;
8279
+ }
8280
+ }
8281
+
8282
+ var numSpaces = (niceMax - niceMin) / spacing;
8283
+ // If very close to our rounded value, use it.
8284
+ if (helpers.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {
8285
+ numSpaces = Math.round(numSpaces);
8286
+ } else {
8287
+ numSpaces = Math.ceil(numSpaces);
8288
+ }
8289
+
8290
+ // Put the values into the ticks array
8291
+ ticks.push(generationOptions.min !== undefined ? generationOptions.min : niceMin);
8292
+ for (var j = 1; j < numSpaces; ++j) {
8293
+ ticks.push(niceMin + (j * spacing));
8294
+ }
8295
+ ticks.push(generationOptions.max !== undefined ? generationOptions.max : niceMax);
8296
+
8297
+ return ticks;
8298
+ },
8299
+
8300
+ /**
8301
+ * Generate a set of logarithmic ticks
8302
+ * @method Chart.Ticks.generators.logarithmic
8303
+ * @param generationOptions {INumericTickGenerationOptions} the options used to generate the ticks
8304
+ * @param dataRange {IRange} the range of the data
8305
+ * @returns {Array<Number>} array of tick values
8306
+ */
8307
+ logarithmic: function(generationOptions, dataRange) {
8308
+ var ticks = [];
8309
+ var getValueOrDefault = helpers.getValueOrDefault;
8310
+
8311
+ // Figure out what the max number of ticks we can support it is based on the size of
8312
+ // the axis area. For now, we say that the minimum tick spacing in pixels must be 50
8313
+ // We also limit the maximum number of ticks to 11 which gives a nice 10 squares on
8314
+ // the graph
8315
+ var tickVal = getValueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));
8316
+
8317
+ while (tickVal < dataRange.max) {
8318
+ ticks.push(tickVal);
8319
+
8320
+ var exp;
8321
+ var significand;
8322
+
8323
+ if (tickVal === 0) {
8324
+ exp = Math.floor(helpers.log10(dataRange.minNotZero));
8325
+ significand = Math.round(dataRange.minNotZero / Math.pow(10, exp));
8326
+ } else {
8327
+ exp = Math.floor(helpers.log10(tickVal));
8328
+ significand = Math.floor(tickVal / Math.pow(10, exp)) + 1;
8329
+ }
8330
+
8331
+ if (significand === 10) {
8332
+ significand = 1;
8333
+ ++exp;
8334
+ }
8335
+
8336
+ tickVal = significand * Math.pow(10, exp);
8337
+ }
8338
+
8339
+ var lastTick = getValueOrDefault(generationOptions.max, tickVal);
8340
+ ticks.push(lastTick);
8341
+
8342
+ return ticks;
8343
+ }
8344
+ },
8345
+
8346
+ /**
8347
+ * Namespace to hold formatters for different types of ticks
8348
+ * @namespace Chart.Ticks.formatters
8349
+ */
8350
+ formatters: {
8351
+ /**
8352
+ * Formatter for value labels
8353
+ * @method Chart.Ticks.formatters.values
8354
+ * @param value the value to display
8355
+ * @return {String|Array} the label to display
8356
+ */
8357
+ values: function(value) {
8358
+ return helpers.isArray(value) ? value : '' + value;
8359
+ },
8360
+
8361
+ /**
8362
+ * Formatter for linear numeric ticks
8363
+ * @method Chart.Ticks.formatters.linear
8364
+ * @param tickValue {Number} the value to be formatted
8365
+ * @param index {Number} the position of the tickValue parameter in the ticks array
8366
+ * @param ticks {Array<Number>} the list of ticks being converted
8367
+ * @return {String} string representation of the tickValue parameter
8368
+ */
8369
+ linear: function(tickValue, index, ticks) {
8370
+ // If we have lots of ticks, don't use the ones
8371
+ var delta = ticks.length > 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];
8372
+
8373
+ // If we have a number like 2.5 as the delta, figure out how many decimal places we need
8374
+ if (Math.abs(delta) > 1) {
8375
+ if (tickValue !== Math.floor(tickValue)) {
8376
+ // not an integer
8377
+ delta = tickValue - Math.floor(tickValue);
8378
+ }
8379
+ }
8380
+
8381
+ var logDelta = helpers.log10(Math.abs(delta));
8382
+ var tickString = '';
8383
+
8384
+ if (tickValue !== 0) {
8385
+ var numDecimal = -1 * Math.floor(logDelta);
8386
+ numDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places
8387
+ tickString = tickValue.toFixed(numDecimal);
8388
+ } else {
8389
+ tickString = '0'; // never show decimal places for 0
8390
+ }
8391
+
8392
+ return tickString;
8393
+ },
8394
+
8395
+ logarithmic: function(tickValue, index, ticks) {
8396
+ var remain = tickValue / (Math.pow(10, Math.floor(helpers.log10(tickValue))));
8397
+
8398
+ if (tickValue === 0) {
8399
+ return '0';
8400
+ } else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {
8401
+ return tickValue.toExponential();
8402
+ }
8403
+ return '';
8404
+ }
8405
+ }
8406
+ };
8407
+ };
8408
+
8409
+ },{}],35:[function(require,module,exports){
8410
+ 'use strict';
8411
+
8412
+ module.exports = function(Chart) {
8413
+
8414
+ var helpers = Chart.helpers;
8415
+
8416
+ Chart.defaults.global.title = {
8417
+ display: false,
8418
+ position: 'top',
8419
+ fullWidth: true, // marks that this box should take the full width of the canvas (pushing down other boxes)
8420
+
8421
+ fontStyle: 'bold',
8422
+ padding: 10,
8423
+
8424
+ // actual title
8425
+ text: ''
8426
+ };
8427
+
8428
+ var noop = helpers.noop;
8429
+ Chart.Title = Chart.Element.extend({
8430
+
8431
+ initialize: function(config) {
8432
+ var me = this;
8433
+ helpers.extend(me, config);
8434
+ me.options = helpers.configMerge(Chart.defaults.global.title, config.options);
8435
+
8436
+ // Contains hit boxes for each dataset (in dataset order)
8437
+ me.legendHitBoxes = [];
8438
+ },
8439
+
8440
+ // These methods are ordered by lifecycle. Utilities then follow.
8441
+
8442
+ beforeUpdate: function() {
8443
+ var chartOpts = this.chart.options;
8444
+ if (chartOpts && chartOpts.title) {
8445
+ this.options = helpers.configMerge(Chart.defaults.global.title, chartOpts.title);
8446
+ }
8447
+ },
8448
+ update: function(maxWidth, maxHeight, margins) {
8449
+ var me = this;
8450
+
8451
+ // Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)
8452
+ me.beforeUpdate();
8453
+
8454
+ // Absorb the master measurements
8455
+ me.maxWidth = maxWidth;
8456
+ me.maxHeight = maxHeight;
8457
+ me.margins = margins;
8458
+
8459
+ // Dimensions
8460
+ me.beforeSetDimensions();
8461
+ me.setDimensions();
8462
+ me.afterSetDimensions();
8463
+ // Labels
8464
+ me.beforeBuildLabels();
8465
+ me.buildLabels();
8466
+ me.afterBuildLabels();
8467
+
8468
+ // Fit
8469
+ me.beforeFit();
8470
+ me.fit();
8471
+ me.afterFit();
8472
+ //
8473
+ me.afterUpdate();
8474
+
8475
+ return me.minSize;
8476
+
8477
+ },
8478
+ afterUpdate: noop,
8479
+
8480
+ //
8481
+
8482
+ beforeSetDimensions: noop,
8483
+ setDimensions: function() {
8484
+ var me = this;
8485
+ // Set the unconstrained dimension before label rotation
8486
+ if (me.isHorizontal()) {
8487
+ // Reset position before calculating rotation
8488
+ me.width = me.maxWidth;
8489
+ me.left = 0;
8490
+ me.right = me.width;
8491
+ } else {
8492
+ me.height = me.maxHeight;
8493
+
8494
+ // Reset position before calculating rotation
8495
+ me.top = 0;
8496
+ me.bottom = me.height;
8497
+ }
8498
+
8499
+ // Reset padding
8500
+ me.paddingLeft = 0;
8501
+ me.paddingTop = 0;
8502
+ me.paddingRight = 0;
8503
+ me.paddingBottom = 0;
8504
+
8505
+ // Reset minSize
8506
+ me.minSize = {
8507
+ width: 0,
8508
+ height: 0
8509
+ };
8510
+ },
8511
+ afterSetDimensions: noop,
8512
+
8513
+ //
8514
+
8515
+ beforeBuildLabels: noop,
8516
+ buildLabels: noop,
8517
+ afterBuildLabels: noop,
8518
+
8519
+ //
8520
+
8521
+ beforeFit: noop,
8522
+ fit: function() {
8523
+ var me = this,
8524
+ valueOrDefault = helpers.getValueOrDefault,
8525
+ opts = me.options,
8526
+ globalDefaults = Chart.defaults.global,
8527
+ display = opts.display,
8528
+ fontSize = valueOrDefault(opts.fontSize, globalDefaults.defaultFontSize),
8529
+ minSize = me.minSize;
8530
+
8531
+ if (me.isHorizontal()) {
8532
+ minSize.width = me.maxWidth; // fill all the width
8533
+ minSize.height = display ? fontSize + (opts.padding * 2) : 0;
8534
+ } else {
8535
+ minSize.width = display ? fontSize + (opts.padding * 2) : 0;
8536
+ minSize.height = me.maxHeight; // fill all the height
8537
+ }
8538
+
8539
+ me.width = minSize.width;
8540
+ me.height = minSize.height;
8541
+
8542
+ },
8543
+ afterFit: noop,
8544
+
8545
+ // Shared Methods
8546
+ isHorizontal: function() {
8547
+ var pos = this.options.position;
8548
+ return pos === 'top' || pos === 'bottom';
8549
+ },
8550
+
8551
+ // Actually draw the title block on the canvas
8552
+ draw: function() {
8553
+ var me = this,
8554
+ ctx = me.ctx,
8555
+ valueOrDefault = helpers.getValueOrDefault,
8556
+ opts = me.options,
8557
+ globalDefaults = Chart.defaults.global;
8558
+
8559
+ if (opts.display) {
8560
+ var fontSize = valueOrDefault(opts.fontSize, globalDefaults.defaultFontSize),
8561
+ fontStyle = valueOrDefault(opts.fontStyle, globalDefaults.defaultFontStyle),
8562
+ fontFamily = valueOrDefault(opts.fontFamily, globalDefaults.defaultFontFamily),
8563
+ titleFont = helpers.fontString(fontSize, fontStyle, fontFamily),
8564
+ rotation = 0,
8565
+ titleX,
8566
+ titleY,
8567
+ top = me.top,
8568
+ left = me.left,
8569
+ bottom = me.bottom,
8570
+ right = me.right,
8571
+ maxWidth;
8572
+
8573
+ ctx.fillStyle = valueOrDefault(opts.fontColor, globalDefaults.defaultFontColor); // render in correct colour
8574
+ ctx.font = titleFont;
8575
+
8576
+ // Horizontal
8577
+ if (me.isHorizontal()) {
8578
+ titleX = left + ((right - left) / 2); // midpoint of the width
8579
+ titleY = top + ((bottom - top) / 2); // midpoint of the height
8580
+ maxWidth = right - left;
8581
+ } else {
8582
+ titleX = opts.position === 'left' ? left + (fontSize / 2) : right - (fontSize / 2);
8583
+ titleY = top + ((bottom - top) / 2);
8584
+ maxWidth = bottom - top;
8585
+ rotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);
8586
+ }
8587
+
8588
+ ctx.save();
8589
+ ctx.translate(titleX, titleY);
8590
+ ctx.rotate(rotation);
8591
+ ctx.textAlign = 'center';
8592
+ ctx.textBaseline = 'middle';
8593
+ ctx.fillText(opts.text, 0, 0, maxWidth);
8594
+ ctx.restore();
8595
+ }
8596
+ }
8597
+ });
8598
+
8599
+ // Register the title plugin
8600
+ Chart.plugins.register({
8601
+ beforeInit: function(chartInstance) {
8602
+ var opts = chartInstance.options;
8603
+ var titleOpts = opts.title;
8604
+
8605
+ if (titleOpts) {
8606
+ chartInstance.titleBlock = new Chart.Title({
8607
+ ctx: chartInstance.chart.ctx,
8608
+ options: titleOpts,
8609
+ chart: chartInstance
8610
+ });
8611
+
8612
+ Chart.layoutService.addBox(chartInstance, chartInstance.titleBlock);
8613
+ }
8614
+ }
8615
+ });
8616
+ };
8617
+
8618
+ },{}],36:[function(require,module,exports){
8619
+ 'use strict';
8620
+
8621
+ module.exports = function(Chart) {
8622
+
8623
+ var helpers = Chart.helpers;
8624
+
8625
+ /**
8626
+ * Helper method to merge the opacity into a color
8627
+ */
8628
+ function mergeOpacity(colorString, opacity) {
8629
+ var color = helpers.color(colorString);
8630
+ return color.alpha(opacity * color.alpha()).rgbaString();
8631
+ }
8632
+
8633
+ Chart.defaults.global.tooltips = {
8634
+ enabled: true,
8635
+ custom: null,
8636
+ mode: 'nearest',
8637
+ position: 'average',
8638
+ intersect: true,
8639
+ backgroundColor: 'rgba(0,0,0,0.8)',
8640
+ titleFontStyle: 'bold',
8641
+ titleSpacing: 2,
8642
+ titleMarginBottom: 6,
8643
+ titleFontColor: '#fff',
8644
+ titleAlign: 'left',
8645
+ bodySpacing: 2,
8646
+ bodyFontColor: '#fff',
8647
+ bodyAlign: 'left',
8648
+ footerFontStyle: 'bold',
8649
+ footerSpacing: 2,
8650
+ footerMarginTop: 6,
8651
+ footerFontColor: '#fff',
8652
+ footerAlign: 'left',
8653
+ yPadding: 6,
8654
+ xPadding: 6,
8655
+ caretSize: 5,
8656
+ cornerRadius: 6,
8657
+ multiKeyBackground: '#fff',
8658
+ displayColors: true,
8659
+ callbacks: {
8660
+ // Args are: (tooltipItems, data)
8661
+ beforeTitle: helpers.noop,
8662
+ title: function(tooltipItems, data) {
8663
+ // Pick first xLabel for now
8664
+ var title = '';
8665
+ var labels = data.labels;
8666
+ var labelCount = labels ? labels.length : 0;
8667
+
8668
+ if (tooltipItems.length > 0) {
8669
+ var item = tooltipItems[0];
8670
+
8671
+ if (item.xLabel) {
8672
+ title = item.xLabel;
8673
+ } else if (labelCount > 0 && item.index < labelCount) {
8674
+ title = labels[item.index];
8675
+ }
8676
+ }
8677
+
8678
+ return title;
8679
+ },
8680
+ afterTitle: helpers.noop,
8681
+
8682
+ // Args are: (tooltipItems, data)
8683
+ beforeBody: helpers.noop,
8684
+
8685
+ // Args are: (tooltipItem, data)
8686
+ beforeLabel: helpers.noop,
8687
+ label: function(tooltipItem, data) {
8688
+ var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || '';
8689
+ return datasetLabel + ': ' + tooltipItem.yLabel;
8690
+ },
8691
+ labelColor: function(tooltipItem, chartInstance) {
8692
+ var meta = chartInstance.getDatasetMeta(tooltipItem.datasetIndex);
8693
+ var activeElement = meta.data[tooltipItem.index];
8694
+ var view = activeElement._view;
8695
+ return {
8696
+ borderColor: view.borderColor,
8697
+ backgroundColor: view.backgroundColor
8698
+ };
8699
+ },
8700
+ afterLabel: helpers.noop,
8701
+
8702
+ // Args are: (tooltipItems, data)
8703
+ afterBody: helpers.noop,
8704
+
8705
+ // Args are: (tooltipItems, data)
8706
+ beforeFooter: helpers.noop,
8707
+ footer: helpers.noop,
8708
+ afterFooter: helpers.noop
8709
+ }
8710
+ };
8711
+
8712
+ // Helper to push or concat based on if the 2nd parameter is an array or not
8713
+ function pushOrConcat(base, toPush) {
8714
+ if (toPush) {
8715
+ if (helpers.isArray(toPush)) {
8716
+ // base = base.concat(toPush);
8717
+ Array.prototype.push.apply(base, toPush);
8718
+ } else {
8719
+ base.push(toPush);
8720
+ }
8721
+ }
8722
+
8723
+ return base;
8724
+ }
8725
+
8726
+ // Private helper to create a tooltip item model
8727
+ // @param element : the chart element (point, arc, bar) to create the tooltip item for
8728
+ // @return : new tooltip item
8729
+ function createTooltipItem(element) {
8730
+ var xScale = element._xScale;
8731
+ var yScale = element._yScale || element._scale; // handle radar || polarArea charts
8732
+ var index = element._index,
8733
+ datasetIndex = element._datasetIndex;
8734
+
8735
+ return {
8736
+ xLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',
8737
+ yLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',
8738
+ index: index,
8739
+ datasetIndex: datasetIndex,
8740
+ x: element._model.x,
8741
+ y: element._model.y
8742
+ };
8743
+ }
8744
+
8745
+ /**
8746
+ * Helper to get the reset model for the tooltip
8747
+ * @param tooltipOpts {Object} the tooltip options
8748
+ */
8749
+ function getBaseModel(tooltipOpts) {
8750
+ var globalDefaults = Chart.defaults.global;
8751
+ var getValueOrDefault = helpers.getValueOrDefault;
8752
+
8753
+ return {
8754
+ // Positioning
8755
+ xPadding: tooltipOpts.xPadding,
8756
+ yPadding: tooltipOpts.yPadding,
8757
+ xAlign: tooltipOpts.xAlign,
8758
+ yAlign: tooltipOpts.yAlign,
8759
+
8760
+ // Body
8761
+ bodyFontColor: tooltipOpts.bodyFontColor,
8762
+ _bodyFontFamily: getValueOrDefault(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),
8763
+ _bodyFontStyle: getValueOrDefault(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),
8764
+ _bodyAlign: tooltipOpts.bodyAlign,
8765
+ bodyFontSize: getValueOrDefault(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),
8766
+ bodySpacing: tooltipOpts.bodySpacing,
8767
+
8768
+ // Title
8769
+ titleFontColor: tooltipOpts.titleFontColor,
8770
+ _titleFontFamily: getValueOrDefault(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),
8771
+ _titleFontStyle: getValueOrDefault(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),
8772
+ titleFontSize: getValueOrDefault(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),
8773
+ _titleAlign: tooltipOpts.titleAlign,
8774
+ titleSpacing: tooltipOpts.titleSpacing,
8775
+ titleMarginBottom: tooltipOpts.titleMarginBottom,
8776
+
8777
+ // Footer
8778
+ footerFontColor: tooltipOpts.footerFontColor,
8779
+ _footerFontFamily: getValueOrDefault(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),
8780
+ _footerFontStyle: getValueOrDefault(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),
8781
+ footerFontSize: getValueOrDefault(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),
8782
+ _footerAlign: tooltipOpts.footerAlign,
8783
+ footerSpacing: tooltipOpts.footerSpacing,
8784
+ footerMarginTop: tooltipOpts.footerMarginTop,
8785
+
8786
+ // Appearance
8787
+ caretSize: tooltipOpts.caretSize,
8788
+ cornerRadius: tooltipOpts.cornerRadius,
8789
+ backgroundColor: tooltipOpts.backgroundColor,
8790
+ opacity: 0,
8791
+ legendColorBackground: tooltipOpts.multiKeyBackground,
8792
+ displayColors: tooltipOpts.displayColors
8793
+ };
8794
+ }
8795
+
8796
+ /**
8797
+ * Get the size of the tooltip
8798
+ */
8799
+ function getTooltipSize(tooltip, model) {
8800
+ var ctx = tooltip._chart.ctx;
8801
+
8802
+ var height = model.yPadding * 2; // Tooltip Padding
8803
+ var width = 0;
8804
+
8805
+ // Count of all lines in the body
8806
+ var body = model.body;
8807
+ var combinedBodyLength = body.reduce(function(count, bodyItem) {
8808
+ return count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;
8809
+ }, 0);
8810
+ combinedBodyLength += model.beforeBody.length + model.afterBody.length;
8811
+
8812
+ var titleLineCount = model.title.length;
8813
+ var footerLineCount = model.footer.length;
8814
+ var titleFontSize = model.titleFontSize,
8815
+ bodyFontSize = model.bodyFontSize,
8816
+ footerFontSize = model.footerFontSize;
8817
+
8818
+ height += titleLineCount * titleFontSize; // Title Lines
8819
+ height += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing
8820
+ height += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin
8821
+ height += combinedBodyLength * bodyFontSize; // Body Lines
8822
+ height += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing
8823
+ height += footerLineCount ? model.footerMarginTop : 0; // Footer Margin
8824
+ height += footerLineCount * (footerFontSize); // Footer Lines
8825
+ height += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing
8826
+
8827
+ // Title width
8828
+ var widthPadding = 0;
8829
+ var maxLineWidth = function(line) {
8830
+ width = Math.max(width, ctx.measureText(line).width + widthPadding);
8831
+ };
8832
+
8833
+ ctx.font = helpers.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);
8834
+ helpers.each(model.title, maxLineWidth);
8835
+
8836
+ // Body width
8837
+ ctx.font = helpers.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);
8838
+ helpers.each(model.beforeBody.concat(model.afterBody), maxLineWidth);
8839
+
8840
+ // Body lines may include some extra width due to the color box
8841
+ widthPadding = model.displayColors ? (bodyFontSize + 2) : 0;
8842
+ helpers.each(body, function(bodyItem) {
8843
+ helpers.each(bodyItem.before, maxLineWidth);
8844
+ helpers.each(bodyItem.lines, maxLineWidth);
8845
+ helpers.each(bodyItem.after, maxLineWidth);
8846
+ });
8847
+
8848
+ // Reset back to 0
8849
+ widthPadding = 0;
8850
+
8851
+ // Footer width
8852
+ ctx.font = helpers.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);
8853
+ helpers.each(model.footer, maxLineWidth);
8854
+
8855
+ // Add padding
8856
+ width += 2 * model.xPadding;
8857
+
8858
+ return {
8859
+ width: width,
8860
+ height: height
8861
+ };
8862
+ }
8863
+
8864
+ /**
8865
+ * Helper to get the alignment of a tooltip given the size
8866
+ */
8867
+ function determineAlignment(tooltip, size) {
8868
+ var model = tooltip._model;
8869
+ var chart = tooltip._chart;
8870
+ var chartArea = tooltip._chartInstance.chartArea;
8871
+ var xAlign = 'center';
8872
+ var yAlign = 'center';
8873
+
8874
+ if (model.y < size.height) {
8875
+ yAlign = 'top';
8876
+ } else if (model.y > (chart.height - size.height)) {
8877
+ yAlign = 'bottom';
8878
+ }
8879
+
8880
+ var lf, rf; // functions to determine left, right alignment
8881
+ var olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart
8882
+ var yf; // function to get the y alignment if the tooltip goes outside of the left or right edges
8883
+ var midX = (chartArea.left + chartArea.right) / 2;
8884
+ var midY = (chartArea.top + chartArea.bottom) / 2;
8885
+
8886
+ if (yAlign === 'center') {
8887
+ lf = function(x) {
8888
+ return x <= midX;
8889
+ };
8890
+ rf = function(x) {
8891
+ return x > midX;
8892
+ };
8893
+ } else {
8894
+ lf = function(x) {
8895
+ return x <= (size.width / 2);
8896
+ };
8897
+ rf = function(x) {
8898
+ return x >= (chart.width - (size.width / 2));
8899
+ };
8900
+ }
8901
+
8902
+ olf = function(x) {
8903
+ return x + size.width > chart.width;
8904
+ };
8905
+ orf = function(x) {
8906
+ return x - size.width < 0;
8907
+ };
8908
+ yf = function(y) {
8909
+ return y <= midY ? 'top' : 'bottom';
8910
+ };
8911
+
8912
+ if (lf(model.x)) {
8913
+ xAlign = 'left';
8914
+
8915
+ // Is tooltip too wide and goes over the right side of the chart.?
8916
+ if (olf(model.x)) {
8917
+ xAlign = 'center';
8918
+ yAlign = yf(model.y);
8919
+ }
8920
+ } else if (rf(model.x)) {
8921
+ xAlign = 'right';
8922
+
8923
+ // Is tooltip too wide and goes outside left edge of canvas?
8924
+ if (orf(model.x)) {
8925
+ xAlign = 'center';
8926
+ yAlign = yf(model.y);
8927
+ }
8928
+ }
8929
+
8930
+ var opts = tooltip._options;
8931
+ return {
8932
+ xAlign: opts.xAlign ? opts.xAlign : xAlign,
8933
+ yAlign: opts.yAlign ? opts.yAlign : yAlign
8934
+ };
8935
+ }
8936
+
8937
+ /**
8938
+ * @Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment
8939
+ */
8940
+ function getBackgroundPoint(vm, size, alignment) {
8941
+ // Background Position
8942
+ var x = vm.x;
8943
+ var y = vm.y;
8944
+
8945
+ var caretSize = vm.caretSize,
8946
+ caretPadding = vm.caretPadding,
8947
+ cornerRadius = vm.cornerRadius,
8948
+ xAlign = alignment.xAlign,
8949
+ yAlign = alignment.yAlign,
8950
+ paddingAndSize = caretSize + caretPadding,
8951
+ radiusAndPadding = cornerRadius + caretPadding;
8952
+
8953
+ if (xAlign === 'right') {
8954
+ x -= size.width;
8955
+ } else if (xAlign === 'center') {
8956
+ x -= (size.width / 2);
8957
+ }
8958
+
8959
+ if (yAlign === 'top') {
8960
+ y += paddingAndSize;
8961
+ } else if (yAlign === 'bottom') {
8962
+ y -= size.height + paddingAndSize;
8963
+ } else {
8964
+ y -= (size.height / 2);
8965
+ }
8966
+
8967
+ if (yAlign === 'center') {
8968
+ if (xAlign === 'left') {
8969
+ x += paddingAndSize;
8970
+ } else if (xAlign === 'right') {
8971
+ x -= paddingAndSize;
8972
+ }
8973
+ } else if (xAlign === 'left') {
8974
+ x -= radiusAndPadding;
8975
+ } else if (xAlign === 'right') {
8976
+ x += radiusAndPadding;
8977
+ }
8978
+
8979
+ return {
8980
+ x: x,
8981
+ y: y
8982
+ };
8983
+ }
8984
+
8985
+ Chart.Tooltip = Chart.Element.extend({
8986
+ initialize: function() {
8987
+ this._model = getBaseModel(this._options);
8988
+ },
8989
+
8990
+ // Get the title
8991
+ // Args are: (tooltipItem, data)
8992
+ getTitle: function() {
8993
+ var me = this;
8994
+ var opts = me._options;
8995
+ var callbacks = opts.callbacks;
8996
+
8997
+ var beforeTitle = callbacks.beforeTitle.apply(me, arguments),
8998
+ title = callbacks.title.apply(me, arguments),
8999
+ afterTitle = callbacks.afterTitle.apply(me, arguments);
9000
+
9001
+ var lines = [];
9002
+ lines = pushOrConcat(lines, beforeTitle);
9003
+ lines = pushOrConcat(lines, title);
9004
+ lines = pushOrConcat(lines, afterTitle);
9005
+
9006
+ return lines;
9007
+ },
9008
+
9009
+ // Args are: (tooltipItem, data)
9010
+ getBeforeBody: function() {
9011
+ var lines = this._options.callbacks.beforeBody.apply(this, arguments);
9012
+ return helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];
9013
+ },
9014
+
9015
+ // Args are: (tooltipItem, data)
9016
+ getBody: function(tooltipItems, data) {
9017
+ var me = this;
9018
+ var callbacks = me._options.callbacks;
9019
+ var bodyItems = [];
9020
+
9021
+ helpers.each(tooltipItems, function(tooltipItem) {
9022
+ var bodyItem = {
9023
+ before: [],
9024
+ lines: [],
9025
+ after: []
9026
+ };
9027
+ pushOrConcat(bodyItem.before, callbacks.beforeLabel.call(me, tooltipItem, data));
9028
+ pushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));
9029
+ pushOrConcat(bodyItem.after, callbacks.afterLabel.call(me, tooltipItem, data));
9030
+
9031
+ bodyItems.push(bodyItem);
9032
+ });
9033
+
9034
+ return bodyItems;
9035
+ },
9036
+
9037
+ // Args are: (tooltipItem, data)
9038
+ getAfterBody: function() {
9039
+ var lines = this._options.callbacks.afterBody.apply(this, arguments);
9040
+ return helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];
9041
+ },
9042
+
9043
+ // Get the footer and beforeFooter and afterFooter lines
9044
+ // Args are: (tooltipItem, data)
9045
+ getFooter: function() {
9046
+ var me = this;
9047
+ var callbacks = me._options.callbacks;
9048
+
9049
+ var beforeFooter = callbacks.beforeFooter.apply(me, arguments);
9050
+ var footer = callbacks.footer.apply(me, arguments);
9051
+ var afterFooter = callbacks.afterFooter.apply(me, arguments);
9052
+
9053
+ var lines = [];
9054
+ lines = pushOrConcat(lines, beforeFooter);
9055
+ lines = pushOrConcat(lines, footer);
9056
+ lines = pushOrConcat(lines, afterFooter);
9057
+
9058
+ return lines;
9059
+ },
9060
+
9061
+ update: function(changed) {
9062
+ var me = this;
9063
+ var opts = me._options;
9064
+
9065
+ // Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition
9066
+ // that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time
9067
+ // which breaks any animations.
9068
+ var existingModel = me._model;
9069
+ var model = me._model = getBaseModel(opts);
9070
+ var active = me._active;
9071
+
9072
+ var data = me._data;
9073
+ var chartInstance = me._chartInstance;
9074
+
9075
+ // In the case where active.length === 0 we need to keep these at existing values for good animations
9076
+ var alignment = {
9077
+ xAlign: existingModel.xAlign,
9078
+ yAlign: existingModel.yAlign
9079
+ };
9080
+ var backgroundPoint = {
9081
+ x: existingModel.x,
9082
+ y: existingModel.y
9083
+ };
9084
+ var tooltipSize = {
9085
+ width: existingModel.width,
9086
+ height: existingModel.height
9087
+ };
9088
+ var tooltipPosition = {
9089
+ x: existingModel.caretX,
9090
+ y: existingModel.caretY
9091
+ };
9092
+
9093
+ var i, len;
9094
+
9095
+ if (active.length) {
9096
+ model.opacity = 1;
9097
+
9098
+ var labelColors = [];
9099
+ tooltipPosition = Chart.Tooltip.positioners[opts.position](active, me._eventPosition);
9100
+
9101
+ var tooltipItems = [];
9102
+ for (i = 0, len = active.length; i < len; ++i) {
9103
+ tooltipItems.push(createTooltipItem(active[i]));
9104
+ }
9105
+
9106
+ // If the user provided a filter function, use it to modify the tooltip items
9107
+ if (opts.filter) {
9108
+ tooltipItems = tooltipItems.filter(function(a) {
9109
+ return opts.filter(a, data);
9110
+ });
9111
+ }
9112
+
9113
+ // If the user provided a sorting function, use it to modify the tooltip items
9114
+ if (opts.itemSort) {
9115
+ tooltipItems = tooltipItems.sort(function(a, b) {
9116
+ return opts.itemSort(a, b, data);
9117
+ });
9118
+ }
9119
+
9120
+ // Determine colors for boxes
9121
+ helpers.each(tooltipItems, function(tooltipItem) {
9122
+ labelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, chartInstance));
9123
+ });
9124
+
9125
+ // Build the Text Lines
9126
+ model.title = me.getTitle(tooltipItems, data);
9127
+ model.beforeBody = me.getBeforeBody(tooltipItems, data);
9128
+ model.body = me.getBody(tooltipItems, data);
9129
+ model.afterBody = me.getAfterBody(tooltipItems, data);
9130
+ model.footer = me.getFooter(tooltipItems, data);
9131
+
9132
+ // Initial positioning and colors
9133
+ model.x = Math.round(tooltipPosition.x);
9134
+ model.y = Math.round(tooltipPosition.y);
9135
+ model.caretPadding = helpers.getValueOrDefault(tooltipPosition.padding, 2);
9136
+ model.labelColors = labelColors;
9137
+
9138
+ // data points
9139
+ model.dataPoints = tooltipItems;
9140
+
9141
+ // We need to determine alignment of the tooltip
9142
+ tooltipSize = getTooltipSize(this, model);
9143
+ alignment = determineAlignment(this, tooltipSize);
9144
+ // Final Size and Position
9145
+ backgroundPoint = getBackgroundPoint(model, tooltipSize, alignment);
9146
+ } else {
9147
+ model.opacity = 0;
9148
+ }
9149
+
9150
+ model.xAlign = alignment.xAlign;
9151
+ model.yAlign = alignment.yAlign;
9152
+ model.x = backgroundPoint.x;
9153
+ model.y = backgroundPoint.y;
9154
+ model.width = tooltipSize.width;
9155
+ model.height = tooltipSize.height;
9156
+
9157
+ // Point where the caret on the tooltip points to
9158
+ model.caretX = tooltipPosition.x;
9159
+ model.caretY = tooltipPosition.y;
9160
+
9161
+ me._model = model;
9162
+
9163
+ if (changed && opts.custom) {
9164
+ opts.custom.call(me, model);
9165
+ }
9166
+
9167
+ return me;
9168
+ },
9169
+ drawCaret: function(tooltipPoint, size, opacity) {
9170
+ var vm = this._view;
9171
+ var ctx = this._chart.ctx;
9172
+ var x1, x2, x3;
9173
+ var y1, y2, y3;
9174
+ var caretSize = vm.caretSize;
9175
+ var cornerRadius = vm.cornerRadius;
9176
+ var xAlign = vm.xAlign,
9177
+ yAlign = vm.yAlign;
9178
+ var ptX = tooltipPoint.x,
9179
+ ptY = tooltipPoint.y;
9180
+ var width = size.width,
9181
+ height = size.height;
9182
+
9183
+ if (yAlign === 'center') {
9184
+ // Left or right side
9185
+ if (xAlign === 'left') {
9186
+ x1 = ptX;
9187
+ x2 = x1 - caretSize;
9188
+ x3 = x1;
9189
+ } else {
9190
+ x1 = ptX + width;
9191
+ x2 = x1 + caretSize;
9192
+ x3 = x1;
9193
+ }
9194
+
9195
+ y2 = ptY + (height / 2);
9196
+ y1 = y2 - caretSize;
9197
+ y3 = y2 + caretSize;
9198
+ } else {
9199
+ if (xAlign === 'left') {
9200
+ x1 = ptX + cornerRadius;
9201
+ x2 = x1 + caretSize;
9202
+ x3 = x2 + caretSize;
9203
+ } else if (xAlign === 'right') {
9204
+ x1 = ptX + width - cornerRadius;
9205
+ x2 = x1 - caretSize;
9206
+ x3 = x2 - caretSize;
9207
+ } else {
9208
+ x2 = ptX + (width / 2);
9209
+ x1 = x2 - caretSize;
9210
+ x3 = x2 + caretSize;
9211
+ }
9212
+
9213
+ if (yAlign === 'top') {
9214
+ y1 = ptY;
9215
+ y2 = y1 - caretSize;
9216
+ y3 = y1;
9217
+ } else {
9218
+ y1 = ptY + height;
9219
+ y2 = y1 + caretSize;
9220
+ y3 = y1;
9221
+ }
9222
+ }
9223
+
9224
+ ctx.fillStyle = mergeOpacity(vm.backgroundColor, opacity);
9225
+ ctx.beginPath();
9226
+ ctx.moveTo(x1, y1);
9227
+ ctx.lineTo(x2, y2);
9228
+ ctx.lineTo(x3, y3);
9229
+ ctx.closePath();
9230
+ ctx.fill();
9231
+ },
9232
+ drawTitle: function(pt, vm, ctx, opacity) {
9233
+ var title = vm.title;
9234
+
9235
+ if (title.length) {
9236
+ ctx.textAlign = vm._titleAlign;
9237
+ ctx.textBaseline = 'top';
9238
+
9239
+ var titleFontSize = vm.titleFontSize,
9240
+ titleSpacing = vm.titleSpacing;
9241
+
9242
+ ctx.fillStyle = mergeOpacity(vm.titleFontColor, opacity);
9243
+ ctx.font = helpers.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);
9244
+
9245
+ var i, len;
9246
+ for (i = 0, len = title.length; i < len; ++i) {
9247
+ ctx.fillText(title[i], pt.x, pt.y);
9248
+ pt.y += titleFontSize + titleSpacing; // Line Height and spacing
9249
+
9250
+ if (i + 1 === title.length) {
9251
+ pt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing
9252
+ }
9253
+ }
9254
+ }
9255
+ },
9256
+ drawBody: function(pt, vm, ctx, opacity) {
9257
+ var bodyFontSize = vm.bodyFontSize;
9258
+ var bodySpacing = vm.bodySpacing;
9259
+ var body = vm.body;
9260
+
9261
+ ctx.textAlign = vm._bodyAlign;
9262
+ ctx.textBaseline = 'top';
9263
+
9264
+ var textColor = mergeOpacity(vm.bodyFontColor, opacity);
9265
+ ctx.fillStyle = textColor;
9266
+ ctx.font = helpers.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);
9267
+
9268
+ // Before Body
9269
+ var xLinePadding = 0;
9270
+ var fillLineOfText = function(line) {
9271
+ ctx.fillText(line, pt.x + xLinePadding, pt.y);
9272
+ pt.y += bodyFontSize + bodySpacing;
9273
+ };
9274
+
9275
+ // Before body lines
9276
+ helpers.each(vm.beforeBody, fillLineOfText);
9277
+
9278
+ var drawColorBoxes = vm.displayColors;
9279
+ xLinePadding = drawColorBoxes ? (bodyFontSize + 2) : 0;
9280
+
9281
+ // Draw body lines now
9282
+ helpers.each(body, function(bodyItem, i) {
9283
+ helpers.each(bodyItem.before, fillLineOfText);
9284
+
9285
+ helpers.each(bodyItem.lines, function(line) {
9286
+ // Draw Legend-like boxes if needed
9287
+ if (drawColorBoxes) {
9288
+ // Fill a white rect so that colours merge nicely if the opacity is < 1
9289
+ ctx.fillStyle = mergeOpacity(vm.legendColorBackground, opacity);
9290
+ ctx.fillRect(pt.x, pt.y, bodyFontSize, bodyFontSize);
9291
+
9292
+ // Border
9293
+ ctx.strokeStyle = mergeOpacity(vm.labelColors[i].borderColor, opacity);
9294
+ ctx.strokeRect(pt.x, pt.y, bodyFontSize, bodyFontSize);
9295
+
9296
+ // Inner square
9297
+ ctx.fillStyle = mergeOpacity(vm.labelColors[i].backgroundColor, opacity);
9298
+ ctx.fillRect(pt.x + 1, pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);
9299
+
9300
+ ctx.fillStyle = textColor;
9301
+ }
9302
+
9303
+ fillLineOfText(line);
9304
+ });
9305
+
9306
+ helpers.each(bodyItem.after, fillLineOfText);
9307
+ });
9308
+
9309
+ // Reset back to 0 for after body
9310
+ xLinePadding = 0;
9311
+
9312
+ // After body lines
9313
+ helpers.each(vm.afterBody, fillLineOfText);
9314
+ pt.y -= bodySpacing; // Remove last body spacing
9315
+ },
9316
+ drawFooter: function(pt, vm, ctx, opacity) {
9317
+ var footer = vm.footer;
9318
+
9319
+ if (footer.length) {
9320
+ pt.y += vm.footerMarginTop;
9321
+
9322
+ ctx.textAlign = vm._footerAlign;
9323
+ ctx.textBaseline = 'top';
9324
+
9325
+ ctx.fillStyle = mergeOpacity(vm.footerFontColor, opacity);
9326
+ ctx.font = helpers.fontString(vm.footerFontSize, vm._footerFontStyle, vm._footerFontFamily);
9327
+
9328
+ helpers.each(footer, function(line) {
9329
+ ctx.fillText(line, pt.x, pt.y);
9330
+ pt.y += vm.footerFontSize + vm.footerSpacing;
9331
+ });
9332
+ }
9333
+ },
9334
+ drawBackground: function(pt, vm, ctx, tooltipSize, opacity) {
9335
+ ctx.fillStyle = mergeOpacity(vm.backgroundColor, opacity);
9336
+ helpers.drawRoundedRectangle(ctx, pt.x, pt.y, tooltipSize.width, tooltipSize.height, vm.cornerRadius);
9337
+ ctx.fill();
9338
+ },
9339
+ draw: function() {
9340
+ var ctx = this._chart.ctx;
9341
+ var vm = this._view;
9342
+
9343
+ if (vm.opacity === 0) {
9344
+ return;
9345
+ }
9346
+
9347
+ var tooltipSize = {
9348
+ width: vm.width,
9349
+ height: vm.height
9350
+ };
9351
+ var pt = {
9352
+ x: vm.x,
9353
+ y: vm.y
9354
+ };
9355
+
9356
+ // IE11/Edge does not like very small opacities, so snap to 0
9357
+ var opacity = Math.abs(vm.opacity < 1e-3) ? 0 : vm.opacity;
9358
+
9359
+ if (this._options.enabled) {
9360
+ // Draw Background
9361
+ this.drawBackground(pt, vm, ctx, tooltipSize, opacity);
9362
+
9363
+ // Draw Caret
9364
+ this.drawCaret(pt, tooltipSize, opacity);
9365
+
9366
+ // Draw Title, Body, and Footer
9367
+ pt.x += vm.xPadding;
9368
+ pt.y += vm.yPadding;
9369
+
9370
+ // Titles
9371
+ this.drawTitle(pt, vm, ctx, opacity);
9372
+
9373
+ // Body
9374
+ this.drawBody(pt, vm, ctx, opacity);
9375
+
9376
+ // Footer
9377
+ this.drawFooter(pt, vm, ctx, opacity);
9378
+ }
9379
+ },
9380
+
9381
+ /**
9382
+ * Handle an event
9383
+ * @private
9384
+ * @param e {Event} the event to handle
9385
+ * @returns {Boolean} true if the tooltip changed
9386
+ */
9387
+ handleEvent: function(e) {
9388
+ var me = this;
9389
+ var options = me._options;
9390
+ var changed = false;
9391
+
9392
+ me._lastActive = me._lastActive || [];
9393
+
9394
+ // Find Active Elements for tooltips
9395
+ if (e.type === 'mouseout') {
9396
+ me._active = [];
9397
+ } else {
9398
+ me._active = me._chartInstance.getElementsAtEventForMode(e, options.mode, options);
9399
+ }
9400
+
9401
+ // Remember Last Actives
9402
+ changed = !helpers.arrayEquals(me._active, me._lastActive);
9403
+ me._lastActive = me._active;
9404
+
9405
+ if (options.enabled || options.custom) {
9406
+ me._eventPosition = helpers.getRelativePosition(e, me._chart);
9407
+
9408
+ var model = me._model;
9409
+ me.update(true);
9410
+ me.pivot();
9411
+
9412
+ // See if our tooltip position changed
9413
+ changed |= (model.x !== me._model.x) || (model.y !== me._model.y);
9414
+ }
9415
+
9416
+ return changed;
9417
+ }
9418
+ });
9419
+
9420
+ /**
9421
+ * @namespace Chart.Tooltip.positioners
9422
+ */
9423
+ Chart.Tooltip.positioners = {
9424
+ /**
9425
+ * Average mode places the tooltip at the average position of the elements shown
9426
+ * @function Chart.Tooltip.positioners.average
9427
+ * @param elements {ChartElement[]} the elements being displayed in the tooltip
9428
+ * @returns {Point} tooltip position
9429
+ */
9430
+ average: function(elements) {
9431
+ if (!elements.length) {
9432
+ return false;
9433
+ }
9434
+
9435
+ var i, len;
9436
+ var x = 0;
9437
+ var y = 0;
9438
+ var count = 0;
9439
+
9440
+ for (i = 0, len = elements.length; i < len; ++i) {
9441
+ var el = elements[i];
9442
+ if (el && el.hasValue()) {
9443
+ var pos = el.tooltipPosition();
9444
+ x += pos.x;
9445
+ y += pos.y;
9446
+ ++count;
9447
+ }
9448
+ }
9449
+
9450
+ return {
9451
+ x: Math.round(x / count),
9452
+ y: Math.round(y / count)
9453
+ };
9454
+ },
9455
+
9456
+ /**
9457
+ * Gets the tooltip position nearest of the item nearest to the event position
9458
+ * @function Chart.Tooltip.positioners.nearest
9459
+ * @param elements {Chart.Element[]} the tooltip elements
9460
+ * @param eventPosition {Point} the position of the event in canvas coordinates
9461
+ * @returns {Point} the tooltip position
9462
+ */
9463
+ nearest: function(elements, eventPosition) {
9464
+ var x = eventPosition.x;
9465
+ var y = eventPosition.y;
9466
+
9467
+ var nearestElement;
9468
+ var minDistance = Number.POSITIVE_INFINITY;
9469
+ var i, len;
9470
+ for (i = 0, len = elements.length; i < len; ++i) {
9471
+ var el = elements[i];
9472
+ if (el && el.hasValue()) {
9473
+ var center = el.getCenterPoint();
9474
+ var d = helpers.distanceBetweenPoints(eventPosition, center);
9475
+
9476
+ if (d < minDistance) {
9477
+ minDistance = d;
9478
+ nearestElement = el;
9479
+ }
9480
+ }
9481
+ }
9482
+
9483
+ if (nearestElement) {
9484
+ var tp = nearestElement.tooltipPosition();
9485
+ x = tp.x;
9486
+ y = tp.y;
9487
+ }
9488
+
9489
+ return {
9490
+ x: x,
9491
+ y: y
9492
+ };
9493
+ }
9494
+ };
9495
+ };
9496
+
9497
+ },{}],37:[function(require,module,exports){
9498
+ 'use strict';
9499
+
9500
+ module.exports = function(Chart) {
9501
+
9502
+ var helpers = Chart.helpers,
9503
+ globalOpts = Chart.defaults.global;
9504
+
9505
+ globalOpts.elements.arc = {
9506
+ backgroundColor: globalOpts.defaultColor,
9507
+ borderColor: '#fff',
9508
+ borderWidth: 2
9509
+ };
9510
+
9511
+ Chart.elements.Arc = Chart.Element.extend({
9512
+ inLabelRange: function(mouseX) {
9513
+ var vm = this._view;
9514
+
9515
+ if (vm) {
9516
+ return (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));
9517
+ }
9518
+ return false;
9519
+ },
9520
+ inRange: function(chartX, chartY) {
9521
+ var vm = this._view;
9522
+
9523
+ if (vm) {
9524
+ var pointRelativePosition = helpers.getAngleFromPoint(vm, {
9525
+ x: chartX,
9526
+ y: chartY
9527
+ }),
9528
+ angle = pointRelativePosition.angle,
9529
+ distance = pointRelativePosition.distance;
9530
+
9531
+ // Sanitise angle range
9532
+ var startAngle = vm.startAngle;
9533
+ var endAngle = vm.endAngle;
9534
+ while (endAngle < startAngle) {
9535
+ endAngle += 2.0 * Math.PI;
9536
+ }
9537
+ while (angle > endAngle) {
9538
+ angle -= 2.0 * Math.PI;
9539
+ }
9540
+ while (angle < startAngle) {
9541
+ angle += 2.0 * Math.PI;
9542
+ }
9543
+
9544
+ // Check if within the range of the open/close angle
9545
+ var betweenAngles = (angle >= startAngle && angle <= endAngle),
9546
+ withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);
9547
+
9548
+ return (betweenAngles && withinRadius);
9549
+ }
9550
+ return false;
9551
+ },
9552
+ getCenterPoint: function() {
9553
+ var vm = this._view;
9554
+ var halfAngle = (vm.startAngle + vm.endAngle) / 2;
9555
+ var halfRadius = (vm.innerRadius + vm.outerRadius) / 2;
9556
+ return {
9557
+ x: vm.x + Math.cos(halfAngle) * halfRadius,
9558
+ y: vm.y + Math.sin(halfAngle) * halfRadius
9559
+ };
9560
+ },
9561
+ getArea: function() {
9562
+ var vm = this._view;
9563
+ return Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));
9564
+ },
9565
+ tooltipPosition: function() {
9566
+ var vm = this._view;
9567
+
9568
+ var centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2),
9569
+ rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;
9570
+ return {
9571
+ x: vm.x + (Math.cos(centreAngle) * rangeFromCentre),
9572
+ y: vm.y + (Math.sin(centreAngle) * rangeFromCentre)
9573
+ };
9574
+ },
9575
+ draw: function() {
9576
+
9577
+ var ctx = this._chart.ctx,
9578
+ vm = this._view,
9579
+ sA = vm.startAngle,
9580
+ eA = vm.endAngle;
9581
+
9582
+ ctx.beginPath();
9583
+
9584
+ ctx.arc(vm.x, vm.y, vm.outerRadius, sA, eA);
9585
+ ctx.arc(vm.x, vm.y, vm.innerRadius, eA, sA, true);
9586
+
9587
+ ctx.closePath();
9588
+ ctx.strokeStyle = vm.borderColor;
9589
+ ctx.lineWidth = vm.borderWidth;
9590
+
9591
+ ctx.fillStyle = vm.backgroundColor;
9592
+
9593
+ ctx.fill();
9594
+ ctx.lineJoin = 'bevel';
9595
+
9596
+ if (vm.borderWidth) {
9597
+ ctx.stroke();
9598
+ }
9599
+ }
9600
+ });
9601
+ };
9602
+
9603
+ },{}],38:[function(require,module,exports){
9604
+ 'use strict';
9605
+
9606
+ module.exports = function(Chart) {
9607
+
9608
+ var helpers = Chart.helpers;
9609
+ var globalDefaults = Chart.defaults.global;
9610
+
9611
+ Chart.defaults.global.elements.line = {
9612
+ tension: 0.4,
9613
+ backgroundColor: globalDefaults.defaultColor,
9614
+ borderWidth: 3,
9615
+ borderColor: globalDefaults.defaultColor,
9616
+ borderCapStyle: 'butt',
9617
+ borderDash: [],
9618
+ borderDashOffset: 0.0,
9619
+ borderJoinStyle: 'miter',
9620
+ capBezierPoints: true,
9621
+ fill: true, // do we fill in the area between the line and its base axis
9622
+ };
9623
+
9624
+ Chart.elements.Line = Chart.Element.extend({
9625
+ draw: function() {
9626
+ var me = this;
9627
+ var vm = me._view;
9628
+ var spanGaps = vm.spanGaps;
9629
+ var fillPoint = vm.scaleZero;
9630
+ var loop = me._loop;
9631
+
9632
+ // Handle different fill modes for cartesian lines
9633
+ if (!loop) {
9634
+ if (vm.fill === 'top') {
9635
+ fillPoint = vm.scaleTop;
9636
+ } else if (vm.fill === 'bottom') {
9637
+ fillPoint = vm.scaleBottom;
9638
+ }
9639
+ }
9640
+
9641
+ var ctx = me._chart.ctx;
9642
+ ctx.save();
9643
+
9644
+ // Helper function to draw a line to a point
9645
+ function lineToPoint(previousPoint, point) {
9646
+ var pointVM = point._view;
9647
+ if (point._view.steppedLine === true) {
9648
+ ctx.lineTo(pointVM.x, previousPoint._view.y);
9649
+ ctx.lineTo(pointVM.x, pointVM.y);
9650
+ } else if (point._view.tension === 0) {
9651
+ ctx.lineTo(pointVM.x, pointVM.y);
9652
+ } else {
9653
+ ctx.bezierCurveTo(
9654
+ previousPoint._view.controlPointNextX,
9655
+ previousPoint._view.controlPointNextY,
9656
+ pointVM.controlPointPreviousX,
9657
+ pointVM.controlPointPreviousY,
9658
+ pointVM.x,
9659
+ pointVM.y
9660
+ );
9661
+ }
9662
+ }
9663
+
9664
+ var points = me._children.slice(); // clone array
9665
+ var lastDrawnIndex = -1;
9666
+
9667
+ // If we are looping, adding the first point again
9668
+ if (loop && points.length) {
9669
+ points.push(points[0]);
9670
+ }
9671
+
9672
+ var index, current, previous, currentVM;
9673
+
9674
+ // Fill Line
9675
+ if (points.length && vm.fill) {
9676
+ ctx.beginPath();
9677
+
9678
+ for (index = 0; index < points.length; ++index) {
9679
+ current = points[index];
9680
+ previous = helpers.previousItem(points, index);
9681
+ currentVM = current._view;
9682
+
9683
+ // First point moves to it's starting position no matter what
9684
+ if (index === 0) {
9685
+ if (loop) {
9686
+ ctx.moveTo(fillPoint.x, fillPoint.y);
9687
+ } else {
9688
+ ctx.moveTo(currentVM.x, fillPoint);
9689
+ }
9690
+
9691
+ if (!currentVM.skip) {
9692
+ lastDrawnIndex = index;
9693
+ ctx.lineTo(currentVM.x, currentVM.y);
9694
+ }
9695
+ } else {
9696
+ previous = lastDrawnIndex === -1 ? previous : points[lastDrawnIndex];
9697
+
9698
+ if (currentVM.skip) {
9699
+ // Only do this if this is the first point that is skipped
9700
+ if (!spanGaps && lastDrawnIndex === (index - 1)) {
9701
+ if (loop) {
9702
+ ctx.lineTo(fillPoint.x, fillPoint.y);
9703
+ } else {
9704
+ ctx.lineTo(previous._view.x, fillPoint);
9705
+ }
9706
+ }
9707
+ } else {
9708
+ if (lastDrawnIndex !== (index - 1)) {
9709
+ // There was a gap and this is the first point after the gap. If we've never drawn a point, this is a special case.
9710
+ // If the first data point is NaN, then there is no real gap to skip
9711
+ if (spanGaps && lastDrawnIndex !== -1) {
9712
+ // We are spanning the gap, so simple draw a line to this point
9713
+ lineToPoint(previous, current);
9714
+ } else if (loop) {
9715
+ ctx.lineTo(currentVM.x, currentVM.y);
9716
+ } else {
9717
+ ctx.lineTo(currentVM.x, fillPoint);
9718
+ ctx.lineTo(currentVM.x, currentVM.y);
9719
+ }
9720
+ } else {
9721
+ // Line to next point
9722
+ lineToPoint(previous, current);
9723
+ }
9724
+ lastDrawnIndex = index;
9725
+ }
9726
+ }
9727
+ }
9728
+
9729
+ if (!loop && lastDrawnIndex !== -1) {
9730
+ ctx.lineTo(points[lastDrawnIndex]._view.x, fillPoint);
9731
+ }
9732
+
9733
+ ctx.fillStyle = vm.backgroundColor || globalDefaults.defaultColor;
9734
+ ctx.closePath();
9735
+ ctx.fill();
9736
+ }
9737
+
9738
+ // Stroke Line Options
9739
+ var globalOptionLineElements = globalDefaults.elements.line;
9740
+ ctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;
9741
+
9742
+ // IE 9 and 10 do not support line dash
9743
+ if (ctx.setLineDash) {
9744
+ ctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);
9745
+ }
9746
+
9747
+ ctx.lineDashOffset = vm.borderDashOffset || globalOptionLineElements.borderDashOffset;
9748
+ ctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;
9749
+ ctx.lineWidth = vm.borderWidth || globalOptionLineElements.borderWidth;
9750
+ ctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;
9751
+
9752
+ // Stroke Line
9753
+ ctx.beginPath();
9754
+ lastDrawnIndex = -1;
9755
+
9756
+ for (index = 0; index < points.length; ++index) {
9757
+ current = points[index];
9758
+ previous = helpers.previousItem(points, index);
9759
+ currentVM = current._view;
9760
+
9761
+ // First point moves to it's starting position no matter what
9762
+ if (index === 0) {
9763
+ if (!currentVM.skip) {
9764
+ ctx.moveTo(currentVM.x, currentVM.y);
9765
+ lastDrawnIndex = index;
9766
+ }
9767
+ } else {
9768
+ previous = lastDrawnIndex === -1 ? previous : points[lastDrawnIndex];
9769
+
9770
+ if (!currentVM.skip) {
9771
+ if ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {
9772
+ // There was a gap and this is the first point after the gap
9773
+ ctx.moveTo(currentVM.x, currentVM.y);
9774
+ } else {
9775
+ // Line to next point
9776
+ lineToPoint(previous, current);
9777
+ }
9778
+ lastDrawnIndex = index;
9779
+ }
9780
+ }
9781
+ }
9782
+
9783
+ ctx.stroke();
9784
+ ctx.restore();
9785
+ }
9786
+ });
9787
+ };
9788
+
9789
+ },{}],39:[function(require,module,exports){
9790
+ 'use strict';
9791
+
9792
+ module.exports = function(Chart) {
9793
+
9794
+ var helpers = Chart.helpers,
9795
+ globalOpts = Chart.defaults.global,
9796
+ defaultColor = globalOpts.defaultColor;
9797
+
9798
+ globalOpts.elements.point = {
9799
+ radius: 3,
9800
+ pointStyle: 'circle',
9801
+ backgroundColor: defaultColor,
9802
+ borderWidth: 1,
9803
+ borderColor: defaultColor,
9804
+ // Hover
9805
+ hitRadius: 1,
9806
+ hoverRadius: 4,
9807
+ hoverBorderWidth: 1
9808
+ };
9809
+
9810
+ function xRange(mouseX) {
9811
+ var vm = this._view;
9812
+ return vm ? (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hitRadius, 2)) : false;
9813
+ }
9814
+
9815
+ function yRange(mouseY) {
9816
+ var vm = this._view;
9817
+ return vm ? (Math.pow(mouseY - vm.y, 2) < Math.pow(vm.radius + vm.hitRadius, 2)) : false;
9818
+ }
9819
+
9820
+ Chart.elements.Point = Chart.Element.extend({
9821
+ inRange: function(mouseX, mouseY) {
9822
+ var vm = this._view;
9823
+ return vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;
9824
+ },
9825
+
9826
+ inLabelRange: xRange,
9827
+ inXRange: xRange,
9828
+ inYRange: yRange,
9829
+
9830
+ getCenterPoint: function() {
9831
+ var vm = this._view;
9832
+ return {
9833
+ x: vm.x,
9834
+ y: vm.y
9835
+ };
9836
+ },
9837
+ getArea: function() {
9838
+ return Math.PI * Math.pow(this._view.radius, 2);
9839
+ },
9840
+ tooltipPosition: function() {
9841
+ var vm = this._view;
9842
+ return {
9843
+ x: vm.x,
9844
+ y: vm.y,
9845
+ padding: vm.radius + vm.borderWidth
9846
+ };
9847
+ },
9848
+ draw: function() {
9849
+ var vm = this._view;
9850
+ var ctx = this._chart.ctx;
9851
+ var pointStyle = vm.pointStyle;
9852
+ var radius = vm.radius;
9853
+ var x = vm.x;
9854
+ var y = vm.y;
9855
+
9856
+ if (vm.skip) {
9857
+ return;
9858
+ }
9859
+
9860
+ ctx.strokeStyle = vm.borderColor || defaultColor;
9861
+ ctx.lineWidth = helpers.getValueOrDefault(vm.borderWidth, globalOpts.elements.point.borderWidth);
9862
+ ctx.fillStyle = vm.backgroundColor || defaultColor;
9863
+
9864
+ Chart.canvasHelpers.drawPoint(ctx, pointStyle, radius, x, y);
9865
+ }
9866
+ });
9867
+ };
9868
+
9869
+ },{}],40:[function(require,module,exports){
9870
+ 'use strict';
9871
+
9872
+ module.exports = function(Chart) {
9873
+
9874
+ var globalOpts = Chart.defaults.global;
9875
+
9876
+ globalOpts.elements.rectangle = {
9877
+ backgroundColor: globalOpts.defaultColor,
9878
+ borderWidth: 0,
9879
+ borderColor: globalOpts.defaultColor,
9880
+ borderSkipped: 'bottom'
9881
+ };
9882
+
9883
+ function isVertical(bar) {
9884
+ return bar._view.width !== undefined;
9885
+ }
9886
+
9887
+ /**
9888
+ * Helper function to get the bounds of the bar regardless of the orientation
9889
+ * @private
9890
+ * @param bar {Chart.Element.Rectangle} the bar
9891
+ * @return {Bounds} bounds of the bar
9892
+ */
9893
+ function getBarBounds(bar) {
9894
+ var vm = bar._view;
9895
+ var x1, x2, y1, y2;
9896
+
9897
+ if (isVertical(bar)) {
9898
+ // vertical
9899
+ var halfWidth = vm.width / 2;
9900
+ x1 = vm.x - halfWidth;
9901
+ x2 = vm.x + halfWidth;
9902
+ y1 = Math.min(vm.y, vm.base);
9903
+ y2 = Math.max(vm.y, vm.base);
9904
+ } else {
9905
+ // horizontal bar
9906
+ var halfHeight = vm.height / 2;
9907
+ x1 = Math.min(vm.x, vm.base);
9908
+ x2 = Math.max(vm.x, vm.base);
9909
+ y1 = vm.y - halfHeight;
9910
+ y2 = vm.y + halfHeight;
9911
+ }
9912
+
9913
+ return {
9914
+ left: x1,
9915
+ top: y1,
9916
+ right: x2,
9917
+ bottom: y2
9918
+ };
9919
+ }
9920
+
9921
+ Chart.elements.Rectangle = Chart.Element.extend({
9922
+ draw: function() {
9923
+ var ctx = this._chart.ctx;
9924
+ var vm = this._view;
9925
+
9926
+ var halfWidth = vm.width / 2,
9927
+ leftX = vm.x - halfWidth,
9928
+ rightX = vm.x + halfWidth,
9929
+ top = vm.base - (vm.base - vm.y),
9930
+ halfStroke = vm.borderWidth / 2;
9931
+
9932
+ // Canvas doesn't allow us to stroke inside the width so we can
9933
+ // adjust the sizes to fit if we're setting a stroke on the line
9934
+ if (vm.borderWidth) {
9935
+ leftX += halfStroke;
9936
+ rightX -= halfStroke;
9937
+ top += halfStroke;
9938
+ }
9939
+
9940
+ ctx.beginPath();
9941
+ ctx.fillStyle = vm.backgroundColor;
9942
+ ctx.strokeStyle = vm.borderColor;
9943
+ ctx.lineWidth = vm.borderWidth;
9944
+
9945
+ // Corner points, from bottom-left to bottom-right clockwise
9946
+ // | 1 2 |
9947
+ // | 0 3 |
9948
+ var corners = [
9949
+ [leftX, vm.base],
9950
+ [leftX, top],
9951
+ [rightX, top],
9952
+ [rightX, vm.base]
9953
+ ];
9954
+
9955
+ // Find first (starting) corner with fallback to 'bottom'
9956
+ var borders = ['bottom', 'left', 'top', 'right'];
9957
+ var startCorner = borders.indexOf(vm.borderSkipped, 0);
9958
+ if (startCorner === -1) {
9959
+ startCorner = 0;
9960
+ }
9961
+
9962
+ function cornerAt(index) {
9963
+ return corners[(startCorner + index) % 4];
9964
+ }
9965
+
9966
+ // Draw rectangle from 'startCorner'
9967
+ var corner = cornerAt(0);
9968
+ ctx.moveTo(corner[0], corner[1]);
9969
+
9970
+ for (var i = 1; i < 4; i++) {
9971
+ corner = cornerAt(i);
9972
+ ctx.lineTo(corner[0], corner[1]);
9973
+ }
9974
+
9975
+ ctx.fill();
9976
+ if (vm.borderWidth) {
9977
+ ctx.stroke();
9978
+ }
9979
+ },
9980
+ height: function() {
9981
+ var vm = this._view;
9982
+ return vm.base - vm.y;
9983
+ },
9984
+ inRange: function(mouseX, mouseY) {
9985
+ var inRange = false;
9986
+
9987
+ if (this._view) {
9988
+ var bounds = getBarBounds(this);
9989
+ inRange = mouseX >= bounds.left && mouseX <= bounds.right && mouseY >= bounds.top && mouseY <= bounds.bottom;
9990
+ }
9991
+
9992
+ return inRange;
9993
+ },
9994
+ inLabelRange: function(mouseX, mouseY) {
9995
+ var me = this;
9996
+ if (!me._view) {
9997
+ return false;
9998
+ }
9999
+
10000
+ var inRange = false;
10001
+ var bounds = getBarBounds(me);
10002
+
10003
+ if (isVertical(me)) {
10004
+ inRange = mouseX >= bounds.left && mouseX <= bounds.right;
10005
+ } else {
10006
+ inRange = mouseY >= bounds.top && mouseY <= bounds.bottom;
10007
+ }
10008
+
10009
+ return inRange;
10010
+ },
10011
+ inXRange: function(mouseX) {
10012
+ var bounds = getBarBounds(this);
10013
+ return mouseX >= bounds.left && mouseX <= bounds.right;
10014
+ },
10015
+ inYRange: function(mouseY) {
10016
+ var bounds = getBarBounds(this);
10017
+ return mouseY >= bounds.top && mouseY <= bounds.bottom;
10018
+ },
10019
+ getCenterPoint: function() {
10020
+ var vm = this._view;
10021
+ var x, y;
10022
+ if (isVertical(this)) {
10023
+ x = vm.x;
10024
+ y = (vm.y + vm.base) / 2;
10025
+ } else {
10026
+ x = (vm.x + vm.base) / 2;
10027
+ y = vm.y;
10028
+ }
10029
+
10030
+ return {x: x, y: y};
10031
+ },
10032
+ getArea: function() {
10033
+ var vm = this._view;
10034
+ return vm.width * Math.abs(vm.y - vm.base);
10035
+ },
10036
+ tooltipPosition: function() {
10037
+ var vm = this._view;
10038
+ return {
10039
+ x: vm.x,
10040
+ y: vm.y
10041
+ };
10042
+ }
10043
+ });
10044
+
10045
+ };
10046
+
10047
+ },{}],41:[function(require,module,exports){
10048
+ 'use strict';
10049
+
10050
+ module.exports = function(Chart) {
10051
+
10052
+ var helpers = Chart.helpers;
10053
+ // Default config for a category scale
10054
+ var defaultConfig = {
10055
+ position: 'bottom'
10056
+ };
10057
+
10058
+ var DatasetScale = Chart.Scale.extend({
10059
+ /**
10060
+ * Internal function to get the correct labels. If data.xLabels or data.yLabels are defined, use those
10061
+ * else fall back to data.labels
10062
+ * @private
10063
+ */
10064
+ getLabels: function() {
10065
+ var data = this.chart.data;
10066
+ return (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels;
10067
+ },
10068
+ // Implement this so that
10069
+ determineDataLimits: function() {
10070
+ var me = this;
10071
+ var labels = me.getLabels();
10072
+ me.minIndex = 0;
10073
+ me.maxIndex = labels.length - 1;
10074
+ var findIndex;
10075
+
10076
+ if (me.options.ticks.min !== undefined) {
10077
+ // user specified min value
10078
+ findIndex = helpers.indexOf(labels, me.options.ticks.min);
10079
+ me.minIndex = findIndex !== -1 ? findIndex : me.minIndex;
10080
+ }
10081
+
10082
+ if (me.options.ticks.max !== undefined) {
10083
+ // user specified max value
10084
+ findIndex = helpers.indexOf(labels, me.options.ticks.max);
10085
+ me.maxIndex = findIndex !== -1 ? findIndex : me.maxIndex;
10086
+ }
10087
+
10088
+ me.min = labels[me.minIndex];
10089
+ me.max = labels[me.maxIndex];
10090
+ },
10091
+
10092
+ buildTicks: function() {
10093
+ var me = this;
10094
+ var labels = me.getLabels();
10095
+ // If we are viewing some subset of labels, slice the original array
10096
+ me.ticks = (me.minIndex === 0 && me.maxIndex === labels.length - 1) ? labels : labels.slice(me.minIndex, me.maxIndex + 1);
10097
+ },
10098
+
10099
+ getLabelForIndex: function(index, datasetIndex) {
10100
+ var me = this;
10101
+ var data = me.chart.data;
10102
+ var isHorizontal = me.isHorizontal();
10103
+
10104
+ if ((data.xLabels && isHorizontal) || (data.yLabels && !isHorizontal)) {
10105
+ return me.getRightValue(data.datasets[datasetIndex].data[index]);
10106
+ }
10107
+ return me.ticks[index];
10108
+ },
10109
+
10110
+ // Used to get data value locations. Value can either be an index or a numerical value
10111
+ getPixelForValue: function(value, index, datasetIndex, includeOffset) {
10112
+ var me = this;
10113
+ // 1 is added because we need the length but we have the indexes
10114
+ var offsetAmt = Math.max((me.maxIndex + 1 - me.minIndex - ((me.options.gridLines.offsetGridLines) ? 0 : 1)), 1);
10115
+
10116
+ if (value !== undefined && isNaN(index)) {
10117
+ var labels = me.getLabels();
10118
+ var idx = labels.indexOf(value);
10119
+ index = idx !== -1 ? idx : index;
10120
+ }
10121
+
10122
+ if (me.isHorizontal()) {
10123
+ var innerWidth = me.width - (me.paddingLeft + me.paddingRight);
10124
+ var valueWidth = innerWidth / offsetAmt;
10125
+ var widthOffset = (valueWidth * (index - me.minIndex)) + me.paddingLeft;
10126
+
10127
+ if (me.options.gridLines.offsetGridLines && includeOffset || me.maxIndex === me.minIndex && includeOffset) {
10128
+ widthOffset += (valueWidth / 2);
10129
+ }
10130
+
10131
+ return me.left + Math.round(widthOffset);
10132
+ }
10133
+ var innerHeight = me.height - (me.paddingTop + me.paddingBottom);
10134
+ var valueHeight = innerHeight / offsetAmt;
10135
+ var heightOffset = (valueHeight * (index - me.minIndex)) + me.paddingTop;
10136
+
10137
+ if (me.options.gridLines.offsetGridLines && includeOffset) {
10138
+ heightOffset += (valueHeight / 2);
10139
+ }
10140
+
10141
+ return me.top + Math.round(heightOffset);
10142
+ },
10143
+ getPixelForTick: function(index, includeOffset) {
10144
+ return this.getPixelForValue(this.ticks[index], index + this.minIndex, null, includeOffset);
10145
+ },
10146
+ getValueForPixel: function(pixel) {
10147
+ var me = this;
10148
+ var value;
10149
+ var offsetAmt = Math.max((me.ticks.length - ((me.options.gridLines.offsetGridLines) ? 0 : 1)), 1);
10150
+ var horz = me.isHorizontal();
10151
+ var innerDimension = horz ? me.width - (me.paddingLeft + me.paddingRight) : me.height - (me.paddingTop + me.paddingBottom);
10152
+ var valueDimension = innerDimension / offsetAmt;
10153
+
10154
+ pixel -= horz ? me.left : me.top;
10155
+
10156
+ if (me.options.gridLines.offsetGridLines) {
10157
+ pixel -= (valueDimension / 2);
10158
+ }
10159
+ pixel -= horz ? me.paddingLeft : me.paddingTop;
10160
+
10161
+ if (pixel <= 0) {
10162
+ value = 0;
10163
+ } else {
10164
+ value = Math.round(pixel / valueDimension);
10165
+ }
10166
+
10167
+ return value;
10168
+ },
10169
+ getBasePixel: function() {
10170
+ return this.bottom;
10171
+ }
10172
+ });
10173
+
10174
+ Chart.scaleService.registerScaleType('category', DatasetScale, defaultConfig);
10175
+
10176
+ };
10177
+
10178
+ },{}],42:[function(require,module,exports){
10179
+ 'use strict';
10180
+
10181
+ module.exports = function(Chart) {
10182
+
10183
+ var helpers = Chart.helpers;
10184
+
10185
+ var defaultConfig = {
10186
+ position: 'left',
10187
+ ticks: {
10188
+ callback: Chart.Ticks.formatters.linear
10189
+ }
10190
+ };
10191
+
10192
+ var LinearScale = Chart.LinearScaleBase.extend({
10193
+ determineDataLimits: function() {
10194
+ var me = this;
10195
+ var opts = me.options;
10196
+ var chart = me.chart;
10197
+ var data = chart.data;
10198
+ var datasets = data.datasets;
10199
+ var isHorizontal = me.isHorizontal();
10200
+
10201
+ function IDMatches(meta) {
10202
+ return isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;
10203
+ }
10204
+
10205
+ // First Calculate the range
10206
+ me.min = null;
10207
+ me.max = null;
10208
+
10209
+ if (opts.stacked) {
10210
+ var valuesPerType = {};
10211
+
10212
+ helpers.each(datasets, function(dataset, datasetIndex) {
10213
+ var meta = chart.getDatasetMeta(datasetIndex);
10214
+ if (valuesPerType[meta.type] === undefined) {
10215
+ valuesPerType[meta.type] = {
10216
+ positiveValues: [],
10217
+ negativeValues: []
10218
+ };
10219
+ }
10220
+
10221
+ // Store these per type
10222
+ var positiveValues = valuesPerType[meta.type].positiveValues;
10223
+ var negativeValues = valuesPerType[meta.type].negativeValues;
10224
+
10225
+ if (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {
10226
+ helpers.each(dataset.data, function(rawValue, index) {
10227
+ var value = +me.getRightValue(rawValue);
10228
+ if (isNaN(value) || meta.data[index].hidden) {
10229
+ return;
10230
+ }
10231
+
10232
+ positiveValues[index] = positiveValues[index] || 0;
10233
+ negativeValues[index] = negativeValues[index] || 0;
10234
+
10235
+ if (opts.relativePoints) {
10236
+ positiveValues[index] = 100;
10237
+ } else if (value < 0) {
10238
+ negativeValues[index] += value;
10239
+ } else {
10240
+ positiveValues[index] += value;
10241
+ }
10242
+ });
10243
+ }
10244
+ });
10245
+
10246
+ helpers.each(valuesPerType, function(valuesForType) {
10247
+ var values = valuesForType.positiveValues.concat(valuesForType.negativeValues);
10248
+ var minVal = helpers.min(values);
10249
+ var maxVal = helpers.max(values);
10250
+ me.min = me.min === null ? minVal : Math.min(me.min, minVal);
10251
+ me.max = me.max === null ? maxVal : Math.max(me.max, maxVal);
10252
+ });
10253
+
10254
+ } else {
10255
+ helpers.each(datasets, function(dataset, datasetIndex) {
10256
+ var meta = chart.getDatasetMeta(datasetIndex);
10257
+ if (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {
10258
+ helpers.each(dataset.data, function(rawValue, index) {
10259
+ var value = +me.getRightValue(rawValue);
10260
+ if (isNaN(value) || meta.data[index].hidden) {
10261
+ return;
10262
+ }
10263
+
10264
+ if (me.min === null) {
10265
+ me.min = value;
10266
+ } else if (value < me.min) {
10267
+ me.min = value;
10268
+ }
10269
+
10270
+ if (me.max === null) {
10271
+ me.max = value;
10272
+ } else if (value > me.max) {
10273
+ me.max = value;
10274
+ }
10275
+ });
10276
+ }
10277
+ });
10278
+ }
10279
+
10280
+ // Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero
10281
+ this.handleTickRangeOptions();
10282
+ },
10283
+ getTickLimit: function() {
10284
+ var maxTicks;
10285
+ var me = this;
10286
+ var tickOpts = me.options.ticks;
10287
+
10288
+ if (me.isHorizontal()) {
10289
+ maxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.width / 50));
10290
+ } else {
10291
+ // The factor of 2 used to scale the font size has been experimentally determined.
10292
+ var tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, Chart.defaults.global.defaultFontSize);
10293
+ maxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.height / (2 * tickFontSize)));
10294
+ }
10295
+
10296
+ return maxTicks;
10297
+ },
10298
+ // Called after the ticks are built. We need
10299
+ handleDirectionalChanges: function() {
10300
+ if (!this.isHorizontal()) {
10301
+ // We are in a vertical orientation. The top value is the highest. So reverse the array
10302
+ this.ticks.reverse();
10303
+ }
10304
+ },
10305
+ getLabelForIndex: function(index, datasetIndex) {
10306
+ return +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);
10307
+ },
10308
+ // Utils
10309
+ getPixelForValue: function(value) {
10310
+ // This must be called after fit has been run so that
10311
+ // this.left, this.top, this.right, and this.bottom have been defined
10312
+ var me = this;
10313
+ var paddingLeft = me.paddingLeft;
10314
+ var paddingBottom = me.paddingBottom;
10315
+ var start = me.start;
10316
+
10317
+ var rightValue = +me.getRightValue(value);
10318
+ var pixel;
10319
+ var innerDimension;
10320
+ var range = me.end - start;
10321
+
10322
+ if (me.isHorizontal()) {
10323
+ innerDimension = me.width - (paddingLeft + me.paddingRight);
10324
+ pixel = me.left + (innerDimension / range * (rightValue - start));
10325
+ return Math.round(pixel + paddingLeft);
10326
+ }
10327
+ innerDimension = me.height - (me.paddingTop + paddingBottom);
10328
+ pixel = (me.bottom - paddingBottom) - (innerDimension / range * (rightValue - start));
10329
+ return Math.round(pixel);
10330
+ },
10331
+ getValueForPixel: function(pixel) {
10332
+ var me = this;
10333
+ var isHorizontal = me.isHorizontal();
10334
+ var paddingLeft = me.paddingLeft;
10335
+ var paddingBottom = me.paddingBottom;
10336
+ var innerDimension = isHorizontal ? me.width - (paddingLeft + me.paddingRight) : me.height - (me.paddingTop + paddingBottom);
10337
+ var offset = (isHorizontal ? pixel - me.left - paddingLeft : me.bottom - paddingBottom - pixel) / innerDimension;
10338
+ return me.start + ((me.end - me.start) * offset);
10339
+ },
10340
+ getPixelForTick: function(index) {
10341
+ return this.getPixelForValue(this.ticksAsNumbers[index]);
10342
+ }
10343
+ });
10344
+ Chart.scaleService.registerScaleType('linear', LinearScale, defaultConfig);
10345
+
10346
+ };
10347
+
10348
+ },{}],43:[function(require,module,exports){
10349
+ 'use strict';
10350
+
10351
+ module.exports = function(Chart) {
10352
+
10353
+ var helpers = Chart.helpers,
10354
+ noop = helpers.noop;
10355
+
10356
+ Chart.LinearScaleBase = Chart.Scale.extend({
10357
+ handleTickRangeOptions: function() {
10358
+ var me = this;
10359
+ var opts = me.options;
10360
+ var tickOpts = opts.ticks;
10361
+
10362
+ // If we are forcing it to begin at 0, but 0 will already be rendered on the chart,
10363
+ // do nothing since that would make the chart weird. If the user really wants a weird chart
10364
+ // axis, they can manually override it
10365
+ if (tickOpts.beginAtZero) {
10366
+ var minSign = helpers.sign(me.min);
10367
+ var maxSign = helpers.sign(me.max);
10368
+
10369
+ if (minSign < 0 && maxSign < 0) {
10370
+ // move the top up to 0
10371
+ me.max = 0;
10372
+ } else if (minSign > 0 && maxSign > 0) {
10373
+ // move the bottom down to 0
10374
+ me.min = 0;
10375
+ }
10376
+ }
10377
+
10378
+ if (tickOpts.min !== undefined) {
10379
+ me.min = tickOpts.min;
10380
+ } else if (tickOpts.suggestedMin !== undefined) {
10381
+ me.min = Math.min(me.min, tickOpts.suggestedMin);
10382
+ }
10383
+
10384
+ if (tickOpts.max !== undefined) {
10385
+ me.max = tickOpts.max;
10386
+ } else if (tickOpts.suggestedMax !== undefined) {
10387
+ me.max = Math.max(me.max, tickOpts.suggestedMax);
10388
+ }
10389
+
10390
+ if (me.min === me.max) {
10391
+ me.max++;
10392
+
10393
+ if (!tickOpts.beginAtZero) {
10394
+ me.min--;
10395
+ }
10396
+ }
10397
+ },
10398
+ getTickLimit: noop,
10399
+ handleDirectionalChanges: noop,
10400
+
10401
+ buildTicks: function() {
10402
+ var me = this;
10403
+ var opts = me.options;
10404
+ var tickOpts = opts.ticks;
10405
+
10406
+ // Figure out what the max number of ticks we can support it is based on the size of
10407
+ // the axis area. For now, we say that the minimum tick spacing in pixels must be 50
10408
+ // We also limit the maximum number of ticks to 11 which gives a nice 10 squares on
10409
+ // the graph. Make sure we always have at least 2 ticks
10410
+ var maxTicks = me.getTickLimit();
10411
+ maxTicks = Math.max(2, maxTicks);
10412
+
10413
+ var numericGeneratorOptions = {
10414
+ maxTicks: maxTicks,
10415
+ min: tickOpts.min,
10416
+ max: tickOpts.max,
10417
+ stepSize: helpers.getValueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)
10418
+ };
10419
+ var ticks = me.ticks = Chart.Ticks.generators.linear(numericGeneratorOptions, me);
10420
+
10421
+ me.handleDirectionalChanges();
10422
+
10423
+ // At this point, we need to update our max and min given the tick values since we have expanded the
10424
+ // range of the scale
10425
+ me.max = helpers.max(ticks);
10426
+ me.min = helpers.min(ticks);
10427
+
10428
+ if (tickOpts.reverse) {
10429
+ ticks.reverse();
10430
+
10431
+ me.start = me.max;
10432
+ me.end = me.min;
10433
+ } else {
10434
+ me.start = me.min;
10435
+ me.end = me.max;
10436
+ }
10437
+ },
10438
+ convertTicksToLabels: function() {
10439
+ var me = this;
10440
+ me.ticksAsNumbers = me.ticks.slice();
10441
+ me.zeroLineIndex = me.ticks.indexOf(0);
10442
+
10443
+ Chart.Scale.prototype.convertTicksToLabels.call(me);
10444
+ }
10445
+ });
10446
+ };
10447
+
10448
+ },{}],44:[function(require,module,exports){
10449
+ 'use strict';
10450
+
10451
+ module.exports = function(Chart) {
10452
+
10453
+ var helpers = Chart.helpers;
10454
+
10455
+ var defaultConfig = {
10456
+ position: 'left',
10457
+
10458
+ // label settings
10459
+ ticks: {
10460
+ callback: Chart.Ticks.formatters.logarithmic
10461
+ }
10462
+ };
10463
+
10464
+ var LogarithmicScale = Chart.Scale.extend({
10465
+ determineDataLimits: function() {
10466
+ var me = this;
10467
+ var opts = me.options;
10468
+ var tickOpts = opts.ticks;
10469
+ var chart = me.chart;
10470
+ var data = chart.data;
10471
+ var datasets = data.datasets;
10472
+ var getValueOrDefault = helpers.getValueOrDefault;
10473
+ var isHorizontal = me.isHorizontal();
10474
+ function IDMatches(meta) {
10475
+ return isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;
10476
+ }
10477
+
10478
+ // Calculate Range
10479
+ me.min = null;
10480
+ me.max = null;
10481
+ me.minNotZero = null;
10482
+
10483
+ if (opts.stacked) {
10484
+ var valuesPerType = {};
10485
+
10486
+ helpers.each(datasets, function(dataset, datasetIndex) {
10487
+ var meta = chart.getDatasetMeta(datasetIndex);
10488
+ if (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {
10489
+ if (valuesPerType[meta.type] === undefined) {
10490
+ valuesPerType[meta.type] = [];
10491
+ }
10492
+
10493
+ helpers.each(dataset.data, function(rawValue, index) {
10494
+ var values = valuesPerType[meta.type];
10495
+ var value = +me.getRightValue(rawValue);
10496
+ if (isNaN(value) || meta.data[index].hidden) {
10497
+ return;
10498
+ }
10499
+
10500
+ values[index] = values[index] || 0;
10501
+
10502
+ if (opts.relativePoints) {
10503
+ values[index] = 100;
10504
+ } else {
10505
+ // Don't need to split positive and negative since the log scale can't handle a 0 crossing
10506
+ values[index] += value;
10507
+ }
10508
+ });
10509
+ }
10510
+ });
10511
+
10512
+ helpers.each(valuesPerType, function(valuesForType) {
10513
+ var minVal = helpers.min(valuesForType);
10514
+ var maxVal = helpers.max(valuesForType);
10515
+ me.min = me.min === null ? minVal : Math.min(me.min, minVal);
10516
+ me.max = me.max === null ? maxVal : Math.max(me.max, maxVal);
10517
+ });
10518
+
10519
+ } else {
10520
+ helpers.each(datasets, function(dataset, datasetIndex) {
10521
+ var meta = chart.getDatasetMeta(datasetIndex);
10522
+ if (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {
10523
+ helpers.each(dataset.data, function(rawValue, index) {
10524
+ var value = +me.getRightValue(rawValue);
10525
+ if (isNaN(value) || meta.data[index].hidden) {
10526
+ return;
10527
+ }
10528
+
10529
+ if (me.min === null) {
10530
+ me.min = value;
10531
+ } else if (value < me.min) {
10532
+ me.min = value;
10533
+ }
10534
+
10535
+ if (me.max === null) {
10536
+ me.max = value;
10537
+ } else if (value > me.max) {
10538
+ me.max = value;
10539
+ }
10540
+
10541
+ if (value !== 0 && (me.minNotZero === null || value < me.minNotZero)) {
10542
+ me.minNotZero = value;
10543
+ }
10544
+ });
10545
+ }
10546
+ });
10547
+ }
10548
+
10549
+ me.min = getValueOrDefault(tickOpts.min, me.min);
10550
+ me.max = getValueOrDefault(tickOpts.max, me.max);
10551
+
10552
+ if (me.min === me.max) {
10553
+ if (me.min !== 0 && me.min !== null) {
10554
+ me.min = Math.pow(10, Math.floor(helpers.log10(me.min)) - 1);
10555
+ me.max = Math.pow(10, Math.floor(helpers.log10(me.max)) + 1);
10556
+ } else {
10557
+ me.min = 1;
10558
+ me.max = 10;
10559
+ }
10560
+ }
10561
+ },
10562
+ buildTicks: function() {
10563
+ var me = this;
10564
+ var opts = me.options;
10565
+ var tickOpts = opts.ticks;
10566
+
10567
+ var generationOptions = {
10568
+ min: tickOpts.min,
10569
+ max: tickOpts.max
10570
+ };
10571
+ var ticks = me.ticks = Chart.Ticks.generators.logarithmic(generationOptions, me);
10572
+
10573
+ if (!me.isHorizontal()) {
10574
+ // We are in a vertical orientation. The top value is the highest. So reverse the array
10575
+ ticks.reverse();
10576
+ }
10577
+
10578
+ // At this point, we need to update our max and min given the tick values since we have expanded the
10579
+ // range of the scale
10580
+ me.max = helpers.max(ticks);
10581
+ me.min = helpers.min(ticks);
10582
+
10583
+ if (tickOpts.reverse) {
10584
+ ticks.reverse();
10585
+
10586
+ me.start = me.max;
10587
+ me.end = me.min;
10588
+ } else {
10589
+ me.start = me.min;
10590
+ me.end = me.max;
10591
+ }
10592
+ },
10593
+ convertTicksToLabels: function() {
10594
+ this.tickValues = this.ticks.slice();
10595
+
10596
+ Chart.Scale.prototype.convertTicksToLabels.call(this);
10597
+ },
10598
+ // Get the correct tooltip label
10599
+ getLabelForIndex: function(index, datasetIndex) {
10600
+ return +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);
10601
+ },
10602
+ getPixelForTick: function(index) {
10603
+ return this.getPixelForValue(this.tickValues[index]);
10604
+ },
10605
+ getPixelForValue: function(value) {
10606
+ var me = this;
10607
+ var innerDimension;
10608
+ var pixel;
10609
+
10610
+ var start = me.start;
10611
+ var newVal = +me.getRightValue(value);
10612
+ var range;
10613
+ var paddingTop = me.paddingTop;
10614
+ var paddingBottom = me.paddingBottom;
10615
+ var paddingLeft = me.paddingLeft;
10616
+ var opts = me.options;
10617
+ var tickOpts = opts.ticks;
10618
+
10619
+ if (me.isHorizontal()) {
10620
+ range = helpers.log10(me.end) - helpers.log10(start); // todo: if start === 0
10621
+ if (newVal === 0) {
10622
+ pixel = me.left + paddingLeft;
10623
+ } else {
10624
+ innerDimension = me.width - (paddingLeft + me.paddingRight);
10625
+ pixel = me.left + (innerDimension / range * (helpers.log10(newVal) - helpers.log10(start)));
10626
+ pixel += paddingLeft;
10627
+ }
10628
+ } else {
10629
+ // Bottom - top since pixels increase downward on a screen
10630
+ innerDimension = me.height - (paddingTop + paddingBottom);
10631
+ if (start === 0 && !tickOpts.reverse) {
10632
+ range = helpers.log10(me.end) - helpers.log10(me.minNotZero);
10633
+ if (newVal === start) {
10634
+ pixel = me.bottom - paddingBottom;
10635
+ } else if (newVal === me.minNotZero) {
10636
+ pixel = me.bottom - paddingBottom - innerDimension * 0.02;
10637
+ } else {
10638
+ pixel = me.bottom - paddingBottom - innerDimension * 0.02 - (innerDimension * 0.98/ range * (helpers.log10(newVal)-helpers.log10(me.minNotZero)));
10639
+ }
10640
+ } else if (me.end === 0 && tickOpts.reverse) {
10641
+ range = helpers.log10(me.start) - helpers.log10(me.minNotZero);
10642
+ if (newVal === me.end) {
10643
+ pixel = me.top + paddingTop;
10644
+ } else if (newVal === me.minNotZero) {
10645
+ pixel = me.top + paddingTop + innerDimension * 0.02;
10646
+ } else {
10647
+ pixel = me.top + paddingTop + innerDimension * 0.02 + (innerDimension * 0.98/ range * (helpers.log10(newVal)-helpers.log10(me.minNotZero)));
10648
+ }
10649
+ } else {
10650
+ range = helpers.log10(me.end) - helpers.log10(start);
10651
+ innerDimension = me.height - (paddingTop + paddingBottom);
10652
+ pixel = (me.bottom - paddingBottom) - (innerDimension / range * (helpers.log10(newVal) - helpers.log10(start)));
10653
+ }
10654
+ }
10655
+ return pixel;
10656
+ },
10657
+ getValueForPixel: function(pixel) {
10658
+ var me = this;
10659
+ var range = helpers.log10(me.end) - helpers.log10(me.start);
10660
+ var value, innerDimension;
10661
+
10662
+ if (me.isHorizontal()) {
10663
+ innerDimension = me.width - (me.paddingLeft + me.paddingRight);
10664
+ value = me.start * Math.pow(10, (pixel - me.left - me.paddingLeft) * range / innerDimension);
10665
+ } else { // todo: if start === 0
10666
+ innerDimension = me.height - (me.paddingTop + me.paddingBottom);
10667
+ value = Math.pow(10, (me.bottom - me.paddingBottom - pixel) * range / innerDimension) / me.start;
10668
+ }
10669
+ return value;
10670
+ }
10671
+ });
10672
+ Chart.scaleService.registerScaleType('logarithmic', LogarithmicScale, defaultConfig);
10673
+
10674
+ };
10675
+
10676
+ },{}],45:[function(require,module,exports){
10677
+ 'use strict';
10678
+
10679
+ module.exports = function(Chart) {
10680
+
10681
+ var helpers = Chart.helpers;
10682
+ var globalDefaults = Chart.defaults.global;
10683
+
10684
+ var defaultConfig = {
10685
+ display: true,
10686
+
10687
+ // Boolean - Whether to animate scaling the chart from the centre
10688
+ animate: true,
10689
+ lineArc: false,
10690
+ position: 'chartArea',
10691
+
10692
+ angleLines: {
10693
+ display: true,
10694
+ color: 'rgba(0, 0, 0, 0.1)',
10695
+ lineWidth: 1
10696
+ },
10697
+
10698
+ // label settings
10699
+ ticks: {
10700
+ // Boolean - Show a backdrop to the scale label
10701
+ showLabelBackdrop: true,
10702
+
10703
+ // String - The colour of the label backdrop
10704
+ backdropColor: 'rgba(255,255,255,0.75)',
10705
+
10706
+ // Number - The backdrop padding above & below the label in pixels
10707
+ backdropPaddingY: 2,
10708
+
10709
+ // Number - The backdrop padding to the side of the label in pixels
10710
+ backdropPaddingX: 2,
10711
+
10712
+ callback: Chart.Ticks.formatters.linear
10713
+ },
10714
+
10715
+ pointLabels: {
10716
+ // Number - Point label font size in pixels
10717
+ fontSize: 10,
10718
+
10719
+ // Function - Used to convert point labels
10720
+ callback: function(label) {
10721
+ return label;
10722
+ }
10723
+ }
10724
+ };
10725
+
10726
+ var LinearRadialScale = Chart.LinearScaleBase.extend({
10727
+ getValueCount: function() {
10728
+ return this.chart.data.labels.length;
10729
+ },
10730
+ setDimensions: function() {
10731
+ var me = this;
10732
+ var opts = me.options;
10733
+ var tickOpts = opts.ticks;
10734
+ // Set the unconstrained dimension before label rotation
10735
+ me.width = me.maxWidth;
10736
+ me.height = me.maxHeight;
10737
+ me.xCenter = Math.round(me.width / 2);
10738
+ me.yCenter = Math.round(me.height / 2);
10739
+
10740
+ var minSize = helpers.min([me.height, me.width]);
10741
+ var tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
10742
+ me.drawingArea = opts.display ? (minSize / 2) - (tickFontSize / 2 + tickOpts.backdropPaddingY) : (minSize / 2);
10743
+ },
10744
+ determineDataLimits: function() {
10745
+ var me = this;
10746
+ var chart = me.chart;
10747
+ me.min = null;
10748
+ me.max = null;
10749
+
10750
+
10751
+ helpers.each(chart.data.datasets, function(dataset, datasetIndex) {
10752
+ if (chart.isDatasetVisible(datasetIndex)) {
10753
+ var meta = chart.getDatasetMeta(datasetIndex);
10754
+
10755
+ helpers.each(dataset.data, function(rawValue, index) {
10756
+ var value = +me.getRightValue(rawValue);
10757
+ if (isNaN(value) || meta.data[index].hidden) {
10758
+ return;
10759
+ }
10760
+
10761
+ if (me.min === null) {
10762
+ me.min = value;
10763
+ } else if (value < me.min) {
10764
+ me.min = value;
10765
+ }
10766
+
10767
+ if (me.max === null) {
10768
+ me.max = value;
10769
+ } else if (value > me.max) {
10770
+ me.max = value;
10771
+ }
10772
+ });
10773
+ }
10774
+ });
10775
+
10776
+ // Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero
10777
+ me.handleTickRangeOptions();
10778
+ },
10779
+ getTickLimit: function() {
10780
+ var tickOpts = this.options.ticks;
10781
+ var tickFontSize = helpers.getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
10782
+ return Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(this.drawingArea / (1.5 * tickFontSize)));
10783
+ },
10784
+ convertTicksToLabels: function() {
10785
+ var me = this;
10786
+ Chart.LinearScaleBase.prototype.convertTicksToLabels.call(me);
10787
+
10788
+ // Point labels
10789
+ me.pointLabels = me.chart.data.labels.map(me.options.pointLabels.callback, me);
10790
+ },
10791
+ getLabelForIndex: function(index, datasetIndex) {
10792
+ return +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);
10793
+ },
10794
+ fit: function() {
10795
+ /*
10796
+ * Right, this is really confusing and there is a lot of maths going on here
10797
+ * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9
10798
+ *
10799
+ * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif
10800
+ *
10801
+ * Solution:
10802
+ *
10803
+ * We assume the radius of the polygon is half the size of the canvas at first
10804
+ * at each index we check if the text overlaps.
10805
+ *
10806
+ * Where it does, we store that angle and that index.
10807
+ *
10808
+ * After finding the largest index and angle we calculate how much we need to remove
10809
+ * from the shape radius to move the point inwards by that x.
10810
+ *
10811
+ * We average the left and right distances to get the maximum shape radius that can fit in the box
10812
+ * along with labels.
10813
+ *
10814
+ * Once we have that, we can find the centre point for the chart, by taking the x text protrusion
10815
+ * on each side, removing that from the size, halving it and adding the left x protrusion width.
10816
+ *
10817
+ * This will mean we have a shape fitted to the canvas, as large as it can be with the labels
10818
+ * and position it in the most space efficient manner
10819
+ *
10820
+ * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif
10821
+ */
10822
+
10823
+ var pointLabels = this.options.pointLabels;
10824
+ var pointLabelFontSize = helpers.getValueOrDefault(pointLabels.fontSize, globalDefaults.defaultFontSize);
10825
+ var pointLabeFontStyle = helpers.getValueOrDefault(pointLabels.fontStyle, globalDefaults.defaultFontStyle);
10826
+ var pointLabeFontFamily = helpers.getValueOrDefault(pointLabels.fontFamily, globalDefaults.defaultFontFamily);
10827
+ var pointLabeFont = helpers.fontString(pointLabelFontSize, pointLabeFontStyle, pointLabeFontFamily);
10828
+
10829
+ // Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.
10830
+ // Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points
10831
+ var largestPossibleRadius = helpers.min([(this.height / 2 - pointLabelFontSize - 5), this.width / 2]),
10832
+ pointPosition,
10833
+ i,
10834
+ textWidth,
10835
+ halfTextWidth,
10836
+ furthestRight = this.width,
10837
+ furthestRightIndex,
10838
+ furthestRightAngle,
10839
+ furthestLeft = 0,
10840
+ furthestLeftIndex,
10841
+ furthestLeftAngle,
10842
+ xProtrusionLeft,
10843
+ xProtrusionRight,
10844
+ radiusReductionRight,
10845
+ radiusReductionLeft;
10846
+ this.ctx.font = pointLabeFont;
10847
+
10848
+ for (i = 0; i < this.getValueCount(); i++) {
10849
+ // 5px to space the text slightly out - similar to what we do in the draw function.
10850
+ pointPosition = this.getPointPosition(i, largestPossibleRadius);
10851
+ textWidth = this.ctx.measureText(this.pointLabels[i] ? this.pointLabels[i] : '').width + 5;
10852
+
10853
+ // Add quarter circle to make degree 0 mean top of circle
10854
+ var angleRadians = this.getIndexAngle(i) + (Math.PI / 2);
10855
+ var angle = (angleRadians * 360 / (2 * Math.PI)) % 360;
10856
+
10857
+ if (angle === 0 || angle === 180) {
10858
+ // At angle 0 and 180, we're at exactly the top/bottom
10859
+ // of the radar chart, so text will be aligned centrally, so we'll half it and compare
10860
+ // w/left and right text sizes
10861
+ halfTextWidth = textWidth / 2;
10862
+ if (pointPosition.x + halfTextWidth > furthestRight) {
10863
+ furthestRight = pointPosition.x + halfTextWidth;
10864
+ furthestRightIndex = i;
10865
+ }
10866
+ if (pointPosition.x - halfTextWidth < furthestLeft) {
10867
+ furthestLeft = pointPosition.x - halfTextWidth;
10868
+ furthestLeftIndex = i;
10869
+ }
10870
+ } else if (angle < 180) {
10871
+ // Less than half the values means we'll left align the text
10872
+ if (pointPosition.x + textWidth > furthestRight) {
10873
+ furthestRight = pointPosition.x + textWidth;
10874
+ furthestRightIndex = i;
10875
+ }
10876
+ // More than half the values means we'll right align the text
10877
+ } else if (pointPosition.x - textWidth < furthestLeft) {
10878
+ furthestLeft = pointPosition.x - textWidth;
10879
+ furthestLeftIndex = i;
10880
+ }
10881
+ }
10882
+
10883
+ xProtrusionLeft = furthestLeft;
10884
+ xProtrusionRight = Math.ceil(furthestRight - this.width);
10885
+
10886
+ furthestRightAngle = this.getIndexAngle(furthestRightIndex);
10887
+ furthestLeftAngle = this.getIndexAngle(furthestLeftIndex);
10888
+
10889
+ radiusReductionRight = xProtrusionRight / Math.sin(furthestRightAngle + Math.PI / 2);
10890
+ radiusReductionLeft = xProtrusionLeft / Math.sin(furthestLeftAngle + Math.PI / 2);
10891
+
10892
+ // Ensure we actually need to reduce the size of the chart
10893
+ radiusReductionRight = (helpers.isNumber(radiusReductionRight)) ? radiusReductionRight : 0;
10894
+ radiusReductionLeft = (helpers.isNumber(radiusReductionLeft)) ? radiusReductionLeft : 0;
10895
+
10896
+ this.drawingArea = Math.round(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2);
10897
+ this.setCenterPoint(radiusReductionLeft, radiusReductionRight);
10898
+ },
10899
+ setCenterPoint: function(leftMovement, rightMovement) {
10900
+ var me = this;
10901
+ var maxRight = me.width - rightMovement - me.drawingArea,
10902
+ maxLeft = leftMovement + me.drawingArea;
10903
+
10904
+ me.xCenter = Math.round(((maxLeft + maxRight) / 2) + me.left);
10905
+ // Always vertically in the centre as the text height doesn't change
10906
+ me.yCenter = Math.round((me.height / 2) + me.top);
10907
+ },
10908
+
10909
+ getIndexAngle: function(index) {
10910
+ var angleMultiplier = (Math.PI * 2) / this.getValueCount();
10911
+ var startAngle = this.chart.options && this.chart.options.startAngle ?
10912
+ this.chart.options.startAngle :
10913
+ 0;
10914
+
10915
+ var startAngleRadians = startAngle * Math.PI * 2 / 360;
10916
+
10917
+ // Start from the top instead of right, so remove a quarter of the circle
10918
+ return index * angleMultiplier - (Math.PI / 2) + startAngleRadians;
10919
+ },
10920
+ getDistanceFromCenterForValue: function(value) {
10921
+ var me = this;
10922
+
10923
+ if (value === null) {
10924
+ return 0; // null always in center
10925
+ }
10926
+
10927
+ // Take into account half font size + the yPadding of the top value
10928
+ var scalingFactor = me.drawingArea / (me.max - me.min);
10929
+ if (me.options.reverse) {
10930
+ return (me.max - value) * scalingFactor;
10931
+ }
10932
+ return (value - me.min) * scalingFactor;
10933
+ },
10934
+ getPointPosition: function(index, distanceFromCenter) {
10935
+ var me = this;
10936
+ var thisAngle = me.getIndexAngle(index);
10937
+ return {
10938
+ x: Math.round(Math.cos(thisAngle) * distanceFromCenter) + me.xCenter,
10939
+ y: Math.round(Math.sin(thisAngle) * distanceFromCenter) + me.yCenter
10940
+ };
10941
+ },
10942
+ getPointPositionForValue: function(index, value) {
10943
+ return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));
10944
+ },
10945
+
10946
+ getBasePosition: function() {
10947
+ var me = this;
10948
+ var min = me.min;
10949
+ var max = me.max;
10950
+
10951
+ return me.getPointPositionForValue(0,
10952
+ me.beginAtZero? 0:
10953
+ min < 0 && max < 0? max :
10954
+ min > 0 && max > 0? min :
10955
+ 0);
10956
+ },
10957
+
10958
+ draw: function() {
10959
+ var me = this;
10960
+ var opts = me.options;
10961
+ var gridLineOpts = opts.gridLines;
10962
+ var tickOpts = opts.ticks;
10963
+ var angleLineOpts = opts.angleLines;
10964
+ var pointLabelOpts = opts.pointLabels;
10965
+ var getValueOrDefault = helpers.getValueOrDefault;
10966
+
10967
+ if (opts.display) {
10968
+ var ctx = me.ctx;
10969
+
10970
+ // Tick Font
10971
+ var tickFontSize = getValueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);
10972
+ var tickFontStyle = getValueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);
10973
+ var tickFontFamily = getValueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);
10974
+ var tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);
10975
+
10976
+ helpers.each(me.ticks, function(label, index) {
10977
+ // Don't draw a centre value (if it is minimum)
10978
+ if (index > 0 || opts.reverse) {
10979
+ var yCenterOffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);
10980
+ var yHeight = me.yCenter - yCenterOffset;
10981
+
10982
+ // Draw circular lines around the scale
10983
+ if (gridLineOpts.display && index !== 0) {
10984
+ ctx.strokeStyle = helpers.getValueAtIndexOrDefault(gridLineOpts.color, index - 1);
10985
+ ctx.lineWidth = helpers.getValueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);
10986
+
10987
+ if (opts.lineArc) {
10988
+ // Draw circular arcs between the points
10989
+ ctx.beginPath();
10990
+ ctx.arc(me.xCenter, me.yCenter, yCenterOffset, 0, Math.PI * 2);
10991
+ ctx.closePath();
10992
+ ctx.stroke();
10993
+ } else {
10994
+ // Draw straight lines connecting each index
10995
+ ctx.beginPath();
10996
+ for (var i = 0; i < me.getValueCount(); i++) {
10997
+ var pointPosition = me.getPointPosition(i, yCenterOffset);
10998
+ if (i === 0) {
10999
+ ctx.moveTo(pointPosition.x, pointPosition.y);
11000
+ } else {
11001
+ ctx.lineTo(pointPosition.x, pointPosition.y);
11002
+ }
11003
+ }
11004
+ ctx.closePath();
11005
+ ctx.stroke();
11006
+ }
11007
+ }
11008
+
11009
+ if (tickOpts.display) {
11010
+ var tickFontColor = getValueOrDefault(tickOpts.fontColor, globalDefaults.defaultFontColor);
11011
+ ctx.font = tickLabelFont;
11012
+
11013
+ if (tickOpts.showLabelBackdrop) {
11014
+ var labelWidth = ctx.measureText(label).width;
11015
+ ctx.fillStyle = tickOpts.backdropColor;
11016
+ ctx.fillRect(
11017
+ me.xCenter - labelWidth / 2 - tickOpts.backdropPaddingX,
11018
+ yHeight - tickFontSize / 2 - tickOpts.backdropPaddingY,
11019
+ labelWidth + tickOpts.backdropPaddingX * 2,
11020
+ tickFontSize + tickOpts.backdropPaddingY * 2
11021
+ );
11022
+ }
11023
+
11024
+ ctx.textAlign = 'center';
11025
+ ctx.textBaseline = 'middle';
11026
+ ctx.fillStyle = tickFontColor;
11027
+ ctx.fillText(label, me.xCenter, yHeight);
11028
+ }
11029
+ }
11030
+ });
11031
+
11032
+ if (!opts.lineArc) {
11033
+ ctx.lineWidth = angleLineOpts.lineWidth;
11034
+ ctx.strokeStyle = angleLineOpts.color;
11035
+
11036
+ var outerDistance = me.getDistanceFromCenterForValue(opts.reverse ? me.min : me.max);
11037
+
11038
+ // Point Label Font
11039
+ var pointLabelFontSize = getValueOrDefault(pointLabelOpts.fontSize, globalDefaults.defaultFontSize);
11040
+ var pointLabeFontStyle = getValueOrDefault(pointLabelOpts.fontStyle, globalDefaults.defaultFontStyle);
11041
+ var pointLabeFontFamily = getValueOrDefault(pointLabelOpts.fontFamily, globalDefaults.defaultFontFamily);
11042
+ var pointLabeFont = helpers.fontString(pointLabelFontSize, pointLabeFontStyle, pointLabeFontFamily);
11043
+
11044
+ for (var i = me.getValueCount() - 1; i >= 0; i--) {
11045
+ if (angleLineOpts.display) {
11046
+ var outerPosition = me.getPointPosition(i, outerDistance);
11047
+ ctx.beginPath();
11048
+ ctx.moveTo(me.xCenter, me.yCenter);
11049
+ ctx.lineTo(outerPosition.x, outerPosition.y);
11050
+ ctx.stroke();
11051
+ ctx.closePath();
11052
+ }
11053
+ // Extra 3px out for some label spacing
11054
+ var pointLabelPosition = me.getPointPosition(i, outerDistance + 5);
11055
+
11056
+ // Keep this in loop since we may support array properties here
11057
+ var pointLabelFontColor = getValueOrDefault(pointLabelOpts.fontColor, globalDefaults.defaultFontColor);
11058
+ ctx.font = pointLabeFont;
11059
+ ctx.fillStyle = pointLabelFontColor;
11060
+
11061
+ var pointLabels = me.pointLabels;
11062
+
11063
+ // Add quarter circle to make degree 0 mean top of circle
11064
+ var angleRadians = this.getIndexAngle(i) + (Math.PI / 2);
11065
+ var angle = (angleRadians * 360 / (2 * Math.PI)) % 360;
11066
+
11067
+ if (angle === 0 || angle === 180) {
11068
+ ctx.textAlign = 'center';
11069
+ } else if (angle < 180) {
11070
+ ctx.textAlign = 'left';
11071
+ } else {
11072
+ ctx.textAlign = 'right';
11073
+ }
11074
+
11075
+ // Set the correct text baseline based on outer positioning
11076
+ if (angle === 90 || angle === 270) {
11077
+ ctx.textBaseline = 'middle';
11078
+ } else if (angle > 270 || angle < 90) {
11079
+ ctx.textBaseline = 'bottom';
11080
+ } else {
11081
+ ctx.textBaseline = 'top';
11082
+ }
11083
+
11084
+ ctx.fillText(pointLabels[i] ? pointLabels[i] : '', pointLabelPosition.x, pointLabelPosition.y);
11085
+ }
11086
+ }
11087
+ }
11088
+ }
11089
+ });
11090
+ Chart.scaleService.registerScaleType('radialLinear', LinearRadialScale, defaultConfig);
11091
+
11092
+ };
11093
+
11094
+ },{}],46:[function(require,module,exports){
11095
+ /* global window: false */
11096
+ 'use strict';
11097
+
11098
+ var moment = require(1);
11099
+ moment = typeof(moment) === 'function' ? moment : window.moment;
11100
+
11101
+ module.exports = function(Chart) {
11102
+
11103
+ var helpers = Chart.helpers;
11104
+ var time = {
11105
+ units: [{
11106
+ name: 'millisecond',
11107
+ steps: [1, 2, 5, 10, 20, 50, 100, 250, 500]
11108
+ }, {
11109
+ name: 'second',
11110
+ steps: [1, 2, 5, 10, 30]
11111
+ }, {
11112
+ name: 'minute',
11113
+ steps: [1, 2, 5, 10, 30]
11114
+ }, {
11115
+ name: 'hour',
11116
+ steps: [1, 2, 3, 6, 12]
11117
+ }, {
11118
+ name: 'day',
11119
+ steps: [1, 2, 5]
11120
+ }, {
11121
+ name: 'week',
11122
+ maxStep: 4
11123
+ }, {
11124
+ name: 'month',
11125
+ maxStep: 3
11126
+ }, {
11127
+ name: 'quarter',
11128
+ maxStep: 4
11129
+ }, {
11130
+ name: 'year',
11131
+ maxStep: false
11132
+ }]
11133
+ };
11134
+
11135
+ var defaultConfig = {
11136
+ position: 'bottom',
11137
+
11138
+ time: {
11139
+ parser: false, // false == a pattern string from http://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment
11140
+ format: false, // DEPRECATED false == date objects, moment object, callback or a pattern string from http://momentjs.com/docs/#/parsing/string-format/
11141
+ unit: false, // false == automatic or override with week, month, year, etc.
11142
+ round: false, // none, or override with week, month, year, etc.
11143
+ displayFormat: false, // DEPRECATED
11144
+ isoWeekday: false, // override week start day - see http://momentjs.com/docs/#/get-set/iso-weekday/
11145
+ minUnit: 'millisecond',
11146
+
11147
+ // defaults to unit's corresponding unitFormat below or override using pattern string from http://momentjs.com/docs/#/displaying/format/
11148
+ displayFormats: {
11149
+ millisecond: 'h:mm:ss.SSS a', // 11:20:01.123 AM,
11150
+ second: 'h:mm:ss a', // 11:20:01 AM
11151
+ minute: 'h:mm:ss a', // 11:20:01 AM
11152
+ hour: 'MMM D, hA', // Sept 4, 5PM
11153
+ day: 'll', // Sep 4 2015
11154
+ week: 'll', // Week 46, or maybe "[W]WW - YYYY" ?
11155
+ month: 'MMM YYYY', // Sept 2015
11156
+ quarter: '[Q]Q - YYYY', // Q3
11157
+ year: 'YYYY' // 2015
11158
+ }
11159
+ },
11160
+ ticks: {
11161
+ autoSkip: false
11162
+ }
11163
+ };
11164
+
11165
+ var TimeScale = Chart.Scale.extend({
11166
+ initialize: function() {
11167
+ if (!moment) {
11168
+ throw new Error('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com');
11169
+ }
11170
+
11171
+ Chart.Scale.prototype.initialize.call(this);
11172
+ },
11173
+ getLabelMoment: function(datasetIndex, index) {
11174
+ if (datasetIndex === null || index === null) {
11175
+ return null;
11176
+ }
11177
+
11178
+ if (typeof this.labelMoments[datasetIndex] !== 'undefined') {
11179
+ return this.labelMoments[datasetIndex][index];
11180
+ }
11181
+
11182
+ return null;
11183
+ },
11184
+ getLabelDiff: function(datasetIndex, index) {
11185
+ var me = this;
11186
+ if (datasetIndex === null || index === null) {
11187
+ return null;
11188
+ }
11189
+
11190
+ if (me.labelDiffs === undefined) {
11191
+ me.buildLabelDiffs();
11192
+ }
11193
+
11194
+ if (typeof me.labelDiffs[datasetIndex] !== 'undefined') {
11195
+ return me.labelDiffs[datasetIndex][index];
11196
+ }
11197
+
11198
+ return null;
11199
+ },
11200
+ getMomentStartOf: function(tick) {
11201
+ var me = this;
11202
+ if (me.options.time.unit === 'week' && me.options.time.isoWeekday !== false) {
11203
+ return tick.clone().startOf('isoWeek').isoWeekday(me.options.time.isoWeekday);
11204
+ }
11205
+ return tick.clone().startOf(me.tickUnit);
11206
+ },
11207
+ determineDataLimits: function() {
11208
+ var me = this;
11209
+ me.labelMoments = [];
11210
+
11211
+ // Only parse these once. If the dataset does not have data as x,y pairs, we will use
11212
+ // these
11213
+ var scaleLabelMoments = [];
11214
+ if (me.chart.data.labels && me.chart.data.labels.length > 0) {
11215
+ helpers.each(me.chart.data.labels, function(label) {
11216
+ var labelMoment = me.parseTime(label);
11217
+
11218
+ if (labelMoment.isValid()) {
11219
+ if (me.options.time.round) {
11220
+ labelMoment.startOf(me.options.time.round);
11221
+ }
11222
+ scaleLabelMoments.push(labelMoment);
11223
+ }
11224
+ }, me);
11225
+
11226
+ me.firstTick = moment.min.call(me, scaleLabelMoments);
11227
+ me.lastTick = moment.max.call(me, scaleLabelMoments);
11228
+ } else {
11229
+ me.firstTick = null;
11230
+ me.lastTick = null;
11231
+ }
11232
+
11233
+ helpers.each(me.chart.data.datasets, function(dataset, datasetIndex) {
11234
+ var momentsForDataset = [];
11235
+ var datasetVisible = me.chart.isDatasetVisible(datasetIndex);
11236
+
11237
+ if (typeof dataset.data[0] === 'object' && dataset.data[0] !== null) {
11238
+ helpers.each(dataset.data, function(value) {
11239
+ var labelMoment = me.parseTime(me.getRightValue(value));
11240
+
11241
+ if (labelMoment.isValid()) {
11242
+ if (me.options.time.round) {
11243
+ labelMoment.startOf(me.options.time.round);
11244
+ }
11245
+ momentsForDataset.push(labelMoment);
11246
+
11247
+ if (datasetVisible) {
11248
+ // May have gone outside the scale ranges, make sure we keep the first and last ticks updated
11249
+ me.firstTick = me.firstTick !== null ? moment.min(me.firstTick, labelMoment) : labelMoment;
11250
+ me.lastTick = me.lastTick !== null ? moment.max(me.lastTick, labelMoment) : labelMoment;
11251
+ }
11252
+ }
11253
+ }, me);
11254
+ } else {
11255
+ // We have no labels. Use the ones from the scale
11256
+ momentsForDataset = scaleLabelMoments;
11257
+ }
11258
+
11259
+ me.labelMoments.push(momentsForDataset);
11260
+ }, me);
11261
+
11262
+ // Set these after we've done all the data
11263
+ if (me.options.time.min) {
11264
+ me.firstTick = me.parseTime(me.options.time.min);
11265
+ }
11266
+
11267
+ if (me.options.time.max) {
11268
+ me.lastTick = me.parseTime(me.options.time.max);
11269
+ }
11270
+
11271
+ // We will modify these, so clone for later
11272
+ me.firstTick = (me.firstTick || moment()).clone();
11273
+ me.lastTick = (me.lastTick || moment()).clone();
11274
+ },
11275
+ buildLabelDiffs: function() {
11276
+ var me = this;
11277
+ me.labelDiffs = [];
11278
+ var scaleLabelDiffs = [];
11279
+ // Parse common labels once
11280
+ if (me.chart.data.labels && me.chart.data.labels.length > 0) {
11281
+ helpers.each(me.chart.data.labels, function(label) {
11282
+ var labelMoment = me.parseTime(label);
11283
+
11284
+ if (labelMoment.isValid()) {
11285
+ if (me.options.time.round) {
11286
+ labelMoment.startOf(me.options.time.round);
11287
+ }
11288
+ scaleLabelDiffs.push(labelMoment.diff(me.firstTick, me.tickUnit, true));
11289
+ }
11290
+ }, me);
11291
+ }
11292
+
11293
+ helpers.each(me.chart.data.datasets, function(dataset) {
11294
+ var diffsForDataset = [];
11295
+
11296
+ if (typeof dataset.data[0] === 'object' && dataset.data[0] !== null) {
11297
+ helpers.each(dataset.data, function(value) {
11298
+ var labelMoment = me.parseTime(me.getRightValue(value));
11299
+
11300
+ if (labelMoment.isValid()) {
11301
+ if (me.options.time.round) {
11302
+ labelMoment.startOf(me.options.time.round);
11303
+ }
11304
+ diffsForDataset.push(labelMoment.diff(me.firstTick, me.tickUnit, true));
11305
+ }
11306
+ }, me);
11307
+ } else {
11308
+ // We have no labels. Use common ones
11309
+ diffsForDataset = scaleLabelDiffs;
11310
+ }
11311
+
11312
+ me.labelDiffs.push(diffsForDataset);
11313
+ }, me);
11314
+ },
11315
+ buildTicks: function() {
11316
+ var me = this;
11317
+
11318
+ me.ctx.save();
11319
+ var tickFontSize = helpers.getValueOrDefault(me.options.ticks.fontSize, Chart.defaults.global.defaultFontSize);
11320
+ var tickFontStyle = helpers.getValueOrDefault(me.options.ticks.fontStyle, Chart.defaults.global.defaultFontStyle);
11321
+ var tickFontFamily = helpers.getValueOrDefault(me.options.ticks.fontFamily, Chart.defaults.global.defaultFontFamily);
11322
+ var tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);
11323
+ me.ctx.font = tickLabelFont;
11324
+
11325
+ me.ticks = [];
11326
+ me.unitScale = 1; // How much we scale the unit by, ie 2 means 2x unit per step
11327
+ me.scaleSizeInUnits = 0; // How large the scale is in the base unit (seconds, minutes, etc)
11328
+
11329
+ // Set unit override if applicable
11330
+ if (me.options.time.unit) {
11331
+ me.tickUnit = me.options.time.unit || 'day';
11332
+ me.displayFormat = me.options.time.displayFormats[me.tickUnit];
11333
+ me.scaleSizeInUnits = me.lastTick.diff(me.firstTick, me.tickUnit, true);
11334
+ me.unitScale = helpers.getValueOrDefault(me.options.time.unitStepSize, 1);
11335
+ } else {
11336
+ // Determine the smallest needed unit of the time
11337
+ var innerWidth = me.isHorizontal() ? me.width - (me.paddingLeft + me.paddingRight) : me.height - (me.paddingTop + me.paddingBottom);
11338
+
11339
+ // Crude approximation of what the label length might be
11340
+ var tempFirstLabel = me.tickFormatFunction(me.firstTick, 0, []);
11341
+ var tickLabelWidth = me.ctx.measureText(tempFirstLabel).width;
11342
+ var cosRotation = Math.cos(helpers.toRadians(me.options.ticks.maxRotation));
11343
+ var sinRotation = Math.sin(helpers.toRadians(me.options.ticks.maxRotation));
11344
+ tickLabelWidth = (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation);
11345
+ var labelCapacity = innerWidth / (tickLabelWidth);
11346
+
11347
+ // Start as small as possible
11348
+ me.tickUnit = me.options.time.minUnit;
11349
+ me.scaleSizeInUnits = me.lastTick.diff(me.firstTick, me.tickUnit, true);
11350
+ me.displayFormat = me.options.time.displayFormats[me.tickUnit];
11351
+
11352
+ var unitDefinitionIndex = 0;
11353
+ var unitDefinition = time.units[unitDefinitionIndex];
11354
+
11355
+ // While we aren't ideal and we don't have units left
11356
+ while (unitDefinitionIndex < time.units.length) {
11357
+ // Can we scale this unit. If `false` we can scale infinitely
11358
+ me.unitScale = 1;
11359
+
11360
+ if (helpers.isArray(unitDefinition.steps) && Math.ceil(me.scaleSizeInUnits / labelCapacity) < helpers.max(unitDefinition.steps)) {
11361
+ // Use one of the predefined steps
11362
+ for (var idx = 0; idx < unitDefinition.steps.length; ++idx) {
11363
+ if (unitDefinition.steps[idx] >= Math.ceil(me.scaleSizeInUnits / labelCapacity)) {
11364
+ me.unitScale = helpers.getValueOrDefault(me.options.time.unitStepSize, unitDefinition.steps[idx]);
11365
+ break;
11366
+ }
11367
+ }
11368
+
11369
+ break;
11370
+ } else if ((unitDefinition.maxStep === false) || (Math.ceil(me.scaleSizeInUnits / labelCapacity) < unitDefinition.maxStep)) {
11371
+ // We have a max step. Scale this unit
11372
+ me.unitScale = helpers.getValueOrDefault(me.options.time.unitStepSize, Math.ceil(me.scaleSizeInUnits / labelCapacity));
11373
+ break;
11374
+ } else {
11375
+ // Move to the next unit up
11376
+ ++unitDefinitionIndex;
11377
+ unitDefinition = time.units[unitDefinitionIndex];
11378
+
11379
+ me.tickUnit = unitDefinition.name;
11380
+ var leadingUnitBuffer = me.firstTick.diff(me.getMomentStartOf(me.firstTick), me.tickUnit, true);
11381
+ var trailingUnitBuffer = me.getMomentStartOf(me.lastTick.clone().add(1, me.tickUnit)).diff(me.lastTick, me.tickUnit, true);
11382
+ me.scaleSizeInUnits = me.lastTick.diff(me.firstTick, me.tickUnit, true) + leadingUnitBuffer + trailingUnitBuffer;
11383
+ me.displayFormat = me.options.time.displayFormats[unitDefinition.name];
11384
+ }
11385
+ }
11386
+ }
11387
+
11388
+ var roundedStart;
11389
+
11390
+ // Only round the first tick if we have no hard minimum
11391
+ if (!me.options.time.min) {
11392
+ me.firstTick = me.getMomentStartOf(me.firstTick);
11393
+ roundedStart = me.firstTick;
11394
+ } else {
11395
+ roundedStart = me.getMomentStartOf(me.firstTick);
11396
+ }
11397
+
11398
+ // Only round the last tick if we have no hard maximum
11399
+ if (!me.options.time.max) {
11400
+ var roundedEnd = me.getMomentStartOf(me.lastTick);
11401
+ var delta = roundedEnd.diff(me.lastTick, me.tickUnit, true);
11402
+ if (delta < 0) {
11403
+ // Do not use end of because we need me to be in the next time unit
11404
+ me.lastTick = me.getMomentStartOf(me.lastTick.add(1, me.tickUnit));
11405
+ } else if (delta >= 0) {
11406
+ me.lastTick = roundedEnd;
11407
+ }
11408
+
11409
+ me.scaleSizeInUnits = me.lastTick.diff(me.firstTick, me.tickUnit, true);
11410
+ }
11411
+
11412
+ // Tick displayFormat override
11413
+ if (me.options.time.displayFormat) {
11414
+ me.displayFormat = me.options.time.displayFormat;
11415
+ }
11416
+
11417
+ // first tick. will have been rounded correctly if options.time.min is not specified
11418
+ me.ticks.push(me.firstTick.clone());
11419
+
11420
+ // For every unit in between the first and last moment, create a moment and add it to the ticks tick
11421
+ for (var i = 1; i <= me.scaleSizeInUnits; ++i) {
11422
+ var newTick = roundedStart.clone().add(i, me.tickUnit);
11423
+
11424
+ // Are we greater than the max time
11425
+ if (me.options.time.max && newTick.diff(me.lastTick, me.tickUnit, true) >= 0) {
11426
+ break;
11427
+ }
11428
+
11429
+ if (i % me.unitScale === 0) {
11430
+ me.ticks.push(newTick);
11431
+ }
11432
+ }
11433
+
11434
+ // Always show the right tick
11435
+ var diff = me.ticks[me.ticks.length - 1].diff(me.lastTick, me.tickUnit);
11436
+ if (diff !== 0 || me.scaleSizeInUnits === 0) {
11437
+ // this is a weird case. If the <max> option is the same as the end option, we can't just diff the times because the tick was created from the roundedStart
11438
+ // but the last tick was not rounded.
11439
+ if (me.options.time.max) {
11440
+ me.ticks.push(me.lastTick.clone());
11441
+ me.scaleSizeInUnits = me.lastTick.diff(me.ticks[0], me.tickUnit, true);
11442
+ } else {
11443
+ me.ticks.push(me.lastTick.clone());
11444
+ me.scaleSizeInUnits = me.lastTick.diff(me.firstTick, me.tickUnit, true);
11445
+ }
11446
+ }
11447
+
11448
+ me.ctx.restore();
11449
+
11450
+ // Invalidate label diffs cache
11451
+ me.labelDiffs = undefined;
11452
+ },
11453
+ // Get tooltip label
11454
+ getLabelForIndex: function(index, datasetIndex) {
11455
+ var me = this;
11456
+ var label = me.chart.data.labels && index < me.chart.data.labels.length ? me.chart.data.labels[index] : '';
11457
+
11458
+ if (typeof me.chart.data.datasets[datasetIndex].data[0] === 'object') {
11459
+ label = me.getRightValue(me.chart.data.datasets[datasetIndex].data[index]);
11460
+ }
11461
+
11462
+ // Format nicely
11463
+ if (me.options.time.tooltipFormat) {
11464
+ label = me.parseTime(label).format(me.options.time.tooltipFormat);
11465
+ }
11466
+
11467
+ return label;
11468
+ },
11469
+ // Function to format an individual tick mark
11470
+ tickFormatFunction: function(tick, index, ticks) {
11471
+ var formattedTick = tick.format(this.displayFormat);
11472
+ var tickOpts = this.options.ticks;
11473
+ var callback = helpers.getValueOrDefault(tickOpts.callback, tickOpts.userCallback);
11474
+
11475
+ if (callback) {
11476
+ return callback(formattedTick, index, ticks);
11477
+ }
11478
+ return formattedTick;
11479
+ },
11480
+ convertTicksToLabels: function() {
11481
+ var me = this;
11482
+ me.tickMoments = me.ticks;
11483
+ me.ticks = me.ticks.map(me.tickFormatFunction, me);
11484
+ },
11485
+ getPixelForValue: function(value, index, datasetIndex) {
11486
+ var me = this;
11487
+ var offset = null;
11488
+ if (index !== undefined && datasetIndex !== undefined) {
11489
+ offset = me.getLabelDiff(datasetIndex, index);
11490
+ }
11491
+
11492
+ if (offset === null) {
11493
+ if (!value || !value.isValid) {
11494
+ // not already a moment object
11495
+ value = me.parseTime(me.getRightValue(value));
11496
+ }
11497
+ if (value && value.isValid && value.isValid()) {
11498
+ offset = value.diff(me.firstTick, me.tickUnit, true);
11499
+ }
11500
+ }
11501
+
11502
+ if (offset !== null) {
11503
+ var decimal = offset !== 0 ? offset / me.scaleSizeInUnits : offset;
11504
+
11505
+ if (me.isHorizontal()) {
11506
+ var innerWidth = me.width - (me.paddingLeft + me.paddingRight);
11507
+ var valueOffset = (innerWidth * decimal) + me.paddingLeft;
11508
+
11509
+ return me.left + Math.round(valueOffset);
11510
+ }
11511
+ var innerHeight = me.height - (me.paddingTop + me.paddingBottom);
11512
+ var heightOffset = (innerHeight * decimal) + me.paddingTop;
11513
+
11514
+ return me.top + Math.round(heightOffset);
11515
+ }
11516
+ },
11517
+ getPixelForTick: function(index) {
11518
+ return this.getPixelForValue(this.tickMoments[index], null, null);
11519
+ },
11520
+ getValueForPixel: function(pixel) {
11521
+ var me = this;
11522
+ var innerDimension = me.isHorizontal() ? me.width - (me.paddingLeft + me.paddingRight) : me.height - (me.paddingTop + me.paddingBottom);
11523
+ var offset = (pixel - (me.isHorizontal() ? me.left + me.paddingLeft : me.top + me.paddingTop)) / innerDimension;
11524
+ offset *= me.scaleSizeInUnits;
11525
+ return me.firstTick.clone().add(moment.duration(offset, me.tickUnit).asSeconds(), 'seconds');
11526
+ },
11527
+ parseTime: function(label) {
11528
+ var me = this;
11529
+ if (typeof me.options.time.parser === 'string') {
11530
+ return moment(label, me.options.time.parser);
11531
+ }
11532
+ if (typeof me.options.time.parser === 'function') {
11533
+ return me.options.time.parser(label);
11534
+ }
11535
+ // Date objects
11536
+ if (typeof label.getMonth === 'function' || typeof label === 'number') {
11537
+ return moment(label);
11538
+ }
11539
+ // Moment support
11540
+ if (label.isValid && label.isValid()) {
11541
+ return label;
11542
+ }
11543
+ // Custom parsing (return an instance of moment)
11544
+ if (typeof me.options.time.format !== 'string' && me.options.time.format.call) {
11545
+ console.warn('options.time.format is deprecated and replaced by options.time.parser. See http://nnnick.github.io/Chart.js/docs-v2/#scales-time-scale');
11546
+ return me.options.time.format(label);
11547
+ }
11548
+ // Moment format parsing
11549
+ return moment(label, me.options.time.format);
11550
+ }
11551
+ });
11552
+ Chart.scaleService.registerScaleType('time', TimeScale, defaultConfig);
11553
+
11554
+ };
11555
+
11556
+ },{"1":1}]},{},[7])(7)
11557
+ });
assets/js/wpdatatables/wdt.chartJS.js ADDED
@@ -0,0 +1,231 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var wpDataTablesChartJS = function(){
2
+
3
+ var obj = {
4
+ container: '#chart-js-container',
5
+ canvas: '#chart-js-canvas',
6
+ columnIndexes: [],
7
+ connectedWPDataTable: null,
8
+ renderCallback: null,
9
+ chart: null,
10
+ pieCharts: ['chartjs_polar_area_chart', 'chartjs_pie_chart', 'chartjs_doughnut_chart'],
11
+ setContainer: function(container){
12
+ this.container = container;
13
+ },
14
+ setCanvas: function(canvas){
15
+ this.canvas = canvas;
16
+ },
17
+ setContainerOptions: function(options){
18
+ if(options.container.width == 0){
19
+ this.container.style.width = null;
20
+ } else {
21
+ this.container.style.width = options.container.width + 'px';
22
+ }
23
+ this.container.style.height = options.container.height + 'px';
24
+ this.canvas.style.backgroundColor = options.canvas.backgroundColor;
25
+ this.canvas.style.border = options.canvas.borderWidth + 'px solid ' + options.canvas.borderColor;
26
+ this.canvas.style.borderRadius = options.canvas.borderRadius + 'px';
27
+ },
28
+ setRenderCallback: function( callback ){
29
+ this.renderCallback = callback;
30
+ },
31
+ globalOptions: {
32
+
33
+ },
34
+ options: {
35
+ data:{
36
+
37
+ },
38
+ options: {
39
+ scales: {
40
+ xAxes: [{
41
+ scaleLabel: {
42
+ display: true
43
+ }
44
+ }],
45
+ yAxes: [{
46
+ scaleLabel: {
47
+ display: true
48
+ },
49
+ ticks: {
50
+ beginAtZero: false
51
+ }
52
+ }]
53
+ },
54
+ title: {
55
+ text: '',
56
+ display: true,
57
+ position: 'top',
58
+ fontSize: 16,
59
+ fontColor: '#666'
60
+ },
61
+ legend: {
62
+ display: true,
63
+ labels: {
64
+ fontColor: '#666',
65
+ fontSize: 12,
66
+ boxWidth: 40
67
+ }
68
+ },
69
+ tooltips: {
70
+ enabled: true,
71
+ mode: 'single',
72
+ backgroundColor: 'rgba(0,0,0,0.8)',
73
+ titleFontSize: 12,
74
+ titleFontStyle: 'bold',
75
+ titleFontColor: '#fff',
76
+ bodyFontSize: 12,
77
+ bodyFontStyle: 'normal',
78
+ caretSize: 5,
79
+ cornerRadius: 6
80
+ },
81
+ maintainAspectRatio: false
82
+ }
83
+ },
84
+ setOptions: function( options ){
85
+ for( var property in options ){
86
+ for (var option in options[property]) {
87
+ if(option) {
88
+ this.options['options'][property][option] = options[property][option];
89
+ }
90
+ }
91
+ }
92
+ },
93
+ setGlobalOptions: function( globalOptions ){
94
+ for( var property in globalOptions ){
95
+ if(globalOptions[property]){
96
+ this.globalOptions[property] = globalOptions[property];
97
+ }
98
+ }
99
+ },
100
+ setData: function( data ){
101
+ for( var property in data ){
102
+ this.options['data'][property] = data[property];
103
+ }
104
+ },
105
+ getOptions: function(){
106
+ return this.options;
107
+ },
108
+ render: function(){
109
+ if( this.renderCallback !== null ){
110
+ this.renderCallback( this );
111
+ }
112
+ for( var property in this.globalOptions ){
113
+ Chart.defaults.global[property] = this.globalOptions[property];
114
+ }
115
+ this.chart = new Chart(this.canvas, this.options);
116
+ },
117
+ setType: function( type ){
118
+ switch( type ){
119
+ case 'chartjs_line_chart':
120
+ Chart.defaults.global.elements.line.fill = false;
121
+ this.options.type = 'line';
122
+ break;
123
+ case 'chartjs_area_chart':
124
+ Chart.defaults.global.elements.line.fill = true;
125
+ this.options.type = 'line';
126
+ break;
127
+ case 'chartjs_stacked_area_chart':
128
+ Chart.defaults.global.elements.line.fill = true;
129
+ this.options.type = 'line';
130
+ this.options.options.scales.yAxes[0].stacked = true;
131
+ break;
132
+ case 'chartjs_column_chart':
133
+ Chart.defaults.global.elements.line.fill = true;
134
+ this.options.type = 'bar';
135
+ break;
136
+ case 'chartjs_radar_chart':
137
+ Chart.defaults.global.elements.line.fill = true;
138
+ this.options.type = 'radar';
139
+ break;
140
+ case 'chartjs_polar_area_chart':
141
+ this.options.type = 'polarArea';
142
+ break;
143
+ case 'chartjs_pie_chart':
144
+ this.options.type = 'pie';
145
+ break;
146
+ case 'chartjs_doughnut_chart':
147
+ this.options.type = 'doughnut';
148
+ break;
149
+ case 'chartjs_bubble_chart':
150
+ this.options.type = 'bubble';
151
+ break;
152
+ }
153
+ },
154
+ setColumnIndexes: function( columnIndexes ){
155
+ this.columnIndexes = columnIndexes;
156
+ },
157
+ setConnectedWPDataTable: function( wpDataTable ){
158
+ this.connectedWPDataTable = wpDataTable;
159
+ },
160
+ setChartConfig: function(chartConfig) {
161
+ // Chart
162
+ if (chartConfig.responsive_width == 1) {
163
+ this.container.style.width = null;
164
+ } else {
165
+ this.container.style.width = chartConfig.width + 'px';
166
+ this.options.options.maintainAspectRatio = false;
167
+ }
168
+ chartConfig.height ? this.container.style.height = chartConfig.height + 'px' : null;
169
+ this.canvas.style.backgroundColor = chartConfig.background_color;
170
+ this.canvas.style.border = chartConfig.border_width + 'px solid ' + chartConfig.border_color;
171
+ chartConfig.border_radius ? this.canvas.style.borderRadius = chartConfig.border_radius + 'px' : null;
172
+ chartConfig.font_size ? this.globalOptions.defaultFontSize = chartConfig.font_size : null;
173
+ chartConfig.font_name ? this.globalOptions.defaultFontFamily = chartConfig.font_name : null;
174
+ chartConfig.font_style ? this.globalOptions.defaultFontStyle = chartConfig.font_style : null;
175
+ chartConfig.font_color ? this.globalOptions.defaultFontColor = chartConfig.font_color : '#666';
176
+ // Series
177
+ if ( this.pieCharts.indexOf(chartConfig.chart_type) == -1 && chartConfig.chart_type != 'chartjs_bubble_chart') {
178
+ var j = 0;
179
+ for (var i in chartConfig.series_data) {
180
+ this.options.data.datasets[j].label = chartConfig.series_data[i].label;
181
+ chartConfig.series_data[i].color ? this.options.data.datasets[j].borderColor = chartConfig.series_data[i].color : null;
182
+ chartConfig.series_data[i].color ? this.options.data.datasets[j].backgroundColor = "rgba(" + hexToRgb(chartConfig.series_data[i].color).r + ", " + hexToRgb(chartConfig.series_data[i].color).g + ", " + hexToRgb(chartConfig.series_data[i].color).b + ", 0.2)" : null;
183
+ j++;
184
+ }
185
+ if (chartConfig.curve_type == 1) {
186
+ for (i in this.options.data.datasets) {
187
+ this.options.data.datasets[i].lineTension = 0.4;
188
+ }
189
+ } else {
190
+ for (i in this.options.data.datasets) {
191
+ this.options.data.datasets[i].lineTension = 0;
192
+ }
193
+ }
194
+ }
195
+ // Axes
196
+ if (chartConfig.show_grid == 0) {
197
+ this.options.options.scales.xAxes[0].display = false;
198
+ this.options.options.scales.yAxes[0].display = false;
199
+ } else {
200
+ this.options.options.scales.xAxes[0].display = true;
201
+ this.options.options.scales.yAxes[0].display = true;
202
+ }
203
+ chartConfig.horizontal_axis_label ? this.options.options.scales.xAxes[0].scaleLabel.labelString = chartConfig.horizontal_axis_label : null;
204
+ chartConfig.vertical_axis_label ? this.options.options.scales.yAxes[0].scaleLabel.labelString = chartConfig.vertical_axis_label : null;
205
+ chartConfig.vertical_axis_min != '' ? this.options.options.scales.yAxes[0].ticks.min = parseInt(chartConfig.vertical_axis_min) : this.options.options.scales.yAxes[0].ticks.beginAtZero = delete this.options.options.scales.yAxes[0].ticks.min;
206
+ chartConfig.vertical_axis_max != '' ? this.options.options.scales.yAxes[0].ticks.max = parseInt(chartConfig.vertical_axis_max) : delete this.options.options.scales.yAxes[0].ticks.max;
207
+ // Title
208
+ if (chartConfig.show_title == 1) {
209
+ this.options.options.title.display = true;
210
+ this.options.options.title.text = chartConfig.chart_title
211
+ } else {
212
+ this.options.options.title.display = false;
213
+ }
214
+ chartConfig.title_position ? this.options.options.title.position = chartConfig.title_position : null;
215
+ chartConfig.title_font_name ? this.options.options.title.fontFamily = chartConfig.title_font_name : null;
216
+ chartConfig.title_font_style ? this.options.options.title.fontStyle = chartConfig.title_font_style : null;
217
+ chartConfig.title_font_color ? this.options.options.title.fontColor = chartConfig.title_font_color : this.options.options.title.fontColor = '#666';
218
+ // Tooltip
219
+ chartConfig.tooltip_enabled == 1 ? this.options.options.tooltips.enabled = true : this.options.options.tooltips.enabled = false;
220
+ chartConfig.tooltip_background_color ? this.options.options.tooltips.backgroundColor = chartConfig.tooltip_background_color : this.options.options.tooltips.backgroundColor = 'rgba(0,0,0,0.8)';
221
+ chartConfig.tooltip_border_radius ? this.options.options.tooltips.cornerRadius = parseInt(chartConfig.tooltip_border_radius) : null;
222
+ chartConfig.tooltip_shared == 1 ? this.options.options.tooltips.mode = 'label' : this.options.options.tooltips.mode = 'single';
223
+ // Legend
224
+ chartConfig.show_legend == 1 ? this.options.options.legend.display = true : this.options.options.legend.display = false;
225
+ chartConfig.legend_position_cjs ? this.options.options.legend.position = chartConfig.legend_position_cjs : null;
226
+ },
227
+ };
228
+
229
+ return obj;
230
+
231
+ };
assets/js/wpdatatables/wdt.chartJS.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var wpDataTablesChartJS=function(){var obj={container:"#chart-js-container",canvas:"#chart-js-canvas",columnIndexes:[],connectedWPDataTable:null,renderCallback:null,chart:null,pieCharts:["chartjs_polar_area_chart","chartjs_pie_chart","chartjs_doughnut_chart"],setContainer:function(container){this.container=container},setCanvas:function(canvas){this.canvas=canvas},setContainerOptions:function(options){if(options.container.width==0){this.container.style.width=null}else{this.container.style.width=options.container.width+"px"}this.container.style.height=options.container.height+"px";this.canvas.style.backgroundColor=options.canvas.backgroundColor;this.canvas.style.border=options.canvas.borderWidth+"px solid "+options.canvas.borderColor;this.canvas.style.borderRadius=options.canvas.borderRadius+"px"},setRenderCallback:function(callback){this.renderCallback=callback},globalOptions:{},options:{data:{},options:{scales:{xAxes:[{scaleLabel:{display:true}}],yAxes:[{scaleLabel:{display:true},ticks:{beginAtZero:false}}]},title:{text:"",display:true,position:"top",fontSize:16,fontColor:"#666"},legend:{display:true,labels:{fontColor:"#666",fontSize:12,boxWidth:40}},tooltips:{enabled:true,mode:"single",backgroundColor:"rgba(0,0,0,0.8)",titleFontSize:12,titleFontStyle:"bold",titleFontColor:"#fff",bodyFontSize:12,bodyFontStyle:"normal",caretSize:5,cornerRadius:6},maintainAspectRatio:false}},setOptions:function(options){for(var property in options){for(var option in options[property]){if(option){this.options["options"][property][option]=options[property][option]}}}},setGlobalOptions:function(globalOptions){for(var property in globalOptions){if(globalOptions[property]){this.globalOptions[property]=globalOptions[property]}}},setData:function(data){for(var property in data){this.options["data"][property]=data[property]}},getOptions:function(){return this.options},render:function(){if(this.renderCallback!==null){this.renderCallback(this)}for(var property in this.globalOptions){Chart.defaults.global[property]=this.globalOptions[property]}this.chart=new Chart(this.canvas,this.options)},setType:function(type){switch(type){case"chartjs_line_chart":Chart.defaults.global.elements.line.fill=false;this.options.type="line";break;case"chartjs_area_chart":Chart.defaults.global.elements.line.fill=true;this.options.type="line";break;case"chartjs_stacked_area_chart":Chart.defaults.global.elements.line.fill=true;this.options.type="line";this.options.options.scales.yAxes[0].stacked=true;break;case"chartjs_column_chart":Chart.defaults.global.elements.line.fill=true;this.options.type="bar";break;case"chartjs_radar_chart":Chart.defaults.global.elements.line.fill=true;this.options.type="radar";break;case"chartjs_polar_area_chart":this.options.type="polarArea";break;case"chartjs_pie_chart":this.options.type="pie";break;case"chartjs_doughnut_chart":this.options.type="doughnut";break;case"chartjs_bubble_chart":this.options.type="bubble";break}},setColumnIndexes:function(columnIndexes){this.columnIndexes=columnIndexes},setConnectedWPDataTable:function(wpDataTable){this.connectedWPDataTable=wpDataTable},setChartConfig:function(chartConfig){if(chartConfig.responsive_width==1){this.container.style.width=null}else{this.container.style.width=chartConfig.width+"px";this.options.options.maintainAspectRatio=false}chartConfig.height?this.container.style.height=chartConfig.height+"px":null;this.canvas.style.backgroundColor=chartConfig.background_color;this.canvas.style.border=chartConfig.border_width+"px solid "+chartConfig.border_color;chartConfig.border_radius?this.canvas.style.borderRadius=chartConfig.border_radius+"px":null;chartConfig.font_size?this.globalOptions.defaultFontSize=chartConfig.font_size:null;chartConfig.font_name?this.globalOptions.defaultFontFamily=chartConfig.font_name:null;chartConfig.font_style?this.globalOptions.defaultFontStyle=chartConfig.font_style:null;chartConfig.font_color?this.globalOptions.defaultFontColor=chartConfig.font_color:"#666";if(this.pieCharts.indexOf(chartConfig.chart_type)==-1&&chartConfig.chart_type!="chartjs_bubble_chart"){var j=0;for(var i in chartConfig.series_data){this.options.data.datasets[j].label=chartConfig.series_data[i].label;chartConfig.series_data[i].color?this.options.data.datasets[j].borderColor=chartConfig.series_data[i].color:null;chartConfig.series_data[i].color?this.options.data.datasets[j].backgroundColor="rgba("+hexToRgb(chartConfig.series_data[i].color).r+", "+hexToRgb(chartConfig.series_data[i].color).g+", "+hexToRgb(chartConfig.series_data[i].color).b+", 0.2)":null;j++}if(chartConfig.curve_type==1){for(i in this.options.data.datasets){this.options.data.datasets[i].lineTension=.4}}else{for(i in this.options.data.datasets){this.options.data.datasets[i].lineTension=0}}}if(chartConfig.show_grid==0){this.options.options.scales.xAxes[0].display=false;this.options.options.scales.yAxes[0].display=false}else{this.options.options.scales.xAxes[0].display=true;this.options.options.scales.yAxes[0].display=true}chartConfig.horizontal_axis_label?this.options.options.scales.xAxes[0].scaleLabel.labelString=chartConfig.horizontal_axis_label:null;chartConfig.vertical_axis_label?this.options.options.scales.yAxes[0].scaleLabel.labelString=chartConfig.vertical_axis_label:null;chartConfig.vertical_axis_min!=""?this.options.options.scales.yAxes[0].ticks.min=parseInt(chartConfig.vertical_axis_min):this.options.options.scales.yAxes[0].ticks.beginAtZero=delete this.options.options.scales.yAxes[0].ticks.min;chartConfig.vertical_axis_max!=""?this.options.options.scales.yAxes[0].ticks.max=parseInt(chartConfig.vertical_axis_max):delete this.options.options.scales.yAxes[0].ticks.max;if(chartConfig.show_title==1){this.options.options.title.display=true;this.options.options.title.text=chartConfig.chart_title}else{this.options.options.title.display=false}chartConfig.title_position?this.options.options.title.position=chartConfig.title_position:null;chartConfig.title_font_name?this.options.options.title.fontFamily=chartConfig.title_font_name:null;chartConfig.title_font_style?this.options.options.title.fontStyle=chartConfig.title_font_style:null;chartConfig.title_font_color?this.options.options.title.fontColor=chartConfig.title_font_color:this.options.options.title.fontColor="#666";chartConfig.tooltip_enabled==1?this.options.options.tooltips.enabled=true:this.options.options.tooltips.enabled=false;chartConfig.tooltip_background_color?this.options.options.tooltips.backgroundColor=chartConfig.tooltip_background_color:this.options.options.tooltips.backgroundColor="rgba(0,0,0,0.8)";chartConfig.tooltip_border_radius?this.options.options.tooltips.cornerRadius=parseInt(chartConfig.tooltip_border_radius):null;chartConfig.tooltip_shared==1?this.options.options.tooltips.mode="label":this.options.options.tooltips.mode="single";chartConfig.show_legend==1?this.options.options.legend.display=true:this.options.options.legend.display=false;chartConfig.legend_position_cjs?this.options.options.legend.position=chartConfig.legend_position_cjs:null}};return obj};
assets/js/wpdatatables/wdt.chartWizard.js CHANGED
@@ -17,6 +17,9 @@ var wdtChartColumnsData = {};
17
 
18
  });
19
 
 
 
 
20
  nextStepButton.click(function (e) {
21
  e.preventDefault();
22
 
@@ -34,113 +37,153 @@ var wdtChartColumnsData = {};
34
  $('div.chart-wizard-step.step2').show();
35
  $('li.chart_wizard_breadcrumbs_block.step2').addClass('active');
36
  constructedChartData.chart_title = $('#chart-name').val();
37
- constructedChartData.engine = 'google';
38
- $("#chart-js-container").hide();
39
- $("#google-chart-container").show();
40
-
41
- $(".highcharts").hide();
42
- $(".chartjs").hide();
43
- $(".google").show();
44
-
45
- $('#curve-type-row').hide();
46
- $('#three-d-row').hide();
47
- $('#background_color_row').show();
48
- $('#border_width_row').show();
49
- $('#border_color_row').show();
50
- $('#border_radius_row').show();
51
- $('#plot_background_color_row').show();
52
- $('#plot-border-width-row').show();
53
- $('#plot_border_color_row').show();
54
- $('#font-size-row').show();
55
- $('#font-name-row').show();
56
- $('.series').show();
57
- $('.axes').show();
58
- $('#show-grid-row').show();
59
- $('#horizontal-axis-crosshair-row').show();
60
- $('#vertical-axis-crosshair-row').show();
61
- $('.title').show();
62
- $('#title-floating-row').show();
63
- $('.tooltip').show();
64
- $('.legend').show();
65
- $('#inverted-row').show();
66
-
67
- switch (constructedChartData.chart_type) {
68
- case 'google_column_chart':
69
- $('#horizontal-axis-crosshair-row').hide();
70
- $('#vertical-axis-crosshair-row').hide();
71
- break;
72
- case 'google_histogram':
73
- $('#horizontal-axis-crosshair-row').hide();
74
- $('#vertical-axis-crosshair-row').hide();
75
- break;
76
- case 'google_bar_chart':
77
- $('#horizontal-axis-crosshair-row').hide();
78
- $('#vertical-axis-crosshair-row').hide();
79
- break;
80
- case 'google_stacked_bar_chart':
81
- $('#horizontal-axis-crosshair-row').hide();
82
- $('#vertical-axis-crosshair-row').hide();
83
- $('#inverted-row').hide();
84
- break;
85
- case 'google_line_chart':
86
- $('#curve-type-row').show();
87
- break;
88
- case 'google_stepped_area_chart':
89
- $('#horizontal-axis-crosshair-row').hide();
90
- $('#vertical-axis-crosshair-row').hide();
91
- break;
92
- case 'google_pie_chart':
93
- $('#plot_background_color_row').hide();
94
- $('#plot-border-width-row').hide();
95
- $('#plot_border_color_row').hide();
96
- $('#three-d-row').show();
97
- $('.axes').hide();
98
- $('#title-floating-row').hide();
99
- $('.series').hide();
100
- break;
101
- case 'google_bubble_chart':
102
- $('.legend').hide();
103
- break;
104
- case 'google_donut_chart':
105
- $('#plot_background_color_row').hide();
106
- $('#plot-border-width-row').hide();
107
- $('#plot_border_color_row').hide();
108
- $('.axes').hide();
109
- $('#title-floating-row').hide();
110
- $('.series').hide();
111
- break;
112
- case 'google_gauge_chart':
113
- $('#background_color_row').hide();
114
- $('#border_width_row').hide();
115
- $('#border_color_row').hide();
116
- $('#border_radius_row').hide();
117
- $('#plot_background_color_row').hide();
118
- $('#plot-border-width-row').hide();
119
- $('#plot_border_color_row').hide();
120
- $('#font-size-row').hide();
121
- $('#font-name-row').hide();
122
- $('#show-grid-row').hide();
123
- $('.axes').hide();
124
- $('.title').hide();
125
- $('.tooltip').hide();
126
- $('.legend').hide();
127
- $('.series').hide();
128
- break;
129
- case 'google_scatter_chart':
130
- $('#inverted-row').hide();
131
- break;
132
- case 'google_candlestick_chart':
133
- $('.series').hide();
134
- $('#horizontal-axis-crosshair-row').hide();
135
- $('#vertical-axis-crosshair-row').hide();
136
- $('.legend').hide();
137
- break;
138
- case 'google_waterfall_chart':
139
- $('.series').hide();
140
- $('#horizontal-axis-crosshair-row').hide();
141
- $('#vertical-axis-crosshair-row').hide();
142
- $('.legend').hide();
143
- break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  }
145
 
146
  previousStepButton.prop('disabled', false);
@@ -264,6 +307,17 @@ var wdtChartColumnsData = {};
264
  }
265
  seriesBlockTemplateHtml = seriesBlockTemplate.render({series: data.series});
266
 
 
 
 
 
 
 
 
 
 
 
 
267
  }
268
  $('#series-settings-container').html(seriesBlockTemplateHtml);
269
 
@@ -285,9 +339,31 @@ var wdtChartColumnsData = {};
285
  $('#series-settings-container div.chart-series-block:eq(' + i + ')').find('div.chart-series-color input').val(data.series[i].color);
286
  }
287
  }
288
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
289
 
290
- $(".chart-series-color .wdt-add-picker").each(function (i) {
291
  jQuery(this).addClass('pickr');
292
  jQuery(this)
293
  .closest('.wdt-color-picker')
@@ -304,6 +380,21 @@ var wdtChartColumnsData = {};
304
  wdtChart.setOptions(data.options);
305
  wdtChart.setContainer('google-chart-container');
306
  wdtChart.setColumnIndexes(data.column_indexes);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
  }
308
  wdtChart.render();
309
  if (constructedChartData.chart_type == 'google_bubble_chart') {
@@ -408,6 +499,19 @@ var wdtChartColumnsData = {};
408
  wdtChart.setOptions(data.options);
409
  wdtChart.setContainer('google-chart-container');
410
  wdtChart.setColumnIndexes(data.column_indexes);
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  }
412
  wdtChart.render();
413
  $('.wdt-preload-layer').animateFadeOut();
@@ -415,6 +519,9 @@ var wdtChartColumnsData = {};
415
  }
416
  });
417
  } else {
 
 
 
418
  wdtChart.setChartConfig(constructedChartData);
419
  wdtChart.render();
420
  }
@@ -426,20 +533,45 @@ var wdtChartColumnsData = {};
426
  //Chart
427
  constructedChartData.width = parseInt($('#chart-width').val());
428
  constructedChartData.height = parseInt($('#chart-height').val());
 
 
 
 
 
429
  constructedChartData.background_color = $('input.background-color').val();
430
  constructedChartData.border_width = parseInt($('#border-width').val() ? $('#border-width').val() : 0);
431
  constructedChartData.border_color = $('input.border_color').val();
432
  constructedChartData.border_radius = parseInt($('#border-radius').val() ? $('#border-radius').val() : 0);
 
 
 
433
  constructedChartData.plot_background_color = $('input.plot-background-color').val();
434
  constructedChartData.plot_background_image = $('#plot-background-image').val();
 
435
  constructedChartData.plot_border_width = $('#plot-border-width').val();
436
  constructedChartData.plot_border_color = $('input.plot-border-color').val();
 
 
 
 
437
  constructedChartData.three_d = $('#three-d').is(':checked') ? 1 : 0;
 
 
 
 
 
 
 
 
 
 
 
438
  // Series
439
  if (typeof constructedChartData.series_data == 'undefined') {
440
  constructedChartData.series_data = {};
441
  }
442
- if (constructedChartData.engine == 'google') {
 
443
  $('div.chart-series-block').each(function (e) {
444
  constructedChartData.series_data[$(this).data('orig_header')] = {
445
  label: $(this).find('input.series-label').val(),
@@ -448,18 +580,80 @@ var wdtChartColumnsData = {};
448
  });
449
  }
450
 
 
451
  // Axes
452
  constructedChartData.show_grid = $('#show-grid').is(':checked') ? 1 : 0;
 
 
 
 
 
453
  constructedChartData.horizontal_axis_label = $('#horizontal-axis-label').val();
 
 
454
  constructedChartData.vertical_axis_label = $('#vertical-axis-label').val();
 
 
 
 
 
 
 
 
 
455
  // Title
456
  constructedChartData.show_title = $('#show-chart-title').is(':checked') ? 1 : 0;
457
  constructedChartData.title_floating = $('#title-floating').is(':checked') ? 1 : 0;
 
 
 
 
 
 
 
 
458
  // Tooltip
459
  constructedChartData.tooltip_enabled = $('#tooltip-enabled').is(':checked') ? 1 : 0;
 
 
 
 
 
 
 
 
 
460
  // Legend
 
461
  constructedChartData.legend_position = $('#legend_position').val();
 
 
 
 
462
  constructedChartData.legend_vertical_align = $('#legend_vertical_align').val();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
463
  }
464
 
465
  /**
@@ -519,6 +713,23 @@ var wdtChartColumnsData = {};
519
  window.location = $('#wdt-browse-charts-url').val();
520
  });
521
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
 
523
  /**
524
  * Pick the data type
@@ -685,6 +896,13 @@ var wdtChartColumnsData = {};
685
  if (typeof editing_chart_data.render_data.options.width !== 'undefined') {
686
  $('#chart-width').val(editing_chart_data.render_data.options.width);
687
  $('#chart-responsive-width').prop('checked', '');
 
 
 
 
 
 
 
688
  }
689
  $('#chart-height').val(editing_chart_data.render_data.options.height);
690
 
@@ -720,16 +938,16 @@ var wdtChartColumnsData = {};
720
  } else {
721
  if (editing_chart_data.render_data.options.backgroundColor.fill) {
722
  $('#background-color').val(editing_chart_data.render_data.options.backgroundColor.fill)
723
- .closest('.wdt-color-picker')
724
- .find('.wpcolorpicker-icon i')
725
- .css("background", editing_chart_data.render_data.options.backgroundColor.fill);
726
  }
727
  $('#border-width').val(editing_chart_data.render_data.options.backgroundColor.strokeWidth);
728
  if (editing_chart_data.render_data.options.backgroundColor.stroke) {
729
  $('#border_color').val(editing_chart_data.render_data.options.backgroundColor.stroke)
730
- .closest('.wdt-color-picker')
731
- .find('.wpcolorpicker-icon i')
732
- .css("background", editing_chart_data.render_data.options.backgroundColor.stroke);
733
  }
734
  $('#border-radius').val(editing_chart_data.render_data.options.backgroundColor.rx);
735
  }
@@ -741,9 +959,9 @@ var wdtChartColumnsData = {};
741
  } else {
742
  if (editing_chart_data.render_data.options.chartArea.backgroundColor.fill) {
743
  $('#plot-background-color').val(editing_chart_data.render_data.options.chartArea.backgroundColor.fill)
744
- .closest('.wdt-color-picker')
745
- .find('.wpcolorpicker-icon i')
746
- .css("background", editing_chart_data.render_data.options.chartArea.backgroundColor.fill);
747
  }
748
  $('#plot-border-width').val(editing_chart_data.render_data.options.chartArea.backgroundColor.strokeWidth);
749
  if (editing_chart_data.render_data.options.chartArea.backgroundColor.stroke) {
@@ -754,12 +972,31 @@ var wdtChartColumnsData = {};
754
  }
755
  }
756
 
 
 
 
 
 
 
 
 
 
 
 
757
  if (editing_chart_data.render_data.options.is3D) {
758
  $('#three-d').prop('checked', 'checked');
759
  } else {
760
  $('#three-d').prop('checked', '');
761
  }
762
 
 
 
 
 
 
 
 
 
763
 
764
  // Title
765
  if (editing_chart_data.render_data.options.titlePosition == null) {
@@ -795,8 +1032,89 @@ var wdtChartColumnsData = {};
795
  $('#legend_vertical_align').val("top");
796
  }
797
  }
798
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
799
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
800
  }
801
  });
802
 
@@ -848,3 +1166,14 @@ var wdtChartColumnsData = {};
848
 
849
  })(jQuery);
850
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
  });
19
 
20
+ /**
21
+ * Steps switcher (Next)
22
+ */
23
  nextStepButton.click(function (e) {
24
  e.preventDefault();
25
 
37
  $('div.chart-wizard-step.step2').show();
38
  $('li.chart_wizard_breadcrumbs_block.step2').addClass('active');
39
  constructedChartData.chart_title = $('#chart-name').val();
40
+ constructedChartData.engine = $('#chart-render-engine').val();
41
+ if (constructedChartData.engine == 'google') {
42
+
43
+ $("#chart-js-container").hide();
44
+ $("#google-chart-container").show();
45
+
46
+ $(".highcharts").hide();
47
+ $(".chartjs").hide();
48
+ $(".google").show();
49
+
50
+ $('#curve-type-row').hide();
51
+ $('#three-d-row').hide();
52
+ $('#background_color_row').show();
53
+ $('#border_width_row').show();
54
+ $('#border_color_row').show();
55
+ $('#border_radius_row').show();
56
+ $('#plot_background_color_row').show();
57
+ $('#plot-border-width-row').show();
58
+ $('#plot_border_color_row').show();
59
+ $('#font-size-row').show();
60
+ $('#font-name-row').show();
61
+ $('.series').show();
62
+ $('.axes').show();
63
+ $('#show-grid-row').show();
64
+ $('#horizontal-axis-crosshair-row').show();
65
+ $('#vertical-axis-crosshair-row').show();
66
+ $('.title').show();
67
+ $('#title-floating-row').show();
68
+ $('.tooltip').show();
69
+ $('.legend').show();
70
+ $('#inverted-row').show();
71
+
72
+ switch (constructedChartData.chart_type) {
73
+ case 'google_column_chart':
74
+ $('#horizontal-axis-crosshair-row').hide();
75
+ $('#vertical-axis-crosshair-row').hide();
76
+ break;
77
+ case 'google_histogram':
78
+ $('#horizontal-axis-crosshair-row').hide();
79
+ $('#vertical-axis-crosshair-row').hide();
80
+ break;
81
+ case 'google_bar_chart':
82
+ $('#horizontal-axis-crosshair-row').hide();
83
+ $('#vertical-axis-crosshair-row').hide();
84
+ break;
85
+ case 'google_stacked_bar_chart':
86
+ $('#horizontal-axis-crosshair-row').hide();
87
+ $('#vertical-axis-crosshair-row').hide();
88
+ $('#inverted-row').hide();
89
+ break;
90
+ case 'google_line_chart':
91
+ $('#curve-type-row').show();
92
+ break;
93
+ case 'google_stepped_area_chart':
94
+ $('#horizontal-axis-crosshair-row').hide();
95
+ $('#vertical-axis-crosshair-row').hide();
96
+ break;
97
+ case 'google_pie_chart':
98
+ $('#plot_background_color_row').hide();
99
+ $('#plot-border-width-row').hide();
100
+ $('#plot_border_color_row').hide();
101
+ $('#three-d-row').show();
102
+ $('.axes').hide();
103
+ $('#title-floating-row').hide();
104
+ $('.series').hide();
105
+ break;
106
+ case 'google_bubble_chart':
107
+ $('.legend').hide();
108
+ break;
109
+ case 'google_donut_chart':
110
+ $('#plot_background_color_row').hide();
111
+ $('#plot-border-width-row').hide();
112
+ $('#plot_border_color_row').hide();
113
+ $('.axes').hide();
114
+ $('#title-floating-row').hide();
115
+ $('.series').hide();
116
+ break;
117
+ case 'google_gauge_chart':
118
+ $('#background_color_row').hide();
119
+ $('#border_width_row').hide();
120
+ $('#border_color_row').hide();
121
+ $('#border_radius_row').hide();
122
+ $('#plot_background_color_row').hide();
123
+ $('#plot-border-width-row').hide();
124
+ $('#plot_border_color_row').hide();
125
+ $('#font-size-row').hide();
126
+ $('#font-name-row').hide();
127
+ $('#show-grid-row').hide();
128
+ $('.axes').hide();
129
+ $('.title').hide();
130
+ $('.tooltip').hide();
131
+ $('.legend').hide();
132
+ $('.series').hide();
133
+ break;
134
+ case 'google_scatter_chart':
135
+ $('#inverted-row').hide();
136
+ break;
137
+ case 'google_candlestick_chart':
138
+ $('.series').hide();
139
+ $('#horizontal-axis-crosshair-row').hide();
140
+ $('#vertical-axis-crosshair-row').hide();
141
+ $('.legend').hide();
142
+ break;
143
+ case 'google_waterfall_chart':
144
+ $('.series').hide();
145
+ $('#horizontal-axis-crosshair-row').hide();
146
+ $('#vertical-axis-crosshair-row').hide();
147
+ $('.legend').hide();
148
+ break;
149
+ }
150
+ } else if (constructedChartData.engine == 'chartjs') {
151
+
152
+ $("#google-chart-container").hide();
153
+ $("#chart-js-container").show();
154
+
155
+ $(".google").hide();
156
+ $(".highcharts").hide();
157
+ $(".chartjs").show();
158
+
159
+ $('.series').show();
160
+ $('#curve-type-row').hide();
161
+ var legendPositionCjsVal = $('#legend-position-cjs').val() ? $('#legend-position-cjs').val() : 'top';
162
+ $('#legend-position-cjs').val(legendPositionCjsVal).change();
163
+
164
+ switch (constructedChartData.chart_type) {
165
+ case 'chartjs_line_chart':
166
+ $('#curve-type-row').show();
167
+ break;
168
+ case 'chartjs_area_chart':
169
+ $('#curve-type-row').show();
170
+ break;
171
+ case 'chartjs_stacked_area_chart':
172
+ $('#curve-type-row').show();
173
+ break;
174
+ case 'chartjs_bubble_chart':
175
+ $('.series').hide();
176
+ break;
177
+ case 'chartjs_polar_area_chart':
178
+ $('.series').hide();
179
+ break;
180
+ case 'chartjs_pie_chart':
181
+ $('.series').hide();
182
+ break;
183
+ case 'chartjs_doughnut_chart':
184
+ $('.series').hide();
185
+ break;
186
+ }
187
  }
188
 
189
  previousStepButton.prop('disabled', false);
307
  }
308
  seriesBlockTemplateHtml = seriesBlockTemplate.render({series: data.series});
309
 
310
+ } else if (constructedChartData.engine == 'chartjs') {
311
+ if (typeof editing_chart_data != 'undefined' && editing_chart_data.chartjs_render_data != null && constructedChartData.chart_type !== 'chartjs_bubble_chart') {
312
+ for (i = 0; i < data.options.data.datasets.length; i++) {
313
+ for (j = 0; j < editing_chart_data.chartjs_render_data.options.data.datasets.length; j++) {
314
+ if (data.options.data.datasets[i].orig_header === editing_chart_data.chartjs_render_data.options.data.datasets[j].orig_header) {
315
+ data.options.data.datasets[i].label = editing_chart_data.chartjs_render_data.options.data.datasets[j].label;
316
+ }
317
+ }
318
+ }
319
+ }
320
+ seriesBlockTemplateHtml = seriesBlockTemplate.render({series: data.options.data.datasets});
321
  }
322
  $('#series-settings-container').html(seriesBlockTemplateHtml);
323
 
339
  $('#series-settings-container div.chart-series-block:eq(' + i + ')').find('div.chart-series-color input').val(data.series[i].color);
340
  }
341
  }
342
+ } else if (constructedChartData.engine == 'chartjs') {
343
+ if (typeof editing_chart_data != 'undefined' && editing_chart_data.chartjs_render_data != null && constructedChartData.chart_type !== 'chartjs_bubble_chart') {
344
+ for (i in data.options.data.datasets) {
345
+ for (j in editing_chart_data.chartjs_render_data.options.data.datasets) {
346
+ if (data.options.data.datasets[i].orig_header === editing_chart_data.chartjs_render_data.options.data.datasets[j].orig_header) {
347
+ $('#series-settings-container div.chart-series-block:eq(' + i + ')').find('div.chart-series-color input').val(editing_chart_data.chartjs_render_data.options.data.datasets[j].borderColor);
348
+ data.options.data.datasets[i].borderColor = editing_chart_data.chartjs_render_data.options.data.datasets[j].borderColor;
349
+ data.options.data.datasets[i].backgroundColor = editing_chart_data.chartjs_render_data.options.data.datasets[j].backgroundColor;
350
+ }
351
+ }
352
+ }
353
+ } else {
354
+ for (i in data.options.data.datasets) {
355
+ $('#series-settings-container div.chart-series-block:eq(' + i + ')').find('div.chart-series-color input').val(data.options.data.datasets[i].borderColor);
356
+ }
357
+ }
358
+ } else {
359
+ for (i in data.options.series) {
360
+ $('#series-settings-container div.chart-series-block:eq(' + i + ')').find('div.chart-series-color input').val(data.options.series[i].color);
361
+ $('#series-settings-container div.chart-series-block:eq(' + i + ')').find('div.chart-series-type select').val(data.options.series[i].type);
362
+ $('#series-settings-container div.chart-series-block:eq(' + i + ')').find('div.chart-show-yaxis input').val(data.options.series[i].yAxis);
363
+ }
364
+ }
365
 
366
+ $(".wdt-chart-wizard .wdt-add-picker").each(function (i) {
367
  jQuery(this).addClass('pickr');
368
  jQuery(this)
369
  .closest('.wdt-color-picker')
380
  wdtChart.setOptions(data.options);
381
  wdtChart.setContainer('google-chart-container');
382
  wdtChart.setColumnIndexes(data.column_indexes);
383
+ } else if (constructedChartData.engine == 'chartjs') {
384
+ if (wdtChart !== null) {
385
+ wdtChart.chart.destroy();
386
+ }
387
+ wdtChart = new wpDataTablesChartJS();
388
+ var container = document.getElementById("chart-js-container");
389
+ var canvas = document.getElementById("chart-js-canvas");
390
+ wdtChart.setData(data.options.data);
391
+ wdtChart.setOptions(data.options.options);
392
+ wdtChart.setGlobalOptions(data.options.globalOptions);
393
+ wdtChart.setType(data.configurations.type);
394
+ wdtChart.setColumnIndexes(data.column_indexes);
395
+ wdtChart.setContainer(container);
396
+ wdtChart.setCanvas(canvas);
397
+ wdtChart.setContainerOptions(data.configurations);
398
  }
399
  wdtChart.render();
400
  if (constructedChartData.chart_type == 'google_bubble_chart') {
499
  wdtChart.setOptions(data.options);
500
  wdtChart.setContainer('google-chart-container');
501
  wdtChart.setColumnIndexes(data.column_indexes);
502
+ } else if (constructedChartData.engine == 'chartjs') {
503
+ wdtChart.chart.destroy();
504
+ wdtChart = new wpDataTablesChartJS();
505
+ var container = document.getElementById("chart-js-container");
506
+ var canvas = document.getElementById("chart-js-canvas");
507
+ wdtChart.setData(data.options.data);
508
+ wdtChart.setGlobalOptions(data.options.globalOptions);
509
+ wdtChart.setOptions(data.options.options);
510
+ wdtChart.setType(data.configurations.type);
511
+ wdtChart.setColumnIndexes(data.column_indexes);
512
+ wdtChart.setContainer(container);
513
+ wdtChart.setCanvas(canvas);
514
+ wdtChart.setContainerOptions(data.configurations);
515
  }
516
  wdtChart.render();
517
  $('.wdt-preload-layer').animateFadeOut();
519
  }
520
  });
521
  } else {
522
+ if (constructedChartData.engine == 'chartjs') {
523
+ wdtChart.chart.destroy();
524
+ }
525
  wdtChart.setChartConfig(constructedChartData);
526
  wdtChart.render();
527
  }
533
  //Chart
534
  constructedChartData.width = parseInt($('#chart-width').val());
535
  constructedChartData.height = parseInt($('#chart-height').val());
536
+ constructedChartData.group_chart = $('#group-chart').is(':checked') ? 1 : 0;
537
+ constructedChartData.enable_animation = $('#enable-animation').is(':checked') ? 1 : 0;
538
+ constructedChartData.show_data_labels = $('#data-labels').is(':checked') ? 1 : 0;
539
+ constructedChartData.start_angle =parseInt($('#start-angle').val());
540
+ constructedChartData.end_angle =parseInt($('#end-angle').val());
541
  constructedChartData.background_color = $('input.background-color').val();
542
  constructedChartData.border_width = parseInt($('#border-width').val() ? $('#border-width').val() : 0);
543
  constructedChartData.border_color = $('input.border_color').val();
544
  constructedChartData.border_radius = parseInt($('#border-radius').val() ? $('#border-radius').val() : 0);
545
+ constructedChartData.zoom_type = $('#zoom-type').val();
546
+ constructedChartData.panning = $('#panning').is(':checked') ? 1 : 0;
547
+ constructedChartData.pan_key = $('#pan-key').val();
548
  constructedChartData.plot_background_color = $('input.plot-background-color').val();
549
  constructedChartData.plot_background_image = $('#plot-background-image').val();
550
+ constructedChartData.line_background_image = $('#line-background-image').val();
551
  constructedChartData.plot_border_width = $('#plot-border-width').val();
552
  constructedChartData.plot_border_color = $('input.plot-border-color').val();
553
+ constructedChartData.font_size = $('#font-size').val();
554
+ constructedChartData.font_name = $('#font-name').val();
555
+ constructedChartData.font_style = $('#font-style').val();
556
+ constructedChartData.font_color = $('input.font-color').val();
557
  constructedChartData.three_d = $('#three-d').is(':checked') ? 1 : 0;
558
+ constructedChartData.monochrome = $('#monochrome').is(':checked') ? 1 : 0;
559
+ constructedChartData.monochrome_color = $('input#monochrome-color').val();
560
+ constructedChartData.enable_color_palette = $('#enable-color-palette').is(':checked') ? 1 : 0;
561
+ constructedChartData.color_palette = $('#color-palette').val();
562
+ constructedChartData.enable_dropshadow = $('#enable-dropshadow').is(':checked') ? 1 : 0;
563
+ constructedChartData.dropshadow_blur = parseInt($('#dropshadow-blur').val());
564
+ constructedChartData.dropshadow_opacity = parseInt($('#dropshadow-opacity').val()) / 100;
565
+ constructedChartData.dropshadow_color = $('input#dropshadow-color').val();
566
+ constructedChartData.dropshadow_top = parseInt($('#dropshadow-top').val());
567
+ constructedChartData.dropshadow_left = parseInt($('#dropshadow-left').val());
568
+ constructedChartData.text_color = $('input#chart-text-color').val();
569
  // Series
570
  if (typeof constructedChartData.series_data == 'undefined') {
571
  constructedChartData.series_data = {};
572
  }
573
+ if (constructedChartData.engine == 'google' || constructedChartData.engine == 'chartjs'
574
+ ) {
575
  $('div.chart-series-block').each(function (e) {
576
  constructedChartData.series_data[$(this).data('orig_header')] = {
577
  label: $(this).find('input.series-label').val(),
580
  });
581
  }
582
 
583
+ constructedChartData.curve_type = $('#curve-type').is(':checked') ? 1 : 0;
584
  // Axes
585
  constructedChartData.show_grid = $('#show-grid').is(':checked') ? 1 : 0;
586
+ constructedChartData.grid_color = $('input#grid-color').val();
587
+ constructedChartData.grid_stroke = $('#grid-stroke').val();
588
+ constructedChartData.grid_position = $('#grid-position').val();
589
+ constructedChartData.grid_axes = $('#grid-axes').val();
590
+ constructedChartData.highcharts_line_dash_style = $('#highcharts-line-dash-style').val();
591
  constructedChartData.horizontal_axis_label = $('#horizontal-axis-label').val();
592
+ constructedChartData.horizontal_axis_crosshair = $('#horizontal-axis-crosshair').is(':checked') ? 1 : 0;
593
+ constructedChartData.horizontal_axis_direction = $('#horizontal-axis-direction').val();
594
  constructedChartData.vertical_axis_label = $('#vertical-axis-label').val();
595
+ constructedChartData.vertical_axis_crosshair = $('#vertical-axis-crosshair').is(':checked') ? 1 : 0;
596
+ constructedChartData.vertical_axis_direction = $('#vertical-axis-direction').val();
597
+ constructedChartData.marker_size = $('#marker-size').val();
598
+ constructedChartData.stroke_width = $('#stroke-width').val();
599
+ constructedChartData.vertical_axis_min = $('#vertical-axis-min').val();
600
+ constructedChartData.vertical_axis_max = $('#vertical-axis-max').val();
601
+ constructedChartData.tick_amount = $('#tick-amount').val();
602
+ constructedChartData.inverted = $('#inverted').is(':checked') ? 1 : 0;
603
+ constructedChartData.reversed = $('#reversed').is(':checked') ? 1 : 0;
604
  // Title
605
  constructedChartData.show_title = $('#show-chart-title').is(':checked') ? 1 : 0;
606
  constructedChartData.title_floating = $('#title-floating').is(':checked') ? 1 : 0;
607
+ constructedChartData.title_align = $('#title-align').val();
608
+ constructedChartData.title_position = $('#title-position').val();
609
+ constructedChartData.title_font_size = $('#title_font_size').val();
610
+ constructedChartData.title_font_name = $('#title-font-name').val();
611
+ constructedChartData.title_font_style = $('#title-font-style').val();
612
+ constructedChartData.title_font_color = $('input#title-font-color').val();
613
+ constructedChartData.subtitle = $('#subtitle').val();
614
+ constructedChartData.subtitle_align = $('#subtitle-align').val();
615
  // Tooltip
616
  constructedChartData.tooltip_enabled = $('#tooltip-enabled').is(':checked') ? 1 : 0;
617
+ constructedChartData.tooltip_background_color = $('input.tooltip-background-color').val();
618
+ constructedChartData.tooltip_border_width = $('#tooltip-border-width').val();
619
+ constructedChartData.tooltip_border_color = $('input.tooltip-border-color').val();
620
+ constructedChartData.tooltip_border_radius = $('#tooltip-border-radius').val();
621
+ constructedChartData.tooltip_shared = $('#tooltip-shared').is(':checked') ? 1 : 0;
622
+ constructedChartData.tooltip_value_prefix = $('#tooltip-value-prefix').val();
623
+ constructedChartData.tooltip_value_suffix = $('#tooltip-value-suffix').val();
624
+ constructedChartData.follow_cursor = $('#follow-cursor').is(':checked') ? 1 : 0;
625
+ constructedChartData.fill_series_color = $('#fill-series-color').is(':checked') ? 1 : 0;
626
  // Legend
627
+ constructedChartData.show_legend = $('#show-legend').is(':checked') ? 1 : 0;
628
  constructedChartData.legend_position = $('#legend_position').val();
629
+ constructedChartData.legend_background_color = $('input.legend_background_color').val();
630
+ constructedChartData.legend_title = $('#legend_title').val();
631
+ constructedChartData.legend_layout = $('#legend_layout').val();
632
+ constructedChartData.legend_align = $('#legend_align').val();
633
  constructedChartData.legend_vertical_align = $('#legend_vertical_align').val();
634
+ constructedChartData.legend_border_width = $('#legend_border_width').val();
635
+ constructedChartData.legend_border_color = $('input.legend_border_color').val();
636
+ constructedChartData.legend_border_radius = $('#legend_border_radius').val();
637
+ constructedChartData.legend_position_cjs = $('#legend-position-cjs').val();
638
+
639
+ // Exporting
640
+ constructedChartData.exporting = $('#exporting').is(':checked') ? 1 : 0;
641
+ constructedChartData.exporting_data_labels = $('#exporting-data-labels').is(':checked') ? 1 : 0;
642
+ constructedChartData.exporting_file_name = $('#exporting-file-name').val();
643
+ constructedChartData.exporting_width = $('#exporting-width').val();
644
+ constructedChartData.exporting_button_align = $('#exporting-button-align').val();
645
+ constructedChartData.exporting_button_vertical_align = $('#exporting-button-vertical-align').val();
646
+ constructedChartData.exporting_button_color = $('input.exporting-button-color').val();
647
+ constructedChartData.exporting_button_text = $('#exporting-button-text').val();
648
+ // Credits
649
+ constructedChartData.credits = $('#credits').is(':checked') ? 1 : 0;
650
+ constructedChartData.credits_href = $('#credits-href').val();
651
+ constructedChartData.credits_text = $('#credits-text').val();
652
+
653
+ //Toolbar
654
+ constructedChartData.show_toolbar = $('#show-toolbar').is(':checked') ? 1 : 0;
655
+ constructedChartData.toolbar_buttons = $('#toolbar-buttons').val();
656
+ constructedChartData.apex_exporting_file_name = $('#apex-exporting-file-name').val();
657
  }
658
 
659
  /**
713
  window.location = $('#wdt-browse-charts-url').val();
714
  });
715
 
716
+ /**
717
+ * Pick the chart type
718
+ */
719
+ $('#chart-render-engine').change(function (e) {
720
+ e.preventDefault();
721
+ nextStepButton.prop('disabled', true);
722
+ $('.wdt-chart-wizard-chart-selecter-block .card').removeClass('selected').removeClass('not-selected');
723
+ $('div.charts-type').hide();
724
+ if ($(this).val() != '') {
725
+ constructedChartData.chart_engine = $(this).val();
726
+ if ($(this).val() == 'google') {
727
+ $('div.google-charts-type').show();
728
+ } else if ($(this).val() == 'chartjs') {
729
+ $('div.chartjs-charts-type').show();
730
+ }
731
+ }
732
+ });
733
 
734
  /**
735
  * Pick the data type
896
  if (typeof editing_chart_data.render_data.options.width !== 'undefined') {
897
  $('#chart-width').val(editing_chart_data.render_data.options.width);
898
  $('#chart-responsive-width').prop('checked', '');
899
+ $('#btn-plus-chart-width').prop('disabled', false);
900
+ $('#btn-minus-chart-width').prop('disabled', false);
901
+ $('#chart-width').prop('readonly', '');
902
+ } else {
903
+ $('#chart-responsive-width').prop('checked', 'checked');
904
+ $('#chart-width').val(0);
905
+ $('#chart-width').prop('readonly', 'readonly');
906
  }
907
  $('#chart-height').val(editing_chart_data.render_data.options.height);
908
 
938
  } else {
939
  if (editing_chart_data.render_data.options.backgroundColor.fill) {
940
  $('#background-color').val(editing_chart_data.render_data.options.backgroundColor.fill)
941
+ .closest('.wdt-color-picker')
942
+ .find('.wpcolorpicker-icon i')
943
+ .css("background", editing_chart_data.render_data.options.backgroundColor.fill);
944
  }
945
  $('#border-width').val(editing_chart_data.render_data.options.backgroundColor.strokeWidth);
946
  if (editing_chart_data.render_data.options.backgroundColor.stroke) {
947
  $('#border_color').val(editing_chart_data.render_data.options.backgroundColor.stroke)
948
+ .closest('.wdt-color-picker')
949
+ .find('.wpcolorpicker-icon i')
950
+ .css("background", editing_chart_data.render_data.options.backgroundColor.stroke);
951
  }
952
  $('#border-radius').val(editing_chart_data.render_data.options.backgroundColor.rx);
953
  }
959
  } else {
960
  if (editing_chart_data.render_data.options.chartArea.backgroundColor.fill) {
961
  $('#plot-background-color').val(editing_chart_data.render_data.options.chartArea.backgroundColor.fill)
962
+ .closest('.wdt-color-picker')
963
+ .find('.wpcolorpicker-icon i')
964
+ .css("background", editing_chart_data.render_data.options.chartArea.backgroundColor.fill);
965
  }
966
  $('#plot-border-width').val(editing_chart_data.render_data.options.chartArea.backgroundColor.strokeWidth);
967
  if (editing_chart_data.render_data.options.chartArea.backgroundColor.stroke) {
972
  }
973
  }
974
 
975
+ if (editing_chart_data.render_data.options.fontSize == null) {
976
+ $('#font-size').val('');
977
+ } else {
978
+ $('#font-size').val(editing_chart_data.render_data.options.fontSize);
979
+ }
980
+ if (editing_chart_data.render_data.options.fontName == null) {
981
+ $('#font-name').val('Arial');
982
+ } else {
983
+ $('#font-name').val(editing_chart_data.render_data.options.fontName);
984
+ }
985
+
986
  if (editing_chart_data.render_data.options.is3D) {
987
  $('#three-d').prop('checked', 'checked');
988
  } else {
989
  $('#three-d').prop('checked', '');
990
  }
991
 
992
+ // Axes
993
+ if (editing_chart_data.render_data.options.vAxis.viewWindow == null) {
994
+ $('#vertical-axis-min').val('');
995
+ $('#vertical-axis-max').val('');
996
+ } else {
997
+ $('#vertical-axis-min').val(editing_chart_data.render_data.options.vAxis.viewWindow.min);
998
+ $('#vertical-axis-max').val(editing_chart_data.render_data.options.vAxis.viewWindow.max);
999
+ }
1000
 
1001
  // Title
1002
  if (editing_chart_data.render_data.options.titlePosition == null) {
1032
  $('#legend_vertical_align').val("top");
1033
  }
1034
  }
1035
+ } else if (editing_chart_data.engine == 'chartjs') {
1036
+ // Chart
1037
+ if (editing_chart_data.chartjs_render_data.configurations.canvas.backgroundColor) {
1038
+ $('#background-color').val(editing_chart_data.chartjs_render_data.configurations.canvas.backgroundColor)
1039
+ .closest('.wdt-color-picker')
1040
+ .find('.wpcolorpicker-icon i')
1041
+ .css("background", editing_chart_data.chartjs_render_data.configurations.canvas.backgroundColor);
1042
+ }
1043
+ $('#border-width').val(editing_chart_data.chartjs_render_data.configurations.canvas.borderWidth);
1044
+ if (editing_chart_data.chartjs_render_data.configurations.canvas.borderColor) {
1045
+ $('#border_color').val(editing_chart_data.chartjs_render_data.configurations.canvas.borderColor)
1046
+ .closest('.wdt-color-picker')
1047
+ .find('.wpcolorpicker-icon i')
1048
+ .css("background", editing_chart_data.chartjs_render_data.configurations.canvas.borderColor);
1049
+ }
1050
+ $('#border-radius').val(editing_chart_data.chartjs_render_data.configurations.canvas.borderRadius);
1051
+ if (editing_chart_data.chartjs_render_data.options.globalOptions.defaultFontSize == null) {
1052
+ $('#font-size').val('');
1053
+ } else {
1054
+ $('#font-size').val(editing_chart_data.chartjs_render_data.options.globalOptions.defaultFontSize);
1055
+ }
1056
+ $('#font-name').val(editing_chart_data.chartjs_render_data.options.globalOptions.defaultFontFamily);
1057
+ $('#font-style').val(editing_chart_data.chartjs_render_data.options.globalOptions.defaultFontStyle);
1058
+ if (editing_chart_data.chartjs_render_data.options.globalOptions.defaultFontColor) {
1059
+ $('#font-color').val(editing_chart_data.chartjs_render_data.options.globalOptions.defaultFontColor)
1060
+ .closest('.wdt-color-picker')
1061
+ .find('.wpcolorpicker-icon i')
1062
+ .css("background", editing_chart_data.chartjs_render_data.options.globalOptions.defaultFontColor);
1063
+ }
1064
 
1065
+ // Series
1066
+ if (editing_chart_data.type !== 'chartjs_bubble_chart' && editing_chart_data.chartjs_render_data.options.data.datasets[0].lineTension == 0.4) {
1067
+ $('#curve-type').prop('checked', 'checked');
1068
+ } else {
1069
+ $('#curve-type').prop('checked', '');
1070
+ }
1071
+
1072
+ // Axes
1073
+ $('#horizontal-axis-label').val(editing_chart_data.chartjs_render_data.options.options.scales.xAxes[0].scaleLabel.labelString);
1074
+ $('#vertical-axis-label').val(editing_chart_data.chartjs_render_data.options.options.scales.yAxes[0].scaleLabel.labelString);
1075
+ editing_chart_data.chartjs_render_data.options.options.scales.yAxes[0].ticks.beginAtZero ?
1076
+ $('#vertical-axis-min').val(0) : $('#vertical-axis-min').val(editing_chart_data.chartjs_render_data.options.options.scales.yAxes[0].ticks.min);
1077
+ $('#vertical-axis-max').val(editing_chart_data.chartjs_render_data.options.options.scales.yAxes[0].ticks.max);
1078
+
1079
+ // Title
1080
+ $('#title-position').val(editing_chart_data.chartjs_render_data.options.options.title.position);
1081
+ $('#title-font-name').val(editing_chart_data.chartjs_render_data.options.options.title.fontFamily);
1082
+ $('#title-font-style').val(editing_chart_data.chartjs_render_data.options.options.title.fontStyle);
1083
+ if (editing_chart_data.chartjs_render_data.options.options.title.fontColor) {
1084
+ $('#title-font-color').val(editing_chart_data.chartjs_render_data.options.options.title.fontColor)
1085
+ .closest('.wdt-color-picker')
1086
+ .find('.wpcolorpicker-icon i')
1087
+ .css("background", editing_chart_data.chartjs_render_data.options.options.title.fontColor);
1088
+ }
1089
+
1090
+ // Tooltip
1091
+ if (editing_chart_data.chartjs_render_data.options.options.tooltips.enabled) {
1092
+ $('#tooltip-enabled').prop('checked', 'checked');
1093
+ } else {
1094
+ $('#tooltip-enabled').prop('checked', '');
1095
+ }
1096
+ if (editing_chart_data.chartjs_render_data.options.options.title.fontColor) {
1097
+ $('#tooltip-background-color').val(editing_chart_data.chartjs_render_data.options.options.tooltips.backgroundColor)
1098
+ .closest('.wdt-color-picker')
1099
+ .find('.wpcolorpicker-icon i')
1100
+ .css("background", editing_chart_data.chartjs_render_data.options.options.tooltips.backgroundColor);
1101
+ }
1102
+ $('#tooltip-border-radius').val(editing_chart_data.chartjs_render_data.options.options.tooltips.cornerRadius);
1103
+ if (editing_chart_data.chartjs_render_data.options.options.tooltips.mode == 'label') {
1104
+ $('#tooltip-shared').prop('checked', 'checked');
1105
+ } else {
1106
+ $('#tooltip-shared').prop('checked', '');
1107
+ }
1108
+
1109
+ // Legend
1110
+ if (editing_chart_data.chartjs_render_data.options.options.legend.display) {
1111
+ $('#show-legend').prop('checked', 'checked');
1112
+ } else {
1113
+ $('#show-legend').prop('checked', '');
1114
+ }
1115
+ $('#legend-position-cjs').val(editing_chart_data.chartjs_render_data.options.options.legend.position);
1116
+
1117
+ }
1118
  }
1119
  });
1120
 
1166
 
1167
  })(jQuery);
1168
 
1169
+ /**
1170
+ * Helper func to convert hex to rgb color
1171
+ */
1172
+ function hexToRgb(hex) {
1173
+ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
1174
+ return result ? {
1175
+ r: parseInt(result[1], 16),
1176
+ g: parseInt(result[2], 16),
1177
+ b: parseInt(result[3], 16)
1178
+ } : null;
1179
+ }
assets/js/wpdatatables/wdt.chartsRender.js CHANGED
@@ -7,17 +7,34 @@
7
 
8
  for (var chart_id in wpDataCharts) {
9
 
10
- var wdtChart = new wpDataTablesGoogleChart();
11
- wdtChart.setType(wpDataCharts[chart_id].render_data.type);
12
- wdtChart.setColumns(wpDataCharts[chart_id].render_data.columns);
13
- wdtChart.setRows(wpDataCharts[chart_id].render_data.rows);
14
- wdtChart.setOptions(wpDataCharts[chart_id].render_data.options);
15
- wdtChart.setContainer(wpDataCharts[chart_id].container);
16
- wdtChart.setColumnIndexes(wpDataCharts[chart_id].render_data.column_indexes);
17
- if (typeof wpDataChartsCallbacks !== 'undefined' && typeof wpDataChartsCallbacks[chart_id] !== 'undefined') {
18
- wdtChart.setRenderCallback(wpDataChartsCallbacks[chart_id]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  }
20
- wdtGoogleCharts.push(wdtChart);
21
 
22
  }
23
  }
7
 
8
  for (var chart_id in wpDataCharts) {
9
 
10
+ if (wpDataCharts[chart_id].engine == 'google') {
11
+
12
+ var wdtChart = new wpDataTablesGoogleChart();
13
+ wdtChart.setType(wpDataCharts[chart_id].render_data.type);
14
+ wdtChart.setColumns(wpDataCharts[chart_id].render_data.columns);
15
+ wdtChart.setRows(wpDataCharts[chart_id].render_data.rows);
16
+ wdtChart.setOptions(wpDataCharts[chart_id].render_data.options);
17
+ wdtChart.setContainer(wpDataCharts[chart_id].container);
18
+ wdtChart.setColumnIndexes(wpDataCharts[chart_id].render_data.column_indexes);
19
+ if (typeof wpDataChartsCallbacks !== 'undefined' && typeof wpDataChartsCallbacks[chart_id] !== 'undefined') {
20
+ wdtChart.setRenderCallback(wpDataChartsCallbacks[chart_id]);
21
+ }
22
+ wdtGoogleCharts.push(wdtChart);
23
+ } else if (wpDataCharts[chart_id].engine == 'chartjs') {
24
+ var wdtChart = new wpDataTablesChartJS();
25
+ wdtChart.setData(wpDataCharts[chart_id].render_data.options.data);
26
+ wdtChart.setOptions(wpDataCharts[chart_id].render_data.options.options);
27
+ wdtChart.setGlobalOptions(wpDataCharts[chart_id].render_data.options.globalOptions);
28
+ wdtChart.setType(wpDataCharts[chart_id].render_data.configurations.type);
29
+ wdtChart.setColumnIndexes(wpDataCharts[chart_id].render_data.column_indexes);
30
+ wdtChart.setContainer(document.getElementById("chartJSContainer_" + chart_id));
31
+ wdtChart.setCanvas(document.getElementById("chartJSCanvas_" + chart_id));
32
+ wdtChart.setContainerOptions(wpDataCharts[chart_id].render_data.configurations);
33
+ if (typeof wpDataChartsCallbacks !== 'undefined' && typeof wpDataChartsCallbacks[chart_id] !== 'undefined') {
34
+ wdtChart.setRenderCallback(wpDataChartsCallbacks[chart_id]);
35
+ }
36
+ wdtChart.render();
37
  }
 
38
 
39
  }
40
  }
assets/js/wpdatatables/wdt.chartsRender.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(window).on("load",function(){var a=[];if("undefined"!=typeof wpDataCharts)for(var t in wpDataCharts){var e=new wpDataTablesGoogleChart;e.setType(wpDataCharts[t].render_data.type),e.setColumns(wpDataCharts[t].render_data.columns),e.setRows(wpDataCharts[t].render_data.rows),e.setOptions(wpDataCharts[t].render_data.options),e.setContainer(wpDataCharts[t].container),e.setColumnIndexes(wpDataCharts[t].render_data.column_indexes),"undefined"!=typeof wpDataChartsCallbacks&&void 0!==wpDataChartsCallbacks[t]&&e.setRenderCallback(wpDataChartsCallbacks[t]),a.push(e)}if(a.length)if(void 0!==google.charts.setOnLoadCallback)google.charts.setOnLoadCallback(function(){for(var t in a)isNaN(t)||a[t].render()});else for(var r in a)isNaN(r)||a[r].render()});
1
+ jQuery(window).on("load",function(){var a=[];if("undefined"!=typeof wpDataCharts)for(var t in wpDataCharts)if("google"==wpDataCharts[t].engine)(e=new wpDataTablesGoogleChart).setType(wpDataCharts[t].render_data.type),e.setColumns(wpDataCharts[t].render_data.columns),e.setRows(wpDataCharts[t].render_data.rows),e.setOptions(wpDataCharts[t].render_data.options),e.setContainer(wpDataCharts[t].container),e.setColumnIndexes(wpDataCharts[t].render_data.column_indexes),"undefined"!=typeof wpDataChartsCallbacks&&void 0!==wpDataChartsCallbacks[t]&&e.setRenderCallback(wpDataChartsCallbacks[t]),a.push(e);else if("chartjs"==wpDataCharts[t].engine){var e;(e=new wpDataTablesChartJS).setData(wpDataCharts[t].render_data.options.data),e.setOptions(wpDataCharts[t].render_data.options.options),e.setGlobalOptions(wpDataCharts[t].render_data.options.globalOptions),e.setType(wpDataCharts[t].render_data.configurations.type),e.setColumnIndexes(wpDataCharts[t].render_data.column_indexes),e.setContainer(document.getElementById("chartJSContainer_"+t)),e.setCanvas(document.getElementById("chartJSCanvas_"+t)),e.setContainerOptions(wpDataCharts[t].render_data.configurations),"undefined"!=typeof wpDataChartsCallbacks&&void 0!==wpDataChartsCallbacks[t]&&e.setRenderCallback(wpDataChartsCallbacks[t]),e.render()}if(a.length)if(void 0!==google.charts.setOnLoadCallback)google.charts.setOnLoadCallback(function(){for(var t in a)isNaN(t)||a[t].render()});else for(var n in a)isNaN(n)||a[n].render()});
assets/js/wpdatatables/wdt.googleCharts.js CHANGED
@@ -24,7 +24,9 @@ var wpDataTablesGoogleChart = function () {
24
  backgroundColor: {}
25
 
26
  },
27
- crosshair: {},
 
 
28
  height: 400,
29
  legend: {
30
  position: 'right'
@@ -220,6 +222,8 @@ var wpDataTablesGoogleChart = function () {
220
  this.options.chartArea.backgroundColor.fill = chartConfig.plot_background_color;
221
  chartConfig.plot_border_width ? this.options.chartArea.backgroundColor.strokeWidth = chartConfig.plot_border_width : null;
222
  this.options.chartArea.backgroundColor.stroke = chartConfig.plot_border_color;
 
 
223
  if (chartConfig.chart_type == 'google_pie_chart'){
224
  chartConfig.three_d == 1 ? this.options.is3D = true : this.options.is3D = false;
225
  }
@@ -249,7 +253,8 @@ var wpDataTablesGoogleChart = function () {
249
  }
250
  chartConfig.horizontal_axis_label ? this.options.hAxis.title = chartConfig.horizontal_axis_label : null;
251
  chartConfig.vertical_axis_label ? this.options.vAxis.title = chartConfig.vertical_axis_label : null;
252
-
 
253
  // Title
254
  chartConfig.show_title == 1 ? this.options.title = chartConfig.chart_title : this.options.title = '';
255
  chartConfig.title_floating == 1 ? this.options.titlePosition = 'in' : this.options.titlePosition = 'out';
24
  backgroundColor: {}
25
 
26
  },
27
+ curveType: 'none',
28
+ fontName: 'Arial',
29
+ fontSize: null,
30
  height: 400,
31
  legend: {
32
  position: 'right'
222
  this.options.chartArea.backgroundColor.fill = chartConfig.plot_background_color;
223
  chartConfig.plot_border_width ? this.options.chartArea.backgroundColor.strokeWidth = chartConfig.plot_border_width : null;
224
  this.options.chartArea.backgroundColor.stroke = chartConfig.plot_border_color;
225
+ chartConfig.font_size ? this.options.fontSize = chartConfig.font_size : null;
226
+ chartConfig.font_name ? this.options.fontName = chartConfig.font_name : null;
227
  if (chartConfig.chart_type == 'google_pie_chart'){
228
  chartConfig.three_d == 1 ? this.options.is3D = true : this.options.is3D = false;
229
  }
253
  }
254
  chartConfig.horizontal_axis_label ? this.options.hAxis.title = chartConfig.horizontal_axis_label : null;
255
  chartConfig.vertical_axis_label ? this.options.vAxis.title = chartConfig.vertical_axis_label : null;
256
+ this.options.vAxis.viewWindow.min = chartConfig.vertical_axis_min;
257
+ this.options.vAxis.viewWindow.max= chartConfig.vertical_axis_max;
258
  // Title
259
  chartConfig.show_title == 1 ? this.options.title = chartConfig.chart_title : this.options.title = '';
260
  chartConfig.title_floating == 1 ? this.options.titlePosition = 'in' : this.options.titlePosition = 'out';
config/config.inc.php CHANGED
@@ -9,7 +9,7 @@ defined('ABSPATH') or die("Cannot access pages directly.");
9
 
10
  // Current version
11
 
12
- define('WDT_CURRENT_VERSION', '2.1.26');
13
 
14
  /**
15
  * Regular Expressions
9
 
10
  // Current version
11
 
12
+ define('WDT_CURRENT_VERSION', '2.1.27');
13
 
14
  /**
15
  * Regular Expressions
controllers/wdt_admin.php CHANGED
@@ -417,6 +417,9 @@ function wdtChartWizardEnqueue() {
417
 
418
  wp_enqueue_script('wdt-google-charts', '//www.gstatic.com/charts/loader.js', array(), WDT_CURRENT_VERSION, true);
419
 
 
 
 
420
  wp_enqueue_script('wdt-common');
421
  wp_enqueue_script('wdt-color-pickr');
422
  wp_enqueue_script('wdt-color-pickr-init');
417
 
418
  wp_enqueue_script('wdt-google-charts', '//www.gstatic.com/charts/loader.js', array(), WDT_CURRENT_VERSION, true);
419
 
420
+ wp_enqueue_script('wdt-chart-js', WDT_JS_PATH . 'chartjs/Chart.js', array(), WDT_CURRENT_VERSION, true);
421
+ wp_enqueue_script('wdt-wp-chart-js', WDT_JS_PATH . 'wpdatatables/wdt.chartJS.js', array(), WDT_CURRENT_VERSION, true);
422
+
423
  wp_enqueue_script('wdt-common');
424
  wp_enqueue_script('wdt-color-pickr');
425
  wp_enqueue_script('wdt-color-pickr-init');
integrations/page_builders/divi-wpdt/divi-wpdt.php CHANGED
@@ -26,17 +26,17 @@ along with Divi WPDT. If not, see https://www.gnu.org/licenses/gpl-2.0.html.
26
  */
27
 
28
 
29
- if ( ! function_exists( 'divi_initialize_extension' ) ):
30
  /**
31
  * Creates the extension's main class instance.
32
  *
33
  * @since 1.0.0
34
  */
35
- function divi_initialize_extension() {
36
  require_once plugin_dir_path( __FILE__ ) . 'includes/DiviWpdt.php';
37
 
38
  wp_register_style('wpdt-divi', plugins_url('styles/divi-wpdt.css', __FILE__), [], WDT_CURRENT_VERSION);
39
  wp_enqueue_style('wpdt-divi');
40
  }
41
- add_action( 'divi_extensions_init', 'divi_initialize_extension' );
42
  endif;
26
  */
27
 
28
 
29
+ if ( ! function_exists( 'divi_wpdatatables_initialize_extension' ) ):
30
  /**
31
  * Creates the extension's main class instance.
32
  *
33
  * @since 1.0.0
34
  */
35
+ function divi_wpdatatables_initialize_extension() {
36
  require_once plugin_dir_path( __FILE__ ) . 'includes/DiviWpdt.php';
37
 
38
  wp_register_style('wpdt-divi', plugins_url('styles/divi-wpdt.css', __FILE__), [], WDT_CURRENT_VERSION);
39
  wp_enqueue_style('wpdt-divi');
40
  }
41
+ add_action( 'divi_extensions_init', 'divi_wpdatatables_initialize_extension' );
42
  endif;
languages/de_DE/wpdatatables-de_DE.mo CHANGED
Binary file
languages/de_DE/wpdatatables-de_DE.po CHANGED
@@ -2,7 +2,7 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: wpdatatables\n"
4
  "POT-Creation-Date: 2021-09-24 13:12+0200\n"
5
- "PO-Revision-Date: 2021-09-24 13:12+0200\n"
6
  "Last-Translator: \n"
7
  "Language-Team: wpdatatables <cjbug@yandex.ru>\n"
8
  "Language: en\n"
@@ -15,7 +15,7 @@ msgstr ""
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: wpdatatables-lite\n"
18
- "X-Poedit-SearchPath-1: wdt-forminator-integration\n"
19
  "X-Poedit-SearchPathExcluded-0: wpdatatables-lite/assets/js/tagsinput/jquery."
20
  "tagsinput.js\n"
21
  "X-Poedit-SearchPathExcluded-1: wpdatatables-lite/assets/js/ace/ace.js\n"
2
  msgstr ""
3
  "Project-Id-Version: wpdatatables\n"
4
  "POT-Creation-Date: 2021-09-24 13:12+0200\n"
5
+ "PO-Revision-Date: 2022-03-13 23:02+0100\n"
6
  "Last-Translator: \n"
7
  "Language-Team: wpdatatables <cjbug@yandex.ru>\n"
8
  "Language: en\n"
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: wpdatatables-lite\n"
18
+ "X-Poedit-SearchPath-1: wpdatatables-forminator\n"
19
  "X-Poedit-SearchPathExcluded-0: wpdatatables-lite/assets/js/tagsinput/jquery."
20
  "tagsinput.js\n"
21
  "X-Poedit-SearchPathExcluded-1: wpdatatables-lite/assets/js/ace/ace.js\n"
languages/en_US/wpdatatables-en_US.mo CHANGED
Binary file
languages/en_US/wpdatatables-en_US.po CHANGED
@@ -1,8 +1,8 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: wpdatatables\n"
4
- "POT-Creation-Date: 2021-09-24 13:10+0200\n"
5
- "PO-Revision-Date: 2021-09-24 13:10+0200\n"
6
  "Last-Translator: \n"
7
  "Language-Team: wpdatatables <cjbug@yandex.ru>\n"
8
  "Language: en\n"
@@ -15,7 +15,7 @@ msgstr ""
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: wpdatatables-lite\n"
18
- "X-Poedit-SearchPath-1: wdt-forminator-integration\n"
19
  "X-Poedit-SearchPathExcluded-0: wpdatatables-lite/assets/js/tagsinput/jquery."
20
  "tagsinput.js\n"
21
  "X-Poedit-SearchPathExcluded-1: wpdatatables-lite/assets/js/ace/ace.js\n"
@@ -46,150 +46,150 @@ msgstr ""
46
  "docs/en/annotations.rst\n"
47
  "X-Poedit-SearchPathExcluded-15: wpdatatables-lite/lib\n"
48
 
49
- #: wdt-forminator-integration/templates/data_source_block.inc.php:13
50
  msgid "Choose a Forminator Form"
51
  msgstr ""
52
 
53
- #: wdt-forminator-integration/templates/data_source_block.inc.php:21
54
  msgid "Pick a Forminator form..."
55
  msgstr ""
56
 
57
- #: wdt-forminator-integration/templates/data_source_block.inc.php:24
58
  msgid "Form -> "
59
  msgstr ""
60
 
61
- #: wdt-forminator-integration/templates/data_source_block.inc.php:29
62
  msgid "Quiz -> "
63
  msgstr ""
64
 
65
- #: wdt-forminator-integration/templates/data_source_block.inc.php:29
66
  msgid "(Personality)"
67
  msgstr ""
68
 
69
- #: wdt-forminator-integration/templates/data_source_block.inc.php:29
70
  msgid "(Knowledge)"
71
  msgstr ""
72
 
73
- #: wdt-forminator-integration/templates/data_source_block.inc.php:33
74
- #: wdt-forminator-integration/templates/data_source_block.inc.php:35
75
  msgid "Poll -> "
76
  msgstr ""
77
 
78
- #: wdt-forminator-integration/templates/data_source_block.inc.php:33
79
  msgid "(for Bar chart)"
80
  msgstr ""
81
 
82
- #: wdt-forminator-integration/templates/data_source_block.inc.php:35
83
  msgid "(for Pie chart)"
84
  msgstr ""
85
 
86
- #: wdt-forminator-integration/templates/data_source_block.inc.php:47
87
  msgid "Choose fields to show as columns"
88
  msgstr ""
89
 
90
- #: wdt-forminator-integration/templates/tab.inc.php:5
91
  msgid "Forminator Settings"
92
  msgstr ""
93
 
94
- #: wdt-forminator-integration/templates/tabpanel.inc.php:10
95
  msgid "Filter by entry ID range"
96
  msgstr ""
97
 
98
- #: wdt-forminator-integration/templates/tabpanel.inc.php:12
99
  msgid "Here you can filter table by providing range entry ID value"
100
  msgstr ""
101
 
102
- #: wdt-forminator-integration/templates/tabpanel.inc.php:57
103
  msgid "Filter by entry date"
104
  msgstr ""
105
 
106
- #: wdt-forminator-integration/templates/tabpanel.inc.php:59
107
  msgid "Chose date filter logic if you want to filter form entries by date"
108
  msgstr ""
109
 
110
- #: wdt-forminator-integration/templates/tabpanel.inc.php:67
111
  msgid "Select date filter logic"
112
  msgstr ""
113
 
114
- #: wdt-forminator-integration/templates/tabpanel.inc.php:68
115
  msgid "Filter by date range"
116
  msgstr ""
117
 
118
- #: wdt-forminator-integration/templates/tabpanel.inc.php:69
119
  msgid "Filter by last X time period"
120
  msgstr ""
121
 
122
- #: wdt-forminator-integration/templates/tabpanel.inc.php:114
123
  msgid "Day(s)"
124
  msgstr ""
125
 
126
- #: wdt-forminator-integration/templates/tabpanel.inc.php:115
127
  msgid "Week(s)"
128
  msgstr ""
129
 
130
- #: wdt-forminator-integration/templates/tabpanel.inc.php:116
131
  msgid "Month(s)"
132
  msgstr ""
133
 
134
- #: wdt-forminator-integration/templates/tabpanel.inc.php:117
135
  msgid "Year(s)"
136
  msgstr ""
137
 
138
- #: wdt-forminator-integration/templates/tabpanel.inc.php:132
139
  msgid "Reset filters"
140
  msgstr ""
141
 
142
- #: wdt-forminator-integration/wdt-forminator-integration.php:107
143
  msgid ""
144
  "wpDataTables integration for Forminator Forms is an add-on - please install "
145
  "and activate wpDataTables (Free or Premium) and Forminator Forms (Free or "
146
  "PRO) to be able to use it!"
147
  msgstr ""
148
 
149
- #: wdt-forminator-integration/wdt-forminator-integration.php:116
150
  msgid ""
151
  "wpDataTables integration for Forminator Forms add-on requires wpDataTables "
152
  "version "
153
  msgstr ""
154
 
155
- #: wdt-forminator-integration/wdt-forminator-integration.php:436
156
  msgid "Poll answers"
157
  msgstr ""
158
 
159
- #: wdt-forminator-integration/wdt-forminator-integration.php:437
160
  msgid "Total Votes"
161
  msgstr ""
162
 
163
- #: wdt-forminator-integration/wdt-forminator-integration.php:443
164
  msgid "Email"
165
  msgstr ""
166
 
167
- #: wdt-forminator-integration/wdt-forminator-integration.php:444
168
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:414
169
  msgid "Name"
170
  msgstr ""
171
 
172
- #: wdt-forminator-integration/wdt-forminator-integration.php:447
173
  msgid "Quiz results"
174
  msgstr ""
175
 
176
- #: wdt-forminator-integration/wdt-forminator-integration.php:449
177
  msgid "Correct answers"
178
  msgstr ""
179
 
180
- #: wdt-forminator-integration/wdt-forminator-integration.php:450
181
  msgid "Incorrect answers"
182
  msgstr ""
183
 
184
- #: wdt-forminator-integration/wdt-forminator-integration.php:451
185
  msgid "Quiz results (Correct/Total)"
186
  msgstr ""
187
 
188
- #: wdt-forminator-integration/wdt-forminator-integration.php:1037
189
  msgid "Transaction ID"
190
  msgstr ""
191
 
192
- #: wdt-forminator-integration/wdt-forminator-integration.php:1057
193
  msgid "(no filename)"
194
  msgstr ""
195
 
@@ -219,8 +219,8 @@ msgstr ""
219
 
220
  #: wpdatatables-lite/controllers/wdt_admin.php:52
221
  #: wpdatatables-lite/controllers/wdt_admin.php:53
222
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:33
223
  #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:34
 
224
  #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:57
225
  #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:177
226
  msgid "Create a Chart"
@@ -271,140 +271,181 @@ msgstr ""
271
 
272
  #: wpdatatables-lite/controllers/wdt_admin.php:116
273
  #: wpdatatables-lite/controllers/wdt_admin.php:117
274
- #: wpdatatables-lite/controllers/wdt_functions.php:851
275
  msgid "Go Premium"
276
  msgstr ""
277
 
278
- #: wpdatatables-lite/controllers/wdt_admin.php:531
279
- #: wpdatatables-lite/controllers/wdt_admin.php:580
280
- #: wpdatatables-lite/controllers/wdt_admin.php:623
281
- #: wpdatatables-lite/controllers/wdt_admin.php:644
282
- #: wpdatatables-lite/controllers/wdt_admin.php:691
283
- #: wpdatatables-lite/controllers/wdt_admin.php:717
284
- #: wpdatatables-lite/controllers/wdt_admin.php:736
285
- #: wpdatatables-lite/controllers/wdt_admin.php:756
286
- #: wpdatatables-lite/controllers/wdt_admin.php:775
287
- #: wpdatatables-lite/controllers/wdt_admin.php:795
288
- #: wpdatatables-lite/controllers/wdt_admin.php:815
289
- #: wpdatatables-lite/controllers/wdt_admin.php:835
290
- #: wpdatatables-lite/controllers/wdt_admin.php:854
291
  msgid "You do not have sufficient permissions to access this page."
292
  msgstr ""
293
 
294
- #: wpdatatables-lite/controllers/wdt_functions.php:509
295
  msgid "wpDataChart with provided ID not found!"
296
  msgstr ""
297
 
298
- #: wpdatatables-lite/controllers/wdt_functions.php:545
299
- #: wpdatatables-lite/controllers/wdt_functions.php:626
300
  msgid "wpDataTable with provided ID not found!"
301
  msgstr ""
302
 
303
- #: wpdatatables-lite/controllers/wdt_functions.php:636
304
  msgid "Provided column is not Integer or Float column type"
305
  msgstr ""
306
 
307
- #: wpdatatables-lite/controllers/wdt_functions.php:846
308
  msgid "Go to Settings"
309
  msgstr ""
310
 
311
- #: wpdatatables-lite/controllers/wdt_functions.php:875
312
  #, php-format
313
  msgid "By %s"
314
  msgstr ""
315
 
316
- #: wpdatatables-lite/controllers/wdt_functions.php:879
317
  msgid "Docs"
318
  msgstr ""
319
 
320
- #: wpdatatables-lite/controllers/wdt_functions.php:907
321
- msgid "Choose a table"
322
  msgstr ""
323
 
324
- #: wpdatatables-lite/controllers/wdt_functions.php:939
325
- msgid "Interactive Responsive Table"
326
  msgstr ""
327
 
328
- #: wpdatatables-lite/controllers/wdt_functions.php:940
329
- #: wpdatatables-lite/controllers/wdt_functions.php:1001
330
- msgid "Content"
331
  msgstr ""
332
 
333
- #: wpdatatables-lite/controllers/wdt_functions.php:946
334
- msgid "wpDataTable"
335
  msgstr ""
336
 
337
- #: wpdatatables-lite/controllers/wdt_functions.php:950
338
- msgid "Choose the wpDataTable from a dropdown"
339
  msgstr ""
340
 
341
- #: wpdatatables-lite/controllers/wdt_functions.php:955
342
- msgid "Table view"
343
  msgstr ""
344
 
345
- #: wpdatatables-lite/controllers/wdt_functions.php:959
346
- msgid "Regular wpDataTable"
347
  msgstr ""
348
 
349
- #: wpdatatables-lite/controllers/wdt_functions.php:961
350
- msgid "Excel-like table"
351
  msgstr ""
352
 
353
- #: wpdatatables-lite/controllers/wdt_functions.php:967
354
- msgid "Variable placeholder #1"
355
  msgstr ""
356
 
357
- #: wpdatatables-lite/controllers/wdt_functions.php:970
358
- #: wpdatatables-lite/controllers/wdt_functions.php:978
359
- #: wpdatatables-lite/controllers/wdt_functions.php:986
360
- msgid "Variables"
361
  msgstr ""
362
 
363
- #: wpdatatables-lite/controllers/wdt_functions.php:971
364
- msgid "If you used the VAR1 placeholder you can assign a value to it here"
365
  msgstr ""
366
 
367
- #: wpdatatables-lite/controllers/wdt_functions.php:975
368
- msgid "Variable placeholder #2"
369
  msgstr ""
370
 
371
- #: wpdatatables-lite/controllers/wdt_functions.php:979
372
- msgid "If you used the VAR2 placeholder you can assign a value to it here"
373
  msgstr ""
374
 
375
- #: wpdatatables-lite/controllers/wdt_functions.php:983
376
- msgid "Variable placeholder #3"
377
  msgstr ""
378
 
379
- #: wpdatatables-lite/controllers/wdt_functions.php:987
380
- msgid "If you used the VAR3 placeholder you can assign a value to it here"
381
  msgstr ""
382
 
383
- #: wpdatatables-lite/controllers/wdt_functions.php:1000
384
- msgid "Google or Highcharts chart based on a wpDataTable"
385
  msgstr ""
386
 
387
- #: wpdatatables-lite/controllers/wdt_functions.php:1007
388
- msgid "wpDataChart"
389
  msgstr ""
390
 
391
- #: wpdatatables-lite/controllers/wdt_functions.php:1011
392
- msgid "Choose one of wpDataCharts from the list"
 
 
 
 
393
  msgstr ""
394
 
395
- #: wpdatatables-lite/source/WpDataChartsGutenbergBlock.php:28
396
  msgid ""
397
  "Choose the chart that you’ve just created in the dropdown below, and the "
398
  "shortcode will be inserted automatically."
399
  msgstr ""
400
 
401
- #: wpdatatables-lite/source/WpDataTablesGutenbergBlock.php:29
402
  msgid ""
403
  "Choose the table that you’ve just created in the dropdown below, and the "
404
  "shortcode will be inserted automatically. You are able to provide values for "
405
  "placeholders and also for Export file name."
406
  msgstr ""
407
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
408
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:29
409
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:30
410
  msgid "ID"
@@ -455,28 +496,29 @@ msgstr ""
455
  #: wpdatatables-lite/source/class.wdttools.php:222
456
  #: wpdatatables-lite/templates/admin/browse/bulk_actions.inc.php:14
457
  #: wpdatatables-lite/templates/common/delete_modal.inc.php:42
458
- #: wpdatatables-lite/templates/edit_table.inc.php:15
459
  msgid "Delete"
460
  msgstr ""
461
 
462
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:229
463
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:238
 
464
  msgid "Column Chart"
465
  msgstr ""
466
 
467
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:232
468
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:256
 
469
  msgid "Line Chart"
470
  msgstr ""
471
 
472
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:235
473
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:259
 
474
  msgid "Pie Chart"
475
  msgstr ""
476
 
477
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:241
478
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:73
479
- #: wpdatatables-lite/templates/chart_wizard.inc.php:91
480
  msgid "Histogram"
481
  msgstr ""
482
 
@@ -489,6 +531,7 @@ msgid "Stacked Bar Chart"
489
  msgstr ""
490
 
491
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:250
 
492
  msgid "Area Chart"
493
  msgstr ""
494
 
@@ -497,6 +540,7 @@ msgid "Stepped Area Chart"
497
  msgstr ""
498
 
499
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:262
 
500
  msgid "Bubble Chart"
501
  msgstr ""
502
 
@@ -520,18 +564,39 @@ msgstr ""
520
  msgid "Waterfall Chart"
521
  msgstr ""
522
 
523
- #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:290
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
524
  msgid "Google"
525
  msgstr ""
526
 
527
- #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:357
 
 
 
 
 
528
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:298
529
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step3.inc.php:11
530
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step3.inc.php:32
531
  msgid "Select All"
532
  msgstr ""
533
 
534
- #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:410
535
  msgid "No wpDataCharts in the system yet."
536
  msgstr ""
537
 
@@ -550,15 +615,15 @@ msgid "Manual"
550
  msgstr ""
551
 
552
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:237
553
- #: wpdatatables-lite/source/class.wpdatatable.php:2306
554
- #: wpdatatables-lite/source/class.wpdatatable.php:2389
555
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1050
556
  msgid "Excel"
557
  msgstr ""
558
 
559
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:240
560
- #: wpdatatables-lite/source/class.wpdatatable.php:2318
561
- #: wpdatatables-lite/source/class.wpdatatable.php:2402
562
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1051
563
  msgid "CSV"
564
  msgstr ""
@@ -573,12 +638,10 @@ msgstr ""
573
 
574
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:249
575
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:120
576
- #: wpdatatables-lite/templates/edit_table.inc.php:91
577
  msgid "Serialized PHP array"
578
  msgstr ""
579
 
580
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:252
581
- #: wpdatatables-lite/templates/edit_table.inc.php:88
582
  msgid "Google spreadsheet"
583
  msgstr ""
584
 
@@ -598,10 +661,14 @@ msgstr ""
598
  msgid "There was an error trying to fetch the table data: "
599
  msgstr ""
600
 
601
- #: wpdatatables-lite/source/class.wdtconfigcontroller.php:498
602
  msgid "Table in data source has no rows."
603
  msgstr ""
604
 
 
 
 
 
605
  #: wpdatatables-lite/source/class.wdttools.php:17
606
  msgid "One line string"
607
  msgstr ""
@@ -630,18 +697,18 @@ msgstr ""
630
 
631
  #: wpdatatables-lite/source/class.wdttools.php:23
632
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:355
633
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:984
634
  msgid "Date"
635
  msgstr ""
636
 
637
  #: wpdatatables-lite/source/class.wdttools.php:24
638
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:985
639
  msgid "Datetime"
640
  msgstr ""
641
 
642
  #: wpdatatables-lite/source/class.wdttools.php:25
643
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:357
644
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:986
645
  msgid "Time"
646
  msgstr ""
647
 
@@ -659,7 +726,7 @@ msgid "Image"
659
  msgstr ""
660
 
661
  #: wpdatatables-lite/source/class.wdttools.php:29
662
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:989
663
  msgid "Attachment"
664
  msgstr ""
665
 
@@ -682,16 +749,16 @@ msgstr ""
682
  #: wpdatatables-lite/source/class.wdttools.php:330
683
  #: wpdatatables-lite/templates/admin/browse/chart/duplicate_chart_modal.inc.php:43
684
  #: wpdatatables-lite/templates/admin/browse/table/duplicate_modal.inc.php:61
685
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:39
686
  #: wpdatatables-lite/templates/admin/common/HTMLModal.inc.php:43
687
- #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:117
688
  #: wpdatatables-lite/templates/admin/common/shortcodeModal.inc.php:48
689
  #: wpdatatables-lite/templates/admin/common/starModal.inc.php:73
690
  #: wpdatatables-lite/templates/admin/constructor/constructor.inc.php:29
691
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:28
692
  #: wpdatatables-lite/templates/admin/table-settings/add_column_modal.inc.php:126
693
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:20
694
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1095
695
  #: wpdatatables-lite/templates/admin/table-settings/formula_editor_modal.inc.php:89
696
  #: wpdatatables-lite/templates/admin/table-settings/possible_values_merge_list_modal.inc.php:19
697
  #: wpdatatables-lite/templates/admin/table-settings/remove_column_modal.inc.php:81
@@ -718,10 +785,6 @@ msgstr ""
718
  #: wpdatatables-lite/templates/admin/common/error_modal.inc.php:23
719
  #: wpdatatables-lite/templates/admin/table-settings/columns_list_modal.inc.php:33
720
  #: wpdatatables-lite/templates/admin/table-settings/foreign_key_config.inc.php:94
721
- #: wpdatatables-lite/templates/edit_table.inc.php:36
722
- #: wpdatatables-lite/templates/edit_table.inc.php:418
723
- #: wpdatatables-lite/templates/edit_table.inc.php:439
724
- #: wpdatatables-lite/templates/edit_table.inc.php:462
725
  msgid "Close"
726
  msgstr ""
727
 
@@ -746,8 +809,8 @@ msgid "Please select columns that you want to use in table"
746
  msgstr ""
747
 
748
  #: wpdatatables-lite/source/class.wdttools.php:218
749
- #: wpdatatables-lite/source/class.wpdatatable.php:2330
750
- #: wpdatatables-lite/source/class.wpdatatable.php:2415
751
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1052
752
  msgid "Copy"
753
  msgstr ""
@@ -769,8 +832,6 @@ msgid "Delete selected"
769
  msgstr ""
770
 
771
  #: wpdatatables-lite/source/class.wdttools.php:224
772
- #: wpdatatables-lite/templates/settings.inc.php:553
773
- #: wpdatatables-lite/templates/settings.inc.php:627
774
  msgid "Error!"
775
  msgstr ""
776
 
@@ -916,8 +977,6 @@ msgid "Search: "
916
  msgstr ""
917
 
918
  #: wpdatatables-lite/source/class.wdttools.php:265
919
- #: wpdatatables-lite/templates/settings.inc.php:559
920
- #: wpdatatables-lite/templates/settings.inc.php:625
921
  msgid "Success!"
922
  msgstr ""
923
 
@@ -1304,17 +1363,17 @@ msgstr ""
1304
  #: wpdatatables-lite/source/class.wdttools.php:467
1305
  msgid ""
1306
  "Click on the dropdown, and you will see several options that you can choose "
1307
- "from.(Google charts are only available) <br><br>To continue, click on the "
1308
- "dropdown."
1309
  msgstr ""
1310
 
1311
  #: wpdatatables-lite/source/class.wdttools.php:470
1312
- msgid "Choose Google chart engine."
1313
  msgstr ""
1314
 
1315
  #: wpdatatables-lite/source/class.wdttools.php:471
1316
  msgid ""
1317
- "By clicking on Google chart options, you will choose the engine that will "
1318
  "render your chart.<br><br> When you finish, please click 'Continue' button "
1319
  "to move forward."
1320
  msgstr ""
@@ -1462,112 +1521,58 @@ msgid ""
1462
  "page. <br><br>You may now finish this tutorial. "
1463
  msgstr ""
1464
 
1465
- #: wpdatatables-lite/source/class.wpdatachart.php:718
1466
  msgid "Only one column can be of type String"
1467
  msgstr ""
1468
 
1469
- #: wpdatatables-lite/source/class.wpdatachart.php:721
1470
  msgid "You are mixing data types (several date axes and several number)"
1471
  msgstr ""
1472
 
1473
- #: wpdatatables-lite/source/class.wpdatatable.php:1972
1474
  msgid ""
1475
  "You are trying to load a table of an unknown type. Probably you did not "
1476
  "activate the addon which is required to use this table type."
1477
  msgstr ""
1478
 
1479
- #: wpdatatables-lite/source/class.wpdatatable.php:2215
1480
- #: wpdatatables-lite/source/class.wpdatatable.php:2218
1481
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step3.inc.php:86
1482
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:554
1483
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:327
1484
- #: wpdatatables-lite/templates/edit_table.inc.php:409
1485
  msgid "All"
1486
  msgstr ""
1487
 
1488
- #: wpdatatables-lite/source/class.wpdatatable.php:2279
1489
- #: wpdatatables-lite/source/class.wpdatatable.php:2362
1490
  #: wpdatatables-lite/templates/admin/table-settings/columns_list_modal.inc.php:12
1491
  msgid "Columns"
1492
  msgstr ""
1493
 
1494
- #: wpdatatables-lite/source/class.wpdatatable.php:2292
1495
- #: wpdatatables-lite/source/class.wpdatatable.php:2374
1496
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1049
1497
  msgid "Print"
1498
  msgstr ""
1499
 
1500
- #: wpdatatables-lite/source/class.wpdatatable.php:2342
1501
- #: wpdatatables-lite/source/class.wpdatatable.php:2427
1502
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1053
1503
  msgid "PDF"
1504
  msgstr ""
1505
 
1506
- #: wpdatatables-lite/source/class.wpdatatable.php:2350
1507
  msgid "Export"
1508
  msgstr ""
1509
 
1510
- #: wpdatatables-lite/source/class.wpdatatable.php:2440
1511
  msgid "Search table"
1512
  msgstr ""
1513
 
1514
- #: wpdatatables-lite/source/class.wpdatatable.php:2441
1515
  msgid "Showing _MENU_ Entries"
1516
  msgstr ""
1517
 
1518
- #: wpdatatables-lite/templates/addons.inc.php:8
1519
- #: wpdatatables-lite/templates/browse.inc.php:8
1520
- #: wpdatatables-lite/templates/chart_wizard.inc.php:16
1521
- #: wpdatatables-lite/templates/constructor.inc.php:14
1522
- #: wpdatatables-lite/templates/edit_table.inc.php:11
1523
- #: wpdatatables-lite/templates/settings.inc.php:12
1524
- msgid "Please refer to"
1525
- msgstr ""
1526
-
1527
- #: wpdatatables-lite/templates/addons.inc.php:8
1528
- #: wpdatatables-lite/templates/browse.inc.php:8
1529
- msgid "wpDataTables documentation"
1530
- msgstr ""
1531
-
1532
- #: wpdatatables-lite/templates/addons.inc.php:8
1533
- #: wpdatatables-lite/templates/browse.inc.php:8
1534
- #: wpdatatables-lite/templates/chart_wizard.inc.php:16
1535
- #: wpdatatables-lite/templates/settings.inc.php:12
1536
- msgid "if you have some questions or problems with the plugin."
1537
- msgstr ""
1538
-
1539
- #: wpdatatables-lite/templates/addons.inc.php:10
1540
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:533
1541
- msgid "wpDataTables Addons"
1542
- msgstr ""
1543
-
1544
- #: wpdatatables-lite/templates/addons.inc.php:12
1545
- msgid ""
1546
- "While wpDataTables itself provides quite a large amount of features and "
1547
- "unlimited customisation flexibility, you can achieve even more with our "
1548
- "premium addons. Each addon brings you some unique extension to the core "
1549
- "functionality. There will be more addons developed over time by wpDataTables "
1550
- "creators and 3rd party developers, so stay tuned."
1551
- msgstr ""
1552
-
1553
- #: wpdatatables-lite/templates/addons.inc.php:19
1554
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:130
1555
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:642
1556
- msgid "Report Builder"
1557
- msgstr ""
1558
-
1559
- #: wpdatatables-lite/templates/addons.inc.php:23
1560
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:133
1561
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:646
1562
- msgid ""
1563
- "A unique tool that allows you to generate almost any Word DOCX and Excel "
1564
- "XLSX documents filled in with actual data from your database."
1565
- msgstr ""
1566
-
1567
- #: wpdatatables-lite/templates/addons.inc.php:24
1568
- msgid "Find out more"
1569
- msgstr ""
1570
-
1571
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:28
1572
  msgid ""
1573
  "While wpDataTables itself provides quite a large amount of features and "
@@ -1587,7 +1592,7 @@ msgid "NEW"
1587
  msgstr ""
1588
 
1589
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:40
1590
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:552
1591
  msgid "Forminator Forms integration for wpDataTables"
1592
  msgstr ""
1593
 
@@ -1599,21 +1604,21 @@ msgid ""
1599
  msgstr ""
1600
 
1601
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:48
1602
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:734
1603
  msgid "Free Download"
1604
  msgstr ""
1605
 
1606
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:55
1607
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:90
1608
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:117
1609
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:139
1610
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:164
1611
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:186
1612
  msgid "Learn more"
1613
  msgstr ""
1614
 
1615
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:65
1616
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:572
1617
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:281
1618
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:301
1619
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:319
@@ -1622,7 +1627,7 @@ msgid "Installed"
1622
  msgstr ""
1623
 
1624
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:80
1625
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:589
1626
  msgid "Master Detail Tables for wpDataTables"
1627
  msgstr ""
1628
 
@@ -1635,7 +1640,7 @@ msgid ""
1635
  msgstr ""
1636
 
1637
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:107
1638
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:616
1639
  msgid "Powerful Filters for wpDataTables"
1640
  msgstr ""
1641
 
@@ -1646,25 +1651,37 @@ msgid ""
1646
  "without the table before user defines the search values."
1647
  msgstr ""
1648
 
1649
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:154
1650
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:669
 
 
 
 
 
 
 
 
 
 
 
 
1651
  msgid "Formidable Forms integration for wpDataTables"
1652
  msgstr ""
1653
 
1654
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:157
1655
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:673
1656
  msgid ""
1657
  "Tool that adds \"Formidable Form\" as a new table type and allows you to "
1658
  "create wpDataTables from Formidable Forms entries data."
1659
  msgstr ""
1660
 
1661
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:176
1662
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:695
1663
  msgid "Gravity Forms integration for wpDataTables"
1664
  msgstr ""
1665
 
1666
- #: wpdatatables-lite/templates/admin/addons/addons.inc.php:179
1667
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:699
1668
  msgid ""
1669
  "Tool that adds \"Gravity Form\" as a new table type and allows you to create "
1670
  "wpDataTables from Gravity Forms entries data."
@@ -1696,12 +1713,10 @@ msgid "Browse Tables"
1696
  msgstr ""
1697
 
1698
  #: wpdatatables-lite/templates/admin/browse/table/duplicate_modal.inc.php:19
1699
- #: wpdatatables-lite/templates/browse.inc.php:56
1700
  msgid "Duplicate table"
1701
  msgstr ""
1702
 
1703
  #: wpdatatables-lite/templates/admin/browse/table/duplicate_modal.inc.php:28
1704
- #: wpdatatables-lite/templates/browse.inc.php:19
1705
  msgid "New table title"
1706
  msgstr ""
1707
 
@@ -1733,88 +1748,79 @@ msgstr ""
1733
  msgid "Duplicate database table"
1734
  msgstr ""
1735
 
1736
- #: wpdatatables-lite/templates/admin/browse/table_list.inc.php:47
1737
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:114
1738
  msgid " View Documentation"
1739
  msgstr ""
1740
 
1741
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:53
1742
- #: wpdatatables-lite/templates/chart_wizard.inc.php:32
1743
  msgid "Chart title & type"
1744
  msgstr ""
1745
 
1746
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:55
1747
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:60
1748
- #: wpdatatables-lite/templates/chart_wizard.inc.php:36
1749
  msgid "Data source"
1750
  msgstr ""
1751
 
1752
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:57
1753
- #: wpdatatables-lite/templates/chart_wizard.inc.php:40
1754
  msgid "Data range"
1755
  msgstr ""
1756
 
1757
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:59
1758
  msgid "Formatting and preview"
1759
  msgstr ""
1760
 
1761
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:61
1762
- #: wpdatatables-lite/templates/chart_wizard.inc.php:52
1763
  msgid "Save and get shortcode"
1764
  msgstr ""
1765
 
1766
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:105
1767
  msgid "Browse charts"
1768
  msgstr ""
1769
 
1770
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:109
1771
  #: wpdatatables-lite/templates/admin/constructor/constructor.inc.php:61
1772
  msgid "Next "
1773
  msgstr ""
1774
 
1775
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:111
1776
  #: wpdatatables-lite/templates/admin/constructor/constructor.inc.php:63
1777
  msgid " Previous"
1778
  msgstr ""
1779
 
1780
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:138
1781
- msgid "Serie"
 
1782
  msgstr ""
1783
 
1784
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:142
1785
  msgid "Label"
1786
  msgstr ""
1787
 
1788
- #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:156
1789
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:680
1790
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1963
1791
- #: wpdatatables-lite/templates/edit_table.inc.php:730
1792
  msgid "Color"
1793
  msgstr ""
1794
 
1795
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:12
1796
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:12
1797
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:13
1798
- #: wpdatatables-lite/templates/chart_wizard.inc.php:95
1799
- #: wpdatatables-lite/templates/chart_wizard.inc.php:108
1800
  msgid "Line chart"
1801
  msgstr ""
1802
 
1803
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:24
1804
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:48
1805
- #: wpdatatables-lite/templates/chart_wizard.inc.php:93
1806
  msgid "Area chart"
1807
  msgstr ""
1808
 
1809
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:37
1810
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:52
1811
- #: wpdatatables-lite/templates/chart_wizard.inc.php:110
1812
  msgid "Stacked area chart"
1813
  msgstr ""
1814
 
1815
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:50
1816
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:24
1817
- #: wpdatatables-lite/templates/chart_wizard.inc.php:90
1818
  msgid "Column chart"
1819
  msgstr ""
1820
 
@@ -1829,8 +1835,6 @@ msgstr ""
1829
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:91
1830
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:36
1831
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:121
1832
- #: wpdatatables-lite/templates/chart_wizard.inc.php:96
1833
- #: wpdatatables-lite/templates/chart_wizard.inc.php:115
1834
  msgid "Pie chart"
1835
  msgstr ""
1836
 
@@ -1840,40 +1844,32 @@ msgstr ""
1840
 
1841
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:117
1842
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:113
1843
- #: wpdatatables-lite/templates/chart_wizard.inc.php:97
1844
  msgid "Bubble chart"
1845
  msgstr ""
1846
 
1847
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:61
1848
- #: wpdatatables-lite/templates/chart_wizard.inc.php:94
1849
  msgid "Stepped area chart"
1850
  msgstr ""
1851
 
1852
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:89
1853
- #: wpdatatables-lite/templates/chart_wizard.inc.php:92
1854
  msgid "Bar chart"
1855
  msgstr ""
1856
 
1857
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:101
1858
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:78
1859
- #: wpdatatables-lite/templates/chart_wizard.inc.php:112
1860
  msgid "Stacked bar chart"
1861
  msgstr ""
1862
 
1863
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:125
1864
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:147
1865
- #: wpdatatables-lite/templates/chart_wizard.inc.php:98
1866
- #: wpdatatables-lite/templates/chart_wizard.inc.php:117
1867
  msgid "Donut chart"
1868
  msgstr ""
1869
 
1870
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:137
1871
- #: wpdatatables-lite/templates/chart_wizard.inc.php:99
1872
  msgid "Gauge chart"
1873
  msgstr ""
1874
 
1875
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:150
1876
- #: wpdatatables-lite/templates/chart_wizard.inc.php:100
1877
  msgid "Scatter chart"
1878
  msgstr ""
1879
 
@@ -1890,47 +1886,38 @@ msgid "Spline chart"
1890
  msgstr ""
1891
 
1892
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:39
1893
- #: wpdatatables-lite/templates/chart_wizard.inc.php:109
1894
  msgid "Basic area chart"
1895
  msgstr ""
1896
 
1897
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:65
1898
- #: wpdatatables-lite/templates/chart_wizard.inc.php:111
1899
  msgid "Basic bar chart"
1900
  msgstr ""
1901
 
1902
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:95
1903
- #: wpdatatables-lite/templates/chart_wizard.inc.php:113
1904
  msgid "Basic column chart"
1905
  msgstr ""
1906
 
1907
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:108
1908
- #: wpdatatables-lite/templates/chart_wizard.inc.php:114
1909
  msgid "Stacked column chart"
1910
  msgstr ""
1911
 
1912
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:134
1913
- #: wpdatatables-lite/templates/chart_wizard.inc.php:116
1914
  msgid "Pie with gradient chart"
1915
  msgstr ""
1916
 
1917
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:160
1918
- #: wpdatatables-lite/templates/chart_wizard.inc.php:118
1919
  msgid "Scatter plot"
1920
  msgstr ""
1921
 
1922
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:177
1923
- #: wpdatatables-lite/templates/chart_wizard.inc.php:119
1924
  msgid "3D column chart"
1925
  msgstr ""
1926
 
1927
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:190
1928
- #: wpdatatables-lite/templates/chart_wizard.inc.php:120
1929
  msgid "3D pie chart"
1930
  msgstr ""
1931
 
1932
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:203
1933
- #: wpdatatables-lite/templates/chart_wizard.inc.php:121
1934
  msgid "3D donut chart"
1935
  msgstr ""
1936
 
@@ -1957,7 +1944,6 @@ msgid ""
1957
  msgstr ""
1958
 
1959
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:15
1960
- #: wpdatatables-lite/templates/chart_wizard.inc.php:65
1961
  msgid "Chart name"
1962
  msgstr ""
1963
 
@@ -1966,22 +1952,18 @@ msgid "Please define the title of the chart that you will use to identify it"
1966
  msgstr ""
1967
 
1968
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:24
1969
- #: wpdatatables-lite/templates/chart_wizard.inc.php:69
1970
  msgid "New wpDataTable Chart"
1971
  msgstr ""
1972
 
1973
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:35
1974
- #: wpdatatables-lite/templates/chart_wizard.inc.php:75
1975
  msgid "Chart render engine"
1976
  msgstr ""
1977
 
1978
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:38
1979
- #: wpdatatables-lite/templates/chart_wizard.inc.php:76
1980
  msgid "Please choose the render engine."
1981
  msgstr ""
1982
 
1983
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:44
1984
- #: wpdatatables-lite/templates/chart_wizard.inc.php:80
1985
  msgid "Pick the render engine"
1986
  msgstr ""
1987
 
@@ -1989,12 +1971,12 @@ msgstr ""
1989
  msgid "Google Charts"
1990
  msgstr ""
1991
 
1992
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:49
1993
- msgid "HighCharts"
1994
  msgstr ""
1995
 
1996
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:49
1997
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:52
1998
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:132
1999
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:144
2000
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:156
@@ -2004,8 +1986,8 @@ msgstr ""
2004
  msgid "Available in Premium"
2005
  msgstr ""
2006
 
2007
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:52
2008
- msgid "Chart.js"
2009
  msgstr ""
2010
 
2011
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step2.inc.php:6
@@ -2116,20 +2098,17 @@ msgstr ""
2116
  msgid "Chart"
2117
  msgstr ""
2118
 
2119
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:13
2120
- msgid "Series"
2121
- msgstr ""
2122
-
2123
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:15
2124
  msgid "Axes"
2125
  msgstr ""
2126
 
2127
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:19
2128
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:543
2129
  msgid "Tooltip"
2130
  msgstr ""
2131
 
2132
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:21
 
2133
  msgid "Legend"
2134
  msgstr ""
2135
 
@@ -2155,7 +2134,7 @@ msgid "Curve type"
2155
  msgstr ""
2156
 
2157
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:49
2158
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:347
2159
  msgid "Controls the curve of the lines"
2160
  msgstr ""
2161
 
@@ -2209,6 +2188,7 @@ msgid "Enable grouping"
2209
  msgstr ""
2210
 
2211
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:133
 
2212
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:104
2213
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:425
2214
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:660
@@ -2241,6 +2221,7 @@ msgid "The color of the outer chart border."
2241
  msgstr ""
2242
 
2243
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:197
 
2244
  msgid "Border radius"
2245
  msgstr ""
2246
 
@@ -2269,182 +2250,277 @@ msgstr ""
2269
  msgid "The color of the inner chart or plot area border."
2270
  msgstr ""
2271
 
2272
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:287
2273
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:45
2274
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1544
2275
  msgid "Font size"
2276
  msgstr ""
2277
 
2278
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:289
2279
  msgid "The default font size, in pixels, of all text in the chart."
2280
  msgstr ""
2281
 
2282
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:313
2283
  msgid "Font name"
2284
  msgstr ""
2285
 
2286
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:315
2287
  msgid "The default font face for all text in the chart."
2288
  msgstr ""
2289
 
 
 
 
 
2290
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:330
2291
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:336
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2292
  msgid "3D"
2293
  msgstr ""
2294
 
2295
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:332
2296
  msgid "Check for 3D pie chart"
2297
  msgstr ""
2298
 
2299
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:345
2300
  msgid "Grid"
2301
  msgstr ""
2302
 
2303
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:351
2304
  msgid "Do you want to show grid on the chart"
2305
  msgstr ""
2306
 
2307
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:356
2308
  msgid "Horizontal axis label"
2309
  msgstr ""
2310
 
2311
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:358
2312
  msgid "Name of the horizontal axis."
2313
  msgstr ""
2314
 
2315
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:373
2316
  msgid "Horizontal crosshair"
2317
  msgstr ""
2318
 
2319
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:375
2320
  msgid ""
2321
  "Configure a horizontal crosshair that follows either the mouse pointer or "
2322
  "the hovered point lines"
2323
  msgstr ""
2324
 
2325
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:379
2326
  msgid "Show x-Axis crosshair"
2327
  msgstr ""
2328
 
2329
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:384
2330
  msgid "Horizontal axis direction"
2331
  msgstr ""
2332
 
2333
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:386
2334
  msgid ""
2335
  "The direction in which the values along the horizontal axis grow. Specify -1 "
2336
  "to reverse the order of the values"
2337
  msgstr ""
2338
 
2339
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:402
2340
  msgid "Vertical axis label"
2341
  msgstr ""
2342
 
2343
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:404
2344
  msgid "Name of the vertical axis."
2345
  msgstr ""
2346
 
2347
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:419
2348
  msgid "Vertical crosshair"
2349
  msgstr ""
2350
 
2351
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:421
2352
  msgid ""
2353
  "Configure a vertical crosshair that follows either the mouse pointer or the "
2354
  "hovered point lines"
2355
  msgstr ""
2356
 
2357
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:425
2358
  msgid "Show y-Axis crosshair"
2359
  msgstr ""
2360
 
2361
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:430
2362
  msgid "Vertical axis direction"
2363
  msgstr ""
2364
 
2365
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:432
2366
  msgid ""
2367
  "The direction in which the values along the vertical axis grow. Specify -1 "
2368
  "to reverse the order of the values"
2369
  msgstr ""
2370
 
2371
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:449
2372
  msgid "Vertical axis min value"
2373
  msgstr ""
2374
 
2375
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:451
2376
  msgid "The minimum value of the axis."
2377
  msgstr ""
2378
 
2379
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:475
2380
  msgid "Vertical axis max value"
2381
  msgstr ""
2382
 
2383
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:477
2384
  msgid "The maximum value of the axis."
2385
  msgstr ""
2386
 
2387
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:500
2388
  msgid "Invert"
2389
  msgstr ""
2390
 
2391
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:502
2392
  msgid ""
2393
  "Whether to invert the axes so that the x axis is vertical and y axis is "
2394
  "horizontal"
2395
  msgstr ""
2396
 
2397
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:506
2398
  msgid "Invert chart axes"
2399
  msgstr ""
2400
 
2401
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:516
2402
  msgid "Chart title"
2403
  msgstr ""
2404
 
2405
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:518
2406
  msgid "Do you want to show the chart title on the page"
2407
  msgstr ""
2408
 
2409
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:522
2410
  msgid "Show title"
2411
  msgstr ""
2412
 
2413
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:527
2414
  msgid "Title floating"
2415
  msgstr ""
2416
 
2417
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:529
2418
  msgid ""
2419
  "When the title is floating, the plot area will not move to make space for it"
2420
  msgstr ""
2421
 
2422
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:533
2423
  msgid "Enable floating"
2424
  msgstr ""
2425
 
2426
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:545
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2427
  msgid "Enable or disable the tooltip"
2428
  msgstr ""
2429
 
2430
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:549
2431
  msgid "Show tooltip"
2432
  msgstr ""
2433
 
2434
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:560
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2435
  msgid "Position"
2436
  msgstr ""
2437
 
2438
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:562
2439
  msgid "Position of the legend"
2440
  msgstr ""
2441
 
2442
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:580
 
 
 
 
 
 
 
 
 
 
2443
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:220
2444
  msgid "Vertical align"
2445
  msgstr ""
2446
 
2447
- #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:582
2448
  msgid "The vertical alignment of the legend box"
2449
  msgstr ""
2450
 
@@ -2520,15 +2596,25 @@ msgid "Make NOFOLLOW link"
2520
  msgstr ""
2521
 
2522
  #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:87
 
 
 
 
 
 
 
 
 
 
2523
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:677
2524
  msgid "Set the link to appear as a button"
2525
  msgstr ""
2526
 
2527
- #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:96
2528
  msgid "Button class:"
2529
  msgstr ""
2530
 
2531
- #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:121
2532
  msgid "Insert link"
2533
  msgstr ""
2534
 
@@ -2646,7 +2732,7 @@ msgstr ""
2646
  #: wpdatatables-lite/templates/admin/support/support.inc.php:31
2647
  #: wpdatatables-lite/templates/admin/support/support.inc.php:47
2648
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:29
2649
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1090
2650
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:676
2651
  #: wpdatatables-lite/templates/admin/table-settings/table_preview_block.inc.php:81
2652
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:2124
@@ -2655,7 +2741,6 @@ msgid "View Documentation"
2655
  msgstr ""
2656
 
2657
  #: wpdatatables-lite/templates/admin/constructor/steps/constructor_1.inc.php:5
2658
- #: wpdatatables-lite/templates/constructor.inc.php:29
2659
  msgid "Choose what kind of table would you like to construct"
2660
  msgstr ""
2661
 
@@ -2889,164 +2974,164 @@ msgstr ""
2889
  msgid "Version "
2890
  msgstr ""
2891
 
2892
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:363
2893
  msgid "Go Premium!"
2894
  msgstr ""
2895
 
2896
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:369
2897
  msgid "View Comparison"
2898
  msgstr ""
2899
 
2900
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:377
2901
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:48
2902
  msgid ""
2903
  "Get the most out of wpDataTables by upgrading to Premium and unlocking all "
2904
  "of the powerful features."
2905
  msgstr ""
2906
 
2907
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:381
2908
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:292
2909
  msgid "Create a table manually"
2910
  msgstr ""
2911
 
2912
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:384
2913
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:304
2914
  msgid "Creating tables from Google Spreadsheet"
2915
  msgstr ""
2916
 
2917
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:387
2918
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:316
2919
  msgid "Creating tables via Google Sheet API"
2920
  msgstr ""
2921
 
2922
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:390
2923
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:329
2924
  msgid "Creating tables from Private Google Spreadsheet"
2925
  msgstr ""
2926
 
2927
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:393
2928
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:342
2929
  msgid "Creating MySQL-based tables from database"
2930
  msgstr ""
2931
 
2932
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:396
2933
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:354
2934
  msgid "Creating MySQL-based tables from Wordpress post types"
2935
  msgstr ""
2936
 
2937
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:399
2938
  msgid "Creating tables where users can see and edit own data"
2939
  msgstr ""
2940
 
2941
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:402
2942
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:378
2943
  msgid "Creating table relations (Foreign key)"
2944
  msgstr ""
2945
 
2946
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:405
2947
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:414
2948
- #: wpdatatables-lite/templates/edit_table.inc.php:329
2949
  msgid "Advanced filtering"
2950
  msgstr ""
2951
 
2952
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:408
2953
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:426
2954
  msgid "Pre-filtering tables through URL"
2955
  msgstr ""
2956
 
2957
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:411
2958
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:279
2959
  msgid "Table Customization"
2960
  msgstr ""
2961
 
2962
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:414
2963
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:390
2964
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:153
2965
- #: wpdatatables-lite/templates/edit_table.inc.php:282
2966
  msgid "Server-side processing"
2967
  msgstr ""
2968
 
2969
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:417
2970
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:402
2971
  msgid "Multiple databases support (MySQL,MS SQL and PostgreSQL)"
2972
  msgstr ""
2973
 
2974
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:420
2975
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:438
2976
  msgid "Front-end table editing"
2977
  msgstr ""
2978
 
2979
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:423
2980
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:450
2981
  msgid "Excel-like editing"
2982
  msgstr ""
2983
 
2984
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:426
2985
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:462
 
 
 
 
 
2986
  msgid "Creating charts with Highcharts"
2987
  msgstr ""
2988
 
2989
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:429
2990
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:474
2991
- msgid "Creating charts with Chart.js"
2992
  msgstr ""
2993
 
2994
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:432
2995
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:486
2996
  msgid "Follow table filtering in charts"
2997
  msgstr ""
2998
 
2999
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:435
3000
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:498
3001
  msgid "Grouping data in Charts"
3002
  msgstr ""
3003
 
3004
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:438
3005
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:510
3006
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:68
3007
- #: wpdatatables-lite/templates/edit_table.inc.php:301
3008
  msgid "Responsive"
3009
  msgstr ""
3010
 
3011
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:441
3012
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:522
3013
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:60
3014
- #: wpdatatables-lite/templates/edit_table.inc.php:750
3015
  msgid "Conditional formatting"
3016
  msgstr ""
3017
 
3018
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:444
3019
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:534
3020
  msgid "Calculating Tools"
3021
  msgstr ""
3022
 
3023
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:447
3024
  msgid "Formula columns"
3025
  msgstr ""
3026
 
3027
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:450
3028
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:546
3029
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:80
3030
  msgid "Placeholders"
3031
  msgstr ""
3032
 
3033
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:453
3034
  msgid "Premium support"
3035
  msgstr ""
3036
 
3037
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:457
3038
  msgid "Get Premium Today"
3039
  msgstr ""
3040
 
3041
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:464
3042
  msgid "News Blog"
3043
  msgstr ""
3044
 
3045
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:469
3046
  msgid "Checkout useful articles from wpdatatables.com"
3047
  msgstr ""
3048
 
3049
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:516
3050
  msgid ""
3051
  "Never miss notifications about new cool features, promotions,\n"
3052
  " giveaways or freebies – subscribe to our "
@@ -3055,10 +3140,14 @@ msgid ""
3055
  msgstr ""
3056
 
3057
  #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:534
 
 
 
 
3058
  msgid "Premium "
3059
  msgstr ""
3060
 
3061
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:537
3062
  msgid ""
3063
  "While wpDataTables itself provides quite a large amount of features and "
3064
  "unlimited customisation, flexibility, you can achieve even more with our "
@@ -3067,74 +3156,74 @@ msgid ""
3067
  "Premium version)"
3068
  msgstr ""
3069
 
3070
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:545
3071
  msgid "Free"
3072
  msgstr ""
3073
 
3074
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:556
3075
  msgid ""
3076
  "Tool that adds \"Forminator Form\" as a new table type and allows you to "
3077
  "create wpDataTables from Forminator Forms submissions."
3078
  msgstr ""
3079
 
3080
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:563
3081
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:599
3082
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:626
3083
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:652
3084
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:679
3085
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:705
3086
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:738
3087
  msgid "Learn More"
3088
  msgstr ""
3089
 
3090
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:593
3091
  msgid ""
3092
  "A wpDataTables addon which allows showing additional details for a specific "
3093
  "row in a popup or a separate page or post."
3094
  msgstr ""
3095
 
3096
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:620
3097
  msgid ""
3098
  "An add-on for wpDataTables that provides powerful filtering features: "
3099
  "cascade filtering, applying filters on button click, hide table before "
3100
  "filtering."
3101
  msgstr ""
3102
 
3103
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:716
3104
  msgid "Need free booking plugin?"
3105
  msgstr ""
3106
 
3107
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:725
3108
  msgid "Appointments and Events WordPress Booking Plugin"
3109
  msgstr ""
3110
 
3111
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:728
3112
  msgid ""
3113
  "Amelia Lite is a free appointment booking WordPress plugin that allows to "
3114
  "set up a fully-featured automated booking system on your WordPress website "
3115
  "and is a handy tool for small businesses and individuals that depend on "
3116
- "stable appointment booking processes. 30,000+ businesses from healthcare, "
3117
  "beauty, sports, automotive, educational, creative, HR and other industries "
3118
- "use Amelia to flawlessly manage 300,000+ appointments and events worldwide "
3119
  "each month."
3120
  msgstr ""
3121
 
3122
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:731
3123
  msgid "Rating: 4.3 - ‎97 reviews"
3124
  msgstr ""
3125
 
3126
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:749
3127
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:184
3128
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:589
3129
  #: wpdatatables-lite/templates/admin/support/support.inc.php:78
3130
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:509
3131
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:358
3132
  msgid "Made by"
3133
  msgstr ""
3134
 
3135
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:757
3136
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:192
3137
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:597
3138
  #: wpdatatables-lite/templates/admin/support/support.inc.php:45
3139
  #: wpdatatables-lite/templates/admin/support/support.inc.php:86
3140
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:517
@@ -3143,9 +3232,9 @@ msgstr ""
3143
  msgid "Documentation"
3144
  msgstr ""
3145
 
3146
- #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:761
3147
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:196
3148
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:601
3149
  #: wpdatatables-lite/templates/admin/support/support.inc.php:24
3150
  #: wpdatatables-lite/templates/admin/support/support.inc.php:90
3151
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:521
@@ -3220,7 +3309,8 @@ msgstr ""
3220
 
3221
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:102
3222
  msgid ""
3223
- " create dynamic charts in WordPress with Google Charts rendering engine."
 
3224
  msgstr ""
3225
 
3226
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:114
@@ -3271,7 +3361,7 @@ msgid "Lite vs Premium comparison"
3271
  msgstr ""
3272
 
3273
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:52
3274
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:581
3275
  msgid "Go Premium Now"
3276
  msgstr ""
3277
 
@@ -3284,7 +3374,7 @@ msgid "Lite"
3284
  msgstr ""
3285
 
3286
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:64
3287
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:568
3288
  msgid "Premium"
3289
  msgstr ""
3290
 
@@ -3314,9 +3404,10 @@ msgstr ""
3314
 
3315
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:131
3316
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:144
3317
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:280
3318
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:317
3319
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:330
 
 
3320
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:84
3321
  msgid "NEW!"
3322
  msgstr ""
@@ -3366,7 +3457,8 @@ msgid "Global Table Customization"
3366
  msgstr ""
3367
 
3368
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:240
3369
- msgid "WP Bakery, Elementor and Gutenberg support"
 
3370
  msgstr ""
3371
 
3372
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:252
@@ -3374,31 +3466,39 @@ msgid "Creating Google charts"
3374
  msgstr ""
3375
 
3376
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:264
 
 
 
 
 
 
 
 
3377
  msgid "Customize charts"
3378
  msgstr ""
3379
 
3380
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:268
3381
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:562
3382
  msgid "Limited"
3383
  msgstr ""
3384
 
3385
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:270
3386
  msgid "Some options are not available."
3387
  msgstr ""
3388
 
3389
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:366
3390
  msgid "Creating tables where users can see and edit only their own data"
3391
  msgstr ""
3392
 
3393
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:558
3394
  msgid "Support"
3395
  msgstr ""
3396
 
3397
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:564
3398
  msgid "Response time is slow and can be up to 5 business days."
3399
  msgstr ""
3400
 
3401
- #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:575
3402
  msgid ""
3403
  "* Please note that wpDataTables add-ons are not included in premium version "
3404
  "of plugin."
@@ -3407,7 +3507,7 @@ msgstr ""
3407
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:33
3408
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:95
3409
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:25
3410
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1098
3411
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:47
3412
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:48
3413
  #: wpdatatables-lite/templates/admin/table-settings/table_preview_block.inc.php:89
@@ -3417,8 +3517,6 @@ msgid "Save Changes"
3417
  msgstr ""
3418
 
3419
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:44
3420
- #: wpdatatables-lite/templates/settings.inc.php:18
3421
- #: wpdatatables-lite/templates/settings.inc.php:26
3422
  msgid "Main settings"
3423
  msgstr ""
3424
 
@@ -3428,14 +3526,10 @@ msgid "Separate DB connection"
3428
  msgstr ""
3429
 
3430
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:54
3431
- #: wpdatatables-lite/templates/settings.inc.php:19
3432
- #: wpdatatables-lite/templates/settings.inc.php:204
3433
  msgid "Color and font settings"
3434
  msgstr ""
3435
 
3436
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:58
3437
- #: wpdatatables-lite/templates/settings.inc.php:20
3438
- #: wpdatatables-lite/templates/settings.inc.php:446
3439
  msgid "Custom JS and CSS"
3440
  msgstr ""
3441
 
@@ -3444,7 +3538,6 @@ msgid "Google Spreadsheet API settings"
3444
  msgstr ""
3445
 
3446
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:92
3447
- #: wpdatatables-lite/templates/settings.inc.php:434
3448
  msgid "Reset colors and fonts to default"
3449
  msgstr ""
3450
 
@@ -3457,7 +3550,6 @@ msgstr ""
3457
 
3458
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:27
3459
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1525
3460
- #: wpdatatables-lite/templates/settings.inc.php:428
3461
  msgid ""
3462
  "This font will be used in rendered tables. Leave blank not to override "
3463
  "default theme settings"
@@ -3468,14 +3560,6 @@ msgstr ""
3468
  msgid "Define the font size"
3469
  msgstr ""
3470
 
3471
- #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:70
3472
- #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:143
3473
- #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:464
3474
- #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1580
3475
- #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1655
3476
- msgid "Font color"
3477
- msgstr ""
3478
-
3479
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:72
3480
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1583
3481
  msgid "This color is used for the main font in table cells."
@@ -3677,7 +3761,6 @@ msgid "This color will be used for buttons font when you hover above them."
3677
  msgstr ""
3678
 
3679
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:523
3680
- #: wpdatatables-lite/templates/settings.inc.php:401
3681
  msgid "Buttons hover border color"
3682
  msgstr ""
3683
 
@@ -3686,12 +3769,10 @@ msgid "This color will be used for button borders when you hover above them."
3686
  msgstr ""
3687
 
3688
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:543
3689
- #: wpdatatables-lite/templates/settings.inc.php:410
3690
  msgid "Buttons and inputs border radius (in px)"
3691
  msgstr ""
3692
 
3693
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:545
3694
- #: wpdatatables-lite/templates/settings.inc.php:414
3695
  msgid "This is a border radius for inputs in buttons. Default is 3px."
3696
  msgstr ""
3697
 
@@ -3700,7 +3781,6 @@ msgid "Modals and overlay color"
3700
  msgstr ""
3701
 
3702
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:584
3703
- #: wpdatatables-lite/templates/settings.inc.php:374
3704
  msgid "Modals font color"
3705
  msgstr ""
3706
 
@@ -3780,7 +3860,6 @@ msgid "This color is used when you hover the mouse above the other pages."
3780
  msgstr ""
3781
 
3782
  #: wpdatatables-lite/templates/admin/settings/tabs/custom_js_and_css.php:15
3783
- #: wpdatatables-lite/templates/settings.inc.php:454
3784
  msgid "Custom wpDataTables JS"
3785
  msgstr ""
3786
 
@@ -3792,7 +3871,6 @@ msgstr ""
3792
 
3793
  #: wpdatatables-lite/templates/admin/settings/tabs/custom_js_and_css.php:30
3794
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:2086
3795
- #: wpdatatables-lite/templates/settings.inc.php:463
3796
  msgid "Custom wpDataTables CSS"
3797
  msgstr ""
3798
 
@@ -3812,7 +3890,6 @@ msgstr ""
3812
 
3813
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:15
3814
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1468
3815
- #: wpdatatables-lite/templates/settings.inc.php:45
3816
  msgid "Interface language"
3817
  msgstr ""
3818
 
@@ -3827,7 +3904,6 @@ msgid "English (default)"
3827
  msgstr ""
3828
 
3829
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:36
3830
- #: wpdatatables-lite/templates/settings.inc.php:98
3831
  msgid "Date format"
3832
  msgstr ""
3833
 
@@ -3836,7 +3912,6 @@ msgid "Pick the date format to use in date column type."
3836
  msgstr ""
3837
 
3838
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:74
3839
- #: wpdatatables-lite/templates/settings.inc.php:119
3840
  msgid "Time format"
3841
  msgstr ""
3842
 
@@ -3860,7 +3935,6 @@ msgstr ""
3860
 
3861
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:104
3862
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1491
3863
- #: wpdatatables-lite/templates/settings.inc.php:74
3864
  msgid "Base skin"
3865
  msgstr ""
3866
 
@@ -3900,17 +3974,14 @@ msgid "Dark"
3900
  msgstr ""
3901
 
3902
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:125
3903
- #: wpdatatables-lite/templates/settings.inc.php:131
3904
  msgid "Number format"
3905
  msgstr ""
3906
 
3907
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:127
3908
- #: wpdatatables-lite/templates/settings.inc.php:138
3909
  msgid "Pick the number format (thousands and decimals separator)"
3910
  msgstr ""
3911
 
3912
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:144
3913
- #: wpdatatables-lite/templates/settings.inc.php:86
3914
  msgid "Render advanced filter"
3915
  msgstr ""
3916
 
@@ -3921,18 +3992,15 @@ msgid ""
3921
  msgstr ""
3922
 
3923
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:152
3924
- #: wpdatatables-lite/templates/settings.inc.php:90
3925
  msgid "In the header"
3926
  msgstr ""
3927
 
3928
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:153
3929
- #: wpdatatables-lite/templates/settings.inc.php:91
3930
  msgid "In the footer"
3931
  msgstr ""
3932
 
3933
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:161
3934
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:385
3935
- #: wpdatatables-lite/templates/settings.inc.php:143
3936
  msgid "Decimal places"
3937
  msgstr ""
3938
 
@@ -3959,31 +4027,26 @@ msgid ""
3959
  msgstr ""
3960
 
3961
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:217
3962
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:783
3963
- #: wpdatatables-lite/templates/edit_table.inc.php:663
3964
  msgid "Ascending"
3965
  msgstr ""
3966
 
3967
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:218
3968
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:784
3969
- #: wpdatatables-lite/templates/edit_table.inc.php:665
3970
  msgid "Descending"
3971
  msgstr ""
3972
 
3973
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:229
3974
- #: wpdatatables-lite/templates/settings.inc.php:171
3975
  msgid "Tablet width"
3976
  msgstr ""
3977
 
3978
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:231
3979
- #: wpdatatables-lite/templates/settings.inc.php:175
3980
  msgid ""
3981
  "Here you can specify width of the screen (in pixels) that will be treated as "
3982
  "a tablet. You can set it wider if you want responsive effect on desktops."
3983
  msgstr ""
3984
 
3985
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:255
3986
- #: wpdatatables-lite/templates/settings.inc.php:181
3987
  msgid "Mobile width"
3988
  msgstr ""
3989
 
@@ -3992,7 +4055,6 @@ msgid "Here you can specify width (in pixels) will be treated as a mobile.."
3992
  msgstr ""
3993
 
3994
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:282
3995
- #: wpdatatables-lite/templates/settings.inc.php:61
3996
  msgid "Tables per admin page"
3997
  msgstr ""
3998
 
@@ -4009,7 +4071,6 @@ msgid "How Integer and Float column types will be aligned in the cell"
4009
  msgstr ""
4010
 
4011
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:306
4012
- #: wpdatatables-lite/templates/settings.inc.php:161
4013
  msgid "Align numbers to the right"
4014
  msgstr ""
4015
 
@@ -4079,12 +4140,10 @@ msgstr ""
4079
 
4080
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:434
4081
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:440
4082
- #: wpdatatables-lite/templates/settings.inc.php:32
4083
  msgid "Show plugin credentials below tables"
4084
  msgstr ""
4085
 
4086
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:436
4087
- #: wpdatatables-lite/templates/settings.inc.php:32
4088
  msgid ""
4089
  "If you want to support our project, please, keep this checkbox as checked"
4090
  msgstr ""
@@ -4550,7 +4609,6 @@ msgid "End of table"
4550
  msgstr ""
4551
 
4552
  #: wpdatatables-lite/templates/admin/table-settings/add_column_modal.inc.php:85
4553
- #: wpdatatables-lite/templates/edit_table.inc.php:542
4554
  msgid "Possible values"
4555
  msgstr ""
4556
 
@@ -4591,12 +4649,10 @@ msgid "Editing"
4591
  msgstr ""
4592
 
4593
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:72
4594
- #: wpdatatables-lite/templates/edit_table.inc.php:525
4595
  msgid "Displayed header"
4596
  msgstr ""
4597
 
4598
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:86
4599
- #: wpdatatables-lite/templates/edit_table.inc.php:696
4600
  msgid "Column position"
4601
  msgstr ""
4602
 
@@ -4625,7 +4681,6 @@ msgid ""
4625
  msgstr ""
4626
 
4627
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:176
4628
- #: wpdatatables-lite/templates/edit_table.inc.php:633
4629
  msgid "Hide on mobiles"
4630
  msgstr ""
4631
 
@@ -4634,7 +4689,6 @@ msgid "Collapse column on mobile devices"
4634
  msgstr ""
4635
 
4636
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:192
4637
- #: wpdatatables-lite/templates/edit_table.inc.php:622
4638
  msgid "Hide on tablets"
4639
  msgstr ""
4640
 
@@ -4643,7 +4697,6 @@ msgid "Collapse column on tablet devices"
4643
  msgstr ""
4644
 
4645
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:214
4646
- #: wpdatatables-lite/templates/edit_table.inc.php:533
4647
  msgid "CSS class(es)"
4648
  msgstr ""
4649
 
@@ -4670,7 +4723,6 @@ msgstr ""
4670
 
4671
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:300
4672
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:308
4673
- #: wpdatatables-lite/templates/edit_table.inc.php:645
4674
  msgid "Group column"
4675
  msgstr ""
4676
 
@@ -4694,7 +4746,6 @@ msgid "Toggle column grouping"
4694
  msgstr ""
4695
 
4696
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:343
4697
- #: wpdatatables-lite/templates/edit_table.inc.php:582
4698
  msgid "Column type"
4699
  msgstr ""
4700
 
@@ -4714,12 +4765,12 @@ msgid "DateTime"
4714
  msgstr ""
4715
 
4716
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:358
4717
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:987
4718
  msgid "URL link"
4719
  msgstr ""
4720
 
4721
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:359
4722
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:988
4723
  msgid "E-mail link"
4724
  msgstr ""
4725
 
@@ -4751,7 +4802,6 @@ msgstr ""
4751
 
4752
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:405
4753
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:413
4754
- #: wpdatatables-lite/templates/edit_table.inc.php:684
4755
  msgid "Skip thousands separator"
4756
  msgstr ""
4757
 
@@ -4968,209 +5018,218 @@ msgid "Button class"
4968
  msgstr ""
4969
 
4970
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:712
4971
- msgid "URL relation attribute"
4972
  msgstr ""
4973
 
4974
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:714
 
 
4975
  msgid "Set the link relation"
4976
  msgstr ""
4977
 
4978
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:740
 
 
 
 
 
 
 
 
4979
  msgid "Allow sorting"
4980
  msgstr ""
4981
 
4982
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:742
4983
  msgid "Disable this to disallow sorting for this column."
4984
  msgstr ""
4985
 
4986
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:748
4987
  msgid "Allow sorting for this column"
4988
  msgstr ""
4989
 
4990
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:755
4991
  msgid "Use as default sorting column"
4992
  msgstr ""
4993
 
4994
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:757
4995
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:763
4996
  msgid "Sort table by this column on load"
4997
  msgstr ""
4998
 
4999
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:774
5000
  msgid "Default sorting direction"
5001
  msgstr ""
5002
 
5003
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:776
5004
  msgid "Choose whether to sort ascending or descending by default."
5005
  msgstr ""
5006
 
5007
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:803
5008
  msgid "Add a filter for this column"
5009
  msgstr ""
5010
 
5011
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:811
5012
  msgid "Enable filtering for column"
5013
  msgstr ""
5014
 
5015
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:818
5016
  msgid ""
5017
  "Enabling this switch will add a filter for this column. Disable to remove "
5018
  "the filter for this column."
5019
  msgstr ""
5020
 
5021
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:827
5022
  msgid "Allow filtering"
5023
  msgstr ""
5024
 
5025
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:834
5026
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:682
5027
  msgid "Global search"
5028
  msgstr ""
5029
 
5030
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:836
5031
  msgid ""
5032
  "If this option is turned off, the column data will not appear in your global "
5033
  "search results."
5034
  msgstr ""
5035
 
5036
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:842
5037
  msgid "Enable this column in Global search"
5038
  msgstr ""
5039
 
5040
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:850
5041
- #: wpdatatables-lite/templates/edit_table.inc.php:570
5042
  msgid "Filter type"
5043
  msgstr ""
5044
 
5045
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:852
5046
  msgid ""
5047
  "You can redefine the filter type here, it will affect the filtering logic."
5048
  msgstr ""
5049
 
5050
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:859
5051
  msgid "Text"
5052
  msgstr ""
5053
 
5054
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:860
5055
  msgid "Number"
5056
  msgstr ""
5057
 
5058
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:861
5059
  msgid "Number range"
5060
  msgstr ""
5061
 
5062
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:862
5063
  msgid "Date range"
5064
  msgstr ""
5065
 
5066
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:863
5067
  msgid "DateTime range"
5068
  msgstr ""
5069
 
5070
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:864
5071
  msgid "Time range"
5072
  msgstr ""
5073
 
5074
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:865
5075
  msgid "Selectbox"
5076
  msgstr ""
5077
 
5078
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:866
5079
  msgid "Checkbox"
5080
  msgstr ""
5081
 
5082
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:877
5083
  msgid "Filter label"
5084
  msgstr ""
5085
 
5086
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:885
5087
  msgid "Custom filter label"
5088
  msgstr ""
5089
 
5090
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:892
5091
  msgid ""
5092
  "You can change the filter label (placeholder) for this column here, if you "
5093
  "would like to show some custom text instead of default."
5094
  msgstr ""
5095
 
5096
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:907
5097
  msgid "Exact filtering"
5098
  msgstr ""
5099
 
5100
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:909
5101
  msgid ""
5102
  "Enable exact search to use exact match logic for filtering, disable to allow "
5103
  "partial match."
5104
  msgstr ""
5105
 
5106
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:915
5107
  msgid "Enable exact filtering"
5108
  msgstr ""
5109
 
5110
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:922
5111
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1019
5112
  msgid "Predefined value(s)"
5113
  msgstr ""
5114
 
5115
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:924
5116
  msgid ""
5117
  "Define value(s) that will be set as default pre-defined filter value(s) on "
5118
  "page load."
5119
  msgstr ""
5120
 
5121
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:970
5122
  msgid "Editor input type"
5123
  msgstr ""
5124
 
5125
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:972
5126
  msgid "Choose which kind of editor input to use for this column."
5127
  msgstr ""
5128
 
5129
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:978
5130
  msgid "None"
5131
  msgstr ""
5132
 
5133
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:979
5134
  msgid "One-line edit"
5135
  msgstr ""
5136
 
5137
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:980
5138
  msgid "Multi-line edit"
5139
  msgstr ""
5140
 
5141
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:981
5142
  msgid "HTML editor"
5143
  msgstr ""
5144
 
5145
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:982
5146
  msgid "Single-value selectbox"
5147
  msgstr ""
5148
 
5149
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:983
5150
  msgid "Multi-value selectbox"
5151
  msgstr ""
5152
 
5153
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:999
5154
  msgid "Column cannot be empty"
5155
  msgstr ""
5156
 
5157
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1001
5158
  msgid ""
5159
  "Enable to make this column mandatory. Users will see a warning when trying "
5160
  "to save with empty input."
5161
  msgstr ""
5162
 
5163
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1007
5164
  msgid "Cannot be empty"
5165
  msgstr ""
5166
 
5167
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1021
5168
  msgid ""
5169
  "If you would like to have some values pre-defined in editors (i.e. default "
5170
  "editor values) please enter these here."
5171
  msgstr ""
5172
 
5173
- #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1067
5174
  msgid "Add New Rule"
5175
  msgstr ""
5176
 
@@ -5204,80 +5263,62 @@ msgstr ""
5204
  #: wpdatatables-lite/templates/admin/table-settings/columns_list_modal.inc.php:37
5205
  #: wpdatatables-lite/templates/admin/table-settings/foreign_key_config.inc.php:98
5206
  #: wpdatatables-lite/templates/admin/table-settings/formula_editor_modal.inc.php:93
5207
- #: wpdatatables-lite/templates/edit_table.inc.php:34
5208
- #: wpdatatables-lite/templates/edit_table.inc.php:416
5209
- #: wpdatatables-lite/templates/edit_table.inc.php:435
5210
- #: wpdatatables-lite/templates/edit_table.inc.php:458
5211
  msgid "Save"
5212
  msgstr ""
5213
 
5214
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:7
5215
- #: wpdatatables-lite/templates/edit_table.inc.php:770
5216
  msgid "If cell value"
5217
  msgstr ""
5218
 
5219
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:18
5220
- #: wpdatatables-lite/templates/edit_table.inc.php:778
5221
  msgid "contains"
5222
  msgstr ""
5223
 
5224
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:19
5225
- #: wpdatatables-lite/templates/edit_table.inc.php:779
5226
  msgid "does not contain"
5227
  msgstr ""
5228
 
5229
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:32
5230
- #: wpdatatables-lite/templates/edit_table.inc.php:783
5231
  msgid "Set cell color"
5232
  msgstr ""
5233
 
5234
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:33
5235
- #: wpdatatables-lite/templates/edit_table.inc.php:784
5236
  msgid "Reset cell color to default"
5237
  msgstr ""
5238
 
5239
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:34
5240
- #: wpdatatables-lite/templates/edit_table.inc.php:785
5241
  msgid "Set cell content"
5242
  msgstr ""
5243
 
5244
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:35
5245
- #: wpdatatables-lite/templates/edit_table.inc.php:786
5246
  msgid "Set cell CSS class"
5247
  msgstr ""
5248
 
5249
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:36
5250
- #: wpdatatables-lite/templates/edit_table.inc.php:787
5251
  msgid "Remove cell CSS class"
5252
  msgstr ""
5253
 
5254
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:37
5255
- #: wpdatatables-lite/templates/edit_table.inc.php:788
5256
  msgid "Set row color"
5257
  msgstr ""
5258
 
5259
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:38
5260
- #: wpdatatables-lite/templates/edit_table.inc.php:789
5261
  msgid "Reset row color to default"
5262
  msgstr ""
5263
 
5264
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:39
5265
- #: wpdatatables-lite/templates/edit_table.inc.php:790
5266
  msgid "Set row CSS class"
5267
  msgstr ""
5268
 
5269
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:40
5270
- #: wpdatatables-lite/templates/edit_table.inc.php:791
5271
  msgid "Remove row CSS class"
5272
  msgstr ""
5273
 
5274
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:41
5275
- #: wpdatatables-lite/templates/edit_table.inc.php:792
5276
  msgid "Set column color"
5277
  msgstr ""
5278
 
5279
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:42
5280
- #: wpdatatables-lite/templates/edit_table.inc.php:793
5281
  msgid "Add column CSS class"
5282
  msgstr ""
5283
 
@@ -5343,11 +5384,6 @@ msgid "Type your formula here..."
5343
  msgstr ""
5344
 
5345
  #: wpdatatables-lite/templates/admin/table-settings/formula_editor_modal.inc.php:85
5346
- #: wpdatatables-lite/templates/chart_wizard.inc.php:48
5347
- #: wpdatatables-lite/templates/edit_table.inc.php:35
5348
- #: wpdatatables-lite/templates/edit_table.inc.php:417
5349
- #: wpdatatables-lite/templates/edit_table.inc.php:438
5350
- #: wpdatatables-lite/templates/edit_table.inc.php:461
5351
  msgid "Preview"
5352
  msgstr ""
5353
 
@@ -5580,13 +5616,11 @@ msgstr ""
5580
 
5581
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:338
5582
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:211
5583
- #: wpdatatables-lite/templates/edit_table.inc.php:58
5584
  msgid "Table title"
5585
  msgstr ""
5586
 
5587
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:346
5588
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:219
5589
- #: wpdatatables-lite/templates/edit_table.inc.php:67
5590
  msgid "Show table title"
5591
  msgstr ""
5592
 
@@ -5695,7 +5729,6 @@ msgid "Enable responsive mode"
5695
  msgstr ""
5696
 
5697
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:533
5698
- #: wpdatatables-lite/templates/edit_table.inc.php:311
5699
  msgid "Scrollable"
5700
  msgstr ""
5701
 
@@ -5735,7 +5768,6 @@ msgstr ""
5735
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:595
5736
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:469
5737
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:477
5738
- #: wpdatatables-lite/templates/edit_table.inc.php:392
5739
  msgid "Word wrap"
5740
  msgstr ""
5741
 
@@ -5837,12 +5869,10 @@ msgid "SQL query "
5837
  msgstr ""
5838
 
5839
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:113
5840
- #: wpdatatables-lite/templates/edit_table.inc.php:85
5841
  msgid "CSV file"
5842
  msgstr ""
5843
 
5844
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:114
5845
- #: wpdatatables-lite/templates/edit_table.inc.php:86
5846
  msgid "Excel file"
5847
  msgstr ""
5848
 
@@ -5851,12 +5881,10 @@ msgid "Google Spreadsheet "
5851
  msgstr ""
5852
 
5853
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:118
5854
- #: wpdatatables-lite/templates/edit_table.inc.php:89
5855
  msgid "XML file"
5856
  msgstr ""
5857
 
5858
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:119
5859
- #: wpdatatables-lite/templates/edit_table.inc.php:90
5860
  msgid "JSON file"
5861
  msgstr ""
5862
 
@@ -5900,7 +5928,6 @@ msgid ""
5900
  msgstr ""
5901
 
5902
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:186
5903
- #: wpdatatables-lite/templates/edit_table.inc.php:292
5904
  msgid "Auto-refresh"
5905
  msgstr ""
5906
 
@@ -6113,7 +6140,6 @@ msgid "Filters in a form"
6113
  msgstr ""
6114
 
6115
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:718
6116
- #: wpdatatables-lite/templates/edit_table.inc.php:340
6117
  msgid "Filter in form"
6118
  msgstr ""
6119
 
@@ -6132,7 +6158,6 @@ msgid "Clear filters button"
6132
  msgstr ""
6133
 
6134
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:749
6135
- #: wpdatatables-lite/templates/frontend/filter_form.inc.php:32
6136
  msgid "Clear filters"
6137
  msgstr ""
6138
 
@@ -6161,7 +6186,6 @@ msgid "Allow editing"
6161
  msgstr ""
6162
 
6163
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:800
6164
- #: wpdatatables-lite/templates/edit_table.inc.php:180
6165
  msgid "Front-end editing"
6166
  msgstr ""
6167
 
@@ -6178,7 +6202,6 @@ msgid "Popover edit block"
6178
  msgstr ""
6179
 
6180
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:831
6181
- #: wpdatatables-lite/templates/edit_table.inc.php:232
6182
  msgid "Popover tools"
6183
  msgstr ""
6184
 
@@ -6209,7 +6232,6 @@ msgid "Allow in-line editing"
6209
  msgstr ""
6210
 
6211
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:892
6212
- #: wpdatatables-lite/templates/edit_table.inc.php:192
6213
  msgid "MySQL table name for editing"
6214
  msgstr ""
6215
 
@@ -6223,7 +6245,6 @@ msgid "MySQL table name"
6223
  msgstr ""
6224
 
6225
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:908
6226
- #: wpdatatables-lite/templates/edit_table.inc.php:203
6227
  msgid "ID column for editing"
6228
  msgstr ""
6229
 
@@ -6236,7 +6257,6 @@ msgid ""
6236
  msgstr ""
6237
 
6238
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:924
6239
- #: wpdatatables-lite/templates/edit_table.inc.php:267
6240
  msgid "Editor roles"
6241
  msgstr ""
6242
 
@@ -6289,7 +6309,6 @@ msgid "Limit editing to own data only"
6289
  msgstr ""
6290
 
6291
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:982
6292
- #: wpdatatables-lite/templates/edit_table.inc.php:250
6293
  msgid "User ID column"
6294
  msgstr ""
6295
 
@@ -6301,7 +6320,6 @@ msgid ""
6301
  msgstr ""
6302
 
6303
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1017
6304
- #: wpdatatables-lite/templates/edit_table.inc.php:350
6305
  msgid "Table tools"
6306
  msgstr ""
6307
 
@@ -6525,7 +6543,7 @@ msgstr ""
6525
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:54
6526
  msgid ""
6527
  "wpDataTables is a best-selling WordPress table plugin which makes your work "
6528
- "with tables, charts and data management easy. 50,000+ companies."
6529
  msgstr ""
6530
 
6531
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:62
@@ -6543,7 +6561,7 @@ msgid "Available in Lite "
6543
  msgstr ""
6544
 
6545
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:107
6546
- msgid "Create charts with Google Charts"
6547
  msgstr ""
6548
 
6549
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:125
@@ -6653,915 +6671,6 @@ msgid ""
6653
  "website."
6654
  msgstr ""
6655
 
6656
- #: wpdatatables-lite/templates/browse.inc.php:8
6657
- msgid "Add new"
6658
- msgstr ""
6659
-
6660
- #: wpdatatables-lite/templates/browse.inc.php:39
6661
- #: wpdatatables-lite/templates/browse.inc.php:101
6662
- msgid "Are you sure"
6663
- msgstr ""
6664
-
6665
- #: wpdatatables-lite/templates/browse.inc.php:57
6666
- msgid "copy"
6667
- msgstr ""
6668
-
6669
- #: wpdatatables-lite/templates/chart_wizard.inc.php:16
6670
- msgid "wpDataTables documentation on Charts"
6671
- msgstr ""
6672
-
6673
- #: wpdatatables-lite/templates/chart_wizard.inc.php:17
6674
- msgid "wpDataTables Chart Wizard"
6675
- msgstr ""
6676
-
6677
- #: wpdatatables-lite/templates/chart_wizard.inc.php:24
6678
- #: wpdatatables-lite/templates/constructor.inc.php:19
6679
- #: wpdatatables-lite/templates/edit_table.inc.php:30
6680
- #: wpdatatables-lite/templates/edit_table.inc.php:431
6681
- #: wpdatatables-lite/templates/settings.inc.php:24
6682
- #: wpdatatables-lite/templates/settings.inc.php:202
6683
- #: wpdatatables-lite/templates/settings.inc.php:444
6684
- msgid "Click to toggle"
6685
- msgstr ""
6686
-
6687
- #: wpdatatables-lite/templates/chart_wizard.inc.php:26
6688
- msgid "Chart Creation Wizard"
6689
- msgstr ""
6690
-
6691
- #: wpdatatables-lite/templates/chart_wizard.inc.php:44
6692
- msgid "Formatting"
6693
- msgstr ""
6694
-
6695
- #: wpdatatables-lite/templates/chart_wizard.inc.php:59
6696
- msgid "Chart title, rendering engine and type"
6697
- msgstr ""
6698
-
6699
- #: wpdatatables-lite/templates/chart_wizard.inc.php:66
6700
- msgid "What is the title of the chart that you will use to identify it?"
6701
- msgstr ""
6702
-
6703
- #: wpdatatables-lite/templates/chart_wizard.inc.php:88
6704
- msgid "Pick a Google chart type"
6705
- msgstr ""
6706
-
6707
- #: wpdatatables-lite/templates/chart_wizard.inc.php:106
6708
- msgid "Pick a Highcharts chart type"
6709
- msgstr ""
6710
-
6711
  #: wpdatatables-lite/templates/common/delete_modal.inc.php:28
6712
  msgid "Please confirm deletion. There is no undo!"
6713
  msgstr ""
6714
-
6715
- #: wpdatatables-lite/templates/constructor.inc.php:14
6716
- msgid "wpDataTables documentation on Table Consturctor"
6717
- msgstr ""
6718
-
6719
- #: wpdatatables-lite/templates/constructor.inc.php:14
6720
- #: wpdatatables-lite/templates/edit_table.inc.php:11
6721
- msgid "if you have some questions or problems."
6722
- msgstr ""
6723
-
6724
- #: wpdatatables-lite/templates/constructor.inc.php:15
6725
- msgid "wpDataTable constructor"
6726
- msgstr ""
6727
-
6728
- #: wpdatatables-lite/templates/constructor.inc.php:21
6729
- msgid "Table Creation Wizard"
6730
- msgstr ""
6731
-
6732
- #: wpdatatables-lite/templates/edit_table.inc.php:11
6733
- msgid "wpDataTables documentation on this page"
6734
- msgstr ""
6735
-
6736
- #: wpdatatables-lite/templates/edit_table.inc.php:19
6737
- msgid "To insert the table on your page use the shortcode"
6738
- msgstr ""
6739
-
6740
- #: wpdatatables-lite/templates/edit_table.inc.php:32
6741
- msgid "Data source and main settings"
6742
- msgstr ""
6743
-
6744
- #: wpdatatables-lite/templates/edit_table.inc.php:46
6745
- msgid "General setup"
6746
- msgstr ""
6747
-
6748
- #: wpdatatables-lite/templates/edit_table.inc.php:62
6749
- msgid "If you want to display a header above your table, enter it here"
6750
- msgstr ""
6751
-
6752
- #: wpdatatables-lite/templates/edit_table.inc.php:71
6753
- msgid "Uncheck if you do not want to show the table title on the page"
6754
- msgstr ""
6755
-
6756
- #: wpdatatables-lite/templates/edit_table.inc.php:77
6757
- msgid "Table type"
6758
- msgstr ""
6759
-
6760
- #: wpdatatables-lite/templates/edit_table.inc.php:81
6761
- msgid "Select a table type..."
6762
- msgstr ""
6763
-
6764
- #: wpdatatables-lite/templates/edit_table.inc.php:83
6765
- msgid ""
6766
- "MySQL\n"
6767
- "\t\t\t\t\t\t\t\t\t\t\t\t\t\tquery"
6768
- msgstr ""
6769
-
6770
- #: wpdatatables-lite/templates/edit_table.inc.php:93
6771
- msgid "Choose a type of input source for your table"
6772
- msgstr ""
6773
-
6774
- #: wpdatatables-lite/templates/edit_table.inc.php:99
6775
- msgid "Edit data"
6776
- msgstr ""
6777
-
6778
- #: wpdatatables-lite/templates/edit_table.inc.php:102
6779
- msgid "Go to editor"
6780
- msgstr ""
6781
-
6782
- #: wpdatatables-lite/templates/edit_table.inc.php:103
6783
- msgid "Go to Excel-like editor"
6784
- msgstr ""
6785
-
6786
- #: wpdatatables-lite/templates/edit_table.inc.php:104
6787
- msgid "Open the table in back-end editor to modify table data"
6788
- msgstr ""
6789
-
6790
- #: wpdatatables-lite/templates/edit_table.inc.php:110
6791
- msgid ""
6792
- "Enter MySQL SELECT query that will return the data for your wpDataTable. "
6793
- "Make sure that this query works and returns data. If you are not sure what "
6794
- "is a MySQL query please consider using Excel data source, or spend some time "
6795
- "reading MySQL manuals"
6796
- msgstr ""
6797
-
6798
- #: wpdatatables-lite/templates/edit_table.inc.php:110
6799
- msgid "MySQL query"
6800
- msgstr ""
6801
-
6802
- #: wpdatatables-lite/templates/edit_table.inc.php:116
6803
- msgid ""
6804
- "Enter the text of your MySQL query here. You can use a number of "
6805
- "placeholders to make the dataset in the table flexible and be able to return "
6806
- "different sets of data by calling it with different shortcodes"
6807
- msgstr ""
6808
-
6809
- #: wpdatatables-lite/templates/edit_table.inc.php:117
6810
- msgid "MySQL query placeholders (toggle show/hide)"
6811
- msgstr ""
6812
-
6813
- #: wpdatatables-lite/templates/edit_table.inc.php:121
6814
- msgid "Placeholder"
6815
- msgstr ""
6816
-
6817
- #: wpdatatables-lite/templates/edit_table.inc.php:122
6818
- msgid "Description, example"
6819
- msgstr ""
6820
-
6821
- #: wpdatatables-lite/templates/edit_table.inc.php:123
6822
- msgid "Define default for table generation"
6823
- msgstr ""
6824
-
6825
- #: wpdatatables-lite/templates/edit_table.inc.php:130
6826
- msgid ""
6827
- "Returns the numeric value of the currently logged in user ID (wp_users "
6828
- "table). Returns 0 for non-logged in users. If your current user does not "
6829
- "have rows in the table you can redefine it here (it will not be stored, used "
6830
- "only to read the table structure)."
6831
- msgstr ""
6832
-
6833
- #: wpdatatables-lite/templates/edit_table.inc.php:131
6834
- msgid "Example: SELECT * FROM mytable WHERE user_id = %CURRENT_USER_ID%"
6835
- msgstr ""
6836
-
6837
- #: wpdatatables-lite/templates/edit_table.inc.php:138
6838
- msgid ""
6839
- "Variable for using in the shortcode. Can be used in filter values. It is "
6840
- "necessary for wpDataTables to retrieve actual data from the DB at the moment "
6841
- "of wpDataTable generation to read the columns structure, so make sure the "
6842
- "query returns something. You can define the default variables values here, "
6843
- "they will be used for table creation, and as defaults if not defined in "
6844
- "shortcode."
6845
- msgstr ""
6846
-
6847
- #: wpdatatables-lite/templates/edit_table.inc.php:139
6848
- msgid ""
6849
- "Example: SELECT * FROM mytable WHERE mycolumn >= %VAR1% AND mycolumn <= "
6850
- "%VAR2%"
6851
- msgstr ""
6852
-
6853
- #: wpdatatables-lite/templates/edit_table.inc.php:146
6854
- #: wpdatatables-lite/templates/edit_table.inc.php:153
6855
- msgid "Variable for using in the shortcode."
6856
- msgstr ""
6857
-
6858
- #: wpdatatables-lite/templates/edit_table.inc.php:160
6859
- msgid ""
6860
- "Prefix of the current WordPress DB installation. Defaults to \"wp_\", but "
6861
- "may be different if defined so in WordPress config."
6862
- msgstr ""
6863
-
6864
- #: wpdatatables-lite/templates/edit_table.inc.php:170
6865
- msgid "Input file or URL"
6866
- msgstr ""
6867
-
6868
- #: wpdatatables-lite/templates/edit_table.inc.php:175
6869
- msgid "Upload your file or provide the full URL here"
6870
- msgstr ""
6871
-
6872
- #: wpdatatables-lite/templates/edit_table.inc.php:175
6873
- msgid ""
6874
- "It is allowed to use placeholders (variables) in URLs. Read about "
6875
- "placeholders "
6876
- msgstr ""
6877
-
6878
- #: wpdatatables-lite/templates/edit_table.inc.php:175
6879
- msgid "here."
6880
- msgstr ""
6881
-
6882
- #: wpdatatables-lite/templates/edit_table.inc.php:175
6883
- msgid "For CSV or Excel input sources only uploaded files are supported"
6884
- msgstr ""
6885
-
6886
- #: wpdatatables-lite/templates/edit_table.inc.php:175
6887
- msgid ""
6888
- "For Google Spreadsheets: please do not forget to publish the spreadsheet "
6889
- "before pasting the URL"
6890
- msgstr ""
6891
-
6892
- #: wpdatatables-lite/templates/edit_table.inc.php:186
6893
- msgid "Make table editable from the front-end"
6894
- msgstr ""
6895
-
6896
- #: wpdatatables-lite/templates/edit_table.inc.php:186
6897
- msgid ""
6898
- "Works only for MySQL-based tables with server-side processing, and can only "
6899
- "update one table on MySQL side"
6900
- msgstr ""
6901
-
6902
- #: wpdatatables-lite/templates/edit_table.inc.php:187
6903
- msgid ""
6904
- "Please save the table first so wpDataTables would read the columns data so "
6905
- "that feature would become available."
6906
- msgstr ""
6907
-
6908
- #: wpdatatables-lite/templates/edit_table.inc.php:198
6909
- msgid "Name of the MySQL table which will be used for updates from front-end"
6910
- msgstr ""
6911
-
6912
- #: wpdatatables-lite/templates/edit_table.inc.php:207
6913
- #: wpdatatables-lite/templates/edit_table.inc.php:254
6914
- msgid ""
6915
- "Please save the table first so wpDataTables would initialize the columns"
6916
- msgstr ""
6917
-
6918
- #: wpdatatables-lite/templates/edit_table.inc.php:210
6919
- msgid "Please choose an ID column for editing..."
6920
- msgstr ""
6921
-
6922
- #: wpdatatables-lite/templates/edit_table.inc.php:217
6923
- msgid ""
6924
- "Please choose a column, values from which will be used as row unique "
6925
- "identifier. MUST be auto-increment integer on MySQL side so insert/edit/"
6926
- "delete would work correctly!"
6927
- msgstr ""
6928
-
6929
- #: wpdatatables-lite/templates/edit_table.inc.php:218
6930
- msgid ""
6931
- "wpDataTables will guess the correct column if it is called \"id\" or \"ID\" "
6932
- "on MySQL side"
6933
- msgstr ""
6934
-
6935
- #: wpdatatables-lite/templates/edit_table.inc.php:223
6936
- msgid "Inline editing"
6937
- msgstr ""
6938
-
6939
- #: wpdatatables-lite/templates/edit_table.inc.php:227
6940
- msgid ""
6941
- "Check this checkbox if you would like to be able to edit the table data "
6942
- "inline, by double-clicking a cell, not only in a modal dialog"
6943
- msgstr ""
6944
-
6945
- #: wpdatatables-lite/templates/edit_table.inc.php:236
6946
- msgid ""
6947
- "Check this checkbox if you would like to get the New, Edit and Delete "
6948
- "buttons in a popover on click on a table row, instead of in TableTools block "
6949
- "above the table"
6950
- msgstr ""
6951
-
6952
- #: wpdatatables-lite/templates/edit_table.inc.php:241
6953
- msgid "Users see and edit only their data"
6954
- msgstr ""
6955
-
6956
- #: wpdatatables-lite/templates/edit_table.inc.php:245
6957
- msgid "Limit editing to user's own data only"
6958
- msgstr ""
6959
-
6960
- #: wpdatatables-lite/templates/edit_table.inc.php:245
6961
- msgid ""
6962
- "Set this to checked if you would like front-end users to see and edit only "
6963
- "their own data, i.e. rows with their WordPress user ID"
6964
- msgstr ""
6965
-
6966
- #: wpdatatables-lite/templates/edit_table.inc.php:257
6967
- msgid "Please choose a user ID column..."
6968
- msgstr ""
6969
-
6970
- #: wpdatatables-lite/templates/edit_table.inc.php:271
6971
- msgid "Choose roles"
6972
- msgstr ""
6973
-
6974
- #: wpdatatables-lite/templates/edit_table.inc.php:272
6975
- msgid ""
6976
- "Roles which are allowed to edit the table (leave blank to alllow editing for "
6977
- "everyone)"
6978
- msgstr ""
6979
-
6980
- #: wpdatatables-lite/templates/edit_table.inc.php:277
6981
- msgid "Additional settings"
6982
- msgstr ""
6983
-
6984
- #: wpdatatables-lite/templates/edit_table.inc.php:287
6985
- msgid ""
6986
- "Server-side processing for MySQL-based tables. Required for front-end editing"
6987
- msgstr ""
6988
-
6989
- #: wpdatatables-lite/templates/edit_table.inc.php:296
6990
- msgid ""
6991
- "Auto-refresh interval in seconds for tables with server-side processing. "
6992
- "Leave blank or zero to disable auto-refresh."
6993
- msgstr ""
6994
-
6995
- #: wpdatatables-lite/templates/edit_table.inc.php:306
6996
- msgid ""
6997
- "Check this checkbox if you would like this table to be responsive - display "
6998
- "differently on desktops, tablets and mobiles"
6999
- msgstr ""
7000
-
7001
- #: wpdatatables-lite/templates/edit_table.inc.php:315
7002
- msgid ""
7003
- "Check this checkbox if you would like this table to be horizontal scrollable"
7004
- msgstr ""
7005
-
7006
- #: wpdatatables-lite/templates/edit_table.inc.php:320
7007
- msgid "Hide table until page is completely loaded"
7008
- msgstr ""
7009
-
7010
- #: wpdatatables-lite/templates/edit_table.inc.php:324
7011
- msgid ""
7012
- "Check this checkbox if you would prevent table from showing until the page "
7013
- "loads completely. May be useful for slowly loading pages"
7014
- msgstr ""
7015
-
7016
- #: wpdatatables-lite/templates/edit_table.inc.php:335
7017
- msgid ""
7018
- "Check this checkbox if you would like to have a filter below each column"
7019
- msgstr ""
7020
-
7021
- #: wpdatatables-lite/templates/edit_table.inc.php:345
7022
- msgid ""
7023
- "Check this checkbox if you would like to have the advanced filter in a form"
7024
- msgstr ""
7025
-
7026
- #: wpdatatables-lite/templates/edit_table.inc.php:354
7027
- msgid ""
7028
- "Check this checkbox if you would like to have the table tools (copy, save to "
7029
- "excel, save to CSV, etc) enabled for this table"
7030
- msgstr ""
7031
-
7032
- #: wpdatatables-lite/templates/edit_table.inc.php:361
7033
- msgid "Configure table tools (toggle show/hide)"
7034
- msgstr ""
7035
-
7036
- #: wpdatatables-lite/templates/edit_table.inc.php:363
7037
- msgid "Show column visibility button"
7038
- msgstr ""
7039
-
7040
- #: wpdatatables-lite/templates/edit_table.inc.php:364
7041
- msgid "Show print button"
7042
- msgstr ""
7043
-
7044
- #: wpdatatables-lite/templates/edit_table.inc.php:365
7045
- msgid "Show copy to clipboard button"
7046
- msgstr ""
7047
-
7048
- #: wpdatatables-lite/templates/edit_table.inc.php:366
7049
- msgid "Show Excel export button"
7050
- msgstr ""
7051
-
7052
- #: wpdatatables-lite/templates/edit_table.inc.php:367
7053
- msgid "Show CSV export button"
7054
- msgstr ""
7055
-
7056
- #: wpdatatables-lite/templates/edit_table.inc.php:368
7057
- msgid "Show PDF export button"
7058
- msgstr ""
7059
-
7060
- #: wpdatatables-lite/templates/edit_table.inc.php:374
7061
- msgid "Enable sorting"
7062
- msgstr ""
7063
-
7064
- #: wpdatatables-lite/templates/edit_table.inc.php:378
7065
- msgid ""
7066
- "Check this checkbox if you would like to have sorting feature in your table"
7067
- msgstr ""
7068
-
7069
- #: wpdatatables-lite/templates/edit_table.inc.php:383
7070
- msgid "Limit table layout"
7071
- msgstr ""
7072
-
7073
- #: wpdatatables-lite/templates/edit_table.inc.php:387
7074
- #, php-format
7075
- msgid ""
7076
- "Check this checkbox if you would like to limit the table's width to 100% of "
7077
- "parent container (div)"
7078
- msgstr ""
7079
-
7080
- #: wpdatatables-lite/templates/edit_table.inc.php:396
7081
- msgid ""
7082
- "Check this checkbox if you would like words in cells to wrap and to extend "
7083
- "row's height. Leave unchecked if you want to leave one-line row heights."
7084
- msgstr ""
7085
-
7086
- #: wpdatatables-lite/templates/edit_table.inc.php:401
7087
- msgid "Display length"
7088
- msgstr ""
7089
-
7090
- #: wpdatatables-lite/templates/edit_table.inc.php:405
7091
- #: wpdatatables-lite/templates/edit_table.inc.php:406
7092
- #: wpdatatables-lite/templates/edit_table.inc.php:407
7093
- #: wpdatatables-lite/templates/edit_table.inc.php:408
7094
- msgid "entries"
7095
- msgstr ""
7096
-
7097
- #: wpdatatables-lite/templates/edit_table.inc.php:411
7098
- msgid ""
7099
- "This options defines the default number of entries on the page for this table"
7100
- msgstr ""
7101
-
7102
- #: wpdatatables-lite/templates/edit_table.inc.php:433
7103
- msgid "Optional column setup"
7104
- msgstr ""
7105
-
7106
- #: wpdatatables-lite/templates/edit_table.inc.php:436
7107
- #: wpdatatables-lite/templates/edit_table.inc.php:459
7108
- msgid "Ungroup"
7109
- msgstr ""
7110
-
7111
- #: wpdatatables-lite/templates/edit_table.inc.php:437
7112
- #: wpdatatables-lite/templates/edit_table.inc.php:460
7113
- msgid "Add formula..."
7114
- msgstr ""
7115
-
7116
- #: wpdatatables-lite/templates/edit_table.inc.php:448
7117
- msgid ""
7118
- "You can change the column settings in this step, but this is not required, "
7119
- "since default options have already been generated for you"
7120
- msgstr ""
7121
-
7122
- #: wpdatatables-lite/templates/edit_table.inc.php:449
7123
- msgid "Warning"
7124
- msgstr ""
7125
-
7126
- #: wpdatatables-lite/templates/edit_table.inc.php:449
7127
- msgid ""
7128
- "If you change the table settings, save the table before modifying the column "
7129
- "settings, because the column set can be changed and you may lose your changes"
7130
- msgstr ""
7131
-
7132
- #: wpdatatables-lite/templates/edit_table.inc.php:484
7133
- msgid "Merge values"
7134
- msgstr ""
7135
-
7136
- #: wpdatatables-lite/templates/edit_table.inc.php:485
7137
- msgid "There are already defined possible values."
7138
- msgstr ""
7139
-
7140
- #: wpdatatables-lite/templates/edit_table.inc.php:486
7141
- msgid "Do you want to merge new values with existing?"
7142
- msgstr ""
7143
-
7144
- #: wpdatatables-lite/templates/edit_table.inc.php:544
7145
- msgid "Separate with"
7146
- msgstr ""
7147
-
7148
- #: wpdatatables-lite/templates/edit_table.inc.php:544
7149
- msgid "Used in advanced filterdropdown and in the editor dialog"
7150
- msgstr ""
7151
-
7152
- #: wpdatatables-lite/templates/edit_table.inc.php:547
7153
- msgid "Create from column values"
7154
- msgstr ""
7155
-
7156
- #: wpdatatables-lite/templates/edit_table.inc.php:548
7157
- msgid "Clear values"
7158
- msgstr ""
7159
-
7160
- #: wpdatatables-lite/templates/edit_table.inc.php:558
7161
- msgid "Default value(s)"
7162
- msgstr ""
7163
-
7164
- #: wpdatatables-lite/templates/edit_table.inc.php:560
7165
- msgid ""
7166
- "Predefined filter value, default editor input value. Separate multiple "
7167
- "values with \"|\". Placeholders supported."
7168
- msgstr ""
7169
-
7170
- #: wpdatatables-lite/templates/edit_table.inc.php:594
7171
- msgid "Formula for calculation:"
7172
- msgstr ""
7173
-
7174
- #: wpdatatables-lite/templates/edit_table.inc.php:595
7175
- msgid "Formula constructor"
7176
- msgstr ""
7177
-
7178
- #: wpdatatables-lite/templates/edit_table.inc.php:603
7179
- msgid "Editor input type:"
7180
- msgstr ""
7181
-
7182
- #: wpdatatables-lite/templates/edit_table.inc.php:613
7183
- msgid "Cannot be empty:"
7184
- msgstr ""
7185
-
7186
- #: wpdatatables-lite/templates/edit_table.inc.php:658
7187
- msgid "Default sort column"
7188
- msgstr ""
7189
-
7190
- #: wpdatatables-lite/templates/edit_table.inc.php:672
7191
- msgid "Show a total for this column in footer"
7192
- msgstr ""
7193
-
7194
- #: wpdatatables-lite/templates/edit_table.inc.php:704
7195
- msgid "Width"
7196
- msgstr ""
7197
-
7198
- #: wpdatatables-lite/templates/edit_table.inc.php:706
7199
- #, php-format
7200
- msgid ""
7201
- "Input width for column (in percents with % or pixels without \"px\"). Leave "
7202
- "blank if you want to leave auto width"
7203
- msgstr ""
7204
-
7205
- #: wpdatatables-lite/templates/edit_table.inc.php:714
7206
- msgid "Display text before"
7207
- msgstr ""
7208
-
7209
- #: wpdatatables-lite/templates/edit_table.inc.php:722
7210
- msgid "Display text after"
7211
- msgstr ""
7212
-
7213
- #: wpdatatables-lite/templates/edit_table.inc.php:738
7214
- msgid "Visible"
7215
- msgstr ""
7216
-
7217
- #: wpdatatables-lite/templates/edit_table.inc.php:752
7218
- msgid ""
7219
- "Conditional formatting allows you to add special formatting rules depending "
7220
- "on different values of the cell in this column. E.g. you can add a CSS class "
7221
- "or color to cell or whole row, etc"
7222
- msgstr ""
7223
-
7224
- #: wpdatatables-lite/templates/edit_table.inc.php:756
7225
- msgid "Define rules"
7226
- msgstr ""
7227
-
7228
- #: wpdatatables-lite/templates/edit_table.inc.php:802
7229
- msgid "Table saved!"
7230
- msgstr ""
7231
-
7232
- #: wpdatatables-lite/templates/frontend/excel_table_main.inc.php:28
7233
- #: wpdatatables-lite/templates/wpdatatables_excel_table_main.inc.php:26
7234
- msgid "Search"
7235
- msgstr ""
7236
-
7237
- #: wpdatatables-lite/templates/settings.inc.php:12
7238
- msgid "wpDataTables documentation on this feature"
7239
- msgstr ""
7240
-
7241
- #: wpdatatables-lite/templates/settings.inc.php:13
7242
- msgid "wpDataTables settings"
7243
- msgstr ""
7244
-
7245
- #: wpdatatables-lite/templates/settings.inc.php:35
7246
- msgid "Use separate MySQL connection"
7247
- msgstr ""
7248
-
7249
- #: wpdatatables-lite/templates/settings.inc.php:39
7250
- msgid ""
7251
- "If this checkbox is checked, wpDataTables will use its own connection to "
7252
- "MySQL bases. In other case it will use the main WordPress MySQL connection."
7253
- msgstr ""
7254
-
7255
- #: wpdatatables-lite/templates/settings.inc.php:56
7256
- msgid "Pick the language which will be used in tables interface"
7257
- msgstr ""
7258
-
7259
- #: wpdatatables-lite/templates/settings.inc.php:69
7260
- msgid "How many tables to show in the browse page"
7261
- msgstr ""
7262
-
7263
- #: wpdatatables-lite/templates/settings.inc.php:78
7264
- #: wpdatatables-lite/templates/settings.inc.php:79
7265
- msgid "Skin"
7266
- msgstr ""
7267
-
7268
- #: wpdatatables-lite/templates/settings.inc.php:81
7269
- msgid "Choose the base skin for the plugin"
7270
- msgstr ""
7271
-
7272
- #: wpdatatables-lite/templates/settings.inc.php:93
7273
- msgid ""
7274
- "Choose where you would like to render the advanced filter for tables where "
7275
- "enabled"
7276
- msgstr ""
7277
-
7278
- #: wpdatatables-lite/templates/settings.inc.php:114
7279
- msgid "Pick the date format to use in date column type"
7280
- msgstr ""
7281
-
7282
- #: wpdatatables-lite/templates/settings.inc.php:126
7283
- msgid "Pick the time format to use in datetime and time column type"
7284
- msgstr ""
7285
-
7286
- #: wpdatatables-lite/templates/settings.inc.php:147
7287
- msgid "Define the amount of decimal places for the float numbers"
7288
- msgstr ""
7289
-
7290
- #: wpdatatables-lite/templates/settings.inc.php:152
7291
- msgid "Timepicker step (min)"
7292
- msgstr ""
7293
-
7294
- #: wpdatatables-lite/templates/settings.inc.php:156
7295
- msgid "Define the minutes step for the timepicker based filters and editors."
7296
- msgstr ""
7297
-
7298
- #: wpdatatables-lite/templates/settings.inc.php:165
7299
- msgid ""
7300
- "If this checkbox is checked all numerical values will be aligned to the "
7301
- "right of the cell"
7302
- msgstr ""
7303
-
7304
- #: wpdatatables-lite/templates/settings.inc.php:185
7305
- msgid "Here you can specify width (in pixels) will be treated as a mobile."
7306
- msgstr ""
7307
-
7308
- #: wpdatatables-lite/templates/settings.inc.php:192
7309
- #: wpdatatables-lite/templates/settings.inc.php:433
7310
- #: wpdatatables-lite/templates/settings.inc.php:481
7311
- msgid "Save options"
7312
- msgstr ""
7313
-
7314
- #: wpdatatables-lite/templates/settings.inc.php:207
7315
- #: wpdatatables-lite/templates/settings.inc.php:449
7316
- msgid "Leave the setting blank to use default value"
7317
- msgstr ""
7318
-
7319
- #: wpdatatables-lite/templates/settings.inc.php:212
7320
- msgid "Table font color"
7321
- msgstr ""
7322
-
7323
- #: wpdatatables-lite/templates/settings.inc.php:216
7324
- msgid "This color is used for the main font in table cells"
7325
- msgstr ""
7326
-
7327
- #: wpdatatables-lite/templates/settings.inc.php:221
7328
- msgid "Header background color"
7329
- msgstr ""
7330
-
7331
- #: wpdatatables-lite/templates/settings.inc.php:225
7332
- msgid "The color is used for background of the table header"
7333
- msgstr ""
7334
-
7335
- #: wpdatatables-lite/templates/settings.inc.php:230
7336
- msgid "Header border color"
7337
- msgstr ""
7338
-
7339
- #: wpdatatables-lite/templates/settings.inc.php:234
7340
- msgid "This color is used for the border in the table header"
7341
- msgstr ""
7342
-
7343
- #: wpdatatables-lite/templates/settings.inc.php:239
7344
- msgid "Header font color"
7345
- msgstr ""
7346
-
7347
- #: wpdatatables-lite/templates/settings.inc.php:243
7348
- msgid "This color is used for the font in the table header"
7349
- msgstr ""
7350
-
7351
- #: wpdatatables-lite/templates/settings.inc.php:248
7352
- msgid "Header active and hover color"
7353
- msgstr ""
7354
-
7355
- #: wpdatatables-lite/templates/settings.inc.php:252
7356
- msgid ""
7357
- "This color is used when you hover the mouse above the table header, or when "
7358
- "you choose a column"
7359
- msgstr ""
7360
-
7361
- #: wpdatatables-lite/templates/settings.inc.php:257
7362
- msgid "Table inner border color"
7363
- msgstr ""
7364
-
7365
- #: wpdatatables-lite/templates/settings.inc.php:261
7366
- msgid "This color is used for the inner border in the table between cells"
7367
- msgstr ""
7368
-
7369
- #: wpdatatables-lite/templates/settings.inc.php:266
7370
- msgid "Table outer border color"
7371
- msgstr ""
7372
-
7373
- #: wpdatatables-lite/templates/settings.inc.php:270
7374
- msgid "This color is used for the outer border of the whole table body"
7375
- msgstr ""
7376
-
7377
- #: wpdatatables-lite/templates/settings.inc.php:275
7378
- msgid "Even row background color"
7379
- msgstr ""
7380
-
7381
- #: wpdatatables-lite/templates/settings.inc.php:279
7382
- msgid "This color is used for for background in even rows"
7383
- msgstr ""
7384
-
7385
- #: wpdatatables-lite/templates/settings.inc.php:284
7386
- msgid "Odd row background color"
7387
- msgstr ""
7388
-
7389
- #: wpdatatables-lite/templates/settings.inc.php:288
7390
- msgid "This color is used for for background in odd rows"
7391
- msgstr ""
7392
-
7393
- #: wpdatatables-lite/templates/settings.inc.php:293
7394
- msgid "Hover row color"
7395
- msgstr ""
7396
-
7397
- #: wpdatatables-lite/templates/settings.inc.php:297
7398
- msgid ""
7399
- "This color is used for to highlight the row when you hover your mouse above "
7400
- "it"
7401
- msgstr ""
7402
-
7403
- #: wpdatatables-lite/templates/settings.inc.php:302
7404
- msgid "Cell color in active (sorted) columns fo
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: wpdatatables\n"
4
+ "POT-Creation-Date: 2022-03-13 23:00+0100\n"
5
+ "PO-Revision-Date: 2022-03-13 23:01+0100\n"
6
  "Last-Translator: \n"
7
  "Language-Team: wpdatatables <cjbug@yandex.ru>\n"
8
  "Language: en\n"
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: wpdatatables-lite\n"
18
+ "X-Poedit-SearchPath-1: wpdatatables-forminator\n"
19
  "X-Poedit-SearchPathExcluded-0: wpdatatables-lite/assets/js/tagsinput/jquery."
20
  "tagsinput.js\n"
21
  "X-Poedit-SearchPathExcluded-1: wpdatatables-lite/assets/js/ace/ace.js\n"
46
  "docs/en/annotations.rst\n"
47
  "X-Poedit-SearchPathExcluded-15: wpdatatables-lite/lib\n"
48
 
49
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:13
50
  msgid "Choose a Forminator Form"
51
  msgstr ""
52
 
53
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:21
54
  msgid "Pick a Forminator form..."
55
  msgstr ""
56
 
57
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:24
58
  msgid "Form -> "
59
  msgstr ""
60
 
61
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:29
62
  msgid "Quiz -> "
63
  msgstr ""
64
 
65
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:29
66
  msgid "(Personality)"
67
  msgstr ""
68
 
69
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:29
70
  msgid "(Knowledge)"
71
  msgstr ""
72
 
73
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:33
74
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:35
75
  msgid "Poll -> "
76
  msgstr ""
77
 
78
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:33
79
  msgid "(for Bar chart)"
80
  msgstr ""
81
 
82
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:35
83
  msgid "(for Pie chart)"
84
  msgstr ""
85
 
86
+ #: wpdatatables-forminator/templates/data_source_block.inc.php:47
87
  msgid "Choose fields to show as columns"
88
  msgstr ""
89
 
90
+ #: wpdatatables-forminator/templates/tab.inc.php:5
91
  msgid "Forminator Settings"
92
  msgstr ""
93
 
94
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:10
95
  msgid "Filter by entry ID range"
96
  msgstr ""
97
 
98
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:12
99
  msgid "Here you can filter table by providing range entry ID value"
100
  msgstr ""
101
 
102
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:57
103
  msgid "Filter by entry date"
104
  msgstr ""
105
 
106
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:59
107
  msgid "Chose date filter logic if you want to filter form entries by date"
108
  msgstr ""
109
 
110
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:67
111
  msgid "Select date filter logic"
112
  msgstr ""
113
 
114
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:68
115
  msgid "Filter by date range"
116
  msgstr ""
117
 
118
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:69
119
  msgid "Filter by last X time period"
120
  msgstr ""
121
 
122
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:114
123
  msgid "Day(s)"
124
  msgstr ""
125
 
126
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:115
127
  msgid "Week(s)"
128
  msgstr ""
129
 
130
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:116
131
  msgid "Month(s)"
132
  msgstr ""
133
 
134
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:117
135
  msgid "Year(s)"
136
  msgstr ""
137
 
138
+ #: wpdatatables-forminator/templates/tabpanel.inc.php:132
139
  msgid "Reset filters"
140
  msgstr ""
141
 
142
+ #: wpdatatables-forminator/wdt-forminator-integration.php:107
143
  msgid ""
144
  "wpDataTables integration for Forminator Forms is an add-on - please install "
145
  "and activate wpDataTables (Free or Premium) and Forminator Forms (Free or "
146
  "PRO) to be able to use it!"
147
  msgstr ""
148
 
149
+ #: wpdatatables-forminator/wdt-forminator-integration.php:116
150
  msgid ""
151
  "wpDataTables integration for Forminator Forms add-on requires wpDataTables "
152
  "version "
153
  msgstr ""
154
 
155
+ #: wpdatatables-forminator/wdt-forminator-integration.php:436
156
  msgid "Poll answers"
157
  msgstr ""
158
 
159
+ #: wpdatatables-forminator/wdt-forminator-integration.php:437
160
  msgid "Total Votes"
161
  msgstr ""
162
 
163
+ #: wpdatatables-forminator/wdt-forminator-integration.php:443
164
  msgid "Email"
165
  msgstr ""
166
 
167
+ #: wpdatatables-forminator/wdt-forminator-integration.php:444
168
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:414
169
  msgid "Name"
170
  msgstr ""
171
 
172
+ #: wpdatatables-forminator/wdt-forminator-integration.php:447
173
  msgid "Quiz results"
174
  msgstr ""
175
 
176
+ #: wpdatatables-forminator/wdt-forminator-integration.php:449
177
  msgid "Correct answers"
178
  msgstr ""
179
 
180
+ #: wpdatatables-forminator/wdt-forminator-integration.php:450
181
  msgid "Incorrect answers"
182
  msgstr ""
183
 
184
+ #: wpdatatables-forminator/wdt-forminator-integration.php:451
185
  msgid "Quiz results (Correct/Total)"
186
  msgstr ""
187
 
188
+ #: wpdatatables-forminator/wdt-forminator-integration.php:1041
189
  msgid "Transaction ID"
190
  msgstr ""
191
 
192
+ #: wpdatatables-forminator/wdt-forminator-integration.php:1061
193
  msgid "(no filename)"
194
  msgstr ""
195
 
219
 
220
  #: wpdatatables-lite/controllers/wdt_admin.php:52
221
  #: wpdatatables-lite/controllers/wdt_admin.php:53
 
222
  #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:34
223
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:35
224
  #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:57
225
  #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:177
226
  msgid "Create a Chart"
271
 
272
  #: wpdatatables-lite/controllers/wdt_admin.php:116
273
  #: wpdatatables-lite/controllers/wdt_admin.php:117
274
+ #: wpdatatables-lite/controllers/wdt_functions.php:867
275
  msgid "Go Premium"
276
  msgstr ""
277
 
278
+ #: wpdatatables-lite/controllers/wdt_admin.php:539
279
+ #: wpdatatables-lite/controllers/wdt_admin.php:588
280
+ #: wpdatatables-lite/controllers/wdt_admin.php:631
281
+ #: wpdatatables-lite/controllers/wdt_admin.php:652
282
+ #: wpdatatables-lite/controllers/wdt_admin.php:699
283
+ #: wpdatatables-lite/controllers/wdt_admin.php:725
284
+ #: wpdatatables-lite/controllers/wdt_admin.php:744
285
+ #: wpdatatables-lite/controllers/wdt_admin.php:764
286
+ #: wpdatatables-lite/controllers/wdt_admin.php:783
287
+ #: wpdatatables-lite/controllers/wdt_admin.php:803
288
+ #: wpdatatables-lite/controllers/wdt_admin.php:823
289
+ #: wpdatatables-lite/controllers/wdt_admin.php:843
290
+ #: wpdatatables-lite/controllers/wdt_admin.php:862
291
  msgid "You do not have sufficient permissions to access this page."
292
  msgstr ""
293
 
294
+ #: wpdatatables-lite/controllers/wdt_functions.php:515
295
  msgid "wpDataChart with provided ID not found!"
296
  msgstr ""
297
 
298
+ #: wpdatatables-lite/controllers/wdt_functions.php:558
299
+ #: wpdatatables-lite/controllers/wdt_functions.php:639
300
  msgid "wpDataTable with provided ID not found!"
301
  msgstr ""
302
 
303
+ #: wpdatatables-lite/controllers/wdt_functions.php:649
304
  msgid "Provided column is not Integer or Float column type"
305
  msgstr ""
306
 
307
+ #: wpdatatables-lite/controllers/wdt_functions.php:862
308
  msgid "Go to Settings"
309
  msgstr ""
310
 
311
+ #: wpdatatables-lite/controllers/wdt_functions.php:891
312
  #, php-format
313
  msgid "By %s"
314
  msgstr ""
315
 
316
+ #: wpdatatables-lite/controllers/wdt_functions.php:895
317
  msgid "Docs"
318
  msgstr ""
319
 
320
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:45
321
+ msgid "Choose a wpDataTable:"
322
  msgstr ""
323
 
324
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:46
325
+ msgid "Select the wpDataTable ID to display on the page."
326
  msgstr ""
327
 
328
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:52
329
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:30
330
+ msgid "Export file name"
331
  msgstr ""
332
 
333
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:53
334
+ msgid "Set the name for the export file."
335
  msgstr ""
336
 
337
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:81
338
+ msgid "Choose a wpDataChart:"
339
  msgstr ""
340
 
341
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:82
342
+ msgid "Select the wpDataChart ID to display on the page."
343
  msgstr ""
344
 
345
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:97
346
+ msgid "Please select wpDataTable ID."
347
  msgstr ""
348
 
349
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:101
350
+ msgid "Please select wpDataChart ID."
351
  msgstr ""
352
 
353
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:109
354
+ msgid "Table: "
355
  msgstr ""
356
 
357
+ #: wpdatatables-lite/integrations/page_builders/avada/class.wdtavadaelements.php:116
358
+ msgid "Chart: "
 
 
359
  msgstr ""
360
 
361
+ #: wpdatatables-lite/integrations/page_builders/divi-wpdt/includes/modules/WpDataChart/WpDataChart.php:59
362
+ msgid "Choose a wpDataChart"
363
  msgstr ""
364
 
365
+ #: wpdatatables-lite/integrations/page_builders/divi-wpdt/includes/modules/WpDataTable/WpDataTable.php:57
366
+ msgid "Choose a wpDataTable"
367
  msgstr ""
368
 
369
+ #: wpdatatables-lite/integrations/page_builders/divi-wpdt/includes/modules/WpDataTable/WpDataTable.php:63
370
+ msgid "Set the name for the export file"
371
  msgstr ""
372
 
373
+ #: wpdatatables-lite/integrations/page_builders/elementor/widgets/class.wpDataChartsElementorWidget.php:48
374
+ msgid "wpDataChart content"
375
  msgstr ""
376
 
377
+ #: wpdatatables-lite/integrations/page_builders/elementor/widgets/class.wpDataChartsElementorWidget.php:55
378
+ msgid "Select wpDataChart:"
379
  msgstr ""
380
 
381
+ #: wpdatatables-lite/integrations/page_builders/elementor/widgets/class.wpDataTablesElementorWidget.php:48
382
+ msgid "wpDataTable content"
383
  msgstr ""
384
 
385
+ #: wpdatatables-lite/integrations/page_builders/elementor/widgets/class.wpDataTablesElementorWidget.php:55
386
+ msgid "Select wpDataTable:"
387
  msgstr ""
388
 
389
+ #: wpdatatables-lite/integrations/page_builders/elementor/widgets/class.wpDataTablesElementorWidget.php:65
390
+ msgid "Set name for export file:"
391
+ msgstr ""
392
+
393
+ #: wpdatatables-lite/integrations/page_builders/elementor/widgets/class.wpDataTablesElementorWidget.php:68
394
+ msgid "Insert name for export file"
395
  msgstr ""
396
 
397
+ #: wpdatatables-lite/integrations/page_builders/gutenberg/WpDataChartsGutenbergBlock.php:28
398
  msgid ""
399
  "Choose the chart that you’ve just created in the dropdown below, and the "
400
  "shortcode will be inserted automatically."
401
  msgstr ""
402
 
403
+ #: wpdatatables-lite/integrations/page_builders/gutenberg/WpDataTablesGutenbergBlock.php:29
404
  msgid ""
405
  "Choose the table that you’ve just created in the dropdown below, and the "
406
  "shortcode will be inserted automatically. You are able to provide values for "
407
  "placeholders and also for Export file name."
408
  msgstr ""
409
 
410
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:15
411
+ msgid "Interactive Responsive Table"
412
+ msgstr ""
413
+
414
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:16
415
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:48
416
+ msgid "Content"
417
+ msgstr ""
418
+
419
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:22
420
+ msgid "wpDataTable"
421
+ msgstr ""
422
+
423
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:26
424
+ msgid "Choose the wpDataTable from a dropdown"
425
+ msgstr ""
426
+
427
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:33
428
+ msgid "Export file"
429
+ msgstr ""
430
+
431
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:34
432
+ msgid ""
433
+ "If you use export buttons like CSV or Excel, you can set custom export file "
434
+ "name here"
435
+ msgstr ""
436
+
437
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:47
438
+ msgid "Google, Chart.js, Highcharts or Apexcharts chart based on a wpDataTable"
439
+ msgstr ""
440
+
441
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:54
442
+ msgid "wpDataChart"
443
+ msgstr ""
444
+
445
+ #: wpdatatables-lite/integrations/page_builders/wpbakery/wdtBakeryBlock.php:58
446
+ msgid "Choose one of wpDataCharts from the list"
447
+ msgstr ""
448
+
449
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:29
450
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:30
451
  msgid "ID"
496
  #: wpdatatables-lite/source/class.wdttools.php:222
497
  #: wpdatatables-lite/templates/admin/browse/bulk_actions.inc.php:14
498
  #: wpdatatables-lite/templates/common/delete_modal.inc.php:42
 
499
  msgid "Delete"
500
  msgstr ""
501
 
502
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:229
503
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:238
504
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:289
505
  msgid "Column Chart"
506
  msgstr ""
507
 
508
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:232
509
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:256
510
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:280
511
  msgid "Line Chart"
512
  msgstr ""
513
 
514
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:235
515
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:259
516
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:298
517
  msgid "Pie Chart"
518
  msgstr ""
519
 
520
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:241
521
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:73
 
522
  msgid "Histogram"
523
  msgstr ""
524
 
531
  msgstr ""
532
 
533
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:250
534
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:283
535
  msgid "Area Chart"
536
  msgstr ""
537
 
540
  msgstr ""
541
 
542
  #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:262
543
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:304
544
  msgid "Bubble Chart"
545
  msgstr ""
546
 
564
  msgid "Waterfall Chart"
565
  msgstr ""
566
 
567
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:286
568
+ msgid "Stacked Area Chart"
569
+ msgstr ""
570
+
571
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:292
572
+ msgid "Radar Chart"
573
+ msgstr ""
574
+
575
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:295
576
+ msgid "Polar Area Chart"
577
+ msgstr ""
578
+
579
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:301
580
+ msgid "Doughnut Chart"
581
+ msgstr ""
582
+
583
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:317
584
  msgid "Google"
585
  msgstr ""
586
 
587
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:320
588
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:51
589
+ msgid "Chart.js"
590
+ msgstr ""
591
+
592
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:387
593
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:298
594
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step3.inc.php:11
595
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step3.inc.php:32
596
  msgid "Select All"
597
  msgstr ""
598
 
599
+ #: wpdatatables-lite/source/class.wdtbrowsechartstable.php:440
600
  msgid "No wpDataCharts in the system yet."
601
  msgstr ""
602
 
615
  msgstr ""
616
 
617
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:237
618
+ #: wpdatatables-lite/source/class.wpdatatable.php:2319
619
+ #: wpdatatables-lite/source/class.wpdatatable.php:2402
620
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1050
621
  msgid "Excel"
622
  msgstr ""
623
 
624
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:240
625
+ #: wpdatatables-lite/source/class.wpdatatable.php:2331
626
+ #: wpdatatables-lite/source/class.wpdatatable.php:2415
627
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1051
628
  msgid "CSV"
629
  msgstr ""
638
 
639
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:249
640
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:120
 
641
  msgid "Serialized PHP array"
642
  msgstr ""
643
 
644
  #: wpdatatables-lite/source/class.wdtbrowsetable.php:252
 
645
  msgid "Google spreadsheet"
646
  msgstr ""
647
 
661
  msgid "There was an error trying to fetch the table data: "
662
  msgstr ""
663
 
664
+ #: wpdatatables-lite/source/class.wdtconfigcontroller.php:500
665
  msgid "Table in data source has no rows."
666
  msgstr ""
667
 
668
+ #: wpdatatables-lite/source/class.wdtconfigcontroller.php:1055
669
+ msgid "Select a "
670
+ msgstr ""
671
+
672
  #: wpdatatables-lite/source/class.wdttools.php:17
673
  msgid "One line string"
674
  msgstr ""
697
 
698
  #: wpdatatables-lite/source/class.wdttools.php:23
699
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:355
700
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1015
701
  msgid "Date"
702
  msgstr ""
703
 
704
  #: wpdatatables-lite/source/class.wdttools.php:24
705
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1016
706
  msgid "Datetime"
707
  msgstr ""
708
 
709
  #: wpdatatables-lite/source/class.wdttools.php:25
710
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:357
711
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1017
712
  msgid "Time"
713
  msgstr ""
714
 
726
  msgstr ""
727
 
728
  #: wpdatatables-lite/source/class.wdttools.php:29
729
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1020
730
  msgid "Attachment"
731
  msgstr ""
732
 
749
  #: wpdatatables-lite/source/class.wdttools.php:330
750
  #: wpdatatables-lite/templates/admin/browse/chart/duplicate_chart_modal.inc.php:43
751
  #: wpdatatables-lite/templates/admin/browse/table/duplicate_modal.inc.php:61
752
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:40
753
  #: wpdatatables-lite/templates/admin/common/HTMLModal.inc.php:43
754
+ #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:139
755
  #: wpdatatables-lite/templates/admin/common/shortcodeModal.inc.php:48
756
  #: wpdatatables-lite/templates/admin/common/starModal.inc.php:73
757
  #: wpdatatables-lite/templates/admin/constructor/constructor.inc.php:29
758
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:28
759
  #: wpdatatables-lite/templates/admin/table-settings/add_column_modal.inc.php:126
760
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:20
761
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1126
762
  #: wpdatatables-lite/templates/admin/table-settings/formula_editor_modal.inc.php:89
763
  #: wpdatatables-lite/templates/admin/table-settings/possible_values_merge_list_modal.inc.php:19
764
  #: wpdatatables-lite/templates/admin/table-settings/remove_column_modal.inc.php:81
785
  #: wpdatatables-lite/templates/admin/common/error_modal.inc.php:23
786
  #: wpdatatables-lite/templates/admin/table-settings/columns_list_modal.inc.php:33
787
  #: wpdatatables-lite/templates/admin/table-settings/foreign_key_config.inc.php:94
 
 
 
 
788
  msgid "Close"
789
  msgstr ""
790
 
809
  msgstr ""
810
 
811
  #: wpdatatables-lite/source/class.wdttools.php:218
812
+ #: wpdatatables-lite/source/class.wpdatatable.php:2343
813
+ #: wpdatatables-lite/source/class.wpdatatable.php:2428
814
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1052
815
  msgid "Copy"
816
  msgstr ""
832
  msgstr ""
833
 
834
  #: wpdatatables-lite/source/class.wdttools.php:224
 
 
835
  msgid "Error!"
836
  msgstr ""
837
 
977
  msgstr ""
978
 
979
  #: wpdatatables-lite/source/class.wdttools.php:265
 
 
980
  msgid "Success!"
981
  msgstr ""
982
 
1363
  #: wpdatatables-lite/source/class.wdttools.php:467
1364
  msgid ""
1365
  "Click on the dropdown, and you will see several options that you can choose "
1366
+ "from.(Google charts nad Chart.js are only available) <br><br>To continue, "
1367
+ "click on the dropdown."
1368
  msgstr ""
1369
 
1370
  #: wpdatatables-lite/source/class.wdttools.php:470
1371
+ msgid "Choose chart engine."
1372
  msgstr ""
1373
 
1374
  #: wpdatatables-lite/source/class.wdttools.php:471
1375
  msgid ""
1376
+ "By clicking on chart engine options, you will choose the engine that will "
1377
  "render your chart.<br><br> When you finish, please click 'Continue' button "
1378
  "to move forward."
1379
  msgstr ""
1521
  "page. <br><br>You may now finish this tutorial. "
1522
  msgstr ""
1523
 
1524
+ #: wpdatatables-lite/source/class.wpdatachart.php:972
1525
  msgid "Only one column can be of type String"
1526
  msgstr ""
1527
 
1528
+ #: wpdatatables-lite/source/class.wpdatachart.php:975
1529
  msgid "You are mixing data types (several date axes and several number)"
1530
  msgstr ""
1531
 
1532
+ #: wpdatatables-lite/source/class.wpdatatable.php:1985
1533
  msgid ""
1534
  "You are trying to load a table of an unknown type. Probably you did not "
1535
  "activate the addon which is required to use this table type."
1536
  msgstr ""
1537
 
1538
+ #: wpdatatables-lite/source/class.wpdatatable.php:2228
1539
+ #: wpdatatables-lite/source/class.wpdatatable.php:2231
1540
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step3.inc.php:86
1541
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:554
1542
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:327
 
1543
  msgid "All"
1544
  msgstr ""
1545
 
1546
+ #: wpdatatables-lite/source/class.wpdatatable.php:2292
1547
+ #: wpdatatables-lite/source/class.wpdatatable.php:2375
1548
  #: wpdatatables-lite/templates/admin/table-settings/columns_list_modal.inc.php:12
1549
  msgid "Columns"
1550
  msgstr ""
1551
 
1552
+ #: wpdatatables-lite/source/class.wpdatatable.php:2305
1553
+ #: wpdatatables-lite/source/class.wpdatatable.php:2387
1554
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1049
1555
  msgid "Print"
1556
  msgstr ""
1557
 
1558
+ #: wpdatatables-lite/source/class.wpdatatable.php:2355
1559
+ #: wpdatatables-lite/source/class.wpdatatable.php:2440
1560
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1053
1561
  msgid "PDF"
1562
  msgstr ""
1563
 
1564
+ #: wpdatatables-lite/source/class.wpdatatable.php:2363
1565
  msgid "Export"
1566
  msgstr ""
1567
 
1568
+ #: wpdatatables-lite/source/class.wpdatatable.php:2453
1569
  msgid "Search table"
1570
  msgstr ""
1571
 
1572
+ #: wpdatatables-lite/source/class.wpdatatable.php:2454
1573
  msgid "Showing _MENU_ Entries"
1574
  msgstr ""
1575
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1576
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:28
1577
  msgid ""
1578
  "While wpDataTables itself provides quite a large amount of features and "
1592
  msgstr ""
1593
 
1594
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:40
1595
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:553
1596
  msgid "Forminator Forms integration for wpDataTables"
1597
  msgstr ""
1598
 
1604
  msgstr ""
1605
 
1606
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:48
1607
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:735
1608
  msgid "Free Download"
1609
  msgstr ""
1610
 
1611
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:55
1612
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:90
1613
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:117
1614
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:143
1615
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:168
1616
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:190
1617
  msgid "Learn more"
1618
  msgstr ""
1619
 
1620
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:65
1621
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:573
1622
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:281
1623
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:301
1624
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:319
1627
  msgstr ""
1628
 
1629
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:80
1630
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:590
1631
  msgid "Master Detail Tables for wpDataTables"
1632
  msgstr ""
1633
 
1640
  msgstr ""
1641
 
1642
  #: wpdatatables-lite/templates/admin/addons/addons.inc.php:107
1643
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:617
1644
  msgid "Powerful Filters for wpDataTables"
1645
  msgstr ""
1646
 
1651
  "without the table before user defines the search values."
1652
  msgstr ""
1653
 
1654
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:134
1655
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:643
1656
+ msgid "Report Builder"
1657
+ msgstr ""
1658
+
1659
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:137
1660
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:647
1661
+ msgid ""
1662
+ "A unique tool that allows you to generate almost any Word DOCX and Excel "
1663
+ "XLSX documents filled in with actual data from your database."
1664
+ msgstr ""
1665
+
1666
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:158
1667
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:670
1668
  msgid "Formidable Forms integration for wpDataTables"
1669
  msgstr ""
1670
 
1671
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:161
1672
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:674
1673
  msgid ""
1674
  "Tool that adds \"Formidable Form\" as a new table type and allows you to "
1675
  "create wpDataTables from Formidable Forms entries data."
1676
  msgstr ""
1677
 
1678
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:180
1679
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:696
1680
  msgid "Gravity Forms integration for wpDataTables"
1681
  msgstr ""
1682
 
1683
+ #: wpdatatables-lite/templates/admin/addons/addons.inc.php:183
1684
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:700
1685
  msgid ""
1686
  "Tool that adds \"Gravity Form\" as a new table type and allows you to create "
1687
  "wpDataTables from Gravity Forms entries data."
1713
  msgstr ""
1714
 
1715
  #: wpdatatables-lite/templates/admin/browse/table/duplicate_modal.inc.php:19
 
1716
  msgid "Duplicate table"
1717
  msgstr ""
1718
 
1719
  #: wpdatatables-lite/templates/admin/browse/table/duplicate_modal.inc.php:28
 
1720
  msgid "New table title"
1721
  msgstr ""
1722
 
1748
  msgid "Duplicate database table"
1749
  msgstr ""
1750
 
1751
+ #: wpdatatables-lite/templates/admin/browse/table_list.inc.php:50
1752
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:115
1753
  msgid " View Documentation"
1754
  msgstr ""
1755
 
1756
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:54
 
1757
  msgid "Chart title & type"
1758
  msgstr ""
1759
 
1760
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:56
1761
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:60
 
1762
  msgid "Data source"
1763
  msgstr ""
1764
 
1765
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:58
 
1766
  msgid "Data range"
1767
  msgstr ""
1768
 
1769
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:60
1770
  msgid "Formatting and preview"
1771
  msgstr ""
1772
 
1773
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:62
 
1774
  msgid "Save and get shortcode"
1775
  msgstr ""
1776
 
1777
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:106
1778
  msgid "Browse charts"
1779
  msgstr ""
1780
 
1781
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:110
1782
  #: wpdatatables-lite/templates/admin/constructor/constructor.inc.php:61
1783
  msgid "Next "
1784
  msgstr ""
1785
 
1786
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:112
1787
  #: wpdatatables-lite/templates/admin/constructor/constructor.inc.php:63
1788
  msgid " Previous"
1789
  msgstr ""
1790
 
1791
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:139
1792
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:13
1793
+ msgid "Series"
1794
  msgstr ""
1795
 
1796
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:143
1797
  msgid "Label"
1798
  msgstr ""
1799
 
1800
+ #: wpdatatables-lite/templates/admin/chart_wizard/chart_wizard.inc.php:157
1801
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:680
1802
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1963
 
1803
  msgid "Color"
1804
  msgstr ""
1805
 
1806
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:12
1807
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:12
1808
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:13
 
 
1809
  msgid "Line chart"
1810
  msgstr ""
1811
 
1812
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:24
1813
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:48
 
1814
  msgid "Area chart"
1815
  msgstr ""
1816
 
1817
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:37
1818
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:52
 
1819
  msgid "Stacked area chart"
1820
  msgstr ""
1821
 
1822
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:50
1823
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:24
 
1824
  msgid "Column chart"
1825
  msgstr ""
1826
 
1835
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:91
1836
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:36
1837
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:121
 
 
1838
  msgid "Pie chart"
1839
  msgstr ""
1840
 
1844
 
1845
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/chartjs.inc.php:117
1846
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:113
 
1847
  msgid "Bubble chart"
1848
  msgstr ""
1849
 
1850
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:61
 
1851
  msgid "Stepped area chart"
1852
  msgstr ""
1853
 
1854
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:89
 
1855
  msgid "Bar chart"
1856
  msgstr ""
1857
 
1858
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:101
1859
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:78
 
1860
  msgid "Stacked bar chart"
1861
  msgstr ""
1862
 
1863
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:125
1864
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:147
 
 
1865
  msgid "Donut chart"
1866
  msgstr ""
1867
 
1868
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:137
 
1869
  msgid "Gauge chart"
1870
  msgstr ""
1871
 
1872
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/google_charts.inc.php:150
 
1873
  msgid "Scatter chart"
1874
  msgstr ""
1875
 
1886
  msgstr ""
1887
 
1888
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:39
 
1889
  msgid "Basic area chart"
1890
  msgstr ""
1891
 
1892
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:65
 
1893
  msgid "Basic bar chart"
1894
  msgstr ""
1895
 
1896
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:95
 
1897
  msgid "Basic column chart"
1898
  msgstr ""
1899
 
1900
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:108
 
1901
  msgid "Stacked column chart"
1902
  msgstr ""
1903
 
1904
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:134
 
1905
  msgid "Pie with gradient chart"
1906
  msgstr ""
1907
 
1908
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:160
 
1909
  msgid "Scatter plot"
1910
  msgstr ""
1911
 
1912
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:177
 
1913
  msgid "3D column chart"
1914
  msgstr ""
1915
 
1916
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:190
 
1917
  msgid "3D pie chart"
1918
  msgstr ""
1919
 
1920
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/charts_pick/highcharts.inc.php:203
 
1921
  msgid "3D donut chart"
1922
  msgstr ""
1923
 
1944
  msgstr ""
1945
 
1946
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:15
 
1947
  msgid "Chart name"
1948
  msgstr ""
1949
 
1952
  msgstr ""
1953
 
1954
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:24
 
1955
  msgid "New wpDataTable Chart"
1956
  msgstr ""
1957
 
1958
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:35
 
1959
  msgid "Chart render engine"
1960
  msgstr ""
1961
 
1962
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:38
 
1963
  msgid "Please choose the render engine."
1964
  msgstr ""
1965
 
1966
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:44
 
1967
  msgid "Pick the render engine"
1968
  msgstr ""
1969
 
1971
  msgid "Google Charts"
1972
  msgstr ""
1973
 
1974
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:53
1975
+ msgid "ApexCharts"
1976
  msgstr ""
1977
 
1978
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:53
1979
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:56
1980
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:132
1981
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:144
1982
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:156
1986
  msgid "Available in Premium"
1987
  msgstr ""
1988
 
1989
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step1.inc.php:56
1990
+ msgid "HighCharts"
1991
  msgstr ""
1992
 
1993
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step2.inc.php:6
2098
  msgid "Chart"
2099
  msgstr ""
2100
 
 
 
 
 
2101
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:15
2102
  msgid "Axes"
2103
  msgstr ""
2104
 
2105
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:19
2106
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:650
2107
  msgid "Tooltip"
2108
  msgstr ""
2109
 
2110
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:21
2111
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:721
2112
  msgid "Legend"
2113
  msgstr ""
2114
 
2134
  msgstr ""
2135
 
2136
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:49
2137
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:382
2138
  msgid "Controls the curve of the lines"
2139
  msgstr ""
2140
 
2188
  msgstr ""
2189
 
2190
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:133
2191
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:661
2192
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:104
2193
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:425
2194
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:660
2221
  msgstr ""
2222
 
2223
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:197
2224
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:680
2225
  msgid "Border radius"
2226
  msgstr ""
2227
 
2250
  msgid "The color of the inner chart or plot area border."
2251
  msgstr ""
2252
 
2253
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:286
2254
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:45
2255
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1544
2256
  msgid "Font size"
2257
  msgstr ""
2258
 
2259
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:288
2260
  msgid "The default font size, in pixels, of all text in the chart."
2261
  msgstr ""
2262
 
2263
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:311
2264
  msgid "Font name"
2265
  msgstr ""
2266
 
2267
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:313
2268
  msgid "The default font face for all text in the chart."
2269
  msgstr ""
2270
 
2271
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:328
2272
+ msgid "Font style"
2273
+ msgstr ""
2274
+
2275
  #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:330
2276
+ msgid "The default font style for all text in the chart"
2277
+ msgstr ""
2278
+
2279
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:346
2280
+ #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:70
2281
+ #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:143
2282
+ #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:464
2283
+ #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1580
2284
+ #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1655
2285
+ msgid "Font color"
2286
+ msgstr ""
2287
+
2288
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:348
2289
+ msgid "The default font color for all text in the chart."
2290
+ msgstr ""
2291
+
2292
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:365
2293
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:371
2294
  msgid "3D"
2295
  msgstr ""
2296
 
2297
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:367
2298
  msgid "Check for 3D pie chart"
2299
  msgstr ""
2300
 
2301
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:380
2302
  msgid "Grid"
2303
  msgstr ""
2304
 
2305
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:386
2306
  msgid "Do you want to show grid on the chart"
2307
  msgstr ""
2308
 
2309
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:391
2310
  msgid "Horizontal axis label"
2311
  msgstr ""
2312
 
2313
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:393
2314
  msgid "Name of the horizontal axis."
2315
  msgstr ""
2316
 
2317
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:408
2318
  msgid "Horizontal crosshair"
2319
  msgstr ""
2320
 
2321
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:410
2322
  msgid ""
2323
  "Configure a horizontal crosshair that follows either the mouse pointer or "
2324
  "the hovered point lines"
2325
  msgstr ""
2326
 
2327
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:414
2328
  msgid "Show x-Axis crosshair"
2329
  msgstr ""
2330
 
2331
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:419
2332
  msgid "Horizontal axis direction"
2333
  msgstr ""
2334
 
2335
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:421
2336
  msgid ""
2337
  "The direction in which the values along the horizontal axis grow. Specify -1 "
2338
  "to reverse the order of the values"
2339
  msgstr ""
2340
 
2341
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:437
2342
  msgid "Vertical axis label"
2343
  msgstr ""
2344
 
2345
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:439
2346
  msgid "Name of the vertical axis."
2347
  msgstr ""
2348
 
2349
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:454
2350
  msgid "Vertical crosshair"
2351
  msgstr ""
2352
 
2353
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:456
2354
  msgid ""
2355
  "Configure a vertical crosshair that follows either the mouse pointer or the "
2356
  "hovered point lines"
2357
  msgstr ""
2358
 
2359
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:460
2360
  msgid "Show y-Axis crosshair"
2361
  msgstr ""
2362
 
2363
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:465
2364
  msgid "Vertical axis direction"
2365
  msgstr ""
2366
 
2367
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:467
2368
  msgid ""
2369
  "The direction in which the values along the vertical axis grow. Specify -1 "
2370
  "to reverse the order of the values"
2371
  msgstr ""
2372
 
2373
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:483
2374
  msgid "Vertical axis min value"
2375
  msgstr ""
2376
 
2377
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:485
2378
  msgid "The minimum value of the axis."
2379
  msgstr ""
2380
 
2381
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:508
2382
  msgid "Vertical axis max value"
2383
  msgstr ""
2384
 
2385
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:510
2386
  msgid "The maximum value of the axis."
2387
  msgstr ""
2388
 
2389
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:533
2390
  msgid "Invert"
2391
  msgstr ""
2392
 
2393
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:535
2394
  msgid ""
2395
  "Whether to invert the axes so that the x axis is vertical and y axis is "
2396
  "horizontal"
2397
  msgstr ""
2398
 
2399
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:539
2400
  msgid "Invert chart axes"
2401
  msgstr ""
2402
 
2403
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:549
2404
  msgid "Chart title"
2405
  msgstr ""
2406
 
2407
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:551
2408
  msgid "Do you want to show the chart title on the page"
2409
  msgstr ""
2410
 
2411
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:555
2412
  msgid "Show title"
2413
  msgstr ""
2414
 
2415
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:560
2416
  msgid "Title floating"
2417
  msgstr ""
2418
 
2419
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:562
2420
  msgid ""
2421
  "When the title is floating, the plot area will not move to make space for it"
2422
  msgstr ""
2423
 
2424
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:566
2425
  msgid "Enable floating"
2426
  msgstr ""
2427
 
2428
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:571
2429
+ msgid "Title position"
2430
+ msgstr ""
2431
+
2432
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:573
2433
+ msgid ""
2434
+ "Position of the title. Possible values are 'top', 'left', 'bottom' and "
2435
+ "'right'"
2436
+ msgstr ""
2437
+
2438
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:590
2439
+ msgid "Title font name"
2440
+ msgstr ""
2441
+
2442
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:592
2443
+ msgid "The default font face for text in the title."
2444
+ msgstr ""
2445
+
2446
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:607
2447
+ msgid "Title font style"
2448
+ msgstr ""
2449
+
2450
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:609
2451
+ msgid "The default font style for text in the title"
2452
+ msgstr ""
2453
+
2454
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:626
2455
+ msgid "Title font color"
2456
+ msgstr ""
2457
+
2458
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:628
2459
+ msgid "The default font color for text in the title."
2460
+ msgstr ""
2461
+
2462
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:652
2463
  msgid "Enable or disable the tooltip"
2464
  msgstr ""
2465
 
2466
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:656
2467
  msgid "Show tooltip"
2468
  msgstr ""
2469
 
2470
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:663
2471
+ msgid "The background color for the tooltip."
2472
+ msgstr ""
2473
+
2474
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:682
2475
+ msgid "The radius of the rounded border corners."
2476
+ msgstr ""
2477
+
2478
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:705
2479
+ msgid "Shared tooltip"
2480
+ msgstr ""
2481
+
2482
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:707
2483
+ msgid ""
2484
+ "When the tooltip is shared, the entire plot area will capture mouse movement "
2485
+ "or touch events"
2486
+ msgstr ""
2487
+
2488
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:711
2489
+ msgid "Share tooltip"
2490
+ msgstr ""
2491
+
2492
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:723
2493
+ msgid "Enable or disable the legend"
2494
+ msgstr ""
2495
+
2496
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:727
2497
+ msgid "Show legend"
2498
+ msgstr ""
2499
+
2500
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:732
2501
  msgid "Position"
2502
  msgstr ""
2503
 
2504
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:734
2505
  msgid "Position of the legend"
2506
  msgstr ""
2507
 
2508
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:752
2509
+ msgid "Legend position"
2510
+ msgstr ""
2511
+
2512
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:754
2513
+ msgid ""
2514
+ "Position of the legend. Possible values are 'top', 'left', 'bottom' and "
2515
+ "'right'"
2516
+ msgstr ""
2517
+
2518
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:773
2519
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:220
2520
  msgid "Vertical align"
2521
  msgstr ""
2522
 
2523
+ #: wpdatatables-lite/templates/admin/chart_wizard/steps/step4.inc.php:775
2524
  msgid "The vertical alignment of the legend box"
2525
  msgstr ""
2526
 
2596
  msgstr ""
2597
 
2598
  #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:87
2599
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:735
2600
+ msgid "Make NOREFERRER link"
2601
+ msgstr ""
2602
+
2603
+ #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:98
2604
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:751
2605
+ msgid "Make SPONSORED link"
2606
+ msgstr ""
2607
+
2608
+ #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:109
2609
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:677
2610
  msgid "Set the link to appear as a button"
2611
  msgstr ""
2612
 
2613
+ #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:118
2614
  msgid "Button class:"
2615
  msgstr ""
2616
 
2617
+ #: wpdatatables-lite/templates/admin/common/linkModal.inc.php:143
2618
  msgid "Insert link"
2619
  msgstr ""
2620
 
2732
  #: wpdatatables-lite/templates/admin/support/support.inc.php:31
2733
  #: wpdatatables-lite/templates/admin/support/support.inc.php:47
2734
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:29
2735
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1121
2736
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:676
2737
  #: wpdatatables-lite/templates/admin/table-settings/table_preview_block.inc.php:81
2738
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:2124
2741
  msgstr ""
2742
 
2743
  #: wpdatatables-lite/templates/admin/constructor/steps/constructor_1.inc.php:5
 
2744
  msgid "Choose what kind of table would you like to construct"
2745
  msgstr ""
2746
 
2974
  msgid "Version "
2975
  msgstr ""
2976
 
2977
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:361
2978
  msgid "Go Premium!"
2979
  msgstr ""
2980
 
2981
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:367
2982
  msgid "View Comparison"
2983
  msgstr ""
2984
 
2985
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:375
2986
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:48
2987
  msgid ""
2988
  "Get the most out of wpDataTables by upgrading to Premium and unlocking all "
2989
  "of the powerful features."
2990
  msgstr ""
2991
 
2992
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:379
2993
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:305
2994
  msgid "Create a table manually"
2995
  msgstr ""
2996
 
2997
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:382
2998
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:317
2999
  msgid "Creating tables from Google Spreadsheet"
3000
  msgstr ""
3001
 
3002
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:385
3003
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:329
3004
  msgid "Creating tables via Google Sheet API"
3005
  msgstr ""
3006
 
3007
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:388
3008
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:342
3009
  msgid "Creating tables from Private Google Spreadsheet"
3010
  msgstr ""
3011
 
3012
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:391
3013
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:355
3014
  msgid "Creating MySQL-based tables from database"
3015
  msgstr ""
3016
 
3017
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:394
3018
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:367
3019
  msgid "Creating MySQL-based tables from Wordpress post types"
3020
  msgstr ""
3021
 
3022
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:397
3023
  msgid "Creating tables where users can see and edit own data"
3024
  msgstr ""
3025
 
3026
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:400
3027
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:391
3028
  msgid "Creating table relations (Foreign key)"
3029
  msgstr ""
3030
 
3031
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:403
3032
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:427
 
3033
  msgid "Advanced filtering"
3034
  msgstr ""
3035
 
3036
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:406
3037
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:439
3038
  msgid "Pre-filtering tables through URL"
3039
  msgstr ""
3040
 
3041
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:409
3042
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:292
3043
  msgid "Table Customization"
3044
  msgstr ""
3045
 
3046
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:412
3047
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:403
3048
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:153
 
3049
  msgid "Server-side processing"
3050
  msgstr ""
3051
 
3052
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:415
3053
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:415
3054
  msgid "Multiple databases support (MySQL,MS SQL and PostgreSQL)"
3055
  msgstr ""
3056
 
3057
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:418
3058
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:451
3059
  msgid "Front-end table editing"
3060
  msgstr ""
3061
 
3062
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:421
3063
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:463
3064
  msgid "Excel-like editing"
3065
  msgstr ""
3066
 
3067
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:424
3068
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:475
3069
+ msgid "Creating charts with ApexCharts"
3070
+ msgstr ""
3071
+
3072
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:427
3073
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:488
3074
  msgid "Creating charts with Highcharts"
3075
  msgstr ""
3076
 
3077
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:430
3078
+ msgid "Export Highcharts data to CSV and XLS files"
 
3079
  msgstr ""
3080
 
3081
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:433
3082
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:500
3083
  msgid "Follow table filtering in charts"
3084
  msgstr ""
3085
 
3086
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:436
3087
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:512
3088
  msgid "Grouping data in Charts"
3089
  msgstr ""
3090
 
3091
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:439
3092
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:524
3093
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:68
 
3094
  msgid "Responsive"
3095
  msgstr ""
3096
 
3097
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:442
3098
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:536
3099
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:60
 
3100
  msgid "Conditional formatting"
3101
  msgstr ""
3102
 
3103
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:445
3104
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:548
3105
  msgid "Calculating Tools"
3106
  msgstr ""
3107
 
3108
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:448
3109
  msgid "Formula columns"
3110
  msgstr ""
3111
 
3112
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:451
3113
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:560
3114
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:80
3115
  msgid "Placeholders"
3116
  msgstr ""
3117
 
3118
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:454
3119
  msgid "Premium support"
3120
  msgstr ""
3121
 
3122
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:458
3123
  msgid "Get Premium Today"
3124
  msgstr ""
3125
 
3126
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:465
3127
  msgid "News Blog"
3128
  msgstr ""
3129
 
3130
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:470
3131
  msgid "Checkout useful articles from wpdatatables.com"
3132
  msgstr ""
3133
 
3134
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:517
3135
  msgid ""
3136
  "Never miss notifications about new cool features, promotions,\n"
3137
  " giveaways or freebies – subscribe to our "
3140
  msgstr ""
3141
 
3142
  #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:534
3143
+ msgid "wpDataTables Addons"
3144
+ msgstr ""
3145
+
3146
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:535
3147
  msgid "Premium "
3148
  msgstr ""
3149
 
3150
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:538
3151
  msgid ""
3152
  "While wpDataTables itself provides quite a large amount of features and "
3153
  "unlimited customisation, flexibility, you can achieve even more with our "
3156
  "Premium version)"
3157
  msgstr ""
3158
 
3159
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:546
3160
  msgid "Free"
3161
  msgstr ""
3162
 
3163
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:557
3164
  msgid ""
3165
  "Tool that adds \"Forminator Form\" as a new table type and allows you to "
3166
  "create wpDataTables from Forminator Forms submissions."
3167
  msgstr ""
3168
 
3169
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:564
3170
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:600
3171
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:627
3172
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:653
3173
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:680
3174
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:706
3175
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:739
3176
  msgid "Learn More"
3177
  msgstr ""
3178
 
3179
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:594
3180
  msgid ""
3181
  "A wpDataTables addon which allows showing additional details for a specific "
3182
  "row in a popup or a separate page or post."
3183
  msgstr ""
3184
 
3185
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:621
3186
  msgid ""
3187
  "An add-on for wpDataTables that provides powerful filtering features: "
3188
  "cascade filtering, applying filters on button click, hide table before "
3189
  "filtering."
3190
  msgstr ""
3191
 
3192
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:717
3193
  msgid "Need free booking plugin?"
3194
  msgstr ""
3195
 
3196
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:726
3197
  msgid "Appointments and Events WordPress Booking Plugin"
3198
  msgstr ""
3199
 
3200
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:729
3201
  msgid ""
3202
  "Amelia Lite is a free appointment booking WordPress plugin that allows to "
3203
  "set up a fully-featured automated booking system on your WordPress website "
3204
  "and is a handy tool for small businesses and individuals that depend on "
3205
+ "stable appointment booking processes. 40,000+ businesses from healthcare, "
3206
  "beauty, sports, automotive, educational, creative, HR and other industries "
3207
+ "use Amelia to flawlessly manage 330,000+ appointments and events worldwide "
3208
  "each month."
3209
  msgstr ""
3210
 
3211
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:732
3212
  msgid "Rating: 4.3 - ‎97 reviews"
3213
  msgstr ""
3214
 
3215
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:750
3216
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:184
3217
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:603
3218
  #: wpdatatables-lite/templates/admin/support/support.inc.php:78
3219
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:509
3220
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:358
3221
  msgid "Made by"
3222
  msgstr ""
3223
 
3224
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:758
3225
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:192
3226
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:611
3227
  #: wpdatatables-lite/templates/admin/support/support.inc.php:45
3228
  #: wpdatatables-lite/templates/admin/support/support.inc.php:86
3229
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:517
3232
  msgid "Documentation"
3233
  msgstr ""
3234
 
3235
+ #: wpdatatables-lite/templates/admin/dashboard/dashboard.inc.php:762
3236
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:196
3237
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:615
3238
  #: wpdatatables-lite/templates/admin/support/support.inc.php:24
3239
  #: wpdatatables-lite/templates/admin/support/support.inc.php:90
3240
  #: wpdatatables-lite/templates/admin/system-info/system_info.inc.php:521
3309
 
3310
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:102
3311
  msgid ""
3312
+ " create dynamic charts in WordPress with Google Charts or Chart.js rendering "
3313
+ "engine."
3314
  msgstr ""
3315
 
3316
  #: wpdatatables-lite/templates/admin/getting-started/getting_started.inc.php:114
3361
  msgstr ""
3362
 
3363
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:52
3364
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:595
3365
  msgid "Go Premium Now"
3366
  msgstr ""
3367
 
3374
  msgstr ""
3375
 
3376
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:64
3377
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:582
3378
  msgid "Premium"
3379
  msgstr ""
3380
 
3404
 
3405
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:131
3406
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:144
3407
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:293
 
3408
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:330
3409
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:343
3410
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:476
3411
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:84
3412
  msgid "NEW!"
3413
  msgstr ""
3457
  msgstr ""
3458
 
3459
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:240
3460
+ msgid ""
3461
+ "WP Bakery, Elementor, Gutenberg, Avada Builder and Divi Builder integrations"
3462
  msgstr ""
3463
 
3464
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:252
3466
  msgstr ""
3467
 
3468
  #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:264
3469
+ msgid "Creating charts with Chart.js"
3470
+ msgstr ""
3471
+
3472
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:265
3473
+ msgid "NEW in Lite!"
3474
+ msgstr ""
3475
+
3476
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:277
3477
  msgid "Customize charts"
3478
  msgstr ""
3479
 
3480
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:281
3481
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:576
3482
  msgid "Limited"
3483
  msgstr ""
3484
 
3485
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:283
3486
  msgid "Some options are not available."
3487
  msgstr ""
3488
 
3489
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:379
3490
  msgid "Creating tables where users can see and edit only their own data"
3491
  msgstr ""
3492
 
3493
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:572
3494
  msgid "Support"
3495
  msgstr ""
3496
 
3497
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:578
3498
  msgid "Response time is slow and can be up to 5 business days."
3499
  msgstr ""
3500
 
3501
+ #: wpdatatables-lite/templates/admin/lite-vs-premium/lite_vs_premium.inc.php:589
3502
  msgid ""
3503
  "* Please note that wpDataTables add-ons are not included in premium version "
3504
  "of plugin."
3507
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:33
3508
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:95
3509
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:25
3510
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1129
3511
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:47
3512
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:48
3513
  #: wpdatatables-lite/templates/admin/table-settings/table_preview_block.inc.php:89
3517
  msgstr ""
3518
 
3519
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:44
 
 
3520
  msgid "Main settings"
3521
  msgstr ""
3522
 
3526
  msgstr ""
3527
 
3528
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:54
 
 
3529
  msgid "Color and font settings"
3530
  msgstr ""
3531
 
3532
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:58
 
 
3533
  msgid "Custom JS and CSS"
3534
  msgstr ""
3535
 
3538
  msgstr ""
3539
 
3540
  #: wpdatatables-lite/templates/admin/settings/settings.inc.php:92
 
3541
  msgid "Reset colors and fonts to default"
3542
  msgstr ""
3543
 
3550
 
3551
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:27
3552
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1525
 
3553
  msgid ""
3554
  "This font will be used in rendered tables. Leave blank not to override "
3555
  "default theme settings"
3560
  msgid "Define the font size"
3561
  msgstr ""
3562
 
 
 
 
 
 
 
 
 
3563
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:72
3564
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1583
3565
  msgid "This color is used for the main font in table cells."
3761
  msgstr ""
3762
 
3763
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:523
 
3764
  msgid "Buttons hover border color"
3765
  msgstr ""
3766
 
3769
  msgstr ""
3770
 
3771
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:543
 
3772
  msgid "Buttons and inputs border radius (in px)"
3773
  msgstr ""
3774
 
3775
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:545
 
3776
  msgid "This is a border radius for inputs in buttons. Default is 3px."
3777
  msgstr ""
3778
 
3781
  msgstr ""
3782
 
3783
  #: wpdatatables-lite/templates/admin/settings/tabs/color_and_font_settings.php:584
 
3784
  msgid "Modals font color"
3785
  msgstr ""
3786
 
3860
  msgstr ""
3861
 
3862
  #: wpdatatables-lite/templates/admin/settings/tabs/custom_js_and_css.php:15
 
3863
  msgid "Custom wpDataTables JS"
3864
  msgstr ""
3865
 
3871
 
3872
  #: wpdatatables-lite/templates/admin/settings/tabs/custom_js_and_css.php:30
3873
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:2086
 
3874
  msgid "Custom wpDataTables CSS"
3875
  msgstr ""
3876
 
3890
 
3891
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:15
3892
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1468
 
3893
  msgid "Interface language"
3894
  msgstr ""
3895
 
3904
  msgstr ""
3905
 
3906
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:36
 
3907
  msgid "Date format"
3908
  msgstr ""
3909
 
3912
  msgstr ""
3913
 
3914
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:74
 
3915
  msgid "Time format"
3916
  msgstr ""
3917
 
3935
 
3936
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:104
3937
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1491
 
3938
  msgid "Base skin"
3939
  msgstr ""
3940
 
3974
  msgstr ""
3975
 
3976
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:125
 
3977
  msgid "Number format"
3978
  msgstr ""
3979
 
3980
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:127
 
3981
  msgid "Pick the number format (thousands and decimals separator)"
3982
  msgstr ""
3983
 
3984
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:144
 
3985
  msgid "Render advanced filter"
3986
  msgstr ""
3987
 
3992
  msgstr ""
3993
 
3994
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:152
 
3995
  msgid "In the header"
3996
  msgstr ""
3997
 
3998
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:153
 
3999
  msgid "In the footer"
4000
  msgstr ""
4001
 
4002
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:161
4003
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:385
 
4004
  msgid "Decimal places"
4005
  msgstr ""
4006
 
4027
  msgstr ""
4028
 
4029
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:217
4030
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:814
 
4031
  msgid "Ascending"
4032
  msgstr ""
4033
 
4034
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:218
4035
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:815
 
4036
  msgid "Descending"
4037
  msgstr ""
4038
 
4039
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:229
 
4040
  msgid "Tablet width"
4041
  msgstr ""
4042
 
4043
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:231
 
4044
  msgid ""
4045
  "Here you can specify width of the screen (in pixels) that will be treated as "
4046
  "a tablet. You can set it wider if you want responsive effect on desktops."
4047
  msgstr ""
4048
 
4049
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:255
 
4050
  msgid "Mobile width"
4051
  msgstr ""
4052
 
4055
  msgstr ""
4056
 
4057
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:282
 
4058
  msgid "Tables per admin page"
4059
  msgstr ""
4060
 
4071
  msgstr ""
4072
 
4073
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:306
 
4074
  msgid "Align numbers to the right"
4075
  msgstr ""
4076
 
4140
 
4141
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:434
4142
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:440
 
4143
  msgid "Show plugin credentials below tables"
4144
  msgstr ""
4145
 
4146
  #: wpdatatables-lite/templates/admin/settings/tabs/main_plugin_settings.php:436
 
4147
  msgid ""
4148
  "If you want to support our project, please, keep this checkbox as checked"
4149
  msgstr ""
4609
  msgstr ""
4610
 
4611
  #: wpdatatables-lite/templates/admin/table-settings/add_column_modal.inc.php:85
 
4612
  msgid "Possible values"
4613
  msgstr ""
4614
 
4649
  msgstr ""
4650
 
4651
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:72
 
4652
  msgid "Displayed header"
4653
  msgstr ""
4654
 
4655
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:86
 
4656
  msgid "Column position"
4657
  msgstr ""
4658
 
4681
  msgstr ""
4682
 
4683
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:176
 
4684
  msgid "Hide on mobiles"
4685
  msgstr ""
4686
 
4689
  msgstr ""
4690
 
4691
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:192
 
4692
  msgid "Hide on tablets"
4693
  msgstr ""
4694
 
4697
  msgstr ""
4698
 
4699
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:214
 
4700
  msgid "CSS class(es)"
4701
  msgstr ""
4702
 
4723
 
4724
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:300
4725
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:308
 
4726
  msgid "Group column"
4727
  msgstr ""
4728
 
4746
  msgstr ""
4747
 
4748
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:343
 
4749
  msgid "Column type"
4750
  msgstr ""
4751
 
4765
  msgstr ""
4766
 
4767
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:358
4768
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1018
4769
  msgid "URL link"
4770
  msgstr ""
4771
 
4772
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:359
4773
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1019
4774
  msgid "E-mail link"
4775
  msgstr ""
4776
 
4802
 
4803
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:405
4804
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:413
 
4805
  msgid "Skip thousands separator"
4806
  msgstr ""
4807
 
5018
  msgstr ""
5019
 
5020
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:712
5021
+ msgid "URL nofollow relation attribute"
5022
  msgstr ""
5023
 
5024
  #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:714
5025
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:729
5026
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:745
5027
  msgid "Set the link relation"
5028
  msgstr ""
5029
 
5030
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:727
5031
+ msgid "URL noreferrer relation attribute"
5032
+ msgstr ""
5033
+
5034
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:743
5035
+ msgid "URL sponsored relation attribute"
5036
+ msgstr ""
5037
+
5038
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:771
5039
  msgid "Allow sorting"
5040
  msgstr ""
5041
 
5042
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:773
5043
  msgid "Disable this to disallow sorting for this column."
5044
  msgstr ""
5045
 
5046
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:779
5047
  msgid "Allow sorting for this column"
5048
  msgstr ""
5049
 
5050
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:786
5051
  msgid "Use as default sorting column"
5052
  msgstr ""
5053
 
5054
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:788
5055
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:794
5056
  msgid "Sort table by this column on load"
5057
  msgstr ""
5058
 
5059
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:805
5060
  msgid "Default sorting direction"
5061
  msgstr ""
5062
 
5063
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:807
5064
  msgid "Choose whether to sort ascending or descending by default."
5065
  msgstr ""
5066
 
5067
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:834
5068
  msgid "Add a filter for this column"
5069
  msgstr ""
5070
 
5071
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:842
5072
  msgid "Enable filtering for column"
5073
  msgstr ""
5074
 
5075
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:849
5076
  msgid ""
5077
  "Enabling this switch will add a filter for this column. Disable to remove "
5078
  "the filter for this column."
5079
  msgstr ""
5080
 
5081
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:858
5082
  msgid "Allow filtering"
5083
  msgstr ""
5084
 
5085
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:865
5086
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:682
5087
  msgid "Global search"
5088
  msgstr ""
5089
 
5090
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:867
5091
  msgid ""
5092
  "If this option is turned off, the column data will not appear in your global "
5093
  "search results."
5094
  msgstr ""
5095
 
5096
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:873
5097
  msgid "Enable this column in Global search"
5098
  msgstr ""
5099
 
5100
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:881
 
5101
  msgid "Filter type"
5102
  msgstr ""
5103
 
5104
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:883
5105
  msgid ""
5106
  "You can redefine the filter type here, it will affect the filtering logic."
5107
  msgstr ""
5108
 
5109
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:890
5110
  msgid "Text"
5111
  msgstr ""
5112
 
5113
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:891
5114
  msgid "Number"
5115
  msgstr ""
5116
 
5117
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:892
5118
  msgid "Number range"
5119
  msgstr ""
5120
 
5121
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:893
5122
  msgid "Date range"
5123
  msgstr ""
5124
 
5125
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:894
5126
  msgid "DateTime range"
5127
  msgstr ""
5128
 
5129
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:895
5130
  msgid "Time range"
5131
  msgstr ""
5132
 
5133
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:896
5134
  msgid "Selectbox"
5135
  msgstr ""
5136
 
5137
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:897
5138
  msgid "Checkbox"
5139
  msgstr ""
5140
 
5141
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:908
5142
  msgid "Filter label"
5143
  msgstr ""
5144
 
5145
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:916
5146
  msgid "Custom filter label"
5147
  msgstr ""
5148
 
5149
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:923
5150
  msgid ""
5151
  "You can change the filter label (placeholder) for this column here, if you "
5152
  "would like to show some custom text instead of default."
5153
  msgstr ""
5154
 
5155
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:938
5156
  msgid "Exact filtering"
5157
  msgstr ""
5158
 
5159
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:940
5160
  msgid ""
5161
  "Enable exact search to use exact match logic for filtering, disable to allow "
5162
  "partial match."
5163
  msgstr ""
5164
 
5165
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:946
5166
  msgid "Enable exact filtering"
5167
  msgstr ""
5168
 
5169
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:953
5170
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1050
5171
  msgid "Predefined value(s)"
5172
  msgstr ""
5173
 
5174
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:955
5175
  msgid ""
5176
  "Define value(s) that will be set as default pre-defined filter value(s) on "
5177
  "page load."
5178
  msgstr ""
5179
 
5180
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1001
5181
  msgid "Editor input type"
5182
  msgstr ""
5183
 
5184
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1003
5185
  msgid "Choose which kind of editor input to use for this column."
5186
  msgstr ""
5187
 
5188
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1009
5189
  msgid "None"
5190
  msgstr ""
5191
 
5192
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1010
5193
  msgid "One-line edit"
5194
  msgstr ""
5195
 
5196
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1011
5197
  msgid "Multi-line edit"
5198
  msgstr ""
5199
 
5200
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1012
5201
  msgid "HTML editor"
5202
  msgstr ""
5203
 
5204
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1013
5205
  msgid "Single-value selectbox"
5206
  msgstr ""
5207
 
5208
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1014
5209
  msgid "Multi-value selectbox"
5210
  msgstr ""
5211
 
5212
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1030
5213
  msgid "Column cannot be empty"
5214
  msgstr ""
5215
 
5216
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1032
5217
  msgid ""
5218
  "Enable to make this column mandatory. Users will see a warning when trying "
5219
  "to save with empty input."
5220
  msgstr ""
5221
 
5222
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1038
5223
  msgid "Cannot be empty"
5224
  msgstr ""
5225
 
5226
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1052
5227
  msgid ""
5228
  "If you would like to have some values pre-defined in editors (i.e. default "
5229
  "editor values) please enter these here."
5230
  msgstr ""
5231
 
5232
+ #: wpdatatables-lite/templates/admin/table-settings/column_settings_panel.inc.php:1098
5233
  msgid "Add New Rule"
5234
  msgstr ""
5235
 
5263
  #: wpdatatables-lite/templates/admin/table-settings/columns_list_modal.inc.php:37
5264
  #: wpdatatables-lite/templates/admin/table-settings/foreign_key_config.inc.php:98
5265
  #: wpdatatables-lite/templates/admin/table-settings/formula_editor_modal.inc.php:93
 
 
 
 
5266
  msgid "Save"
5267
  msgstr ""
5268
 
5269
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:7
 
5270
  msgid "If cell value"
5271
  msgstr ""
5272
 
5273
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:18
 
5274
  msgid "contains"
5275
  msgstr ""
5276
 
5277
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:19
 
5278
  msgid "does not contain"
5279
  msgstr ""
5280
 
5281
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:32
 
5282
  msgid "Set cell color"
5283
  msgstr ""
5284
 
5285
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:33
 
5286
  msgid "Reset cell color to default"
5287
  msgstr ""
5288
 
5289
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:34
 
5290
  msgid "Set cell content"
5291
  msgstr ""
5292
 
5293
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:35
 
5294
  msgid "Set cell CSS class"
5295
  msgstr ""
5296
 
5297
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:36
 
5298
  msgid "Remove cell CSS class"
5299
  msgstr ""
5300
 
5301
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:37
 
5302
  msgid "Set row color"
5303
  msgstr ""
5304
 
5305
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:38
 
5306
  msgid "Reset row color to default"
5307
  msgstr ""
5308
 
5309
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:39
 
5310
  msgid "Set row CSS class"
5311
  msgstr ""
5312
 
5313
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:40
 
5314
  msgid "Remove row CSS class"
5315
  msgstr ""
5316
 
5317
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:41
 
5318
  msgid "Set column color"
5319
  msgstr ""
5320
 
5321
  #: wpdatatables-lite/templates/admin/table-settings/conditional_formatting_block.inc.php:42
 
5322
  msgid "Add column CSS class"
5323
  msgstr ""
5324
 
5384
  msgstr ""
5385
 
5386
  #: wpdatatables-lite/templates/admin/table-settings/formula_editor_modal.inc.php:85
 
 
 
 
 
5387
  msgid "Preview"
5388
  msgstr ""
5389
 
5616
 
5617
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:338
5618
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:211
 
5619
  msgid "Table title"
5620
  msgstr ""
5621
 
5622
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:346
5623
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:219
 
5624
  msgid "Show table title"
5625
  msgstr ""
5626
 
5729
  msgstr ""
5730
 
5731
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:533
 
5732
  msgid "Scrollable"
5733
  msgstr ""
5734
 
5768
  #: wpdatatables-lite/templates/admin/table-settings/simple_table_settings_block.inc.php:595
5769
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:469
5770
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:477
 
5771
  msgid "Word wrap"
5772
  msgstr ""
5773
 
5869
  msgstr ""
5870
 
5871
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:113
 
5872
  msgid "CSV file"
5873
  msgstr ""
5874
 
5875
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:114
 
5876
  msgid "Excel file"
5877
  msgstr ""
5878
 
5881
  msgstr ""
5882
 
5883
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:118
 
5884
  msgid "XML file"
5885
  msgstr ""
5886
 
5887
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:119
 
5888
  msgid "JSON file"
5889
  msgstr ""
5890
 
5928
  msgstr ""
5929
 
5930
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:186
 
5931
  msgid "Auto-refresh"
5932
  msgstr ""
5933
 
6140
  msgstr ""
6141
 
6142
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:718
 
6143
  msgid "Filter in form"
6144
  msgstr ""
6145
 
6158
  msgstr ""
6159
 
6160
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:749
 
6161
  msgid "Clear filters"
6162
  msgstr ""
6163
 
6186
  msgstr ""
6187
 
6188
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:800
 
6189
  msgid "Front-end editing"
6190
  msgstr ""
6191
 
6202
  msgstr ""
6203
 
6204
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:831
 
6205
  msgid "Popover tools"
6206
  msgstr ""
6207
 
6232
  msgstr ""
6233
 
6234
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:892
 
6235
  msgid "MySQL table name for editing"
6236
  msgstr ""
6237
 
6245
  msgstr ""
6246
 
6247
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:908
 
6248
  msgid "ID column for editing"
6249
  msgstr ""
6250
 
6257
  msgstr ""
6258
 
6259
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:924
 
6260
  msgid "Editor roles"
6261
  msgstr ""
6262
 
6309
  msgstr ""
6310
 
6311
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:982
 
6312
  msgid "User ID column"
6313
  msgstr ""
6314
 
6320
  msgstr ""
6321
 
6322
  #: wpdatatables-lite/templates/admin/table-settings/table_settings_block.inc.php:1017
 
6323
  msgid "Table tools"
6324
  msgstr ""
6325
 
6543
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:54
6544
  msgid ""
6545
  "wpDataTables is a best-selling WordPress table plugin which makes your work "
6546
+ "with tables, charts and data management easy. 60,000+ companies."
6547
  msgstr ""
6548
 
6549
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:62
6561
  msgstr ""
6562
 
6563
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:107
6564
+ msgid "Create charts with Google Charts and Chart.js"
6565
  msgstr ""
6566
 
6567
  #: wpdatatables-lite/templates/admin/welcome_page/welcome_page.inc.php:125
6671
  "website."
6672
  msgstr ""
6673
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6674
  #: wpdatatables-lite/templates/common/delete_modal.inc.php:28
6675
  msgid "Please confirm deletion. There is no undo!"
6676
  msgstr ""