authpartner

Clone or download

jquery error fix

Modified Files

A .gitignore
+74 −0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,74 @@
+# Compiled source #
+###################
+*.com
+*.class
+*.dll
+*.exe
+*.o
+*.so
+
+# Packages #
+############
+# it's better to unpack these files and commit the raw source
+# git has its own built in compression methods
+*.7z
+*.dmg
+*.gz
+*.iso
+*.jar
+*.rar
+*.tar
+*.zip
+
+# Logs and databases #
+######################
+*.log
+*.sql
+*.sqlite
+
+# OS generated files #
+######################
+.DS_Store
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+ehthumbs.db
+Thumbs.db
+
+##Codignitor##
+##############
+application/cache/*
+!application/cache/index.html
+!application/cache/.htaccess
+
+application/logs/*
+!application/logs/index.html
+!application/logs/.htaccess
+
+user_guide_src/build/*
+user_guide_src/cilexer/build/*
+user_guide_src/cilexer/dist/*
+user_guide_src/cilexer/pycilexer.egg-info/*
+/vendor/
+
+# IDE Files
+#-------------------------
+/nbproject/
+.idea/*
+
+## Sublime Text cache files
+*.tmlanguage.cache
+*.tmPreferences.cache
+*.stTheme.cache
+*.sublime-workspace
+*.sublime-project
+
+# Custom #
+######################
+.DS_Store
+
+config.php
+/xml/**
+xml/hashKey.xml
+xml/hashhkey.xml
\ No newline at end of file
A browse.php
+29 −0
--- /dev/null
+++ b/browse.php
@@ -0,0 +1,29 @@
+<?php
+ include 'config.php';
+$fileBrowse = $_FILES['fileUpload']['tmp_name'];
+$filePath = $_POST['filePath'] . "/" . $_FILES['fileUpload']['name'];
+$access_token = $_POST['accesstoken'];
+$fileContent = file_get_contents($fileBrowse);
+$finfo = new \finfo(FILEINFO_MIME_TYPE);
+$mime = $finfo->buffer($fileContent);
+$client_secret = $config['client_secret_upload'];
+$hk = hash_hmac('sha256', $fileContent, $client_secret, true);
+$hmac = base64_encode($hk);
+$ur = array('Content-Type: ' . $mime, 'Authorization: Bearer ' . $access_token, 'path : ' . $filePath, 'hmac : ' . $hmac . '');
+$ch = curl_init();
+curl_setopt($ch, CURLOPT_URL, $config['upload_file']);
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
+curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
+curl_setopt($ch, CURLOPT_POST, 1);
+curl_setopt($ch, CURLOPT_POSTFIELDS, $fileContent);
+curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
+curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
+curl_setopt($ch, CURLOPT_TCP_NODELAY, 1);
+curl_setopt($ch, CURLOPT_HTTPHEADER, $ur);
+$output = curl_exec($ch);
+curl_close($ch);
+header("Location: uploaddoc.php?code=".$_POST['code']."&state=".$_POST['state']); /* Redirect browser */
+exit();
+
+?>
\ No newline at end of file
M css/bootstrap.min.css
+1 −1
--- 'a/css/bootstrap.min.css'
+++ b/css/bootstrap.min.css
@@ -2,5 +2,5 @@
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:blueviolet;border-color:blueviolet}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#333;background-color:#f5f5f5;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
D css/digi-bank.css
+0 −256
--- 'a/css/digi-bank.css'
+++ /dev/null
@@ -1,256 +0,0 @@
-
-body {
- margin-top: 100px;
- background-color: #a2c1fa;
-}
-
-@media(min-width:768px) {
- body {
- margin-top: 50px;
- }
-}
-
-#wrapper {
- padding-left: 0;
-}
-
-#page-wrapper {
- width: 100%;
- padding: 0;
- background-color: #fff;
-}
-
-.huge {
- font-size: 50px;
- line-height: normal;
-}
-
-@media(min-width:768px) {
- #wrapper {
- padding-left: 225px;
- }
-
- #page-wrapper {
- padding: 10px;
- }
-}
-
-/* Top Navigation */
-
-.top-nav {
- padding: 0 15px;
-}
-
-.top-nav>li {
- display: inline-block;
- float: left;
-}
-
-.top-nav>li>a {
- padding-top: 15px;
- padding-bottom: 15px;
- line-height: 20px;
- color: #00aeff;
-}
-
-.top-nav>li>a:hover,
-.top-nav>li>a:focus,
-.top-nav>.open>a,
-.top-nav>.open>a:hover,
-.top-nav>.open>a:focus {
- color: #fff;
- background-color: #a2c1fa;
-}
-
-.top-nav>.open>.dropdown-menu {
- float: left;
- position: absolute;
- margin-top: 0;
- border: 1px solid rgba(0,0,0,.15);
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- background-color: #fff;
- -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
- box-shadow: 0 6px 12px rgba(0,0,0,.175);
-}
-
-.top-nav>.open>.dropdown-menu>li>a {
- white-space: normal;
-}
-
-ul.message-dropdown {
- padding: 0;
- max-height: 250px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-li.message-preview {
- width: 275px;
- border-bottom: 1px solid rgba(0,0,0,.15);
-}
-
-li.message-preview>a {
- padding-top: 15px;
- padding-bottom: 15px;
-}
-
-li.message-footer {
- margin: 5px 0;
-}
-
-ul.alert-dropdown {
- width: 200px;
-}
-
-/* Side Navigation */
-
-@media(min-width:768px) {
- .side-nav {
- position: fixed;
- top: 51px;
- left: 225px;
- width: 225px;
- margin-left: -225px;
- border: none;
- border-radius: 0;
- overflow-y: auto;
- background-color: #222;
- bottom: 0;
- overflow-x: hidden;
- padding-bottom: 40px;
- }
-
- .side-nav>li>a {
- width: 225px;
- }
-
- .side-nav li a:hover,
- .side-nav li a:focus {
- outline: none;
- background-color: #a2c1fa !important;
- }
-}
-
-.side-nav>li>ul {
- padding: 0;
-}
-
-.side-nav>li>ul>li>a {
- display: block;
- padding: 10px 15px 10px 38px;
- text-decoration: none;
- color: #999;
-}
-
-.side-nav>li>ul>li>a:hover {
- color: #fff;
-}
-
-/* Flot Chart Containers */
-
-.flot-chart {
- display: block;
- height: 400px;
-}
-
-.flot-chart-content {
- width: 100%;
- height: 100%;
-}
-
-/* Custom Colored Panels */
-
-.huge {
- font-size: 40px;
-}
-
-.panel-green {
- border-color: #5cb85c;
-}
-
-.panel-green > .panel-heading {
- border-color: #5cb85c;
- color: #fff;
- background-color: #5cb85c;
-}
-
-.panel-green > a {
- color: #5cb85c;
-}
-
-.panel-green > a:hover {
- color: #3d8b3d;
-}
-
-.panel-red {
- border-color: #d9534f;
-}
-
-.panel-red > .panel-heading {
- border-color: #d9534f;
- color: #fff;
- background-color: #d9534f;
-}
-
-.panel-red > a {
- color: #d9534f;
-}
-
-.panel-red > a:hover {
- color: #b52b27;
-}
-
-.panel-yellow {
- border-color: #f0ad4e;
-}
-
-.panel-yellow > .panel-heading {
- border-color: #f0ad4e;
- color: #fff;
- background-color: #f0ad4e;
-}
-
-.panel-yellow > a {
- color: #f0ad4e;
-}
-
-.panel-yellow > a:hover {
- color: #df8a13;
-}
-.side-nav{
- background-color:#025c86;
-}
-
-.collapse, .navbar-collapse, .navbar-ex1-collapse{
- background-color:#4066ad;
-}
-
-.navbar-inverse .navbar-brand {
- color: #00aeff;
-}
-.navbar-inverse .navbar-nav > li > a {
- color: #00aeff;
-}
-.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:focus, .navbar-inverse .navbar-nav > .active > a:hover {
- background-color: #00aeff;
- color: #fff;
-}
-
-.has-success .form-control {
- border-color: #e1e3e5;
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
-}
-
-.has-success .form-control:focus {
- border-color: #e1e3e5;
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 6px #025c86;
-}
-
-.has-success .checkbox, .has-success .checkbox-inline, .has-success .control-label, .has-success .help-block, .has-success .radio, .has-success .radio-inline, .has-success.checkbox label, .has-success.checkbox-inline label, .has-success.radio label, .has-success.radio-inline label {
- color: #777;
-}
-nav .footer-bootom{
- background-color: #4066ad;
-}
-
A css/font-style.css
+191 −0
--- /dev/null
+++ b/css/font-style.css
@@ -0,0 +1,191 @@
+@font-face {
+ font-family: "Crete Round";
+ font-style: italic;
+ font-weight: 400;
+ src: local("Crete Round Italic"), local("CreteRound-Italic"), url("https://fonts.gstatic.com/s/creteround/v5/5xAt7XK2vkUdjhGtt98unU_0lycXMw8PhobHtu2Qgco.woff2") format("woff2");
+ unicode-range: U+100-24F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+
+@font-face {
+ font-family: "Crete Round";
+ font-style: italic;
+ font-weight: 400;
+ src: local("Crete Round Italic"), local("CreteRound-Italic"), url("https://fonts.gstatic.com/s/creteround/v5/5xAt7XK2vkUdjhGtt98uncu2Q0OS-KeTAWjgkS85mDg.woff2") format("woff2");
+ unicode-range: U+0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Karla"), local("Karla-Regular"), url("https://fonts.gstatic.com/s/karla/v5/31P4mP32i98D9CEnGyeX9Q.woff2") format("woff2");
+ unicode-range: U+100-24F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Karla"), local("Karla-Regular"), url("https://fonts.gstatic.com/s/karla/v5/Zi_e6rBgGqv33BWF8WTq8g.woff2") format("woff2");
+ unicode-range: U+0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Karla Bold"), local("Karla-Bold"), url("https://fonts.gstatic.com/s/karla/v5/r3NqIkFHFaF3esZDc3WT5BTbgVql8nDJpwnrE27mub0.woff2") format("woff2");
+ unicode-range: U+100-24F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Karla Bold"), local("Karla-Bold"), url("https://fonts.gstatic.com/s/karla/v5/suoMYBGv5sGCUIrF9mVTffesZW2xOQ-xsNqO47m55DA.woff2") format("woff2");
+ unicode-range: U+0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: italic;
+ font-weight: 400;
+ src: local("Karla Italic"), local("Karla-Italic"), url("https://fonts.gstatic.com/s/karla/v5/uo43pN46LBw6Xe8n1TeyhPY6323mHUZFJMgTvxaG2iE.woff2") format("woff2");
+ unicode-range: U+100-24F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: italic;
+ font-weight: 400;
+ src: local("Karla Italic"), local("Karla-Italic"), url("https://fonts.gstatic.com/s/karla/v5/LCDsRHICy9vmW7BLwm8u7g.woff2") format("woff2");
+ unicode-range: U+0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: italic;
+ font-weight: 700;
+ src: local("Karla Bold Italic"), local("Karla-BoldItalic"), url("https://fonts.gstatic.com/s/karla/v5/O00booBYqRdhwyoNbnAf1iEAvth_LlrfE80CYdSH47w.woff2") format("woff2");
+ unicode-range: U+100-24F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+
+@font-face {
+ font-family: "Karla";
+ font-style: italic;
+ font-weight: 700;
+ src: local("Karla Bold Italic"), local("Karla-BoldItalic"), url("https://fonts.gstatic.com/s/karla/v5/VZ08RdiotRdV1D0ewK-mxPk_vArhqVIZ0nv9q090hN8.woff2") format("woff2");
+ unicode-range: U+0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url("https://fonts.gstatic.com/s/robotoslab/v6/y7lebkjgREBJK96VQi37ZjTOQ_MqJVwkKsUn0wKzc2I.woff2") format("woff2");
+ unicode-range: U+460-52F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url("https://fonts.gstatic.com/s/robotoslab/v6/y7lebkjgREBJK96VQi37ZjUj_cnvWIuuBMVgbX098Mw.woff2") format("woff2");
+ unicode-range: U+400-45F, U+490-491, U+4B0-4B1, U+2116;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url("https://fonts.gstatic.com/s/robotoslab/v6/y7lebkjgREBJK96VQi37ZkbcKLIaa1LC45dFaAfauRA.woff2") format("woff2");
+ unicode-range: U+1F00-1FFF;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url("https://fonts.gstatic.com/s/robotoslab/v6/y7lebkjgREBJK96VQi37Zmo_sUJ8uO4YLWRInS22T3Y.woff2") format("woff2");
+ unicode-range: U+370-3FF;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url("https://fonts.gstatic.com/s/robotoslab/v6/y7lebkjgREBJK96VQi37Zr6up8jxqWt8HVA3mDhkV_0.woff2") format("woff2");
+ unicode-range: U+102-103, U+1EA0-1EF9, U+20AB;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url("https://fonts.gstatic.com/s/robotoslab/v6/y7lebkjgREBJK96VQi37ZiYE0-AqJ3nfInTTiDXDjU4.woff2") format("woff2");
+ unicode-range: U+100-24F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 400;
+ src: local("Roboto Slab Regular"), local("RobotoSlab-Regular"), url("https://fonts.gstatic.com/s/robotoslab/v6/y7lebkjgREBJK96VQi37Zo4P5ICox8Kq3LLUNMylGO4.woff2") format("woff2");
+ unicode-range: U+0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url("https://fonts.gstatic.com/s/robotoslab/v6/dazS1PrQQuCxC3iOAJFEJZ6iIh_FvlUHQwED9Yt5Kbw.woff2") format("woff2");
+ unicode-range: U+460-52F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url("https://fonts.gstatic.com/s/robotoslab/v6/dazS1PrQQuCxC3iOAJFEJS_vZmeiCMnoWNN9rHBYaTc.woff2") format("woff2");
+ unicode-range: U+400-45F, U+490-491, U+4B0-4B1, U+2116;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url("https://fonts.gstatic.com/s/robotoslab/v6/dazS1PrQQuCxC3iOAJFEJSFaMxiho_5XQnyRZzQsrZs.woff2") format("woff2");
+ unicode-range: U+1F00-1FFF;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url("https://fonts.gstatic.com/s/robotoslab/v6/dazS1PrQQuCxC3iOAJFEJQalQocB-__pDVGhF3uS2Ks.woff2") format("woff2");
+ unicode-range: U+370-3FF;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url("https://fonts.gstatic.com/s/robotoslab/v6/dazS1PrQQuCxC3iOAJFEJWhQUTDJGru-0vvUpABgH8I.woff2") format("woff2");
+ unicode-range: U+102-103, U+1EA0-1EF9, U+20AB;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url("https://fonts.gstatic.com/s/robotoslab/v6/dazS1PrQQuCxC3iOAJFEJejkDdvhIIFj_YMdgqpnSB0.woff2") format("woff2");
+ unicode-range: U+100-24F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+
+@font-face {
+ font-family: "Roboto Slab";
+ font-style: normal;
+ font-weight: 700;
+ src: local("Roboto Slab Bold"), local("RobotoSlab-Bold"), url("https://fonts.gstatic.com/s/robotoslab/v6/dazS1PrQQuCxC3iOAJFEJYlIZu-HDpmDIZMigmsroc4.woff2") format("woff2");
+ unicode-range: U+0-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
A css/jquery.datepick.css
+220 −0
--- /dev/null
+++ b/css/jquery.datepick.css
@@ -0,0 +1,220 @@
+/* Default styling for jQuery Datepicker v5.0.1. */
+.datepick {
+ background-color: #b568fc;
+ color: #000;
+ border: 1px solid #9579fc;
+ border-radius: 0.25em;
+ -moz-border-radius: 0.25em;
+ -webkit-border-radius: 0.25em;
+ font-family: Arial,Helvetica,Sans-serif;
+ font-size: 90%;
+}
+.datepick-rtl {
+ direction: rtl;
+}
+.datepick-popup {
+ z-index: 1000;
+}
+.datepick-disable {
+ position: absolute;
+ z-index: 100;
+ background-color: white;
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+}
+.datepick a {
+ color: #fff;
+ text-decoration: none;
+}
+.datepick a.datepick-disabled {
+ color: #888;
+ cursor: auto;
+}
+.datepick button {
+ margin: 0.25em;
+ padding: 0.125em 0em;
+ background-color: #fcc;
+ border: none;
+ border-radius: 0.25em;
+ -moz-border-radius: 0.25em;
+ -webkit-border-radius: 0.25em;
+ font-weight: bold;
+}
+.datepick-nav, .datepick-ctrl {
+ float: left;
+ width: 100%;
+ background-color: blueviolet;
+ color: #fff;
+ font-size: 90%;
+ font-weight: bold;
+}
+.datepick-ctrl {
+ background-color: #6238FC;
+}
+.datepick-cmd {
+ width: 30%;
+}
+.datepick-cmd:hover {
+ background-color: #9579fc;
+}
+.datepick-ctrl .datepick-cmd:hover {
+ background-color: #9579fc;
+}
+.datepick-cmd-prevJump, .datepick-cmd-nextJump {
+ width: 8%;
+}
+a.datepick-cmd {
+ height: 1.5em;
+}
+button.datepick-cmd {
+ text-align: center;
+}
+.datepick-cmd-prev, .datepick-cmd-prevJump, .datepick-cmd-clear {
+ float: left;
+ padding-left: 2%;
+}
+.datepick-cmd-current, .datepick-cmd-today {
+ float: left;
+ width: 35%;
+ text-align: center;
+}
+.datepick-cmd-next, .datepick-cmd-nextJump, .datepick-cmd-close {
+ float: right;
+ padding-right: 2%;
+ text-align: right;
+}
+.datepick-rtl .datepick-cmd-prev, .datepick-rtl .datepick-cmd-prevJump,
+.datepick-rtl .datepick-cmd-clear {
+ float: right;
+ padding-left: 0%;
+ padding-right: 2%;
+ text-align: right;
+}
+.datepick-rtl .datepick-cmd-current, .datepick-rtl .datepick-cmd-today {
+ float: right;
+}
+.datepick-rtl .datepick-cmd-next, .datepick-rtl .datepick-cmd-nextJump,
+.datepick-rtl .datepick-cmd-close {
+ float: left;
+ padding-left: 2%;
+ padding-right: 0%;
+ text-align: left;
+}
+.datepick-month-nav {
+ float: left;
+ background-color: #777;
+ text-align: center;
+}
+.datepick-month-nav div {
+ float: left;
+ width: 12.5%;
+ margin: 1%;
+ padding: 1%;
+}
+.datepick-month-nav span {
+ color: #888;
+}
+.datepick-month-row {
+ clear: left;
+}
+.datepick-month {
+ float: left;
+ width: 15em;
+ border: 1px solid #b568fc;
+ text-align: center;
+}
+.datepick-month-header, .datepick-month-header select, .datepick-month-header input {
+ height: 1.5em;
+ background-color: #b568fc;
+ color: #fff;
+ font-weight: bold;
+}
+.datepick-month-header select, .datepick-month-header input {
+ height: 1.4em;
+ margin: 0em;
+ padding: 0em;
+ border: none;
+ font-size: 100%;
+}
+.datepick-month-header input {
+ position: absolute;
+ display: none;
+}
+.datepick-month table {
+ width: 100%;
+ border-collapse: collapse;
+}
+.datepick-month thead {
+ border-bottom: 1px solid #aaa;
+}
+.datepick-month th, .datepick-month td {
+ margin: 0em;
+ padding: 0em;
+ font-weight: normal;
+ text-align: center;
+}
+.datepick-month th {
+ border: 1px solid #777;
+}
+.datepick-month th, .datepick-month th a {
+ background-color: #d2a2ff;
+ color: #fff;
+}
+.datepick-month td {
+ background-color: #eee;
+ border: 1px solid #aaa;
+}
+.datepick-month td.datepick-week {
+ border: 1px solid #777;
+}
+.datepick-month td.datepick-week * {
+ background-color: #777;
+ color: #fff;
+ border: none;
+}
+.datepick-month a {
+ display: block;
+ width: 100%;
+ padding: 0.125em 0em;
+ background-color: #eee;
+ color: #000;
+ text-decoration: none;
+}
+.datepick-month span {
+ display: block;
+ width: 100%;
+ padding: 0.125em 0em;
+}
+.datepick-month td span {
+ color: #888;
+}
+.datepick-month td .datepick-other-month {
+ background-color: #fff;
+}
+.datepick-month td .datepick-weekend {
+ background-color: #ddd;
+}
+.datepick-month td .datepick-today {
+ background-color: #9579fc;
+ color:#fff;
+}
+.datepick-month td .datepick-highlight {
+ background-color: #9579fc;
+ color:#fff;
+}
+.datepick-month td .datepick-selected {
+ background-color: #777;
+ color: #fff;
+}
+.datepick-month th.datepick-week {
+ background-color: #777;
+ color: #fff;
+}
+.datepick-status {
+ clear: both;
+ background-color: #ddd;
+ text-align: center;
+}
+.datepick-clear-fix {
+ clear: both;
+}
A css/loading.gif
+- −-
Binary files /dev/null and b/css/loading.gif differ
A css/style.css
+277 −0
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,277 @@
+
+html,
+body {
+ height: 100%;
+}
+
+body {
+ /*padding-top: 50px; *//* Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */
+}
+
+.img-portfolio {
+ margin-bottom: 30px;
+}
+
+.img-hover:hover {
+ opacity: 0.8;
+}
+
+/* Home Page Carousel */
+
+header.carousel {
+ height: 50%;
+}
+
+header.carousel .item,
+header.carousel .item.active,
+header.carousel .carousel-inner {
+ height: 100%;
+}
+
+header.carousel .fill {
+ width: 100%;
+ height: 100%;
+ background-position: center;
+ background-size: cover;
+}
+
+/* 404 Page Styles */
+
+.error-404 {
+ font-size: 100px;
+}
+
+/* Pricing Page Styles */
+
+.price {
+ display: block;
+ font-size: 50px;
+ line-height: 50px;
+}
+
+.price sup {
+ top: -20px;
+ left: 2px;
+ font-size: 20px;
+}
+
+.period {
+ display: block;
+ font-style: family;
+}
+
+/* Footer Styles */
+
+footer {
+ margin: 50px 0;
+}
+
+/* Responsive Styles */
+
+@media(max-width:991px) {
+ .customer-img,
+ .img-related {
+ margin-bottom: 30px;
+ }
+}
+
+@media(max-width:767px) {
+ .img-portfolio {
+ margin-bottom: 15px;
+ }
+
+ header.carousel .carousel {
+ height: 70%;
+ }
+}
+<!--mycode------------->
+.row ul li a {
+ color: #000000 !important;
+ text-decoration: none;
+}
+.col-lg-4 p a{
+ color: #606060;
+ text-decoration:none;
+ }
+ .col-lg-4 p a:hover{
+ color: #878785;
+ text-decoration:none;
+ }
+ .border-box {
+ /*border:#FFF 1px dashed;
+ padding-top:20px;
+ padding-bottom:10px;*/
+ }
+
+.custom-bullet li {
+ display: block;
+}
+
+.custom-bullet li:before
+{
+ /*Using a Bootstrap glyphicon as the bullet point*/
+ content: "\e080";
+ font-family: 'Glyphicons Halflings';
+ font-size: 9px;
+ float: left;
+ margin-top: 2px;
+ margin-left: -17px;
+ color:#FF595C;
+}
+.panel-body .custom-bullet li:before
+{
+ /*Using a Bootstrap glyphicon as the bullet point*/
+ content: "\e080";
+ font-family: 'Glyphicons Halflings';
+ font-size: 9px;
+ float: left;
+ margin-top: 3px;
+ margin-left: -17px;
+ color:#FF595C;
+}
+
+.border-box h4{
+ /*color:#fff;*/
+}
+ .navbar-inverse {
+ background-color: blueviolet;
+ border:none;
+}
+div.navbar-inverse {
+ background-color: #ebeae0;
+ border-color:#ffffff;
+}
+
+.navbar-inverse .navbar-brand {
+ color: #ffffff;
+}
+.navbar-inverse .navbar-brand:hover {
+ color: #cacaca;
+}
+.navbar-inverse .navbar-nav > li > a {
+ font-size:11px;
+ color: #fff;
+}
+.nav > li > a:focus {
+
+ background-color: #f0ede4;
+ color:#000;
+}
+.navbar_li_a{
+ /*line-height: 4px !important;*/
+
+}
+.navbar-inverse .navbar-nav > li > a:hover {
+ color: #cacaca;
+}
+.panel-default > .panel-heading {
+ background-color: #f5f5f5;
+ border-color: #ddd;
+ color: #333;
+}
+.panel-body p{
+ padding-left:25px;
+ /*color:#d1d1d1;*/
+}
+.col-md-10 .panel-default{
+ background-color: #e7e7df !important;
+ min-height:20px;
+
+}
+ /*.navbar_li_a{
+ max-height:30px !important;
+ position:relative;
+}*/
+.btn-default{
+ font-size:11px;
+ background-color: blueviolet;
+ background-image: linear-gradient(to bottom, blueviolet, blueviolet);
+ border: 1px solid #8a66f4;
+ border-radius: 3px;
+ color: #ffffff;
+ display: inline-block;
+ text-decoration: none;
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
+}
+.btn-default:hover{
+ background-color:#acd9ff;
+ color:#fff;
+}
+.para{
+ margin-left:10px;
+ margin-top:2px;
+ font-weight:bold;
+}
+.nor-font .height-form{
+ height: 25px;
+}
+
+.nor-font label{
+ font-weight:normal;
+}
+
+.navbar-header a img{
+ margin-top:-10px;
+ /*margin-left:100px;*/
+}
+footer{
+ margin:0px;
+}
+footer .text-justify{
+ margin-bottom:20px;
+}
+footer .text-justify a{
+ color:#606060;
+}
+footer .text-justify a:hover{
+ color:#878785;
+ text-decoration: none;
+}
+.navbar .border-box .row{
+ font-size:11px;
+ margin-top:25px;
+}
+
+.col-md-10 .panel-default {
+ max-height: 25px;
+}
+.panel-default .panel-heading{
+ max-height:40px;
+}
+.panel-default .panel-heading h4{
+ margin-top:0px;
+}
+.outerborder{
+ padding-right: 0px;
+ padding-left: 0px;
+ border: 1px solid #fff;
+ padding-bottom: 10px;
+ border-color: #f7f7f4;
+ margin-bottom:15px;
+}
+.outerborder .panel{
+ margin-bottom:10px;
+}
+
+.formrow{
+ background-color: transparent;
+ clear: both;
+ margin: 2px;
+ padding-top: 5px;
+ color: #000;
+ font-size: 12px;
+}
+.footer-hed{
+ font-weight:bold;
+}
+.border-box .text-justify{
+ font-size:11px;
+}
+.footer-setting{
+ margin-top:50px;
+}
+hr{margin:0px;}
+.tg {border-collapse:collapse;border-spacing:0;}
+.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
+.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:bold;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
+.tg .tg-yw4l{vertical-align:top}
\ No newline at end of file
A css/styles.css
+5337 −0
--- /dev/null
+++ b/css/styles.css
@@ -0,0 +1,5337 @@
+@charset "UTF-8";
+/* ==============================
+ 1. Common styles
+ ============================== */
+/*
+ * 1.1 Common styles
+ */
+::-moz-selection {
+ color: #fff;
+ background: #000000; }
+
+::selection {
+ color: #fff;
+ background: #000000; }
+
+html, body {
+ -webkit-font-smoothing: antialiased;
+ overflow-x: hidden; }
+
+iframe {
+ border: none; }
+
+a:hover {
+ -webkit-transition: all 0.3s ease 0s;
+ -khtml-transition: all 0.3s ease 0s;
+ -moz-transition: all 0.3s ease 0s;
+ -ms-transition: all 0.3s ease 0s;
+ -o-transition: all 0.3s ease 0s;
+ transition: all 0.3s ease 0s; }
+a:focus, a:active {
+ -webkit-outline: none;
+ -khtml-outline: none;
+ -moz-outline: none;
+ -ms-outline: none;
+ -o-outline: none;
+ outline: none; }
+
+img:not([draggable]), embed, object, video {
+ max-width: 100%;
+ height: auto; }
+
+p {
+ margin-bottom: 30px; }
+
+.appear-animate .wow {
+ visibility: hidden; }
+
+.row.no-gutters {
+ margin-right: 0;
+ margin-left: 0; }
+.row.no-gutters > [class^="col-"], .row.no-gutters > [class*=" col-"] {
+ padding-right: 0;
+ padding-left: 0; }
+
+.breadcrumb {
+ margin: 0 0 35px;
+ padding: 0;
+ background: none;
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0; }
+.breadcrumb a {
+ color: #999999; }
+
+.page-header {
+ border: none;
+ margin: 0;
+ padding: 0; }
+.page-header h1 {
+ margin: 0;
+ font-size: 18px; }
+.page-header .breadcrumb {
+ margin: 0; }
+/* indresh style */
+.dropdown-menu {
+
+ background-color: blueviolet !important;
+ /* border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 4px;
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
+ float: left;
+ font-size: 14px;
+ left: 0;
+ list-style: outside none none;
+ min-width: 160px;
+ padding: 5px 0;
+ position: absolute;
+ text-align: left;
+ top: 100%;
+ z-index: 1000;*/
+}
+.dropdown-menu>li>a{
+ color:#fff;
+}
+.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{ background-color:#fff !important; margin-left:15px; padding-left:8px !important;}
+
+
+
+.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
+ border-top: 1px solid #ddd;
+ line-height: 1.42857;
+ padding: 8px;
+ vertical-align: top;
+ cursor:hand;
+ cursor:pointer;
+}
+
+/*
+ * 1.2. Helper CSS
+ */
+.kt-table {
+ display: table;
+ width: 100%;
+ height: 100%; }
+.kt-table .kt-col {
+ display: table-cell;
+ vertical-align: middle; }
+
+.round {
+ -webkit-border-radius: 2px;
+ -khtml-border-radius: 2px;
+ -moz-border-radius: 2px;
+ -ms-border-radius: 2px;
+ -o-border-radius: 2px;
+ border-radius: 2px; }
+
+.circle {
+ -webkit-border-radius: 100%;
+ -khtml-border-radius: 100%;
+ -moz-border-radius: 100%;
+ -ms-border-radius: 100%;
+ -o-border-radius: 100%;
+ border-radius: 100%; }
+
+.square {
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0; }
+
+.screen-reader-text {
+ clip: rect(1px, 1px, 1px, 1px);
+ height: 1px;
+ overflow: hidden;
+ position: absolute !important;
+ width: 1px; }
+
+.kt-column-bg {
+ -webkit-background-size: cover;
+ -khtml-background-size: cover;
+ -moz-background-size: cover;
+ -ms-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+ background-position: center center;
+ background-repeat: no-repeat; }
+
+.letter-spacing {
+ letter-spacing: 0.2em; }
+
+.text-nomal {
+ text-transform: none; }
+
+.white {
+ color: #fff !important; }
+
+.black {
+ color: #111 !important; }
+
+.redwine {
+ color: #dd2d25 !important; }
+
+.babyred {
+ color: #ff604d !important; }
+.blueface {
+ color: #43609c !important; }
+.sky {
+ color: #69d6e8 !important; }
+.olive {
+ color: #423918 !important; }
+.black {
+ color: #111 !important; }
+
+
+.gray {
+ color: #999999 !important; }
+
+.bg-silver{
+ background: #e0e0e0;
+}
+
+.bg-wood{
+ background: #57513f;
+}
+.bg-gray {
+ background: #f6f6f6; }
+
+.bg-lightgreen {
+ background: #c7db9c; }
+
+.bg-wheat {
+ background: #f4dc86; }
+
+.bg-sky {
+ background: #337ab7; }
+
+.bg-coral {
+ background: #ed8b5c; }
+
+.bg-aquamarine {
+ background: #bce5d3; }
+
+.bg-purple {
+ background: #d1aece; }
+
+.bg-gradient-gray {
+ position: relative; }
+.bg-gradient-gray:before {
+ content: '';
+ width: 100%;
+ height: 50%;
+ position: absolute;
+ background: #f6f6f6;
+ top: 0;
+ left: 0; }
+
+.bg-gradient-blue {
+ position: relative; }
+.bg-gradient-blue:before {
+ content: '';
+ width: 100%;
+ height: 40%;
+ position: absolute;
+ background: #b7f0f3;
+ top: 0;
+ left: 0; }
+
+/* ==============================
+ 2. Page loader
+ ============================== */
+.pace {
+ background: #FFFFFF;
+ height: 100%;
+ left: 0;
+ position: fixed;
+ top: 0;
+ visibility: visible;
+ width: 100%;
+ z-index: 999999;
+ text-align: center;
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1;
+ -webkit-pointer-events: none;
+ -khtml-pointer-events: none;
+ -moz-pointer-events: none;
+ -ms-pointer-events: none;
+ -o-pointer-events: none;
+ pointer-events: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+ -webkit-background-clip: padding-box;
+ -khtml-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ -ms-background-clip: padding-box;
+ -o-background-clip: padding-box;
+ background-clip: padding-box;
+ -webkit-transition: all 0.2s ease-in-out 0s;
+ -khtml-transition: all 0.2s ease-in-out 0s;
+ -moz-transition: all 0.2s ease-in-out 0s;
+ -ms-transition: all 0.2s ease-in-out 0s;
+ -o-transition: all 0.2s ease-in-out 0s;
+ transition: all 0.2s ease-in-out 0s; }
+.pace.pace-inactive {
+ visibility: hidden;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0; }
+
+.pace-activity {
+ display: block;
+ height: 100%;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1; }
+.pace-activity:before {
+ content: "";
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle; }
+.pace-activity .page-loading-wrapper {
+ display: inline-block; }
+
+.page-loading-wrapper {
+ display: none;
+ vertical-align: middle;
+ padding: 0 15px;
+ width: 99%; }
+.page-loading-wrapper .progress-bar-loading {
+ width: 110px;
+ margin: 0 auto;
+ height: 105px;
+ float: none;
+ -webkit-border-top-left-radius: 13px;
+ -webkit-border-top-right-radius: 13px;
+ -webkit-border-bottom-right-radius: 13px;
+ -webkit-border-bottom-left-radius: 13px;
+ -moz-border-radius-topleft: 13px;
+ -moz-border-radius-topright: 13px;
+ -moz-border-radius-bottomright: 13px;
+ -moz-border-radius-bottomleft: 13px;
+ border-top-left-radius: 13px;
+ border-top-right-radius: 13px;
+ border-bottom-right-radius: 13px;
+ border-bottom-left-radius: 13px;
+ background: #fff;
+ max-width: 100%;
+ position: relative; }
+.page-loading-wrapper .progress-bar-loading .progress-bar-inner {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 110px;
+ overflow: hidden; }
+.page-loading-wrapper .progress-bar-loading .progress-bar-inner.back-loading path {
+ fill: #eeeeee; }
+.page-loading-wrapper .progress-bar-loading .progress-bar-inner.front-loading {
+ width: 1%;
+ -webkit-transition: all 0.2s ease-in-out 0s;
+ -khtml-transition: all 0.2s ease-in-out 0s;
+ -moz-transition: all 0.2s ease-in-out 0s;
+ -ms-transition: all 0.2s ease-in-out 0s;
+ -o-transition: all 0.2s ease-in-out 0s;
+ transition: all 0.2s ease-in-out 0s; }
+.page-loading-wrapper .progress-bar-loading .progress-bar-inner.front-loading path {
+ fill: #000000; }
+.page-loading-wrapper .progress-bar-loading .progress-bar-number {
+ font-family: "Roboto Slab", serif;
+ color: #000000;
+ font-size: 14px;
+ font-weight: bold;
+ letter-spacing: 0.075em;
+ line-height: 1;
+ padding-left: 30px;
+ text-align: center; }
+.page-loading-wrapper .progress-bar-loading svg {
+ width: 110px; }
+.page-loading-wrapper .progress-bar-loading svg path {
+ stroke-linecap: round;
+ stroke-linejoin: round;
+ stroke-miterlimit: 10; }
+
+/* ==============================
+ 3. Typography
+ ============================== */
+/*
+ * 3.1 Typography common styles
+ */
+body {
+ font-family: "Karla", arial, sans-serif;
+ font-size: 14px;
+ line-height: 25px;
+ color: #666666;
+ min-width: 300px; }
+
+h1, h2, h3, h4, h5, h6 {
+ line-height: 1.4;
+ margin: 0 0 20px;
+ font-family: "Roboto Slab", serif;
+ text-transform: uppercase;
+ font-weight: bold;
+ color: #000000; }
+
+h1, h2, h3 {
+ letter-spacing: 0.2em; }
+
+a {
+ color: #000000; }
+a:hover, a:focus {
+ color: #333333;
+ text-decoration: none; }
+
+.font-light {
+ font-weight: 300; }
+
+.font-black {
+ font-weight: 900; }
+
+/*
+ * 3.2 Blockquote
+ */
+blockquote {
+ background: #f6f6f6;
+ padding: 90px 45px 35px;
+ margin-bottom: 30px;
+ border: none;
+ position: relative;
+ font-size: 14px;
+ color: #999999; }
+blockquote:before {
+ background: #000000;
+ color: #ffffff;
+ content: "“";
+ font-size: 36px;
+ height: 32px;
+ left: 45px;
+ line-height: 55px;
+ padding-left: 2px;
+ position: absolute;
+ top: 35px;
+ width: 28px;
+ text-align: left; }
+blockquote .blockquote-reverse {
+ padding: 90px 45px 35px; }
+blockquote .blockquote-reverse:before {
+ left: auto;
+ right: 45px;
+ content: "�"; }
+blockquote p {
+ margin-bottom: 15px; }
+blockquote *:last-child {
+ margin-bottom: 0; }
+
+/* ==============================
+ 4. Forms fields
+ ============================== */
+input[type=email],
+input[type=password],
+input[type=phone],
+input[type=tel],
+input[type=text],
+textarea {
+ border: 2px solid #ebebeb;
+ color: #999999;
+ padding: 6px 12px;
+ height: 40px;
+ background: none;
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ -khtml-box-shadow: none;
+ -moz-box-shadow: none;
+ -ms-box-shadow: none;
+ -o-box-shadow: none;
+ box-shadow: none;
+ -webkit-appearance: none;
+ -khtml-appearance: none;
+ -moz-appearance: none;
+ -ms-appearance: none;
+ -o-appearance: none;
+ appearance: none;
+ -webkit-transition: none;
+ -khtml-transition: none;
+ -moz-transition: none;
+ -ms-transition: none;
+ -o-transition: none;
+ transition: none;
+ width: 100%; }
+input[type=email]:focus,
+input[type=password]:focus,
+input[type=phone]:focus,
+input[type=tel]:focus,
+input[type=text]:focus,
+textarea:focus {
+ -webkit-box-shadow: none;
+ -khtml-box-shadow: none;
+ -moz-box-shadow: none;
+ -ms-box-shadow: none;
+ -o-box-shadow: none;
+ box-shadow: none;
+ border-color: #999999;
+ outline: 0;
+ color: #999999; }
+
+textarea {
+ height: auto; }
+
+input[type=email].input-bg,
+input[type=password].input-bg,
+input[type=phone].input-bg,
+input[type=tel].input-bg,
+input[type=text].input-bg,
+textarea.input-bg {
+ background: #f6f6f6;
+ border: 1px solid #f0f0f0;
+ font-size: 12px;
+ letter-spacing: 0.075em; }
+
+select {
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0;
+ width: 100%;
+ height: 40px;
+ line-height: 1.42857;
+ padding: 6px 12px;
+ border: 1px solid #f0f0f0;
+ background: #f6f6f6;
+ cursor: pointer;
+ color: #999999; }
+select:focus {
+ outline: 0; }
+
+select:not([multiple]) {
+ -webkit-box-shadow: none;
+ -khtml-box-shadow: none;
+ -moz-box-shadow: none;
+ -ms-box-shadow: none;
+ -o-box-shadow: none;
+ box-shadow: none;
+ -webkit-appearance: none;
+ -khtml-appearance: none;
+ -moz-appearance: none;
+ -ms-appearance: none;
+ -o-appearance: none;
+ appearance: none;
+ background: #f6f6f6 url(../images/selectbox-arrow.png) no-repeat right center; }
+
+.form-control {
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0;
+ -webkit-box-shadow: none;
+ -khtml-box-shadow: none;
+ -moz-box-shadow: none;
+ -ms-box-shadow: none;
+ -o-box-shadow: none;
+ box-shadow: none; }
+.form-control :focus {
+ -webkit-box-shadow: none;
+ -khtml-box-shadow: none;
+ -moz-box-shadow: none;
+ -ms-box-shadow: none;
+ -o-box-shadow: none;
+ box-shadow: none; }
+
+.select-icon {
+ display: inline-block;
+ position: relative; }
+.select-icon:after {
+ content: "";
+ display: block;
+ pointer-events: none;
+ right: 5px;
+ z-index: 1;
+ font-family: FontAwesome;
+ content: "";
+ font-style: normal;
+ font-weight: normal;
+ position: absolute;
+ -webkit-transform: translateY(-50%);
+ -khtml-transform: translateY(-50%);
+ -moz-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%);
+ top: 50%;
+ font-size: 12px; }
+.select-icon select {
+ border: none;
+ font-size: 14px;
+ background: none;
+ padding: 0 25px 0 0;
+ height: auto; }
+
+
+/* ==============================
+ 5. Buttons
+ ============================== */
+.btn {
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0;
+ border: 2px solid transparent;
+ display: inline-block;
+ line-height: 1.42857;
+ /*padding: 8px 26px;*/
+ font-weight: bold;
+ font-size: 14px;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ font-family: "Karla", sans-serif;
+ /* Button size */
+ /* Button shapes */
+ /* Button icon */
+ /* Button style */ }
+.btn:focus, .btn:active:focus, .btn.active:focus {
+ outline: none; }
+.btn.active, .btn:active {
+ -webkit-box-shadow: none;
+ -khtml-box-shadow: none;
+ -moz-box-shadow: none;
+ -ms-box-shadow: none;
+ -o-box-shadow: none;
+ box-shadow: none; }
+.btn.btn-xs {
+ padding: 6px 10px;
+ font-size: 8px; }
+.btn.btn-sm {
+ padding: 8px 20px;
+ font-size: 10px; }
+.btn.btn-lg {
+ padding: 10px 60px;
+ font-size: 18px; }
+.btn.btn-xlg {
+ padding: 12px 65px;
+ font-size: 20px; }
+.btn.btn-round {
+ border-radius: 3px; }
+.btn.btn-circle {
+ border-radius: 30px; }
+.btn.button-icon-left {
+ margin-right: 5px; }
+.btn.button-icon-right {
+ margin-left: 5px; }
+.btn.btn-default {
+ background: #blueviolet;
+ color: #FFFFFF;
+ /* border-color: #000000; */}
+
+ .btn-info:hover
+ {color:#fff;background-color:blueviolet;border-color:#269abc}
+ **/
+
+
+.btn.btn-animation span {
+ -webkit-transform: translateX(0);
+ -khtml-transform: translateX(0);
+ -moz-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0);
+ -webkit-transition: all .3s ease-in-out 0s;
+ -khtml-transition: all .3s ease-in-out 0s;
+ -moz-transition: all .3s ease-in-out 0s;
+ -ms-transition: all .3s ease-in-out 0s;
+ -o-transition: all .3s ease-in-out 0s;
+ transition: all .3s ease-in-out 0s;
+ display: block;
+ position: relative; }
+.btn.btn-animation span i {
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transition: all .3s ease-in-out 0s;
+ -khtml-transition: all .3s ease-in-out 0s;
+ -moz-transition: all .3s ease-in-out 0s;
+ -ms-transition: all .3s ease-in-out 0s;
+ -o-transition: all .3s ease-in-out 0s;
+ transition: all .3s ease-in-out 0s;
+ -webkit-transform: translate(30px, -50%);
+ -khtml-transform: translate(30px, -50%);
+ -moz-transform: translate(30px, -50%);
+ -ms-transform: translate(30px, -50%);
+ -o-transform: translate(30px, -50%);
+ transform: translate(30px, -50%);
+ position: absolute;
+ right: 0;
+ top: 50%; }
+.btn.btn-animation:hover span {
+ -webkit-transform: translateX(-10px);
+ -khtml-transform: translateX(-10px);
+ -moz-transform: translateX(-10px);
+ -ms-transform: translateX(-10px);
+ -o-transform: translateX(-10px);
+ transform: translateX(-10px); }
+.btn.btn-animation:hover span i {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+.btn.btn-gray {
+ background: #f6f6f6;
+ color: #666666;
+ border-color: #f6f6f6; }
+.btn.btn-gray:hover {
+ background: #000000;
+ color: #FFFFFF;
+ border-color: #000000; }
+.btn.btn-light {
+ border-color: #FFFFFF;
+ background: #FFFFFF;
+ color: #000000; }
+.btn.btn-light:hover {
+ background: #000000;
+ color: #FFFFFF;
+ border-color: #000000; }
+.btn.btn-dark-b {
+ background: none;
+ color: #000000;
+ border-color: #000000; }
+.btn.btn-light-b {
+ border: 2px solid #FFFFFF;
+ background: none;
+ font-family: "Karla", arial, sans-serif;
+ font-weight: normal;
+ color: #FFFFFF; }
+.btn.btn-light-b:hover {
+ background: #FFFFFF;
+ color: #000000; }
+.btn.btn-medium {
+ background: #f6f6f6;
+ border: 1px solid #f0f0f0;
+ color: #000;
+ font-weight: bold;
+ letter-spacing: 0.2em; }
+.btn.btn-medium:hover {
+ background: #000000;
+ border-color: #000000;
+ color: #fff; }
+.btn.btn-addtocart {
+ background: #ffffff;
+ color: #000000;
+ width: 100%;
+ height: 32px;
+ font-size: 14px;
+ border-color: #ffffff;
+ padding: 0 45px;
+ line-height: 32px; }
+.btn.btn-addtocart:hover {
+ background: #000000;
+ color: #FFFFFF;
+ border-color: #000000; }
+.btn.btn-addtocart-b {
+ background: none;
+ color: #000000;
+ height: 48px;
+ font-size: 14px;
+ border-color: #000000;
+ padding: 0 45px;
+ line-height: 44px; }
+.btn.btn-addtocart-b:hover {
+ background: #000000;
+ color: #FFFFFF;
+ border-color: #000000; }
+.btn.btn-default:hover, .btn.btn-dark-b:hover {
+ background:cornflowerblue;
+ color: #FFFFFF;
+ /* border-color: #000000;*/ }
+.btn.btn-blue-b {
+ border: 2px solid #f15d35;
+ background: #f15d35;
+ font-family: "Karla", arial, sans-serif;
+ font-weight: normal;
+ color: #FFFFFF; }
+.btn.btn-blue-b:hover {
+ border: 2px solid #f15d35;
+ background: #FFFFFF;
+ color: #000000; }
+
+.rev-btn {
+ padding: 15px 46px;
+ border: 2px solid #fff;
+ color: #fff;
+ text-transform: uppercase;
+ background: none;
+ font-size: 14px;
+ line-height: 14px;
+ font-family: "Karla", arial, sans-serif;
+ font-weight: 400;
+ letter-spacing: 0.18em; }
+
+/* ==============================
+ 6. Sections styles
+ ============================== */
+.page-section {
+ display: block;
+ position: relative;
+ padding: 50px 0;
+ background-repeat: no-repeat;
+ background-position: center center;
+ background-attachment: fixed;
+ -webkit-background-size: cover;
+ -khtml-background-size: cover;
+ -moz-background-size: cover;
+ -ms-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover; }
+.page-section .page-section-inner {
+ position: relative;
+ z-index: 1; }
+.page-section.small-section {
+ padding: 30px 0; }
+.page-section.bg-scroll {
+ background-attachment: scroll !important; }
+.page-section.bg-dark-alfa-40:before {
+ content: "";
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ background: rgba(0, 0, 0, 0.4); }
+
+.page-small-width {
+ margin: 0 auto;
+ max-width: 900px;
+ padding: 0 15px; }
+
+/* ==============================
+ 7. Search
+ ============================== */
+.searchform {
+ margin: 0 auto;
+ position: relative; }
+.searchform input[type=text] {
+ background: transparent;
+ width: 100%;
+ padding: 5px 40px 5px 10px; }
+.searchform button {
+ background: none;
+ border: none;
+ height: 26px;
+ padding: 0;
+ right: 5px;
+ width: 26px;
+ line-height: 26px;
+ position: absolute;
+ -webkit-transform: translateY(-50%);
+ -khtml-transform: translateY(-50%);
+ -moz-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%);
+ top: 50%; }
+.searchform button i {
+ line-height: 26px; }
+
+#search-fullwidth {
+ background: #ffffff;
+ margin: 0 auto;
+ max-width: 1170px;
+ padding: 70px 200px;
+ position: relative; }
+#search-fullwidth button.mfp-close {
+ color: #000000;
+ font-size: 0;
+ right: 15px;
+ top: 15px; }
+#search-fullwidth button.mfp-close:before {
+ font-size: 18px;
+ font-family: FontAwesome;
+ content: "�";
+ font-style: normal;
+ font-weight: normal;
+ position: absolute;
+ -webkit-transform: translate(-50%, -50%);
+ -khtml-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ -o-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ top: 50%;
+ left: 50%; }
+#search-fullwidth .searchform input[type=text] {
+ border: none;
+ border-bottom: 2px solid #ebebeb;
+ padding: 10px 0;
+ height: auto;
+ font-size: 14px;
+ letter-spacing: 0.075em; }
+#search-fullwidth .searchform button {
+ font-size: 14px; }
+
+/* ==============================
+ 8. Header
+ ============================== */
+.branding h1 {
+ margin: 0;
+ font-size: 24px; }
+.topbar .branding {
+ position: absolute;
+ -webkit-transform: translate(-50%, -50%);
+ -khtml-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ -o-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ top: 50%;
+ left: 50%;
+ z-index: 1; }
+.topbar .branding h1 {
+ line-height: 40px; }
+
+.topbar {
+ height: 40px;
+ background-color: #fdfdfc;
+ border-bottom: 1px solid #f6f6f6;
+ text-align: center;
+ position: relative;
+ z-index: 30; }
+.topbar .topbar-left {
+ text-align: left; }
+.topbar .topbar-left li:first-child .top-navigation-submenu {
+ left: 9px; }
+.topbar .topbar-right {
+ text-align: right; }
+.topbar .topbar-right .top-navigation {
+ float: right; }
+.topbar .topbar-right .top-navigation .top-navigation-submenu {
+ left: auto;
+ right: 0; }
+.topbar .topbar-right .top-navigation li:last-child .top-navigation-submenu {
+ right: 9px; }
+
+.top-navigation {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.top-navigation > li {
+ display: inline-block;
+ border-left: 1px solid #f6f6f6;
+ position: relative;
+ float: left; }
+.top-navigation > li:last-child {
+ border-right: 1px solid #f6f6f6; }
+.top-navigation > li.wishlist-item > a > span {
+ background: #f6f6f6;
+ color: #000000;
+ font-size: 12px;
+ margin-left: 10px;
+ padding: 3px 5px; }
+.top-navigation > li.shopping-bag-item a > span {
+ padding: 2px 8px;
+ background: #dce9b7;
+ color: #000000;
+ font-size: 10px;
+ margin-left: 10px; }
+.top-navigation > li.language-switcher li, .top-navigation > li.currency-switcher li {
+ border-bottom: 1px solid #f6f6f6; }
+.top-navigation > li.language-switcher li:last-child, .top-navigation > li.currency-switcher li:last-child {
+ border: none; }
+.top-navigation > li.language-switcher li a, .top-navigation > li.currency-switcher li a {
+ display: block;
+ padding: 5px 10px 5px 10px;
+ color: #999999; }
+.top-navigation > li.language-switcher li a:hover, .top-navigation > li.currency-switcher li a:hover {
+ color: #000000; }
+.top-navigation > li.language-switcher .top-navigation-submenu, .top-navigation > li.currency-switcher .top-navigation-submenu {
+ width: 200px; }
+.top-navigation > li.myaccount-item .top-navigation-submenu {
+ width: 508px; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form,
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-create {
+ padding: 25px 15px; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form {
+ border-bottom: 1px solid #f6f6f6; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form p {
+ margin-bottom: 20px; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form p :last-child {
+ margin: 0; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form label {
+ color: #999999;
+ font-size: 14px;
+ font-weight: normal; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form label.inline {
+ margin-left: 30px;
+ color: #666666; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form label.inline input {
+ margin-right: 10px; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form a.forget-password {
+ float: right;
+ color: #999999;
+ margin-top: 4px; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-form a.forget-password:hover {
+ color: #000000; }
+.top-navigation > li.myaccount-item .top-navigation-submenu .myaccount-create {
+ line-height: 36px; }
+.top-navigation > li > a {
+ text-transform: uppercase;
+ /* color: #999999; */color: #000000;;
+ letter-spacing: 0.12em;
+ font-size: 12px;
+ line-height: 40px;
+ padding: 0 15px;
+ display: inline-block; }
+.top-navigation > li > a:hover {
+ color: #000000; }
+.top-navigation > li .top-navigation-submenu {
+ background: #FFFFFF;
+ position: absolute;
+ left: 0;
+ top: 40px;
+ width: 340px;
+ text-align: left;
+ -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -khtml-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -moz-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -ms-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -o-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ border-top: 1px solid #f6f6f6;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transform: translate(0, 40px);
+ -khtml-transform: translate(0, 40px);
+ -moz-transform: translate(0, 40px);
+ -ms-transform: translate(0, 40px);
+ -o-transform: translate(0, 40px);
+ transform: translate(0, 40px);
+ -webkit-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -khtml-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -moz-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -ms-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -o-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ visibility: hidden; }
+.top-navigation > li .top-navigation-submenu h3.submenu-heading {
+ text-align: center;
+ font-size: 14px;
+ color: #000000;
+ line-height: 40px;
+ border-bottom: 1px solid #f6f6f6;
+ margin: 0;
+ letter-spacing: 0.02em; }
+.top-navigation > li:hover .top-navigation-submenu {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1;
+ -webkit-transform: translate(0, 0);
+ -khtml-transform: translate(0, 0);
+ -moz-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
+ visibility: visible; }
+
+.shopping-bag .cart_block_no_products {
+ margin: 0;
+ padding: 18px;
+ text-align: center; }
+.shopping-bag .bag-products .bag-product {
+ padding: 18px;
+ border-bottom: 1px solid #F6f6f6;
+ position: relative; }
+.shopping-bag .bag-products .bag-product:before, .shopping-bag .bag-products .bag-product:after {
+ content: " ";
+ display: table; }
+.shopping-bag .bag-products .bag-product:after {
+ clear: both; }
+.shopping-bag .bag-products .bag-product figure {
+ float: left;
+ position: relative;
+ z-index: 1; }
+.shopping-bag .bag-products .bag-product figure img {
+ height: auto;
+ max-width: 90px; }
+.shopping-bag .bag-products .bag-product .bag-product-details {
+ padding-left: 105px;
+ position: relative; }
+.shopping-bag .bag-products .bag-product .bag-product-details .bag-product-title {
+ font-size: 14px;
+ text-transform: none;
+ margin: 0 0 10px;
+ padding-right: 10px; }
+.shopping-bag .bag-products .bag-product .bag-product-details .bag-product-title:hover {
+ text-decoration: underline; }
+.shopping-bag .bag-products .bag-product .bag-product-details > div {
+ color: #999999;
+ line-height: 25px;
+ font-size: 13px; }
+.shopping-bag .bag-products .bag-product .remove {
+ color: #000000;
+ font-size: 12px;
+ line-height: 1;
+ position: absolute;
+ right: 12px;
+ top: 18px; }
+.shopping-bag .bag-products .bag-product .remove:before {
+ font-family: FontAwesome;
+ content: "�";
+ font-style: normal;
+ font-weight: normal; }
+.shopping-bag .bag-products .bag-product .remove:hover {
+ color: red; }
+.shopping-bag .bag-buttons {
+ padding: 30px 65px; }
+.shopping-bag .bag-buttons a {
+ margin-bottom: 30px; }
+.shopping-bag .bag-buttons a:last-child {
+ margin-bottom: 0; }
+
+.mobile-tool {
+ position: absolute;
+ position: absolute;
+ -webkit-transform: translateY(-50%);
+ -khtml-transform: translateY(-50%);
+ -moz-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%);
+ top: 50%;
+ right: 0;
+ display: none; }
+.mobile-tool a {
+ display: block;
+ float: right;
+ line-height: 1;
+ margin-left: 15px; }
+.mobile-tool a:last-child {
+ margin: 0; }
+.mobile-tool a.mobile-tool-cart {
+ font-size: 26px;
+ position: relative;
+ margin-top: 2px; }
+.mobile-tool a.mobile-tool-cart span {
+ font-size: 12px;
+ position: absolute;
+ right: 0;
+ top: -6px; }
+
+#hamburger-icon {
+ padding: 10px; }
+#hamburger-icon .hamburger-icon-inner {
+ width: 20px;
+ height: 12px;
+ position: relative;
+ display: block; }
+#hamburger-icon .line {
+ display: block;
+ background: #000000;
+ width: 20px;
+ height: 2px;
+ position: absolute;
+ left: 0;
+ -webkit-border-radius: 1px;
+ -khtml-border-radius: 1px;
+ -moz-border-radius: 1px;
+ -ms-border-radius: 1px;
+ -o-border-radius: 1px;
+ border-radius: 1px;
+ -webkit-transition: all 0.4s;
+ -khtml-transition: all 0.4s;
+ -moz-transition: all 0.4s;
+ -ms-transition: all 0.4s;
+ -o-transition: all 0.4s;
+ transition: all 0.4s; }
+#hamburger-icon .line.line-1 {
+ top: 0; }
+#hamburger-icon .line.line-2 {
+ top: 50%; }
+#hamburger-icon .line.line-3 {
+ top: 100%; }
+#hamburger-icon.active .line-1 {
+ -webkit-transform: translateY(6px) translateX(0) rotate(45deg);
+ -khtml-transform: translateY(6px) translateX(0) rotate(45deg);
+ -moz-transform: translateY(6px) translateX(0) rotate(45deg);
+ -ms-transform: translateY(6px) translateX(0) rotate(45deg);
+ -o-transform: translateY(6px) translateX(0) rotate(45deg);
+ transform: translateY(6px) translateX(0) rotate(45deg); }
+#hamburger-icon.active .line-2 {
+ top: 100%;
+ -webkit-transform: translateY(6px);
+ -khtml-transform: translateY(6px);
+ -moz-transform: translateY(6px);
+ -ms-transform: translateY(6px);
+ -o-transform: translateY(6px);
+ transform: translateY(6px); }
+#hamburger-icon.active .line-3 {
+ -webkit-transform: translateY(-6px) translateX(0) rotate(-45deg);
+ -khtml-transform: translateY(-6px) translateX(0) rotate(-45deg);
+ -moz-transform: translateY(-6px) translateX(0) rotate(-45deg);
+ -ms-transform: translateY(-6px) translateX(0) rotate(-45deg);
+ -o-transform: translateY(-6px) translateX(0) rotate(-45deg);
+ transform: translateY(-6px) translateX(0) rotate(-45deg); }
+
+.navbar-container {
+ position: relative;
+ width: 100%;
+ background: #FFFFFF; }
+.navbar-container.is-sticky {
+ position: fixed;
+ top: 0;
+ left: 0; }
+.navbar-container.is-sticky .navbar-container-inner {
+ height: 60px;
+ line-height: 60px;
+ -webkit-transition: all .5s ease-in-out 0s;
+ -khtml-transition: all .5s ease-in-out 0s;
+ -moz-transition: all .5s ease-in-out 0s;
+ -ms-transition: all .5s ease-in-out 0s;
+ -o-transition: all .5s ease-in-out 0s;
+ transition: all .5s ease-in-out 0s; }
+.navbar-container.is-sticky .branding h1 {
+ line-height: 60px;
+ -webkit-transition: all .5s ease-in-out 0s;
+ -khtml-transition: all .5s ease-in-out 0s;
+ -moz-transition: all .5s ease-in-out 0s;
+ -ms-transition: all .5s ease-in-out 0s;
+ -o-transition: all .5s ease-in-out 0s;
+ transition: all .5s ease-in-out 0s; }
+.navbar-container .navbar-container-inner {
+ position: relative;
+ height: 90px;
+ line-height: 90px; }
+.navbar-container .branding {
+ float: left; }
+.navbar-container .branding h1 {
+ line-height: 90px; }
+.navbar-container #nav {
+ float: right; }
+.navbar-container #nav > ul {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ float: right; }
+.navbar-container #nav > ul#main-nav-tool {
+ margin-left: 66px; }
+.navbar-container #nav > ul#main-nav-tool li {
+ display: inline-block;
+ margin-left: 30px; }
+.navbar-container #nav > ul#main-nav-tool li:first-child {
+ margin-left: 0; }
+.navbar-container #nav #main-navigation {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.navbar-container #nav #main-navigation li.active > a {
+ color: #000; }
+.navbar-container #nav #main-navigation > li {
+ display: inline-block;
+ position: relative;
+ /* margin-left: 20px; */ }
+.navbar-container #nav #main-navigation > li.kt-megamenu-item {
+ position: static; }
+.navbar-container #nav #main-navigation > li:first-child {
+ margin-left: 0; }
+.navbar-container #nav #main-navigation > li:first-child > a {
+ padding-left: 0; }
+.navbar-container #nav #main-navigation > li:last-child > a {
+ padding-right: 0; }
+.navbar-container #nav #main-navigation > li > a {
+ text-transform: uppercase;
+ padding: 0 22px;
+ color: #999999;
+ letter-spacing: 0.04em;
+ font-weight: bold; }
+.navbar-container #nav #main-navigation > li > a:hover {
+ color: #000000; }
+.navbar-container #nav #main-navigation > li.active > a {
+ color: #000000; }
+.navbar-container #nav #main-navigation > li ul.sub-menu-dropdown,
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper {
+ border-top: 1px solid #f6f6f6;
+ background: #FFFFFF;
+ position: absolute;
+ top: 100%;
+ left: 0;
+ visibility: hidden;
+ line-height: normal;
+ width: 308px;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transform: translate(0, 40px);
+ -khtml-transform: translate(0, 40px);
+ -moz-transform: translate(0, 40px);
+ -ms-transform: translate(0, 40px);
+ -o-transform: translate(0, 40px);
+ transform: translate(0, 40px);
+ -webkit-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -khtml-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -moz-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -ms-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -o-transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
+ -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -khtml-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -moz-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -ms-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ -o-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 3px rgba(0, 0, 0, 0.12);
+ text-align: left; }
+.navbar-container #nav #main-navigation > li ul.sub-menu-dropdown {
+ list-style: none;
+ padding: 0;
+ margin: 0; }
+.navbar-container #nav #main-navigation > li ul.sub-menu-dropdown li {
+ border-bottom: 1px solid #f6f6f6; }
+.navbar-container #nav #main-navigation > li ul.sub-menu-dropdown li a {
+ padding: 20px;
+ display: block;
+ color: #999999;
+ font-size: 14px; }
+.navbar-container #nav #main-navigation > li ul.sub-menu-dropdown li a:hover {
+ color: #000000; }
+.navbar-container #nav #main-navigation > li ul.sub-menu-dropdown li ul.sub-menu-dropdown {
+ left: 100%;
+ top: -1px; }
+.navbar-container #nav #main-navigation > li ul.sub-menu-dropdown.right-overflow {
+ right: 0;
+ left: auto;
+ top: 100%; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper {
+ width: 100%; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul {
+ display: table;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ table-layout: fixed;
+ width: 100%; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li {
+ border-right: 1px solid #f6f6f6;
+ display: table-cell;
+ float: none;
+ vertical-align: top; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li:last-child {
+ border: none; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > a,
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > span {
+ color: #000000;
+ font-size: 15px;
+ display: block;
+ padding: 40px 28px 24px;
+ border-bottom: 1px solid #f6f6f6; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > ul {
+ list-style: none;
+ padding: 0;
+ margin: 0; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > ul > li {
+ display: block;
+ border-bottom: 1px solid #f6f6f6; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > ul > li :last-child {
+ border-bottom: none; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > ul > li > a,
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > ul > li > span {
+ padding: 30px 26px 22px;
+ display: block;
+ color: #999999;
+ font-size: 14px; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > ul > li > a:hover,
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper > ul > li > ul > li > span:hover {
+ color: #000000; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper.megamenu-columns-4 > ul > li {
+ width: 25%; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper.megamenu-columns-3 > ul > li {
+ width: 33.33%; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper.megamenu-columns-2 > ul > li {
+ width: 50%; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper.megamenu-position-left-menubar {
+ right: auto;
+ left: 0; }
+.navbar-container #nav #main-navigation > li .kt-megamenu-wrapper.megamenu-position-right-menubar {
+ right: 0;
+ left: auto; }
+.navbar-container #nav #main-navigation > li.megamenu-width-50 .kt-megamenu-wrapper {
+ width: 50%; }
+.navbar-container #nav #main-navigation > li.megamenu-width-75 .kt-megamenu-wrapper {
+ width: 75%; }
+.navbar-container #nav #main-navigation > li.megamenu-width-80 .kt-megamenu-wrapper {
+ width: 80%; }
+.navbar-container #nav #main-navigation > li.megamenu-width-90 .kt-megamenu-wrapper {
+ width: 90%; }
+.navbar-container #nav #main-navigation li:hover > ul.sub-menu-dropdown,
+.navbar-container #nav #main-navigation li:hover .kt-megamenu-wrapper {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1;
+ -webkit-transform: translate(0, 0);
+ -khtml-transform: translate(0, 0);
+ -moz-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
+ visibility: visible; }
+.navbar-container #nav #main-navigation li ul.sub-menu-dropdown li > ul.sub-menu-dropdown.right-overflow {
+ right: 100%;
+ left: auto; }
+
+.main-nav-mobile {
+ overflow-y: scroll;
+ position: fixed;
+ width: 100%;
+ max-height: 400px;
+ background: #fff none repeat scroll 0 0;
+ border-top: 1px solid #ebebeb;
+ border-bottom: 1px solid #ebebeb;
+ display: none; }
+.main-nav-mobile li {
+ position: relative; }
+.main-nav-mobile > ul {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.main-nav-mobile > ul > li {
+ position: relative;
+ -webkit-transform: translateX(-30px);
+ -khtml-transform: translateX(-30px);
+ -moz-transform: translateX(-30px);
+ -ms-transform: translateX(-30px);
+ -o-transform: translateX(-30px);
+ transform: translateX(-30px);
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0; }
+.main-nav-mobile > ul > li:nth-child(1) {
+ -webkit-transition: all 0.3s ease-out 0.1s;
+ -khtml-transition: all 0.3s ease-out 0.1s;
+ -moz-transition: all 0.3s ease-out 0.1s;
+ -ms-transition: all 0.3s ease-out 0.1s;
+ -o-transition: all 0.3s ease-out 0.1s;
+ transition: all 0.3s ease-out 0.1s; }
+.main-nav-mobile > ul > li:nth-child(2) {
+ -webkit-transition: all 0.3s ease-out 0.2s;
+ -khtml-transition: all 0.3s ease-out 0.2s;
+ -moz-transition: all 0.3s ease-out 0.2s;
+ -ms-transition: all 0.3s ease-out 0.2s;
+ -o-transition: all 0.3s ease-out 0.2s;
+ transition: all 0.3s ease-out 0.2s; }
+.main-nav-mobile > ul > li:nth-child(3) {
+ -webkit-transition: all 0.3s ease-out 0.3s;
+ -khtml-transition: all 0.3s ease-out 0.3s;
+ -moz-transition: all 0.3s ease-out 0.3s;
+ -ms-transition: all 0.3s ease-out 0.3s;
+ -o-transition: all 0.3s ease-out 0.3s;
+ transition: all 0.3s ease-out 0.3s; }
+.main-nav-mobile > ul > li:nth-child(4) {
+ -webkit-transition: all 0.3s ease-out 0.4s;
+ -khtml-transition: all 0.3s ease-out 0.4s;
+ -moz-transition: all 0.3s ease-out 0.4s;
+ -ms-transition: all 0.3s ease-out 0.4s;
+ -o-transition: all 0.3s ease-out 0.4s;
+ transition: all 0.3s ease-out 0.4s; }
+.main-nav-mobile > ul > li:nth-child(5) {
+ -webkit-transition: all 0.3s ease-out 0.5s;
+ -khtml-transition: all 0.3s ease-out 0.5s;
+ -moz-transition: all 0.3s ease-out 0.5s;
+ -ms-transition: all 0.3s ease-out 0.5s;
+ -o-transition: all 0.3s ease-out 0.5s;
+ transition: all 0.3s ease-out 0.5s; }
+.main-nav-mobile > ul > li:nth-child(6) {
+ -webkit-transition: all 0.3s ease-out 0.6s;
+ -khtml-transition: all 0.3s ease-out 0.6s;
+ -moz-transition: all 0.3s ease-out 0.6s;
+ -ms-transition: all 0.3s ease-out 0.6s;
+ -o-transition: all 0.3s ease-out 0.6s;
+ transition: all 0.3s ease-out 0.6s; }
+.main-nav-mobile > ul > li:nth-child(7) {
+ -webkit-transition: all 0.3s ease-out 0.7s;
+ -khtml-transition: all 0.3s ease-out 0.7s;
+ -moz-transition: all 0.3s ease-out 0.7s;
+ -ms-transition: all 0.3s ease-out 0.7s;
+ -o-transition: all 0.3s ease-out 0.7s;
+ transition: all 0.3s ease-out 0.7s; }
+.main-nav-mobile > ul > li:nth-child(8) {
+ -webkit-transition: all 0.3s ease-out 0.8s;
+ -khtml-transition: all 0.3s ease-out 0.8s;
+ -moz-transition: all 0.3s ease-out 0.8s;
+ -ms-transition: all 0.3s ease-out 0.8s;
+ -o-transition: all 0.3s ease-out 0.8s;
+ transition: all 0.3s ease-out 0.8s; }
+.main-nav-mobile > ul > li:nth-child(9) {
+ -webkit-transition: all 0.3s ease-out 0.9s;
+ -khtml-transition: all 0.3s ease-out 0.9s;
+ -moz-transition: all 0.3s ease-out 0.9s;
+ -ms-transition: all 0.3s ease-out 0.9s;
+ -o-transition: all 0.3s ease-out 0.9s;
+ transition: all 0.3s ease-out 0.9s; }
+.main-nav-mobile > ul > li:nth-child(10) {
+ -webkit-transition: all 0.3s ease-out 1s;
+ -khtml-transition: all 0.3s ease-out 1s;
+ -moz-transition: all 0.3s ease-out 1s;
+ -ms-transition: all 0.3s ease-out 1s;
+ -o-transition: all 0.3s ease-out 1s;
+ transition: all 0.3s ease-out 1s; }
+.main-nav-mobile > ul > li > a {
+ border-bottom: 1px solid #ebebeb;
+ color: #999999;
+ font-weight: bold;
+ text-transform: uppercase;
+ letter-spacing: 0.075em;
+ display: block;
+ padding: 10px 60px 10px 15px;
+ position: relative;
+ font-size: 13px; }
+.main-nav-mobile > ul > li > a:hover {
+ color: #000000; }
+.main-nav-mobile > ul > li a > .open-submenu {
+ cursor: pointer;
+ height: 100%;
+ line-height: 50px;
+ position: absolute;
+ right: 0;
+ text-align: center;
+ top: 0;
+ width: 40px; }
+.main-nav-mobile > ul > li a > .open-submenu:after {
+ font-size: 15px;
+ font-family: FontAwesome;
+ content: "";
+ font-style: normal;
+ font-weight: normal; }
+.main-nav-mobile > ul > li ul.sub-menu-dropdown,
+.main-nav-mobile > ul > li div.kt-megamenu-wrapper {
+ border-bottom: 1px solid #ebebeb;
+ display: none; }
+.main-nav-mobile > ul > li ul.sub-menu-dropdown,
+.main-nav-mobile > ul > li ul.sub-menu-megamenu {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.main-nav-mobile > ul > li ul.sub-menu-dropdown li a,
+.main-nav-mobile > ul > li ul.sub-menu-megamenu li a {
+ padding: 0 10px 0 25px;
+ font-size: 13px;
+ display: block; }
+.main-nav-mobile > ul > li ul.sub-menu-dropdown {
+ padding: 15px 0; }
+.main-nav-mobile > ul > li ul.sub-menu-dropdown ul.sub-menu-dropdown {
+ border: medium none;
+ margin-left: 20px;
+ padding: 0; }
+.main-nav-mobile > ul > li div.kt-megamenu-wrapper {
+ padding: 10px 0; }
+.main-nav-mobile > ul > li div.kt-megamenu-wrapper > ul {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.main-nav-mobile > ul > li div.kt-megamenu-wrapper > ul > li {
+ margin-bottom: 10px; }
+.main-nav-mobile > ul > li div.kt-megamenu-wrapper > ul > li > a,
+.main-nav-mobile > ul > li div.kt-megamenu-wrapper > ul > li > span {
+ display: block;
+ font-size: 15px;
+ color: #000000;
+ padding: 3px 10px 3px 25px;
+ text-transform: uppercase; }
+.main-nav-mobile > ul > li .searchform {
+ margin: 10px; }
+.main-nav-mobile > ul > li .searchform input[type="text"] {
+ border-width: 1px; }
+.main-nav-mobile > ul > li.active-menu-item > a > .open-submenu:after {
+ content: '\f106'; }
+
+body.opened-nav-animate {
+ height: 100%;
+ overflow: hidden !important;
+ position: fixed;
+ width: 100%; }
+body.opened-nav-animate .main-nav-mobile {
+ display: block; }
+body.opened-nav-animate.opened-nav .main-nav-mobile > ul li {
+ -webkit-transform: translateX(0);
+ -khtml-transform: translateX(0);
+ -moz-transform: translateX(0);
+ -ms-transform: translateX(0);
+ -o-transform: translateX(0);
+ transform: translateX(0);
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+
+#header {
+ position: relative;
+ z-index: 100; }
+#header.header-full-center .navbar-container {
+ padding: 0 77px; }
+#header.header-full-center .navbar-container .branding {
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 10; }
+#header.header-full-center .navbar-container .main-navigation-outer {
+ position: relative; }
+#header.header-full-center #nav {
+ float: none; }
+#header.header-full-center #nav > ul#main-nav-tool {
+ position: absolute;
+ right: 0;
+ top: 0; }
+#header.header-full-center #nav #main-navigation {
+ float: none;
+ text-align: center; }
+#header.navigation-right .mobile-tool {
+ left: 0;
+ right: auto; }
+#header.navigation-right .mobile-tool a {
+ float: left;
+ margin-right: 0;
+ margin-left: 15px; }
+#header.navigation-right .mobile-tool a:first-child {
+ margin-left: 0; }
+#header.navigation-right #nav {
+ float: left; }
+#header.navigation-right .branding {
+ float: right; }
+#header.navigation-center .navbar-container .branding {
+ display: none; }
+#header.navigation-center .navbar-container .branding a {
+ position: relative;
+ z-index: 10; }
+#header.navigation-center .mobile-tool {
+ width: 100%; }
+#header.navigation-center .mobile-tool a#hamburger-icon {
+ float: left;
+ margin: 0; }
+#header.navigation-center .mobile-tool .mobile-tool-cart {
+ margin-right: 10px; }
+#header.header-shadow .navbar-container {
+ -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); }
+
+/* ==============================
+ 9. Footer
+ ============================== */
+#footer-top {
+ background: #63d4e7;
+ padding: 30px 0 20px; }
+
+#footer-area {
+ padding: 40px 0 20px;
+ position: relative; }
+#footer-area .footer-area-inner {
+ padding: 40px 60px 20px; }
+#footer-area .footer-area-right {
+ padding: 60px 65px;
+ color: #FFFFFF; }
+#footer-area .footer-area-right .widget-title {
+ color: #FFFFFF; }
+#footer-area .widget-container {
+ margin-bottom: 5px;
+ border: none;
+ padding: 0; }
+#footer-area .widget-container .widget-title {
+ text-transform: uppercase;
+ margin: 0 0 5px;
+ /* letter-spacing: 0.2em; */ }
+
+#footer-bottom {
+ padding: 5px 0;
+ background: #f6f6f6; }
+#footer-bottom .widget-container {
+ margin: 0;
+ padding: 0; }
+#footer-bottom .widget-container .widget-title {
+ margin: 8px 0;
+ text-transform: uppercase; }
+#footer-bottom .social-nav {
+ margin-top: 10px; }
+
+#footer-copyright {
+ padding: 30px 0 0 0 ;
+ color: #ffffff;
+ text-align: center; }
+#footer-copyright .container .social-nav,
+#footer-copyright .container .footer-copyright {
+ margin-bottom: 10px; }
+#footer-copyright .container .footer-copyright {
+ font-size: 12px; line-height:1.5; }
+#footer-copyright .container > *:last-child {
+ margin-bottom: 0; }
+
+#footer-copyright a:link, a:active, a:hover, a:focus{
+ /* color: #ffffff; */
+ text-decoration: none; }
+
+.footer-text {color: #ffffff;font-size: 12px;line-height:1.5;}
+.footer-text a {color: #ffffff;font-size: 12px;line-height:1.5;}
+
+
+/* ==============================
+ 10. Shortcodes
+ ============================== */
+/*
+ * 10.1 Heading Section
+ */
+.kt-heading-wrapper {
+ text-align: center;
+ margin-bottom: 50px; }
+.kt-heading-wrapper .kt-heading-divider {
+ width: 60px;
+ margin: 0 auto; }
+.kt-heading-wrapper .kt-heading-divider path {
+ fill: #999999; }
+.kt-heading-wrapper .kt-heading-title {
+ line-height: 30px;
+ margin: 24px 0 10px; }
+.kt-heading-wrapper .kt-heading-subtitle {
+ font-size: 12px;
+ text-transform: uppercase;
+ letter-spacing: 0.3em; }
+.kt-heading-wrapper .kt-heading-subtitle a {
+ color: #999999; }
+.kt-heading-wrapper .kt-heading-subtitle a:hover {
+ color: #000000; }
+
+/*
+ * 10.2 Hightlight
+ */
+.hightlight {
+ color: #ffffff;
+ padding: 0 4px;
+ border-radius: 3px; }
+.hightlight.hightlight1 {
+ background: #c7db9c; }
+.hightlight.hightlight2 {
+ background: #ed8b5c; }
+.hightlight.hightlight3 {
+ background: #f4dc86; }
+.hightlight.hightlight4 {
+ background: #bce5d3; }
+
+/*
+ * 10.3 Dropcap
+ */
+.kt_dropcap {
+ float: left;
+ display: block;
+ margin-right: 10px;
+ font-weight: bold;
+ text-align: center; }
+.kt_dropcap.dropcap-sm {
+ font-size: 72px;
+ line-height: 72px;
+ height: 72px; }
+.kt_dropcap.dropcap-sm.dropcap-bg {
+ font-size: 30px;
+ line-height: 40px;
+ height: 40px; }
+.kt_dropcap.dropcap-sm.dropcap-bg.dropcap-circle {
+ width: 40px; }
+.kt_dropcap.dropcap-md {
+ font-size: 100px;
+ line-height: 100px;
+ height: 100px; }
+.kt_dropcap.dropcap-md.dropcap-bg {
+ font-size: 48px;
+ line-height: 65px;
+ height: 65px; }
+.kt_dropcap.dropcap-md.dropcap-bg.dropcap-circle {
+ width: 65px; }
+.kt_dropcap.dropcap-gray {
+ color: #bce5d3; }
+.kt_dropcap.dropcap-black {
+ color: #000000; }
+.kt_dropcap.dropcap-orange {
+ color: #ed8b5c; }
+.kt_dropcap.dropcap-bg {
+ padding: 0 10px;
+ margin-top: 10px; }
+.kt_dropcap.dropcap-bg.dropcap-circle {
+ border-radius: 100%; }
+.kt_dropcap.dropcap-bg.dropcap-gray {
+ background: #bce5d3;
+ color: #fff; }
+.kt_dropcap.dropcap-bg.dropcap-black {
+ background: #000000;
+ color: #fff; }
+.kt_dropcap.dropcap-bg.dropcap-orange {
+ background: #ed8b5c;
+ color: #fff; }
+
+/*
+ * 10.4 Lists
+ */
+ul.style-list {
+ padding: 0;
+ margin: 0 0 30px;
+ list-style: none; }
+ul.style-list li {
+ padding-left: 52px;
+ margin-bottom: 20px;
+ position: relative;
+ line-height: 30px; }
+ul.style-list li:after {
+ width: 30px;
+ height: 30px;
+ position: absolute;
+ left: 0;
+ top: 0;
+ text-align: center; }
+ul.style-list.style1 {
+ counter-reset: my-badass-counter; }
+ul.style-list.style1 li:after {
+ content: counter(my-badass-counter,decimal);
+ counter-increment: my-badass-counter;
+ border-radius: 100%;
+ border: 1px solid #d8d8d8;
+ font-size: 14px;
+ color: #000;
+ line-height: 28px; }
+ul.style-list.style2 li:after {
+ border-radius: 100%;
+ background: #ed8b5c;
+ color: #fff;
+ font-size: 10px;
+ line-height: 28px;
+ font-family: FontAwesome;
+ content: "";
+ font-style: normal;
+ font-weight: normal; }
+ul.style-list.style3 li:after {
+ border-radius: 100%;
+ border: 1px solid #d8d8d8;
+ font-size: 14px;
+ color: #000;
+ line-height: 28px;
+ font-family: FontAwesome;
+ content: "ï„…";
+ font-style: normal;
+ font-weight: normal; }
+
+/*
+ * 10.5 Alert
+ */
+.alert {
+ padding: 10px 40px 10px 100px;
+ border: 1px solid #dce2ed;
+ border-radius: 0;
+ position: relative;
+ line-height: 24px;
+ margin-bottom: 30px; }
+.alert .alert_title {
+ font-size: 18px;
+ letter-spacing: 0.05em;
+ margin: 0 0 5px;
+ text-transform: none; }
+.alert button.close {
+ position: absolute;
+ top: 14px;
+ right: 18px;
+ margin: 0;
+ text-shadow: none;
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1;
+ font-weight: normal;
+ font-size: 18px; }
+.alert:after {
+ font-family: FontAwesome;
+ content: "";
+ font-style: normal;
+ font-weight: normal;
+ text-transform: none;
+ left: 0;
+ position: absolute;
+ text-align: center;
+ top: 50%;
+ font-size: 36px;
+ -webkit-transform: translateY(-50%);
+ -khtml-transform: translateY(-50%);
+ -moz-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%);
+ width: 100px;
+ color: #9fadbd; }
+.alert.alert-info:after {
+ content: "\f05a";
+ color: #f95b46; }
+.alert.alert-success:after {
+ content: "\f058";
+ color: #84be20; }
+.alert.alert-warning:after {
+ content: "\f071";
+ color: #e7ad24; }
+.alert.alert-danger:after {
+ content: "\f05a";
+ color: #f56048; }
+.alert.alert-normal {
+ color: #7a8692; }
+.alert.alert-normal .alert_title, .alert.alert-normal button.close {
+ color: #7a8692; }
+.alert.alert-info {
+ color: #c86353; }
+.alert.alert-info .alert_title, .alert.alert-info button.close {
+ color: #c86353; }
+.alert.alert-success {
+ color: #84be20; }
+.alert.alert-success .alert_title, .alert.alert-success button.close {
+ color: #84be20; }
+.alert.alert-warning {
+ color: #d99e12; }
+.alert.alert-warning .alert_title, .alert.alert-warning button.close {
+ color: #d99e12; }
+.alert.alert-danger {
+ color: #eff2f5; }
+.alert.alert-danger .alert_title, .alert.alert-danger button.close {
+ color: #eff2f5; }
+.alert.style1.alert-normal {
+ background: #ececec; }
+.alert.style1.alert-info {
+ background: #f9b5aa; }
+.alert.style1.alert-success {
+ background: #e7f6cd; }
+.alert.style1.alert-warning {
+ background: #faf4d4; }
+.alert.style1.alert-danger {
+ background: #252932; }
+.alert.style2 {
+ background: none !important; }
+.alert.style2.alert-danger {
+ color: #818d9a; }
+.alert.style2.alert-danger .alert_title {
+ color: #6c7884; }
+.alert.style2.alert-danger button.close {
+ color: #f56048; }
+
+/*
+ * 10.6 Tabs
+ */
+.kt-tab-container {
+ margin-bottom: 30px; }
+.kt-tab-container .tabs {
+ padding: 0;
+ list-style: none;
+ margin: 0 0 0px;
+ background: #fff;
+ -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
+.kt-tab-container .tabs li {
+ float: left;
+ margin-right: 15px; }
+.kt-tab-container .tabs li a {
+ display: inline-block;
+ padding: 22px 30px;
+ line-height: normal;
+ font-size: 14px;
+ color: #999;
+ font-weight: bold;
+ text-transform: uppercase; }
+.kt-tab-container .tabs li.ui-tabs-active a {
+ color: #000; }
+.kt-tab-container .kt-tab-content {
+ background: #fff;
+ -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ padding: 30px; }
+.kt-tab-container .kt-tab-content p {
+ margin: 0; }
+
+/*
+ * 10.7 Accordion
+ */
+.kt-accordion {
+ margin: 0 0 30px; }
+.kt-accordion .kt-accortion-title {
+ padding: 20px 30px;
+ font-size: 14px;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-family: "Karla", arial, sans-serif;
+ letter-spacing: 0;
+ margin: 0 0 20px;
+ cursor: pointer;
+ position: relative; }
+.kt-accordion .kt-accortion-title .ui-accordion-header-icon {
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ right: 30px;
+ top: 50%;
+ position: absolute;
+ -webkit-transform: translateY(-50%);
+ -khtml-transform: translateY(-50%);
+ -moz-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%);
+ top: 50%;
+ display: block; }
+.kt-accordion .kt-accortion-title .ui-accordion-header-icon:after {
+ font-family: FontAwesome;
+ content: "ï?§";
+ font-style: normal;
+ font-weight: normal;
+ font-size: 10px;
+ position: absolute;
+ -webkit-transform: translate(-50%, -50%);
+ -khtml-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ -o-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ top: 50%;
+ left: 50%;
+ font-weight: normal; }
+.kt-accordion .kt-accortion-title.ui-accordion-header-active .ui-accordion-header-icon:after {
+ content: "\f068"; }
+.kt-accordion.style1 .kt-accortion-title {
+ background: #f6f6f6; }
+.kt-accordion.style1 .kt-accortion-title.ui-accordion-header-active {
+ background: #000;
+ color: #fff; }
+.kt-accordion.style2 .kt-accortion-title {
+ border-top: 1px solid #efefef;
+ border-bottom: 1px solid #efefef; }
+.kt-accordion.style2 .kt-accortion-title.ui-accordion-header-active {
+ color: #333946; }
+.kt-accordion.style3 .kt-accortion-title {
+ background: #f6f6f6; }
+.kt-accordion.style3 .kt-accortion-title.ui-accordion-header-active {
+ background-color: #a7c8eb;
+ background-image: -webkit-gradient(linear, left top, right top, from(#a7c8eb), to(#bce5d3));
+ background-image: -webkit-linear-gradient(left, #a7c8eb, #bce5d3);
+ background-image: -moz-linear-gradient(left, #a7c8eb, #bce5d3);
+ background-image: -ms-linear-gradient(left, #a7c8eb, #bce5d3);
+ background-image: -o-linear-gradient(left, #a7c8eb, #bce5d3);
+ background-image: linear-gradient(left, #a7c8eb, #bce5d3);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#a7c8eb', endColorStr='#bce5d3', gradientType='1');
+ color: #fff; }
+.kt-accordion.style4 .kt-accortion-title {
+ background: #fff;
+ -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }
+.kt-accordion .kt-accordion-content {
+ padding: 10px 30px 30px; }
+
+/*
+ * 10.8 Tooltip
+ */
+.tooltip {
+ opacity: 1;
+ font-size: 14px;
+ font-family: "Karla", arial, sans-serif; }
+.tooltip .tooltip-inner {
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0;
+ padding: 10px 15px; }
+.tooltip.top {
+ margin-top: -10px; }
+.tooltip.top .tooltip-arrow {
+ border-width: 10px 10px 0;
+ bottom: -5px;
+ left: 50%;
+ margin-left: -7px; }
+
+/*
+ * 10.9 Socials
+ */
+.social-nav {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.social-nav li {
+ display: inline-block;
+ padding: 0 22px;
+ font-size: 14px; }
+.social-nav li a {
+ -webkit-transform: translatey(0);
+ -khtml-transform: translatey(0);
+ -moz-transform: translatey(0);
+ -ms-transform: translatey(0);
+ -o-transform: translatey(0);
+ transform: translatey(0);
+ -webkit-transition: all 0.2s ease 0s;
+ -khtml-transition: all 0.2s ease 0s;
+ -moz-transition: all 0.2s ease 0s;
+ -ms-transition: all 0.2s ease 0s;
+ -o-transition: all 0.2s ease 0s;
+ transition: all 0.2s ease 0s;
+ display: inline-block; }
+.social-nav li:hover a {
+ -webkit-transform: translatey(-6px);
+ -khtml-transform: translatey(-6px);
+ -moz-transform: translatey(-6px);
+ -ms-transform: translatey(-6px);
+ -o-transform: translatey(-6px);
+ transform: translatey(-6px); }
+.social-nav li:first-child {
+ padding-left: 0; }
+.social-nav li:last-child {
+ padding-right: 0; }
+
+/*
+ * 10.10 Newsletter
+ */
+.newsletters-form {
+ margin: 0 auto;
+ position: relative; }
+.newsletters-form input[type=email] {
+ background: transparent;
+ width: 100%;
+ height: 44px;
+ padding: 5px 40px 10px 10px;
+ font-size: 14px;
+ border-color: #dddddd; }
+.newsletters-form button {
+ background: none;
+ border: none;
+ height: 44px;
+ padding: 0;
+ right: 0;
+ width: 44px;
+ font-size: 18px;
+ position: absolute;
+ -webkit-transform: translateY(-50%);
+ -khtml-transform: translateY(-50%);
+ -moz-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%);
+ top: 50%; }
+.newsletters-form button i {
+ line-height: 44px; }
+.newsletters-form input[type=email],
+.newsletters-form button {
+ color: #666666; }
+.newsletters-form.style2 input[type=email] {
+ border: none;
+ border-bottom: 2px solid #000000;
+ height: auto;
+ padding-left: 0;
+ padding-top: 0; }
+.newsletters-form.style2 button {
+ text-align: right; }
+.newsletters-form.style2 input[type=email],
+.newsletters-form.style2 button {
+ color: #000000; }
+
+.newsletters-outer {
+ margin-bottom: 30px; }
+.newsletters-outer .newsletters-before {
+ margin-bottom: 35px; }
+.newsletters-outer .newsletters-title {
+ color: #c7db9c;
+ letter-spacing: 0.2em; }
+.newsletters-outer .newsletters-form input[type="email"],
+.newsletters-outer .newsletters-form button {
+ color: #000000; }
+
+.newsletters-wrapper {border: none;background: #ffffff;padding: 26px;margin-bottom: 30px; text-align: center;float:left; }
+.newsletters-wrapper h3 {
+ font-size: 18px;
+ margin: 0 0 20px; }
+.newsletters-wrapper .newsletters-before {
+ margin-bottom: 10px;
+ color: #666666; }
+
+/*
+ * 10.11 banner
+ */
+.banner {
+ position: relative;
+ text-align: center;
+ overflow: hidden;
+ margin-bottom: 30px; }
+.banner.banner-dark:after {
+ content: '';
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.4);
+ z-index: 5;
+ -webkit-transition: all 0.2s ease-in-out 0s;
+ -khtml-transition: all 0.2s ease-in-out 0s;
+ -moz-transition: all 0.2s ease-in-out 0s;
+ -ms-transition: all 0.2s ease-in-out 0s;
+ -o-transition: all 0.2s ease-in-out 0s;
+ transition: all 0.2s ease-in-out 0s; }
+.banner:hover.banner-dark:after {
+ background: rgba(0, 0, 0, 0.6); }
+.banner img {
+ width: 100%; }
+.banner .banner-content {
+ width: 100%;
+ position: absolute;
+ -webkit-transform: translate(-50%, -50%);
+ -khtml-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ -o-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ top: 50%;
+ left: 50%;
+ z-index: 10;
+ padding: 30px 60px; }
+.banner .banner-content > *:last-child {
+ margin-bottom: 0; }
+.banner .banner-link {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 15; }
+.banner.position-bottom .banner-content {
+ bottom: 0;
+ left: 0;
+ top: auto;
+ -webkit-transform: translate(0px, 0px);
+ -khtml-transform: translate(0px, 0px);
+ -moz-transform: translate(0px, 0px);
+ -ms-transform: translate(0px, 0px);
+ -o-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); }
+.banner.position-bottom .btn {
+ padding-left: 50px;
+ padding-right: 50px; }
+.banner.banner-left {
+ text-align: left; }
+.banner.banner-right {
+ text-align: right; }
+
+/*
+ * 10.12 Category banner
+ */
+.category-banner {
+ position: relative;
+ text-align: center;
+ overflow: hidden; }
+.category-banner:after {
+ content: '';
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.2);
+ z-index: 5; }
+.category-banner img {
+ width: 100%; }
+.category-banner .category-banner-content {
+ width: 100%;
+ position: absolute;
+ -webkit-transform: translate(-50%, -50%);
+ -khtml-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ -o-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ top: 50%;
+ left: 50%;
+ z-index: 10; }
+.category-banner .category-banner-content > *:last-child {
+ margin-bottom: 0; }
+.category-banner .category-banner-content h1 {
+ margin-bottom: 35px; }
+.category-banner .category-banner-content ul {
+ margin: 0;
+ list-style: none;
+ padding: 0;
+ max-height: 0;
+ overflow: hidden;
+ -webkit-transition: all 0.5s ease-in-out 0s;
+ -khtml-transition: all 0.5s ease-in-out 0s;
+ -moz-transition: all 0.5s ease-in-out 0s;
+ -ms-transition: all 0.5s ease-in-out 0s;
+ -o-transition: all 0.5s ease-in-out 0s;
+ transition: all 0.5s ease-in-out 0s; }
+.category-banner .category-banner-content ul li {
+ font-size: 15px;
+ line-height: 30px; }
+.category-banner .category-banner-content ul li a {
+ color: #f6f6f6; }
+.category-banner .category-banner-content ul li a:hover {
+ color: #FFFFFF; }
+.category-banner:hover ul {
+ margin: 0 0 35px;
+ max-height: 600px; }
+
+/*
+ * 10.13 Flip box
+ */
+.flip-box {
+ -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ background: #ffffff none repeat scroll 0 0;
+ border-color: #ffffff;
+ color: #000000;
+ text-align: center;
+ position: relative;
+ overflow: hidden;
+ cursor: pointer;
+ margin-bottom: 30px; }
+.flip-box .flip-box-before,
+.flip-box .flip-box-after {
+ -webkit-transition: all 0.2s ease-out 0s;
+ -khtml-transition: all 0.2s ease-out 0s;
+ -moz-transition: all 0.2s ease-out 0s;
+ -ms-transition: all 0.2s ease-out 0s;
+ -o-transition: all 0.2s ease-out 0s;
+ transition: all 0.2s ease-out 0s; }
+.flip-box .flip-box-before {
+ font-weight: bold;
+ letter-spacing: 0.2em;
+ font-family: "Roboto Slab", serif;
+ font-size: 24px;
+ padding: 44px 40px;
+ line-height: 38px;
+ text-transform: uppercase;
+ -webkit-transform: translate(0px, 0px);
+ -khtml-transform: translate(0px, 0px);
+ -moz-transform: translate(0px, 0px);
+ -ms-transform: translate(0px, 0px);
+ -o-transform: translate(0px, 0px);
+ transform: translate(0px, 0px); }
+.flip-box .flip-box-after {
+ font-size: 16px;
+ color: #999999;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ -webkit-transform: translate(0px, -100%);
+ -khtml-transform: translate(0px, -100%);
+ -moz-transform: translate(0px, -100%);
+ -ms-transform: translate(0px, -100%);
+ -o-transform: translate(0px, -100%);
+ transform: translate(0px, -100%); }
+.flip-box:hover .flip-box-before {
+ -webkit-transform: translate(0, 100%);
+ -khtml-transform: translate(0, 100%);
+ -moz-transform: translate(0, 100%);
+ -ms-transform: translate(0, 100%);
+ -o-transform: translate(0, 100%);
+ transform: translate(0, 100%); }
+.flip-box:hover .flip-box-after {
+ top: 50%;
+ -webkit-transform: translate(0, -50%);
+ -khtml-transform: translate(0, -50%);
+ -moz-transform: translate(0, -50%);
+ -ms-transform: translate(0, -50%);
+ -o-transform: translate(0, -50%);
+ transform: translate(0, -50%); }
+
+/*
+ * 10.14 Feature icon
+ */
+.feature-icon {
+ margin: 0 0 30px;
+ padding: 30px;
+ position: relative;
+ text-align: center; }
+.feature-icon .features-box-icon,
+.feature-icon .features-box-title {
+ color: #FFFFFF; }
+.feature-icon .features-box-icon a,
+.feature-icon .features-box-title a {
+ color: #FFFFFF; }
+.feature-icon .features-box-icon {
+ font-size: 48px;
+ margin-bottom: 25px; }
+.feature-icon .features-box-title {
+ font-size: 14px;
+ letter-spacing: 0.2em;
+ margin: 0; }
+
+/*
+ * 10.15 Single Image
+ */
+.single-image {
+ margin: 0 0 30px;
+ overflow: hidden; }
+.single-image img {
+ -webkit-transition: all 1s ease-in-out 0s;
+ -khtml-transition: all 1s ease-in-out 0s;
+ -moz-transition: all 1s ease-in-out 0s;
+ -ms-transition: all 1s ease-in-out 0s;
+ -o-transition: all 1s ease-in-out 0s;
+ transition: all 1s ease-in-out 0s;
+ -webkit-transform: scale(1);
+ -khtml-transform: scale(1);
+ -moz-transform: scale(1);
+ -ms-transform: scale(1);
+ -o-transform: scale(1);
+ transform: scale(1); }
+.single-image:hover img {
+ -webkit-transform: scale(1.2);
+ -khtml-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ -ms-transform: scale(1.2);
+ -o-transform: scale(1.2);
+ transform: scale(1.2); }
+.single-image.no-effect:hover img {
+ -webkit-transform: scale(1);
+ -khtml-transform: scale(1);
+ -moz-transform: scale(1);
+ -ms-transform: scale(1);
+ -o-transform: scale(1);
+ transform: scale(1); }
+
+/*
+ * 10.16 Client
+ */
+.client-item img {
+ margin: 0 auto; }
+
+/*
+ * 10.17 About
+ */
+.about-wrapper {
+ padding: 58px 43px 30px;
+ color: #FFFFFF;
+ -webkit-background-size: cover;
+ -khtml-background-size: cover;
+ -moz-background-size: cover;
+ -ms-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+ background-position: center 550px;
+ margin: 0 0 30px; }
+.about-wrapper .about-title {
+ color: #FFFFFF;
+ margin: 0 0 30px;
+ letter-spacing: 0.2em; }
+
+/*
+ * 10.18 collection
+ */
+.collection-wrapper {
+ position: relative;
+ overflow: hidden; }
+.collection-wrapper .left-collection {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 45%; }
+.collection-wrapper .right-collection {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ width: 41.6667%; }
+.collection-wrapper .front-collection {
+ margin-top: 225px;
+ margin-bottom: 80px;
+ position: relative; }
+.collection-wrapper .front-collection .collection-image {
+ text-align: center; }
+.collection-wrapper .front-collection .collection-image img {
+ margin: 0 auto; }
+.collection-wrapper .collection-content {
+ width: 33.3333%; }
+.collection-wrapper .collection-content .collection-desc {
+ margin-bottom: 5px; }
+
+/*
+ * 10.19 Box colored
+ */
+.box-colored {
+ margin-bottom: 30px;
+ color: #FFFFFF;
+ text-align: center; }
+.box-colored .box-colored-image {
+ margin: 0 0 30px;
+ overflow: hidden; }
+.box-colored .box-colored-image img {
+ -webkit-transition: all 1s ease-in-out 0s;
+ -khtml-transition: all 1s ease-in-out 0s;
+ -moz-transition: all 1s ease-in-out 0s;
+ -ms-transition: all 1s ease-in-out 0s;
+ -o-transition: all 1s ease-in-out 0s;
+ transition: all 1s ease-in-out 0s;
+ -webkit-transform: scale(1);
+ -khtml-transform: scale(1);
+ -moz-transform: scale(1);
+ -ms-transform: scale(1);
+ -o-transform: scale(1);
+ transform: scale(1); }
+.box-colored:hover img {
+ -webkit-transform: scale(1.2);
+ -khtml-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ -ms-transform: scale(1.2);
+ -o-transform: scale(1.2);
+ transform: scale(1.2); }
+.box-colored .box-colored-title {
+ color: #FFFFFF;
+ font-size: 14px;
+ letter-spacing: 0.2em;
+ margin: 0 0 30px; }
+.box-colored .box-colored-title a {
+ padding: 55px 20px;
+ color: #FFFFFF;
+ display: block; }
+.box-colored :last-child {
+ margin-bottom: 0; }
+
+/*
+ * 10.20 Testimonials
+ */
+.testimonial-posts.light {
+ color: #FFFFFF; }
+.testimonial-posts.light .testimonial-author {
+ color: #FFFFFF; }
+.testimonial-posts.light .owl-pagination .owl-page {
+ background: #FFFFFF; }
+.testimonial-posts.light .owl-pagination .owl-page:hover, .testimonial-posts.light .owl-pagination .owl-page.active {
+ background: #e5e5e5; }
+
+.testimonial-item {
+ text-align: center; }
+.testimonial-item .testimonial-content {
+ font-family: "Crete Round", serif;
+ font-size: 18px;
+ line-height: 30px;
+ margin: 0 auto 35px;
+ max-width: 865px;
+ font-style: italic; }
+.testimonial-item .testimonial-author {
+ margin-bottom: 10px;
+ letter-spacing: 0.075em; }
+
+/*
+ * 10.21 Product countdown
+ */
+.product-countdown {
+ background: #fff;
+ padding: 30px;
+ box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.05);
+ margin-bottom: 30px; }
+.product-countdown .countdown-wrap {
+ width: 60px;
+ height: 60px;
+ border: 2px solid #f6f6f6;
+ text-align: center;
+ float: left;
+ margin-right: 30px; }
+.product-countdown .countdown-wrap:last-child {
+ margin-right: 0; }
+.product-countdown .countdown-wrap .title {
+ font-size: 14px;
+ color: #999;
+ line-height: normal; }
+.product-countdown .countdown-wrap .value-time {
+ font-size: 18px;
+ font-weight: 700;
+ color: #000;
+ margin: 10px 0 2px;
+ line-height: normal; }
+
+/*
+ * 10.22 Callout
+ */
+.callout-content {
+ font-family: "Crete Round", serif;
+ font-style: italic;
+ padding-right: 40px;
+ width: 70%; }
+
+/* ==============================
+ 11. Widgets
+ ============================== */
+.widget-container {
+ margin-bottom: 40px;
+ border-bottom: 2px solid #f6f6f6;
+ padding-bottom: 5px;
+ font-size: 14px; }
+.widget-container:last-child {
+ border: none; }
+.widget-container .widget-title {
+ font-size: 18px;
+ margin: 0 0 30px;
+ text-transform: capitalize;
+ letter-spacing: 0.075em; }
+.widget-container.widget_nav_menu ul, .widget-container.widget_categories ul, .widget-container.widget_product_categories ul, .widget-container.widget_recent_entries ul {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.widget-container.widget_nav_menu ul li, .widget-container.widget_categories ul li, .widget-container.widget_product_categories ul li, .widget-container.widget_recent_entries ul li {
+ padding-bottom: 6px; }
+.widget-container.widget_nav_menu ul li.nav-copyright, .widget-container.widget_categories ul li.nav-copyright, .widget-container.widget_product_categories ul li.nav-copyright, .widget-container.widget_recent_entries ul li.nav-copyright {
+ color: #999999;
+ font-weight: 300; }
+.widget-container.widget_nav_menu ul li a, .widget-container.widget_categories ul li a, .widget-container.widget_product_categories ul li a, .widget-container.widget_recent_entries ul li a {
+ color: #666666; }
+.widget-container.widget_nav_menu ul li a:hover, .widget-container.widget_categories ul li a:hover, .widget-container.widget_product_categories ul li a:hover, .widget-container.widget_recent_entries ul li a:hover {
+ color: #000000; }
+.widget-container.widget_nav_menu ul li .count, .widget-container.widget_categories ul li .count, .widget-container.widget_product_categories ul li .count, .widget-container.widget_recent_entries ul li .count {
+ padding-left: 17px;
+ font-size: 12px;
+ color: #cacaca; }
+.widget-container.widget_tag_cloud a {
+ font-size: 14px !important;
+ line-height: normal !important;
+ display: inline-block;
+ margin: 0 20px 20px 0;
+ color: #666; }
+.widget-container.widget_tag_cloud a:hover {
+ color: #000000; }
+.widget-container.widget_price_filter .ui-slider {
+ position: relative;
+ background: #f6f6f6;
+ margin-bottom: 40px;
+ height: 2px;
+ margin-left: 4px; }
+.widget-container.widget_price_filter .ui-slider .ui-slider-range {
+ background: #000000;
+ height: 100%;
+ position: absolute; }
+.widget-container.widget_price_filter .ui-slider .ui-slider-handle {
+ height: 14px;
+ width: 4px;
+ background: #000000;
+ position: absolute;
+ top: -6px;
+ cursor: ew-resize;
+ margin-left: -4px; }
+.widget-container.widget-hover-content .widget-hover-element {
+ visibility: hidden;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transition: all 0.4s ease-in-out;
+ -khtml-transition: all 0.4s ease-in-out;
+ -moz-transition: all 0.4s ease-in-out;
+ -ms-transition: all 0.4s ease-in-out;
+ -o-transition: all 0.4s ease-in-out;
+ transition: all 0.4s ease-in-out; }
+.widget-container.widget-hover-content:hover .widget-hover-element {
+ visibility: visible;
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+
+/* ==============================
+ 12. Blog posts
+ ============================== */
+.blog-posts .blog-post {
+ margin-bottom: 25px; }
+.blog-posts .blog-post .blog-post-thumbnail {
+ margin-bottom: 33px;
+ display: block;
+ overflow: hidden; }
+.blog-posts .blog-post .blog-post-thumbnail img {
+ -webkit-transition: all 1s ease-in-out 0s;
+ -khtml-transition: all 1s ease-in-out 0s;
+ -moz-transition: all 1s ease-in-out 0s;
+ -ms-transition: all 1s ease-in-out 0s;
+ -o-transition: all 1s ease-in-out 0s;
+ transition: all 1s ease-in-out 0s;
+ -webkit-transform: scale(1);
+ -khtml-transform: scale(1);
+ -moz-transform: scale(1);
+ -ms-transform: scale(1);
+ -o-transform: scale(1);
+ transform: scale(1); }
+.blog-posts .blog-post .blog-post-thumbnail:hover img {
+ -webkit-transform: scale(1.2);
+ -khtml-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ -ms-transform: scale(1.2);
+ -o-transform: scale(1.2);
+ transform: scale(1.2); }
+.blog-posts .blog-post .blog-post-title {
+ margin-bottom: 10px;
+ font-size: 16px;
+ text-transform: none;
+ letter-spacing: 0; }
+.blog-posts .blog-post .blog-post-meta {
+ margin-bottom: 20px;
+ color: #999999; }
+.blog-posts .blog-post .blog-post-meta > span:after {
+ content: '/';
+ padding-left: 4px; }
+.blog-posts .blog-post .blog-post-meta > span:last-child:after {
+ content: ''; }
+.blog-posts .blog-post .blog-post-meta a {
+ color: #999999; }
+.blog-posts .blog-post .blog-post-meta a:hover {
+ color: #000000; }
+
+/* ==============================
+ 13. Single Post
+ ============================== */
+/*
+ * 13.1 Single Post Common styles
+ */
+.single-post .entry-thumb {
+ margin-bottom: 60px; }
+.single-post .entry-meta-data {
+ margin-bottom: 30px;
+ font-size: 14px;
+ color: #999; }
+.single-post .entry-meta-data > span:after {
+ content: "/";
+ margin: 0 5px; }
+.single-post .entry-meta-data > span:last-child:after {
+ display: none; }
+.single-post .entry-meta-data a {
+ color: #000; }
+.single-post .share-it {
+ margin: 65px 0 95px; }
+.single-post .share-it .social_icons {
+ padding: 0;
+ margin: 0;
+ list-style: none; }
+.single-post .share-it .social_icons li {
+ display: inline-block;
+ margin-right: 30px; }
+.single-post .share-it .social_icons li:last-child {
+ margin-right: 0; }
+.single-post .share-it .social_icons li a {
+ display: inline-block;
+ padding: 17px 40px;
+ border: 2px solid #e3e3e3;
+ font-size: 14px;
+ color: #999;
+ font-weight: bold;
+ text-transform: uppercase;
+ letter-spacing: 0.2em;
+ line-height: normal; }
+.single-post .share-it .social_icons li a:hover {
+ color: #000;
+ border-color: #000; }
+.single-post .share-it .social_icons li a i {
+ display: none; }
+.single-post .single-bottom-title {
+ margin-bottom: 30px;
+ letter-spacing: 0.2em; }
+
+/*
+ * 13.2 Author Info
+ */
+.author-info {
+ background: #f6f6f6;
+ margin-bottom: 85px;
+ padding: 25px 25px 15px; }
+.author-info .author-avatar {
+ float: left;
+ max-width: 70px; }
+.author-info .author-description {
+ padding-left: 93px; }
+.author-info .author-title {
+ font-size: 14px;
+ margin: 0 0 10px;
+ padding: 0;
+ color: #000000;
+ text-transform: none;
+ letter-spacing: 0.075em; }
+.author-info .author-title a {
+ color: #000000; }
+.author-info .author-title a:hover {
+ color: #000000; }
+.author-info .author-bio {
+ margin-bottom: 0; }
+.author-info .author-socials {
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.author-info .author-socials li {
+ display: inline-block;
+ margin-right: 40px; }
+.author-info .author-socials a {
+ color: #999999; }
+.author-info .author-socials a:hover {
+ color: #000000; }
+
+/*
+ * 13.3 Comments Area
+ */
+.comments-area {
+ margin-bottom: 55px; }
+.comments-area .comment-list {
+ list-style: none;
+ margin: 0 0 85px;
+ padding: 0; }
+.comments-area .children {
+ list-style: outside none none;
+ margin: 0;
+ padding-left: 25px;
+ position: relative; }
+.comments-area .children:before {
+ content: '';
+ position: absolute;
+ left: 0;
+ top: 0;
+ height: 100%;
+ width: 1px;
+ background: #e1e1e1; }
+.comments-area .children > li {
+ position: relative; }
+.comments-area .children > li:before {
+ background: #e1e1e1;
+ content: "";
+ height: 1px;
+ left: -25px;
+ position: absolute;
+ top: 25px;
+ width: 12px; }
+
+.comments-area .comment-item {
+ padding: 25px;
+ background: #f6f6f6;
+ margin-bottom: 30px;
+ min-height: 120px; }
+.comments-area .comment-item .comment-avatar {
+ float: left;
+ margin-right: 20px;
+ max-width: 70px; }
+.comments-area .comment-item .comment-body {
+ padding-left: 90px;
+ position: relative; }
+.comments-area .comment-item .comment-body .comment-meta {
+ margin: 0 0 12px;
+ line-height: 15px; }
+.comments-area .comment-item .comment-body .comment-meta .comment-author {
+ color: #000000;
+ font-size: 14px;
+ font-weight: 700;
+ text-transform: none;
+ display: inline-block;
+ padding: 0;
+ margin: 0 10px 0 0;
+ line-height: 15px; }
+.comments-area .comment-item .comment-body .comment-meta .comment-metadata {
+ color: #999999;
+ font-size: 12px;
+ font-weight: bold;
+ display: inline-block; }
+.comments-area .comment-item .comment-body .comment-content p:last-child {
+ margin: 0; }
+.comments-area .comment-item .comment-body .reply {
+ font-size: 14px;
+ font-weight: bold;
+ letter-spacing: 0.075em;
+ line-height: 15px;
+ position: absolute;
+ right: 0;
+ top: 0; }
+.comments-area .comment-item .comment-body .reply a {
+ color: #4ad1e5; }
+
+/*
+ * 13.4 Comment Form
+ */
+.comment-respond {
+ margin-bottom: 30px; }
+.comment-respond .comment-form textarea,
+.comment-respond .comment-form input[type=text] {
+ border: none;
+ border-bottom: 2px solid #ebebeb;
+ padding: 10px 0;
+ height: auto; }
+.comment-respond .comment-form textarea:focus,
+.comment-respond .comment-form input[type=text]:focus {
+ border-color: #999999;
+ color: #999999; }
+.comment-respond .comment-form textarea {
+ height: 55px;
+ width: 100% !important; }
+.comment-respond .comment-form .form-submit {
+ padding-top: 15px; }
+
+/* ==============================
+ 14. Pagination
+ ============================== */
+.pagination {
+ text-align: center;
+ display: block;
+ margin: 0;
+ padding-top: 35px;
+ border-top: 2px solid #f6f6f6; }
+.pagination .page-numbers {
+ border: 2px solid transparent;
+ color: #666666;
+ display: inline-block;
+ font-size: 14px;
+ line-height: 36px;
+ margin: 0 2px;
+ padding: 0;
+ width: 40px;
+ height: 40px; }
+.pagination .page-numbers.next, .pagination .page-numbers.prev {
+ font-size: 18px; }
+.pagination .page-numbers.next:hover, .pagination .page-numbers.prev:hover {
+ border-color: transparent;
+ color: #000000; }
+.pagination .page-numbers.next {
+ float: right;
+ text-align: right; }
+.pagination .page-numbers.prev {
+ float: left;
+ text-align: left; }
+.pagination a.page-numbers:hover,
+.pagination .page-numbers.current {
+ border-color: #f0f0f0; }
+
+/* ==============================
+ 15. Shop
+ ============================== */
+/*
+ * 15.1 Shop Common styles
+ */
+.star-rating {
+ display: inline-block;
+ font-family: FontAwesome;
+ font-size: 12px;
+ letter-spacing: 5px;
+ line-height: 1;
+ position: relative;
+ white-space: nowrap; }
+.star-rating:before {
+ color: #c6c6c6;
+ content: "\f006\f006\f006\f006\f006"; }
+.star-rating span {
+ bottom: 0;
+ display: block;
+ left: 0;
+ position: absolute;
+ text-indent: -9999px;
+ overflow: hidden;
+ top: 0; }
+.star-rating span:before {
+ content: "\f006\f006\f006\f006\f006";
+ left: 0;
+ position: absolute;
+ top: 0;
+ color: #6fd9e9;
+ text-indent: 0; }
+
+.stars a {
+ font-family: FontAwesome;
+ font-size: 12px;
+ letter-spacing: 5px;
+ display: inline-block;
+ outline: 0 none;
+ position: relative;
+ color: #c6c6c6; }
+.stars a:after {
+ content: "\f006"; }
+.stars a.active {
+ color: #6fd9e9; }
+
+.products-tools {
+ border-bottom: 2px solid #f6f6f6;
+ margin-bottom: 50px;
+ padding-bottom: 15px; }
+.products-tools .products-sortby {
+ float: left; }
+.products-tools .products-sortby .select-icon {
+ margin-right: 65px; }
+.products-tools .products-sortby .select-icon:last-child {
+ margin-right: 0; }
+.products-tools .grid-list,
+.products-tools .result-count {
+ float: right; }
+.products-tools .filter-block {float: left; }
+.products-tools .grid-list {
+ margin: 0 28px 0 0;
+ padding: 0;
+ list-style: none; }
+.products-tools .grid-list li {
+ display: inline;/* inline-block; */ }
+.products-tools .grid-list li ~ li {
+ margin-left: 18px; }
+.products-tools .grid-list li a {
+ font-size: 14px;
+ color: #666; }
+.products-tools .grid-list li a.active {
+ color: #000; }
+
+/*
+ * 15.2 Products category
+ */
+.products .product {
+ margin-bottom: 25px;
+ text-align: center; }
+.products .product .product-inner {
+ position: relative; }
+.products .product .product-thumbnail {
+ display: block; }
+.products .product .product-content {
+ /* margin-bottom: 34px; */
+ max-height: 200px;
+ position: relative;
+ overflow: hidden;
+ text-align: center; }
+.products .product .product-content .product-over-add,
+.products .product .product-content .product-over-tool {
+ -webkit-transition: all 0.4s ease 0s;
+ -khtml-transition: all 0.4s ease 0s;
+ -moz-transition: all 0.4s ease 0s;
+ -ms-transition: all 0.4s ease 0s;
+ -o-transition: all 0.4s ease 0s;
+ transition: all 0.4s ease 0s;
+ position: absolute;
+ -webkit-transform: translateX(-50%);
+ -khtml-transform: translateX(-50%);
+ -moz-transform: translateX(-50%);
+ -ms-transform: translateX(-50%);
+ -o-transform: translateX(-50%);
+ transform: translateX(-50%);
+ left: 50%;
+ width: 212px;
+ z-index: 5; }
+.products .product .product-content .product-over-tool {
+ top: -55px; }
+.products .product .product-content .product-over-tool > a {
+ background: #ffffff;
+ color: #999999;
+ font-size: 14px;
+ display: inline-block;
+ float: left;
+ height: 32px;
+ line-height: 32px;
+ margin: 0 1px 0 0;
+ width: 70px; }
+.products .product .product-content .product-over-tool > a:hover {
+ background: #000000;
+ color: #FFFFFF; }
+.products .product .product-content .product-over-tool > a:last-child {
+ margin-right: 0; }
+.products .product .product-content .product-over-add {
+ bottom: -55px; }
+.products .product .product-content .product-over-sale {
+ position: absolute;
+ right: 16px;
+ top: 16px; }
+.products .product .product-content .product-over-sale span {
+ -webkit-border-radius: 2px;
+ -khtml-border-radius: 2px;
+ -moz-border-radius: 2px;
+ -ms-border-radius: 2px;
+ -o-border-radius: 2px;
+ border-radius: 2px;
+ margin-bottom: 10px;
+ color: #FFFFFF;
+ background: #ed8b5c;
+ line-height: 22px;
+ display: block;
+ min-width: 50px;
+ font-size: 12px;
+ text-transform: uppercase;
+ font-weight: bold;
+ position: relative; }
+.products .product .product-content .product-over-sale span:before {
+ content: '';
+ width: 6px;
+ height: 6px;
+ background: #ed8b5c;
+ -webkit-transform: rotate(-45deg) translateX(-50%);
+ -khtml-transform: rotate(-45deg) translateX(-50%);
+ -moz-transform: rotate(-45deg) translateX(-50%);
+ -ms-transform: rotate(-45deg) translateX(-50%);
+ -o-transform: rotate(-45deg) translateX(-50%);
+ transform: rotate(-45deg) translateX(-50%);
+ position: absolute;
+ left: 50%;
+ bottom: -1px; }
+.products .product .product-content .product-over-sale span.onsale {
+ background: #6fd9e9; }
+.products .product .product-content .product-over-sale span.onsale:before {
+ background: #6fd9e9; }
+.products .product .product-content .product-over-sale span.onnew {
+ background: #8ec78e; }
+.products .product .product-content .product-over-sale span.onnew:before {
+ background: #8ec78e; }
+.products .product .product-content .product-thumbnail {
+ display: block; }
+.products .product .product-content .product-thumbnail img {
+ -webkit-transition: all 0.4s ease-in-out;
+ -khtml-transition: all 0.4s ease-in-out;
+ -moz-transition: all 0.4s ease-in-out;
+ -ms-transition: all 0.4s ease-in-out;
+ -o-transition: all 0.4s ease-in-out;
+ transition: all 0.4s ease-in-out; }
+.products .product .product-content .product-thumbnail img.first-img {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+.products .product .product-content .product-thumbnail img.second-img {
+ position: absolute;
+ top: 0;
+ left: 0;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0; }
+.products .product .product-title {
+ font-size: 16px;
+ margin-bottom: 5px;
+ text-transform: none;
+ letter-spacing: 0.12em;
+ padding: 0px 5px 0px 5px;
+}
+.products .product .product-price {
+ color: #999999; }
+.products .product .product-content:hover .product-over-tool {
+ top: 10px; }
+.products .product .product-content:hover .product-over-add {
+ bottom: 10px; }
+.products .product .product-content:hover .product-thumbnail img.first-img {
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0; }
+.products .product .product-content:hover .product-thumbnail img.second-img {
+ z-index: 1;
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+.products .owl-kttheme .product {
+ margin-bottom: 0; }
+.products.products-multi-masonry .product {
+ margin-bottom: 30px;
+ position: relative; }
+.products.products-multi-masonry .product.grid-sizer {
+ margin: 0;
+ min-height: 0; }
+.products.products-multi-masonry .product .product-content {
+ margin-bottom: 0; }
+.products.products-multi-masonry .product .product-details {
+ position: absolute;
+ -webkit-transform: translate(-50%, -50%);
+ -khtml-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ -o-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ top: 50%;
+ left: 50%;
+ z-index: 5;
+ width: 100%; }
+.products.products-multi-masonry .product .product-details .product-title,
+.products.products-multi-masonry .product .product-details .product-price {
+ -webkit-transition: all 0.4s ease 0s;
+ -khtml-transition: all 0.4s ease 0s;
+ -moz-transition: all 0.4s ease 0s;
+ -ms-transition: all 0.4s ease 0s;
+ -o-transition: all 0.4s ease 0s;
+ transition: all 0.4s ease 0s;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transform: translate3d(0, 30px, 0);
+ -khtml-transform: translate3d(0, 30px, 0);
+ -moz-transform: translate3d(0, 30px, 0);
+ -ms-transform: translate3d(0, 30px, 0);
+ -o-transform: translate3d(0, 30px, 0);
+ transform: translate3d(0, 30px, 0);
+ color: #FFFFFF; }
+.products.products-multi-masonry .product .product-details .product-title a {
+ color: #FFFFFF; }
+.products.products-multi-masonry .product .product-thumbnail:after {
+ content: '';
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.5);
+ z-index: 1;
+ -webkit-transition: all 0.4s ease;
+ -khtml-transition: all 0.4s ease;
+ -moz-transition: all 0.4s ease;
+ -ms-transition: all 0.4s ease;
+ -o-transition: all 0.4s ease;
+ transition: all 0.4s ease;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0; }
+.products.products-multi-masonry .product:hover .product-details .product-title,
+.products.products-multi-masonry .product:hover .product-details .product-price {
+ -webkit-transform: translate3d(0, 0, 0);
+ -khtml-transform: translate3d(0, 0, 0);
+ -moz-transform: translate3d(0, 0, 0);
+ -ms-transform: translate3d(0, 0, 0);
+ -o-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+.products.products-multi-masonry .product:hover .product-details .product-price {
+ -webkit-transition-delay: .3s;
+ -khtml-transition-delay: .3s;
+ -moz-transition-delay: .3s;
+ -ms-transition-delay: .3s;
+ -o-transition-delay: .3s;
+ transition-delay: .3s; }
+.products.products-multi-masonry .product:hover .product-thumbnail:after {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+.products.products-multi-masonry .no-gutters .product {
+ margin-bottom: 0; }
+.products.products-multi-masonry.masonry-botom .product .product-details {
+ -webkit-transform: translate(0, 0);
+ -khtml-transform: translate(0, 0);
+ -moz-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
+ left: 25px;
+ top: auto;
+ bottom: 25px;
+ text-align: left;
+ width: auto; }
+.products.products-gallery .product .product-content {
+ margin-bottom: 40px; }
+.products.products-gallery .product .product-inner {
+ background: #FFFFFF;
+ padding: 0 0 20px;
+ -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); }
+.products.products-gallery .product .product-title {
+ letter-spacing: 0; }
+.products .product-description, .products .produt-tool-list {
+ display: none; }
+.products.lists .product {
+ padding: 40px 15px;
+ margin: 0;
+ border-bottom: 1px solid #f6f6f6;
+ width: 100%;
+ text-align: left; }
+.products.lists .product:first-child {
+ padding-top: 0; }
+.products.lists .product:last-child {
+ border-bottom: none; }
+.products.lists .product .product-description, .products.lists .product .produt-tool-list {
+ display: block; }
+.products.lists .product .product-attribute {
+ margin-left: 330px; }
+.products.lists .product .product-content {
+ float: left;
+ max-width: 270px;
+ margin-bottom: 0;
+ margin-right: 60px;
+ min-width: 200px;
+}
+.products.lists .product .product-content .product-over-tool, .products.lists .product .product-content .product-over-add {
+ display: none; }
+.products.lists .product .product-content .product-over-tool, .products.lists .product .product-content .product-over-add{display:block;}
+.products.lists .product h3.product-title {
+ margin-top: 20px; }
+.products.lists .product .produt-tool-list {
+ margin-top: 40px; }
+.products.lists .product .produt-tool-list .quantity, .products.lists .product .produt-tool-list .product-over-add {
+ float: left;
+ margin-right: 30px;
+ margin-top: 12px; }
+.products.lists .product .produt-tool-list .quantity input {
+ height: 48px;
+ width: 60px;
+ text-align: center; }
+.products.lists .product .produt-tool-list .quantity input:focus {
+ border-color: #000; }
+.products.lists .product .produt-tool-list .product-over-tool {
+ float: left;
+ margin-top: 12px; }
+.products.lists .product .produt-tool-list .product-over-tool > a {
+ display: inline-block;
+ width: 60px;
+ height: 48px;
+ border: 2px solid #e3e3e3;
+ text-align: center;
+ color: #999; }
+.products.lists .product .produt-tool-list .product-over-tool > a:hover {
+ color: #000000;
+ border-color: #000000; }
+.products.lists .product .produt-tool-list .product-over-tool > a:last-child {
+ margin-left: 26px; }
+.products.lists .product .produt-tool-list .product-over-tool > a i {
+ line-height: 44px; }
+
+.product-content .cd-item-wrapper {
+ position: relative;
+ overflow: hidden;
+ margin: 0;
+ padding: 0;
+ list-style: none; }
+.product-content .cd-item-wrapper li {
+ position: absolute;
+ top: 0;
+ left: 17%;
+ height: 100%;
+ width: 66%;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transform: translateZ(0);
+ -khtml-transform: translateZ(0);
+ -moz-transform: translateZ(0);
+ -ms-transform: translateZ(0);
+ -o-transform: translateZ(0);
+ transform: translateZ(0);
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ will-change: transform, opacity;
+ -webkit-transform: translateX(200%) scale(0.5);
+ -khtml-transform: translateX(200%) scale(0.5);
+ -moz-transform: translateX(200%) scale(0.5);
+ -ms-transform: translateX(200%) scale(0.5);
+ -o-transform: translateX(200%) scale(0.5);
+ transform: translateX(200%) scale(0.5);
+ -webkit-transition: transform 0.4s, opacity 0.4s;
+ -khtml-transition: transform 0.4s, opacity 0.4s;
+ -moz-transition: transform 0.4s, opacity 0.4s;
+ -ms-transition: transform 0.4s, opacity 0.4s;
+ -o-transition: transform 0.4s, opacity 0.4s;
+ transition: transform 0.4s, opacity 0.4s; }
+.product-content .cd-item-wrapper li.selected {
+ position: relative;
+ opacity: 1;
+ -webkit-transform: translateX(0) scale(1);
+ -khtml-transform: translateX(0) scale(1);
+ -moz-transform: translateX(0) scale(1);
+ -ms-transform: translateX(0) scale(1);
+ -o-transform: translateX(0) scale(1);
+ transform: translateX(0) scale(1); }
+.product-content .cd-item-wrapper li.move-right {
+ -webkit-transform: translateX(70%) scale(0.5);
+ -khtml-transform: translateX(70%) scale(0.5);
+ -moz-transform: translateX(70%) scale(0.5);
+ -ms-transform: translateX(70%) scale(0.5);
+ -o-transform: translateX(70%) scale(0.5);
+ transform: translateX(70%) scale(0.5);
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0; }
+.product-content .cd-item-wrapper li.move-left {
+ -webkit-transform: translateX(-70%) scale(0.5);
+ -khtml-transform: translateX(-70%) scale(0.5);
+ -moz-transform: translateX(-70%) scale(0.5);
+ -ms-transform: translateX(-70%) scale(0.5);
+ -o-transform: translateX(-70%) scale(0.5);
+ transform: translateX(-70%) scale(0.5);
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0; }
+.product-content .cd-item-wrapper li.hide-left {
+ -webkit-transform: translateX(-140%) scale(0.5);
+ -khtml-transform: translateX(-140%) scale(0.5);
+ -moz-transform: translateX(-140%) scale(0.5);
+ -ms-transform: translateX(-140%) scale(0.5);
+ -o-transform: translateX(-140%) scale(0.5);
+ transform: translateX(-140%) scale(0.5); }
+.product-content .cd-item-wrapper li img {
+ display: block;
+ width: 100%; }
+.product-content:hover li.move-right, .product-content:hover li.move-left {
+ filter: alpha(opacity=30);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
+ -webkit-opacity: 0.3;
+ -khtml-opacity: 0.3;
+ -moz-opacity: 0.3;
+ -ms-opacity: 0.3;
+ -o-opacity: 0.3;
+ opacity: 0.3; }
+.product-content:hover li.hover.move-right, .product-content:hover li.hover.move-left {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+
+.cd-dots {
+ bottom: 0px;
+ left: 50%;
+ position: absolute;
+ right: auto;
+ -webkit-transform: translateX(-50%);
+ -khtml-transform: translateX(-50%);
+ -moz-transform: translateX(-50%);
+ -ms-transform: translateX(-50%);
+ -o-transform: translateX(-50%);
+ transform: translateX(-50%);
+ margin: 0;
+ padding: 0; }
+.cd-dots li {
+ display: inline-block;
+ float: left;
+ margin: 0 5px; }
+.cd-dots li a {
+ display: block;
+ height: 7px;
+ width: 7px;
+ -webkit-border-radius: 50%;
+ -khtml-border-radius: 50%;
+ -moz-border-radius: 50%;
+ -ms-border-radius: 50%;
+ -o-border-radius: 50%;
+ border-radius: 50%;
+ border: 1px solid #9688a0;
+ overflow: hidden;
+ text-indent: 100%;
+ white-space: nowrap;
+ -webkit-transition: border-color 0.2s, background-color 0.2s;
+ -khtml-transition: border-color 0.2s, background-color 0.2s;
+ -moz-transition: border-color 0.2s, background-color 0.2s;
+ -ms-transition: border-color 0.2s, background-color 0.2s;
+ -o-transition: border-color 0.2s, background-color 0.2s;
+ transition: border-color 0.2s, background-color 0.2s; }
+.cd-dots li.selected a {
+ background: #2f2933 none repeat scroll 0 0;
+ border-color: #2f2933; }
+
+.product-list-widget .product-widget {
+ padding-bottom: 30px; }
+.product-list-widget .product-title {
+ font-size: 16px;
+ margin: 0 0 7px;
+ text-transform: none;
+ letter-spacing: 0.075em; }
+
+/*
+ * 15.3 Product Detail
+ */
+.product-main .product-detail-thumbarea {
+ margin-bottom: 30px; }
+.product-main .product-detail-thumbarea .single-product-main-images {
+ margin-bottom: 30px;
+ position: relative; }
+.product-main .product-detail-thumbarea .single-product-main-images .owl-controls {
+ bottom: 8px;
+ margin: 0;
+ position: absolute;
+ right: 9px; }
+.product-main .product-detail-thumbarea .single-product-main-images .owl-controls .owl-buttons > div {
+ width: 60px;
+ height: 48px;
+ padding: 0;
+ text-align: center;
+ background: #fff;
+ -webkit-box-shadow: 1px 0 3px rgba(0,0,0,0.1);
+ -khtml-box-shadow: 1px 0 3px rgba(0,0,0,0.1);
+ -moz-box-shadow: 1px 0 3px rgba(0,0,0,0.1);
+ -ms-box-shadow: 1px 0 3px rgba(0,0,0,0.1);
+ -o-box-shadow: 1px 0 3px rgba(0,0,0,0.1);
+ box-shadow: 1px 0 3px rgba(0,0,0,0.1);
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1;
+ -webkit-border-radius: 0;
+ -khtml-border-radius: 0;
+ -moz-border-radius: 0;
+ -ms-border-radius: 0;
+ -o-border-radius: 0;
+ border-radius: 0; }
+.product-main .product-detail-thumbarea .single-product-main-images .owl-controls .owl-buttons > div i {
+ font-size: 14px;
+ color: #999;
+ line-height: 48px; }
+.product-main.style1 .single-product-main-thumbnails {
+ width: auto;
+ margin-right: -15px;
+ margin-left: -15px; }
+.product-main.style1 .single-product-main-thumbnails .owl-item {
+ padding: 0 15px; }
+.product-main.style2 .single-product-main-images {
+ margin-bottom: 0; }
+.product-main.style2 .product-detail-wrap {
+ padding: 100px 0 80px;
+ max-width: 570px; }
+.product-main.style2 .product-detail-thumbarea {
+ margin: 0; }
+.product-main.style3 .product-detail-thumbarea {
+ margin-bottom: 0;
+ padding: 30px;
+ background: #ededed; }
+.product-main.style3 .single-product-main-thumbnails {
+ width: auto;
+ margin-right: -10px;
+ margin-left: -10px; }
+.product-main.style3 .single-product-main-thumbnails .owl-item {
+ padding: 0 10px; }
+.product-main.style3 .product-detail-wrap {
+ padding: 90px 0;
+ max-width: 570px; }
+.product-main .breadcrumb {
+ font-size: 14px;
+ line-height: 1;
+ margin-bottom: 35px; }
+.product-main .product-title {
+ font-size: 18px;
+ padding-bottom: 30px;
+ border-bottom: 2px solid #f6f6f6;
+ margin: 0 0 30px; }
+.product-main .product-price-wrap {
+ margin-bottom: 35px; }
+.product-main .product-price-wrap h3.price {
+ float: left;
+ margin: 0;
+ font-size: 24px;
+ font-weight: normal;
+ letter-spacing: 0; }
+.product-main .product-price-wrap .review-summary {
+ float: left;
+ margin: 3px 0 0 50px; }
+.product-main .product-price-wrap .reviews-text {
+ display: inline-block;
+ font-size: 14px;
+ padding-left: 48px; }
+.product-main form.cart {
+ margin-bottom: 45px; }
+.product-main form.cart .quantity {
+ float: left;
+ width: 60px;
+ margin-right: 30px; }
+.product-main form.cart .quantity input {
+ height: 48px;
+ text-align: center; }
+.product-main form.cart .quantity input:focus {
+ border-color: #000000; }
+.product-main form.cart button {
+ float: left;
+ width: auto; }
+.product-main form.cart .cart-tool {
+ float: left; }
+.product-main form.cart .cart-tool .add_to_wishlist,
+.product-main form.cart .cart-tool .add_to_compare {
+ float: left;
+ margin-left: 30px;
+ width: 60px;
+ height: 48px;
+ text-align: center;
+ border: 2px solid #e3e3e3;
+ color: #999;
+ font-size: 14px;
+ line-height: 44px; }
+.product-main form.cart .cart-tool .add_to_wishlist:hover,
+.product-main form.cart .cart-tool .add_to_compare:hover {
+ border: 2px solid #000000;
+ color: #000000; }
+.product-main .product-short p {
+ margin-bottom: 20px; }
+.product-main .product_meta {
+ padding-bottom: 30px;
+ border-bottom: 2px solid #f6f6f6;
+ margin-bottom: 35px; }
+.product-main .product_meta > span {
+ display: block; }
+.product-main .product_meta > span a {
+ color: #666; }
+.product-main .product_meta > span a:hover {
+ color: #000000; }
+.product-main .product-shareit .social_icons {
+ margin: 0 -11px;
+ padding: 0;
+ list-style: none; }
+.product-main .product-shareit .social_icons li {
+ float: left;
+ width: 33.33%;
+ line-height: normal;
+ padding: 0 11px; }
+.product-main .product-shareit .social_icons li a {
+ color: #999;
+ letter-spacing: 0.15em;
+ padding: 15px 40px;
+ border: 2px solid #e3e3e3;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 14px;
+ display: block; }
+.product-main .product-shareit .social_icons li a:hover, .product-main .product-shareit .social_icons li a:focus {
+ color: #000;
+ border-color: #000; }
+.product-main .product-shareit .social_icons li a i {
+ display: none; }
+
+.easyzoom-flyout img {
+ max-width: none !important;
+ width: auto !important; }
+
+.woocommerce-tabs .nav {
+ padding-bottom: 30px;
+ border-bottom: 2px solid #e3e3e3;
+ margin-bottom: 50px; }
+.woocommerce-tabs .nav li {
+ float: left;
+ margin-right: 140px; }
+.woocommerce-tabs .nav li:last-child {
+ margin-right: 0; }
+.woocommerce-tabs .nav li a {
+ padding: 0;
+ line-height: normal;
+ font-size: 14px;
+ font-family: "Roboto Slab", serif;
+ color: #999;
+ text-transform: uppercase;
+ letter-spacing: 0.15em;
+ font-weight: bold; }
+.woocommerce-tabs .nav li a:hover, .woocommerce-tabs .nav li a:focus {
+ background: none; }
+.woocommerce-tabs .nav li.active a {
+ color: #000; }
+.woocommerce-tabs .shop_attributes {
+ width: 50%; }
+.woocommerce-tabs .shop_attributes tr td, .woocommerce-tabs .shop_attributes tr th {
+ padding: 15px 0;
+ font-weight: normal;
+ line-height: normal;
+ border-bottom: 1px dashed #e3e3e3; }
+.woocommerce-tabs .comments-area .comments-title {
+ font-weight: bold;
+ font-size: 14px;
+ letter-spacing: 0.075em;
+ color: #666;
+ font-family: "Karla", arial, sans-serif;
+ text-transform: none;
+ margin-bottom: 55px; }
+.woocommerce-tabs .comments-area .comment-list {
+ margin: 0; }
+.woocommerce-tabs .comments-area .comment-item {
+ padding: 0;
+ min-height: 0;
+ margin-bottom: 40px; }
+.woocommerce-tabs .comments-area .comment-item .comment-avatar {
+ max-width: 45px;
+ border-radius: 100%;
+ overflow: hidden; }
+.woocommerce-tabs .comments-area .comment-item .comment-content {
+ margin-left: 65px; }
+.woocommerce-tabs .comments-area .comment-item .comment-content .comment-meta {
+ margin-bottom: 15px;
+ line-height: normal; }
+.woocommerce-tabs .comments-area .comment-item .comment-content .comment-meta .author_name {
+ margin: 0 30px 0 0;
+ display: inline-block;
+ font-size: 16px;
+ font-family: "Karla", arial, sans-serif;
+ text-transform: none; }
+.woocommerce-tabs .comments-area .comment-item .comment-content .comment-meta .comment-date {
+ margin-right: 25px;
+ display: inline-block; }
+.woocommerce-tabs .comments-area .comment-item .comment-content p {
+ margin: 0; }
+
+#review_form .comment-reply-title {
+ font-family: "Karla", arial, sans-serif;
+ font-size: 14px;
+ color: #666;
+ text-transform: none;
+ letter-spacing: 0.075em; }
+#review_form .comment-form-rating {
+ display: inline-block;
+ margin-right: 36px; }
+#review_form .comment-form-rating #rating {
+ display: none; }
+#review_form .comment-form-rating .stars {
+ width: 210px;
+ border: 2px solid #e3e3e3;
+ text-align: center;
+ line-height: 47px;
+ margin: 0; }
+#review_form .form-submit {
+ display: inline-block;
+ margin: 0;
+ padding: 0; }
+
+/*
+ * 15.4 Checkout page
+ */
+.title-checkout {
+ letter-spacing: 0.2em;
+ padding: 10px 0;
+ border: 1px solid #f0f0f0;
+ margin: 0;
+ text-align: center; }
+
+.checkout-wrap {
+ padding: 20px;
+ border-right: 1px solid #f0f0f0;
+ border-bottom: 1px solid #f0f0f0;
+ border-left: 1px solid #f0f0f0;
+ margin-bottom: 30px; }
+
+form.checkout .form-group {
+ margin-bottom: 20px; }
+form.checkout .form-group label, form.checkout .form-group p {
+ font-weight: normal;
+ font-size: 14px;
+ line-height: normal;
+ margin-bottom: 10px; }
+form.checkout .form-group label {
+ letter-spacing: 0.05em;
+ display: block; }
+form.checkout .form-group label abbr {
+ color: #ff0000;
+ text-decoration: none;
+ border: none; }
+form.checkout .woocommerce-shipping-fields label {
+ font-weight: normal;
+ font-size: 14px;
+ display: block; }
+form.checkout input[type="checkbox"] {
+ vertical-align: middle;
+ margin: 0 10px 0 0; }
+form.checkout p {
+ margin-bottom: 15px; }
+form.checkout .title-order {
+ padding: 12px;
+ text-align: center;
+ background: #f6f6f6;
+ letter-spacing: 0.2em;
+ margin: 0; }
+form.checkout .coupon_wrap {
+ margin-bottom: 7px; }
+form.checkout .coupon_wrap p {
+ font-weight: bold; }
+form.checkout .coupon_wrap .coupon-form {
+ padding-right: 227px;
+ position: relative; }
+form.checkout .coupon_wrap .coupon-form input {
+ width: 100%;
+ padding: 12px;
+ line-height: normal;
+ height: auto;
+ font-weight: bold; }
+form.checkout .coupon_wrap .coupon-form input.submit {
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 207px;
+ letter-spacing: 0.2em;
+ height: 100%; }
+
+#order_review .shop_table {
+ width: 100%;
+ margin-bottom: 30px; }
+#order_review .shop_table tbody, #order_review .shop_table tfoot {
+ border-bottom: 2px solid #000; }
+#order_review .shop_table th, #order_review .shop_table td {
+ padding: 25px 0;
+ color: #666;
+ border-bottom: 1px solid #f6f6f6;
+ font-size: 14px;
+ letter-spacing: 0.075em; }
+#order_review .shop_table tfoot .order-total td {
+ color: #000; }
+
+#payment {
+ margin-bottom: 10px; }
+#payment .payment_methods {
+ padding: 0;
+ margin: 0;
+ list-style: none; }
+#payment .payment_methods li {
+ margin: 0 0 30px; }
+#payment .payment_methods li .payment_box {
+ background: #f6f6f6;
+ padding: 15px;
+ position: relative;
+ font-size: 14px;
+ line-height: 24px;
+ display: none; }
+#payment .payment_methods li .payment_box:after {
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ border-bottom: 8px solid #f6f6f6;
+ top: -8px;
+ content: "";
+ height: 0;
+ position: absolute;
+ left: 30px;
+ width: 0; }
+#payment .payment_methods li .payment_box p {
+ margin: 0; }
+#payment .payment_methods li label {
+ margin: 0 0 20px;
+ font-size: 14px;
+ color: #666;
+ letter-spacing: 0.075em;
+ line-height: normal; }
+#payment .payment_methods li label .input-radio {
+ margin: 0 10px 0 0;
+ position: static; }
+#payment .place-order {
+ text-align: center; }
+
+/*
+ * 15.5 My Cart page
+ */
+.table-cart-form {
+ margin-bottom: 45px; }
+
+table.cart {
+ width: 100%;
+ text-align: center; }
+table.cart thead th {
+ border: 1px solid #f0f0f0;
+ padding: 12px;
+ text-align: center;
+ font-size: 14px;
+ font-family: "Roboto Slab", serif;
+ letter-spacing: 0.2em;
+ text-transform: uppercase;
+ line-height: normal;
+ color: #000; }
+table.cart td {
+ padding: 14px;
+ border: 1px solid #f0f0f0;
+ font-size: 14px; }
+table.cart td.product-name a {
+ letter-spacing: 0.075em;
+ font-family: "Roboto Slab", serif;
+ font-weight: bold; }
+table.cart td.product-name a:hover {
+ text-decoration: underline; }
+table.cart td.product-thumbnail img {
+ max-width: 100px;
+ margin: 0 auto; }
+table.cart td .qty {
+ width: 60px;
+ margin: 0 auto;
+ text-align: center; }
+table.cart td.actions {
+ padding: 31px 31px 21px; }
+table.cart td.actions button {
+ margin: 0 15px 10px;
+ color: #010101; }
+table.cart td.actions button:hover, table.cart td.actions button:focus {
+ background: #000;
+ color: #fff; }
+
+.cart-collaterals h5 {
+ padding: 12px 0;
+ border: 1px solid #f0f0f0;
+ text-align: center;
+ margin: 0;
+ letter-spacing: 0.2em; }
+.cart-collaterals .cart-collaterals-inner {
+ padding: 22px;
+ margin-bottom: 30px;
+ border-bottom: 1px solid #f0f0f0;
+ border-left: 1px solid #f0f0f0;
+ border-right: 1px solid #f0f0f0; }
+.cart-collaterals .cart-collaterals-inner p {
+ margin-bottom: 20px;
+ font-size: 14px;
+ line-height: 24px; }
+.cart-collaterals .cart_totals table {
+ width: 100%; }
+.cart-collaterals .cart_totals table tr.order-total td {
+ color: #000; }
+.cart-collaterals .cart_totals table tr th, .cart-collaterals .cart_totals table tr td {
+ padding: 15px 0;
+ line-height: normal;
+ font-size: 14px;
+ color: #666;
+ font-weight: bold; }
+.cart-collaterals .cart_totals .cart-collaterals-inner {
+ border-bottom: 1px solid #f0f0f0;
+ margin-bottom: 20px; }
+.cart-collaterals .button-checkout {
+ text-align: center;
+ border: 1px solid #f0f0f0;
+ border-top: none;
+ padding: 20px; }
+.cart-collaterals .coupon-form input {
+ margin-bottom: 20px; }
+.cart-collaterals .shipping_calculator select {
+ font-size: 12px;
+ letter-spacing: 0.075em; }
+.cart-collaterals .shipping_calculator .row {
+ margin-left: -10px;
+ margin-right: -10px; }
+.cart-collaterals .shipping_calculator .row > div {
+ padding-right: 10px;
+ padding-left: 10px; }
+.cart-collaterals .shipping_calculator button {
+ padding: 9px 0;
+ text-align: center;
+ width: 100%;
+ letter-spacing: 0.18em; }
+
+/*
+ * 15.6 Compare page
+ */
+table.compare tr td {
+ padding: 28px 22px;
+ border: 1px solid #eee; }
+table.compare tr td.compare-title {
+ padding: 28px 20px;
+ background: #fafafa;
+ font-size: 14px;
+ font-family: "Roboto Slab", serif;
+ font-weight: bold;
+ letter-spacing: 0.075em;
+ color: #222;
+ min-width: 160px; }
+table.compare tr td.product-thumbnail {
+ font-size: 14px;
+ font-family: "Roboto Slab", serif;
+ font-weight: bold;
+ letter-spacing: 0.075em;
+ color: #000; }
+table.compare tr td.product-thumbnail a:hover {
+ text-decoration: underline; }
+table.compare tr td.product-thumbnail img {
+ margin-right: 24px;
+ max-width: 100px; }
+table.compare tr td.actions {
+ min-width: 326px; }
+table.compare tr td .amount {
+ font-size: 14px; }
+table.compare tr td .instock {
+ color: #6fd9e9;
+ font-weight: normal; }
+table.compare tr td .outstock {
+ color: #8ec78e;
+ font-weight: normal; }
+table.compare tr td .qty {
+ max-width: 60px;
+ text-align: center; }
+table.compare tr td .add_to_wishlist {
+ width: 60px;
+ height: 48px;
+ border: 2px solid #e3e3e3;
+ text-align: center;
+ display: inline-block;
+ vertical-align: middle; }
+table.compare tr td .add_to_wishlist i {
+ color: #999;
+ line-height: 44px; }
+table.compare tr td .add_to_wishlist:hover {
+ border-color: #000; }
+table.compare tr td .add_to_wishlist:hover i {
+ color: #000; }
+table.compare tr td .add_to_cart_button {
+ float: left;
+ margin-right: 17px; }
+
+/*
+ * 15.7 My Account page
+ */
+#customer_login h5 {
+ border: 1px solid #f0f0f0;
+ letter-spacing: 0.2em;
+ margin: 0;
+ padding: 10px 0;
+ text-align: center; }
+#customer_login form {
+ padding: 20px;
+ border: 1px solid #f0f0f0;
+ border-top: none;
+ margin-bottom: 30px; }
+#customer_login form label {
+ font-size: 14px;
+ font-weight: normal;
+ line-height: normal;
+ margin-bottom: 10px;
+ letter-spacing: 0.075em;
+ display: block; }
+#customer_login form label.inline {
+ display: inline-block;
+ margin-left: 10px; }
+#customer_login form label .required {
+ color: #ff0000; }
+#customer_login form .form-row {
+ margin-bottom: 20px; }
+#customer_login form .lost_password {
+ margin: 0; }
+
+/*
+ * 15.8 QuickView
+ */
+.themedev-product-popup {
+ margin: 0 auto;
+ max-width: 600px;
+ position: relative;
+ overflow: hidden; }
+.themedev-product-popup .close-quickview {
+ font-size: 18px;
+ line-height: 1.4;
+ position: absolute;
+ right: 30px;
+ top: 35px; }
+.themedev-product-popup .close-quickview.mobile-version {
+ display: none;
+ height: 30px;
+ line-height: 30px;
+ right: 0;
+ text-align: center;
+ top: 0;
+ width: 30px; }
+.themedev-product-popup .product-main {
+ background: #FFF; }
+.themedev-product-popup .product-main .product-detail-images {
+ padding: 30px;
+ max-width: 600px; }
+.themedev-product-popup .product-main .product-detail-thumbarea {
+ margin: 0;
+ padding: 0; }
+.themedev-product-popup .product-main .product-details-info {
+ position: absolute;
+ padding: 35px 30px 30px;
+ visibility: hidden;
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transition: all 0.2s ease-in-out 0s;
+ -khtml-transition: all 0.2s ease-in-out 0s;
+ -moz-transition: all 0.2s ease-in-out 0s;
+ -ms-transition: all 0.2s ease-in-out 0s;
+ -o-transition: all 0.2s ease-in-out 0s;
+ transition: all 0.2s ease-in-out 0s;
+ -webkit-transform: translate3d(-40px, 0, 0);
+ -khtml-transform: translate3d(-40px, 0, 0);
+ -moz-transform: translate3d(-40px, 0, 0);
+ -ms-transform: translate3d(-40px, 0, 0);
+ -o-transform: translate3d(-40px, 0, 0);
+ transform: translate3d(-40px, 0, 0); }
+.themedev-product-popup.animate-width {
+ max-width: 1200px; }
+.themedev-product-popup.add-content {
+ max-width: 1200px; }
+.themedev-product-popup.add-content .product-detail-images {
+ width: 50%;
+ float: left; }
+.themedev-product-popup.add-content .product-details-info {
+ position: relative;
+ visibility: visible;
+ opacity: 1;
+ float: left;
+ width: 50%;
+ -webkit-transform: translate3d(0, 0, 0);
+ -khtml-transform: translate3d(0, 0, 0);
+ -moz-transform: translate3d(0, 0, 0);
+ -ms-transform: translate3d(0, 0, 0);
+ -o-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
+
+/* ==============================
+ 16. Slideshow and owl carousel
+ ============================== */
+/*
+ * 16.1 Rev slider
+ */
+.rev_slider .product-attr {
+ text-align: center; }
+.rev_slider .product-attr h4 {
+ font-size: 16px;
+ text-transform: none;
+ margin: 0 0 10px; }
+.rev_slider .tp-loader.spinner0 {
+ background-color: #FFFFFF; }
+.rev_slider .metis {
+ width: 50px;
+ height: 50px;
+ -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); }
+.rev_slider .metis.tparrows:before {
+ font-size: 15px;
+ line-height: 34px;
+ color: #999999; }
+.rev_slider .metis.tparrows.tp-leftarrow:before {
+ font-family: FontAwesome;
+ content: "ï„„";
+ font-style: normal;
+ font-weight: normal; }
+.rev_slider .metis.tparrows.tp-rightarrow:before {
+ font-family: FontAwesome;
+ content: "ï„…";
+ font-style: normal;
+ font-weight: normal; }
+.rev_slider .ares .tp-bullet {
+ width: 7px;
+ height: 7px;
+ background: #d7d7d7; }
+.rev_slider .ares .tp-bullet:hover, .rev_slider .ares .tp-bullet.selected {
+ background: #000000; }
+.rev_slider .site-nav {
+ width: 46px;
+ background: none;
+ border: 2px solid #fff; }
+.rev_slider .site-nav:hover:before {
+ -webkit-transform: scale(1.2);
+ -khtml-transform: scale(1.2);
+ -moz-transform: scale(1.2);
+ -ms-transform: scale(1.2);
+ -o-transform: scale(1.2);
+ transform: scale(1.2); }
+.rev_slider .site-nav:before {
+ font-family: "icomoon";
+ font-size: 18px;
+ line-height: 36px;
+ -webkit-transition: all 0.4s ease;
+ -khtml-transition: all 0.4s ease;
+ -moz-transition: all 0.4s ease;
+ -ms-transition: all 0.4s ease;
+ -o-transition: all 0.4s ease;
+ transition: all 0.4s ease; }
+.rev_slider .site-nav.tp-rightarrow:before {
+ content: "\ebf9"; }
+.rev_slider .site-nav.tp-leftarrow:before {
+ content: "\ea26"; }
+.rev_slider .site-pagination .tp-bullet {
+ width: 7px;
+ height: 7px;
+ background: #999999;
+ -webkit-border-radius: 50%;
+ -khtml-border-radius: 50%;
+ -moz-border-radius: 50%;
+ -ms-border-radius: 50%;
+ -o-border-radius: 50%;
+ border-radius: 50%; }
+.rev_slider .site-pagination .tp-bullet:hover, .rev_slider .site-pagination .tp-bullet.selected {
+ background: #ffffff; }
+
+/*
+ * 16.2 Owl Carousel
+ */
+.owl-carousel-kt {
+ margin-left: -15px;
+ margin-right: -15px;
+ margin-bottom: 50px;
+ position: relative;
+ cursor: url(../images/drag.png) 16 9, ew-resize !important; }
+.owl-carousel-kt.no-gutters {
+ margin-left: 0;
+ margin-right: 0; }
+.owl-carousel-kt.no-gutters .kt-owl-carousel .owl-item {
+ padding-left: 0;
+ padding-right: 0; }
+.owl-carousel-kt.big-width .owl-carousel-kt-inner {
+ max-width: 1550px;
+ margin: 0 auto; }
+.owl-carousel-kt .kt-owl-carousel .owl-item {
+ padding-left: 15px;
+ padding-right: 15px; }
+.owl-carousel-kt.navigation-center .owl-buttons > div, .owl-carousel-kt.navigation-center-inner .owl-buttons > div {
+ position: absolute;
+ -webkit-transform: translateY(-50%);
+ -khtml-transform: translateY(-50%);
+ -moz-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ -o-transform: translateY(-50%);
+ transform: translateY(-50%);
+ top: 50%;
+ font-size: 30px;
+ color: #000000;
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ text-align: center; }
+.owl-carousel-kt.navigation-center .owl-buttons > div.owl-prev {
+ left: -105px; }
+.owl-carousel-kt.navigation-center .owl-buttons > div.owl-next {
+ right: -105px; }
+.owl-carousel-kt.navigation-center-inner .owl-buttons > div {
+ color: #FFFFFF; }
+.owl-carousel-kt.navigation-center-inner .owl-buttons > div.owl-prev {
+ left: 20px; }
+.owl-carousel-kt.navigation-center-inner .owl-buttons > div.owl-next {
+ right: 20px; }
+.owl-carousel-kt .owl-buttons {
+ filter: alpha(opacity=0);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ -webkit-opacity: 0;
+ -khtml-opacity: 0;
+ -moz-opacity: 0;
+ -ms-opacity: 0;
+ -o-opacity: 0;
+ opacity: 0;
+ -webkit-transition: all 1s ease;
+ -khtml-transition: all 1s ease;
+ -moz-transition: all 1s ease;
+ -ms-transition: all 1s ease;
+ -o-transition: all 1s ease;
+ transition: all 1s ease; }
+.owl-carousel-kt .owl-buttons > div {
+ cursor: pointer; }
+.owl-carousel-kt:hover .owl-buttons {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+.owl-carousel-kt.visiable-navigation .owl-buttons {
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+.owl-carousel-kt.navigation-square-light .owl-buttons div {
+ -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -khtml-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -ms-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ -o-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
+ background: #FFFFFF;
+ color: #999999;
+ font-size: 18px;
+ height: 50px;
+ line-height: 50px;
+ width: 50px; }
+.owl-carousel-kt.navigation-square-light.navigation-center-inner .owl-buttons > div.owl-prev {
+ left: 35px; }
+.owl-carousel-kt.navigation-square-light.navigation-center-inner .owl-buttons > div.owl-next {
+ right: 35px; }
+.owl-carousel-kt .owl-pagination {
+ text-align: center;
+ margin: 40px 0 0; }
+.owl-carousel-kt .owl-pagination .owl-page {
+ background: #d7d7d7;
+ cursor: pointer;
+ height: 8px;
+ display: inline-block;
+ width: 8px;
+ margin: 0 7px;
+ -webkit-border-radius: 50%;
+ -khtml-border-radius: 50%;
+ -moz-border-radius: 50%;
+ -ms-border-radius: 50%;
+ -o-border-radius: 50%;
+ border-radius: 50%;
+ -webkit-transition: all 0.2s ease-in-out 0s;
+ -khtml-transition: all 0.2s ease-in-out 0s;
+ -moz-transition: all 0.2s ease-in-out 0s;
+ -ms-transition: all 0.2s ease-in-out 0s;
+ -o-transition: all 0.2s ease-in-out 0s;
+ transition: all 0.2s ease-in-out 0s; }
+.owl-carousel-kt .owl-pagination .owl-page:hover, .owl-carousel-kt .owl-pagination .owl-page.active {
+ background: #000000; }
+.owl-carousel-kt.pagination-before .owl-pagination {
+ margin: 0 0 40px; }
+
+/* ==============================
+ 17. Popup Newletter
+ ============================== */
+#popup-wrap {
+ max-width: 900px;
+ background: #fff;
+ margin: 0 auto;
+ position: relative; }
+#popup-wrap .mfp-close {
+ left: 100%;
+ background: #fff;
+ filter: alpha(opacity=100);
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ -webkit-opacity: 1;
+ -khtml-opacity: 1;
+ -moz-opacity: 1;
+ -ms-opacity: 1;
+ -o-opacity: 1;
+ opacity: 1; }
+#popup-wrap .mfp-close:active {
+ top: 0; }
+#popup-wrap .wrapper-newletter-popup {
+ padding: 50px 55px 35px 405px;
+ text-align: center; }
+#popup-wrap .wrapper-newletter-popup .newsletters-form {
+ margin-top: 50px; }
+#popup-wrap .wrapper-newletter-popup .bg-popup {
+ width: 350px;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ background: url(../images/bg-popup.png) no-repeat center center;
+ background-size: cover; }
+
+/* ==============================
+ 18. Back to Top
+ ============================== */
+#back-to-top {
+ width: 50px;
+ height: 50px;
+ background: #fff;
+ text-align: center;
+ position: fixed;
+ right: 30px;
+ bottom: 30px;
+ z-index: 100;
+ cursor: pointer;
+ display: none;
+ -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
+ -khtml-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
+ -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
+ -ms-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
+ -o-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
+ color: #000000; }
+#back-to-top i {
+ font-size: 18px;
+ line-height: 50px;
+ -webkit-transition: all 0.4s ease;
+ -khtml-transition: all 0.4s ease;
+ -moz-transition: all 0.4s ease;
+ -ms-transition: all 0.4s ease;
+ -o-transition: all 0.4s ease;
+ transition: all 0.4s ease; }
+#back-to-top:hover i {
+ -webkit-transform: scale(1.5);
+ -khtml-transform: scale(1.5);
+ -moz-transform: scale(1.5);
+ -ms-transform: scale(1.5);
+ -o-transform: scale(1.5);
+ transform: scale(1.5); }
+
+/* ==============================
+ 19. Main content
+ ============================== */
+/*
+ * 19.1 About page
+ */
+.about-left {
+ margin-left: 30px;
+ margin-bottom: 30px; }
+
+/*
+ * 19.2 Contact page
+ */
+.contact-details {
+ background: #f6f6f6;
+ padding: 65px 35px;
+ margin-bottom: 30px;
+ color: #999999; }
+.contact-details p {
+ line-height: 36px;
+ margin-bottom: 40px; }
+.contact-details .social-nav li a {
+ color: #999999; }
+.contact-details .social-nav li a:hover {
+ color: #000000; }
+
+.contactform {
+ margin-bottom: 30px; }
+.contactform h4 {
+ margin-bottom: 30px; }
+.contactform input[type="text"],
+.contactform textarea {
+ padding: 15px 0;
+ line-height: normal;
+ border: none;
+ border-bottom: 2px solid #e3e3e3;
+ height: auto; }
+.contactform input[type="text"]:focus,
+.contactform textarea:focus {
+ border-color: #999999; }
+.contactform textarea {
+ width: 100% !important; }
+
+/*
+ * 19.3 404 page
+ */
+.wrapper-404 {
+ background: #f6f6f6;
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ z-index: 1; }
+
+#error404 {
+ text-align: center;
+ position: absolute;
+ max-width: 100%;
+ top: 50%;
+ left: 50%;
+ position: absolute;
+ -webkit-transform: translate(-50%, -50%);
+ -khtml-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ -o-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ top: 50%;
+ left: 50%;
+ padding: 0 20px;
+ z-index: 2; }
+#error404 h1 {
+ font-family: "Vollkorn", serif;
+ font-size: 200px;
+ font-style: italic;
+ line-height: 200px;
+ margin-bottom: 25px;
+ letter-spacing: 0;
+ font-weight: 400; }
+#error404 h4 {
+ font-size: 16px;
+ font-family: "Karla", arial, sans-serif;
+ color: #999;
+ text-transform: none;
+ margin-bottom: 30px;
+ font-weight: 400; }
+#error404 p a {
+ color: #74cdd7; }
+#error404 p a i {
+ font-size: 20px;
+ vertical-align: middle;
+ margin-left: 15px; }
+
+/*# sourceMappingURL=style.css.map */
+
+
+.box {
+ background:#fff;
+ transition:all 0.2s ease;
+ border:1px dashed #dadada;
+ /*margin-top: 10px;*/
+ box-sizing: border-box;
+ background-clip: padding-box;
+ padding:0 10px 10px 10px;
+ min-height:200px;
+}
+
+.box:hover {
+ border:1px solid #f15d35;
+ background: #fefefe;
+}
+
+.box span.box-title {
+ color: #fff;
+ font-size: 16px;
+ font-weight: 300;
+ text-transform: uppercase;
+}
+
+.box .box-content {
+ padding: 15px;
+ background-clip: padding-box;
+ box-sizing: border-box;
+}
+.box .box-content p {
+ color:#515c66;
+ text-transform:none;
+}
+
+
+.rst-post-container {
+ padding: 110px 0 0;
+}
+
+.rst-category {
+ border: 1px solid #f0f1f2;
+ float: left;
+ margin: -1px 0 0 -1px;
+ padding: 30px 30px 40px;
+ width: 33.3332%;
+}
+.rst-category li {
+ margin: 0 0 22px;
+ list-style: none;
+}
+.rst-category li a {
+ color: #1c2633;
+ opacity: 0.5;
+ -webkit-transition: opacity 0.3s ease-out;
+ -moz-transition: opacity 0.3s ease-out;
+ -ms-transition: opacity 0.3s ease-out;
+ -o-transition: opacity 0.3s ease-out;
+ transition: opacity 0.3s ease-out;
+}
+.rst-category li a:hover,
+.rst-category li a:hover i
+{
+ opacity: 1;
+ -webkit-transition: opacity 0.3s ease-out;
+ -moz-transition: opacity 0.3s ease-out;
+ -ms-transition: opacity 0.3s ease-out;
+ -o-transition: opacity 0.3s ease-out;
+ transition: opacity 0.3s ease-out;
+}
+.rst-category li a i {
+ color: #9b79d2;
+ display: inline-block;
+ font-size: 16px;
+ font-weight: bold;
+ margin: 2px 0 0 5px;
+ opacity: 0;
+ vertical-align: top;
+}
+.rst-category li a img
+{
+ display: inline-block;
+ margin: -3px 10px 0 0;
+ vertical-align: middle;
+}
+.rst-category h4 span {
+ background: #f8f9fb none repeat scroll 0 0;
+ border-radius: 30px;
+ color: #233141;
+ display: inline-block;
+ font-size: 14px;
+ margin: -2px 0 0 10px;
+ padding: 6px 15px;
+ vertical-align: top;
+ -webkit-transition: all 0.3s ease-out;
+ -moz-transition: all 0.3s ease-out;
+ -ms-transition: all 0.3s ease-out;
+ -o-transition: all 0.3s ease-out;
+ transition: all 0.3s ease-out;
+}
+.rst-category h4 a {
+ color: #233141;
+}
+.rst-category h4 a:hover span
+{
+ background: #9b79d2;
+ color: #fff;
+ -webkit-transition: all 0.3s ease-out;
+ -moz-transition: all 0.3s ease-out;
+ -ms-transition: all 0.3s ease-out;
+ -o-transition: all 0.3s ease-out;
+ transition: all 0.3s ease-out;
+}
+.rst-cat-list .rst-single-content h2 {
+ margin: 0 0 20px;
+}
+.rst-cat-list .rst-single-content {
+ border-bottom: 1px solid #f0f2f1;
+ margin: 0 0 35px;
+ padding: 0 0 24px;
+}
+.rst-cat-list .rst-single-content h2 a
+{
+ color: #233141;
+}
+
+/* Page navigation */
+.rst-page ul {
+ padding: 0 60px;
+ position: relative;
+}
+.rst-page li {
+ display: inline-block;
+ margin: 4px;
+}
+.rst-page li a {
+ border-radius: 50%;
+ color: #a8b3bf;
+ display: block;
+ font-family: Montserrat;
+ height: 42px;
+ padding: 11px 0;
+ width: 42px;
+ -webkit-transition: all 0.3s ease-out;
+ -moz-transition: all 0.3s ease-out;
+ -ms-transition: all 0.3s ease-out;
+ -o-transition: all 0.3s ease-out;
+ transition: all 0.3s ease-out;
+}
+.rst-page li:first-child
+{
+ position: absolute;
+ top: 0;
+ left: -18px;
+}
+.rst-page li:last-child
+{
+ position: absolute;
+ top: 0;
+ right: -18px;
+}
+.rst-page li a:hover
+{
+ color: #fff;
+ -webkit-transition: all 0.3s ease-out;
+ -moz-transition: all 0.3s ease-out;
+ -ms-transition: all 0.3s ease-out;
+ -o-transition: all 0.3s ease-out;
+ transition: all 0.3s ease-out;
+}
+.rst-page li.active a
+{
+ color: #fff;
+}
+
+.rst-post-container {
+ padding: 30px 0 0;
+}
+@media (max-width: 1170px){
+ .rst-category {width: 50%;}
+ .rst-category h3 span {line-height: normal;margin: 0 0 0 10px;}
+ .rst-category h3{line-height: 35px;}
+ .rst-category {width: 100%;}
+}
+h3.widget-title.side-nav {margin-top: 20px;}
+.dash-page{padding:10px 0px!important;}
+.no-border{border:none;}
+.val_err p{color:#ff0000;margin-bottom:0px;}
+.container-padd{padding-right: 20px;padding-left: 20px;margin-right: 0px;margin-left: 0px;}
+@media (min-width: 1200px){
+ .container-padd{width:100%!important;}
+}
+.col-md-12.logos {margin-bottom: 36px;}
+
+
+/* 1. Styles for devices(<=1300px) */
+@media (max-width: 1300px) {
+ #footer-area .footer-area-inner {
+ padding: 55px 40px 40px; }
+ #footer-area .footer-area-right {
+ padding: 50px 45px; } }
+/* 5. Styles for devices(>=1200px) */
+@media (min-width: 1200px) {
+ .side-bar .widget-container {
+ margin-right: 25px; }
+ .side-bar.side-bar-right .widget-container {
+ margin-left: 25px;
+ margin-right: 0; }
+
+ .product-main .product-detail-thumbarea {
+ padding-right: 45px; }
+ .product-main.style3 .product-detail-thumbarea {
+ margin-right: 45px; }
+
+ .product-content .cd-item-wrapper li {
+ cursor: pointer; }
+ .product-content .cd-item-wrapper li.focus-on-left {
+ -webkit-transform: translateX(3%) scale(1);
+ -khtml-transform: translateX(3%) scale(1);
+ -moz-transform: translateX(3%) scale(1);
+ -ms-transform: translateX(3%) scale(1);
+ -o-transform: translateX(3%) scale(1);
+ transform: translateX(3%) scale(1); }
+ .product-content .cd-item-wrapper li.focus-on-left.move-right {
+ -webkit-transform: translateX(75%) scale(0.5);
+ -khtml-transform: translateX(75%) scale(0.5);
+ -moz-transform: translateX(75%) scale(0.5);
+ -ms-transform: translateX(75%) scale(0.5);
+ -o-transform: translateX(75%) scale(0.5);
+ transform: translateX(75%) scale(0.5); }
+ .product-content .cd-item-wrapper li.focus-on-right {
+ -webkit-transform: translateX(-3%) scale(1);
+ -khtml-transform: translateX(-3%) scale(1);
+ -moz-transform: translateX(-3%) scale(1);
+ -ms-transform: translateX(-3%) scale(1);
+ -o-transform: translateX(-3%) scale(1);
+ transform: translateX(-3%) scale(1); }
+ .product-content .cd-item-wrapper li.focus-on-right.move-left {
+ -webkit-transform: translateX(-75%) scale(0.5);
+ -khtml-transform: translateX(-75%) scale(0.5);
+ -moz-transform: translateX(-75%) scale(0.5);
+ -ms-transform: translateX(-75%) scale(0.5);
+ -o-transform: translateX(-75%) scale(0.5);
+ transform: translateX(-75%) scale(0.5); }
+ .product-content .cd-item-wrapper li.hover.move-left {
+ -webkit-transform: translateX(-70%) scale(0.65);
+ -khtml-transform: translateX(-70%) scale(0.65);
+ -moz-transform: translateX(-70%) scale(0.65);
+ -ms-transform: translateX(-70%) scale(0.65);
+ -o-transform: translateX(-70%) scale(0.65);
+ transform: translateX(-70%) scale(0.65); }
+ .product-content .cd-item-wrapper li.hover.move-right {
+ -webkit-transform: translateX(70%) scale(0.65);
+ -khtml-transform: translateX(70%) scale(0.65);
+ -moz-transform: translateX(70%) scale(0.65);
+ -ms-transform: translateX(70%) scale(0.65);
+ -o-transform: translateX(70%) scale(0.65);
+ transform: translateX(70%) scale(0.65); } }
+/* 8. Styles for devices(<=1199px) */
+@media (max-width: 1199px) {
+ .sticky-placeholder,
+ .topbar {
+ display: none; }
+
+ #header.header-full-center.navigation-center .branding {
+ position: static;
+ text-align: center;
+ float: none;
+ display: block; }
+ #header.header-full-center .navbar-container {
+ padding: 0 15px; }
+
+ .navbar-container .is-sticky {
+ position: static !important; }
+ .navbar-container .navbar-container-inner {
+ height: 80px;
+ line-height: 80px; }
+ .navbar-container .main-nav {
+ display: none; }
+ .navbar-container .branding h1 {
+ line-height: 80px;
+ font-size: 20px; }
+
+ .mobile-tool {
+ display: block; }
+
+ .products.products-multi-masonry .product .product-details {
+ display: none; }
+
+ .product-main form.cart .cart-tool {
+ clear: both;
+ float: none;
+ padding-top: 20px; }
+ .product-main form.cart .cart-tool > a:first-child {
+ margin-left: 0; }
+ .product-main .product-shareit .social_icons li {
+ width: auto; }
+ .product-main .product-shareit .social_icons li a {
+ padding: 15px 25px; }
+ .product-main .product-shareit .social_icons li a span {
+ display: none; }
+ .product-main .product-shareit .social_icons li a i {
+ display: inline; }
+ .product-main.style2 .product-detail-wrap {
+ padding: 40px 0; }
+
+ .single-post .share-it .social_icons li a {
+ padding: 15px 25px; }
+ .single-post .share-it .social_icons li a span {
+ display: none; }
+ .single-post .share-it .social_icons li a i {
+ display: block; }
+
+ .themedev-product-popup {
+ max-width: 485px; }
+ .themedev-product-popup .product-main .product-detail-images {
+ max-width: 485px; }
+ .themedev-product-popup.animate-width {
+ max-width: 970px; }
+ .themedev-product-popup.add-content {
+ max-width: 970px; } }
+/* 4. Styles for devices(<=991px ) */
+@media (max-width: 991px) {
+ .page-section {
+ background-attachment: inherit; }
+
+ .product-main.style2 .product-detail-wrap, .product-main.style3 .product-detail-wrap {
+ max-width: none;
+ padding: 40px 15px; }
+
+ .page-header {
+ text-align: center; }
+ .page-header .text-right {
+ text-align: center; }
+
+ .products-tools .products-sortby .select-icon {
+ margin-right: 15px; }
+ .products-tools .products-sortby .select-icon:last-child {
+ margin-right: 0; }
+ .products-tools .result-count {/* display: none; */ float: left;}
+ .products-tools .grid-list {margin-right: 10; }
+
+ .themedev-product-popup {
+ max-width: none;
+ margin: 10px; }
+ .themedev-product-popup .product-main .product-details-info,
+ .themedev-product-popup .product-main .product-detail-images {
+ max-width: none;
+ float: none;
+ width: auto;
+ position: static; }
+ .themedev-product-popup.animate-width {
+ max-width: none;
+ float: none;
+ width: auto; }
+ .themedev-product-popup .close-quickview {
+ display: none; }
+ .themedev-product-popup .close-quickview.mobile-version {
+ display: block; }
+
+ .cart-collaterals .shipping_calculator button {
+ margin-top: 15px; }
+
+ #popup-wrap .mfp-close {
+ left: auto;
+ right: 0; }
+
+ .products.lists .product .product-content {
+ margin-right: 30px; }
+ .products.lists .product h3.product-title {
+ margin-top: 0; } }
+/* 5. Styles for devices(>=768px and <= 991px) */
+/* 6. Styles for devices(<=767px ) */
+@media (max-width: 767px) {
+ .products.products-multi-masonry .product {
+ width: 50%; }
+ .products.products-multi-masonry .product .product-thumbnail {
+ height: auto !important; }
+
+ .product-list-widget .product-title {
+ margin-top: 30px; }
+
+ .kt_callout .kt-col {
+ display: block;
+ padding: 0 0 20px;
+ text-align: center !important;
+ width: 100%; }
+
+ form.checkout .coupon_wrap .coupon-form {
+ padding: 0; }
+ form.checkout .coupon_wrap .coupon-form input.submit {
+ position: static;
+ margin-top: 10px; }
+
+ .table-responsive {
+ border-color: #f0f0f0; }
+
+ .woocommerce-tabs .nav {
+ padding: 0; }
+ .woocommerce-tabs .nav li {
+ width: 100%;
+ margin: 0;
+ padding: 15px 0;
+ border-top: 2px solid #e3e3e3; }
+ .woocommerce-tabs .shop_attributes {
+ width: 100%; }
+
+ .side-bar {
+ margin-top: 0px;
+ }
+
+ .about-left {
+ margin-left: 0; }
+
+ #popup-wrap .wrapper-newletter-popup {
+ padding-left: 200px; }
+ #popup-wrap .wrapper-newletter-popup .bg-popup {
+ width: 200px; }
+
+ .products.lists .product {
+ text-align: center; }
+ .products.lists .product .product-content {
+ max-width: 100%;
+ width: 100%;
+ margin: 0 0 30px; }
+ .products.lists .product .product-content img {
+ width: 100%; }
+ .products.lists .product .product-attribute {
+ margin: 0; } }
+/* 7. Styles for devices(>=481px and <= 767px) */
+/* 8. Styles for devices(<=480px ) */
+@media (max-width: 480px) {
+ .products .product {
+ width: 100% !important; }
+
+ .product-list-widget .product-widget {
+ width: 100%; }
+
+ .product-main .product-price-wrap .review-summary {
+ clear: both;
+ display: block;
+ float: none;
+ margin: 0;
+ padding-top: 10px; }
+ .product-main form.cart .quantity input {
+ float: none;
+ margin-bottom: 20px; }
+
+ .products-tools .products-sortby .select-icon {
+ margin-right: 10px; }
+ .products-tools .products-sortby .select-icon:last-child {
+ margin-right: 0; }
+ .products-tools .grid-list {
+ display: none; }
+
+ .collection-wrapper {
+ margin: 30px 0; }
+ .collection-wrapper .left-collection,
+ .collection-wrapper .right-collection {
+ margin-bottom: 15px;
+ position: static;
+ width: auto; }
+ .collection-wrapper .front-collection {
+ margin: 0; }
+ .collection-wrapper .collection-image {
+ margin-bottom: 30px; }
+ .collection-wrapper .collection-content {
+ width: auto; }
+
+ .category-banner .category-banner-content h1 {
+ font-size: 30px;
+ margin-bottom: 30px; }
+ .category-banner:hover ul {
+ margin-bottom: 30px; }
+
+ .kt-tab-container .tabs li {
+ width: 100%;
+ margin: 0; }
+
+ #popup-wrap .wrapper-newletter-popup {
+ padding: 20px; }
+ #popup-wrap .wrapper-newletter-popup .bg-popup {
+ display: none; }
+
+ .banner .banner-content {
+ padding: 30px 35px; }
+
+ form.checkout .coupon_wrap .coupon-form input.submit {
+ width: 100%; }
+
+ .cart-collaterals .cart-collaterals-inner button.btn-medium {
+ width: 100%; }
+
+ #review_form .comment-form-rating, #review_form .form-submit {
+ display: block;
+ margin-right: 0;
+ margin-left: 0; }
+ #review_form .comment-form-rating .stars {
+ width: 100%; }
+ #review_form .form-submit input {
+ width: 100%; } }
+/* 9. Styles for devices(<=320px ) */
+
+/*# sourceMappingURL=responsive.css.map */
+
+
+/* 1. multi-columns-row.css
+-----------------------------------------------------------------------------------------------*/
+.multi-columns-row .col-xs-1:nth-child(12n+13),.multi-columns-row .col-xs-2:nth-child(6n+7),.multi-columns-row .col-xs-3:nth-child(4n+5),.multi-columns-row .col-xs-4:nth-child(3n+4),.multi-columns-row .col-xs-6:nth-child(2n+3),.multi-columns-row .first-in-row{clear:left}@media (min-width:768px){.multi-columns-row .col-xs-1:nth-child(12n+13),.multi-columns-row .col-xs-2:nth-child(6n+7),.multi-columns-row .col-xs-3:nth-child(4n+5),.multi-columns-row .col-xs-4:nth-child(3n+4),.multi-columns-row .col-xs-6:nth-child(2n+3){clear:none}.multi-columns-row .col-sm-1:nth-child(12n+13),.multi-columns-row .col-sm-2:nth-child(6n+7),.multi-columns-row .col-sm-3:nth-child(4n+5),.multi-columns-row .col-sm-4:nth-child(3n+4),.multi-columns-row .col-sm-6:nth-child(2n+3){clear:left}}@media (min-width:992px){.multi-columns-row .col-sm-1:nth-child(12n+13),.multi-columns-row .col-sm-2:nth-child(6n+7),.multi-columns-row .col-sm-3:nth-child(4n+5),.multi-columns-row .col-sm-4:nth-child(3n+4),.multi-columns-row .col-sm-6:nth-child(2n+3){clear:none}.multi-columns-row .col-md-1:nth-child(12n+13),.multi-columns-row .col-md-2:nth-child(6n+7),.multi-columns-row .col-md-3:nth-child(4n+5),.multi-columns-row .col-md-4:nth-child(3n+4),.multi-columns-row .col-md-6:nth-child(2n+3){clear:left}}@media (min-width:1200px){.multi-columns-row .col-md-1:nth-child(12n+13),.multi-columns-row .col-md-2:nth-child(6n+7),.multi-columns-row .col-md-3:nth-child(4n+5),.multi-columns-row .col-md-4:nth-child(3n+4),.multi-columns-row .col-md-6:nth-child(2n+3){clear:none}.multi-columns-row .col-lg-1:nth-child(12n+13),.multi-columns-row .col-lg-2:nth-child(6n+7),.multi-columns-row .col-lg-3:nth-child(4n+5),.multi-columns-row .col-lg-4:nth-child(3n+4),.multi-columns-row .col-lg-6:nth-child(2n+3){clear:left}}
+.owl-item .item a {color: #fff;}
+
+
+/* 2. animate.min.css
+-----------------------------------------------------------------------------------------------*/
+.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
+
+/* 3. magnific-popup.css
+-----------------------------------------------------------------------------------------------*/
+.mfp-bg,.mfp-wrap{position:fixed;left:0;top:0}.mfp-bg,.mfp-container,.mfp-wrap{height:100%;width:100%}.mfp-container:before,.mfp-figure:after{content:''}.mfp-bg{z-index:1042;overflow:hidden;background:#0b0b0b;opacity:.8;filter:alpha(opacity=80)}.mfp-wrap{z-index:1043;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-close,.mfp-preloader{text-align:center;position:absolute}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;top:50%;width:auto;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-close,.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;right:0;top:0;text-decoration:none;opacity:.65;filter:alpha(opacity=65);padding:0 0 18px 10px;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-figure,img.mfp-img{line-height:0}.mfp-arrow{position:absolute;opacity:.65;filter:alpha(opacity=65);margin:-55px 0 0;top:50%;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1;filter:alpha(opacity=100)}.mfp-arrow .mfp-a,.mfp-arrow .mfp-b,.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:inset transparent}.mfp-arrow .mfp-a,.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow .mfp-b,.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left .mfp-b,.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right .mfp-b,.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-image-holder .mfp-content,img.mfp-img{max-width:100%}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}.mfp-figure:after,img.mfp-img{width:auto;height:auto;display:block}img.mfp-img{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure:after{position:absolute;left:0;top:40px;bottom:40px;right:0;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}
+.mfp-zoom-in .mfp-with-anim{opacity:0;transition:all .2s ease-in-out;transform:scale(.8)}.mfp-zoom-in.mfp-bg{opacity:0;transition:all .3s ease-out}.mfp-zoom-in.mfp-ready .mfp-with-anim{opacity:1;transform:scale(1)}.mfp-zoom-in.mfp-ready.mfp-bg{opacity:.8}.mfp-zoom-in.mfp-removing .mfp-with-anim{transform:scale(.8);opacity:0}.mfp-zoom-in.mfp-removing.mfp-bg{opacity:0}.mfp-newspaper .mfp-with-anim{opacity:0;-webkit-transition:all .2s ease-in-out;transition:all .5s;transform:scale(0) rotate(500deg)}.mfp-newspaper.mfp-bg{opacity:0;transition:all .5s}.mfp-newspaper.mfp-ready .mfp-with-anim{opacity:1;transform:scale(1) rotate(0)}.mfp-newspaper.mfp-ready.mfp-bg{opacity:.8}.mfp-newspaper.mfp-removing .mfp-with-anim{transform:scale(0) rotate(500deg);opacity:0}.mfp-newspaper.mfp-removing.mfp-bg{opacity:0}.mfp-move-horizontal .mfp-with-anim{opacity:0;transition:all .3s;transform:translateX(-50px)}.mfp-move-horizontal.mfp-bg{opacity:0;transition:all .3s}.mfp-move-horizontal.mfp-ready .mfp-with-anim{opacity:1;transform:translateX(0)}.mfp-move-horizontal.mfp-ready.mfp-bg{opacity:.8}.mfp-move-horizontal.mfp-removing .mfp-with-anim{transform:translateX(50px);opacity:0}.mfp-move-horizontal.mfp-removing.mfp-bg{opacity:0}.mfp-move-from-top .mfp-content{vertical-align:top}.mfp-move-from-top .mfp-with-anim{opacity:0;transition:all .2s;transform:translateY(-100px)}.mfp-move-from-top.mfp-bg{opacity:0;transition:all .2s}.mfp-move-from-top.mfp-ready .mfp-with-anim{opacity:1;transform:translateY(0)}.mfp-move-from-top.mfp-ready.mfp-bg{opacity:.8}.mfp-move-from-top.mfp-removing .mfp-with-anim{transform:translateY(-50px);opacity:0}.mfp-move-from-top.mfp-removing.mfp-bg{opacity:0}.mfp-3d-unfold .mfp-content{perspective:2000px}.mfp-3d-unfold .mfp-with-anim{opacity:0;transition:all .3s ease-in-out;transform-style:preserve-3d;transform:rotateY(-60deg)}.mfp-3d-unfold.mfp-bg{opacity:0;transition:all .5s}.mfp-3d-unfold.mfp-ready .mfp-with-anim{opacity:1;transform:rotateY(0)}.mfp-3d-unfold.mfp-ready.mfp-bg{opacity:.8}.mfp-3d-unfold.mfp-removing .mfp-with-anim{transform:rotateY(60deg);opacity:0}.mfp-3d-unfold.mfp-removing.mfp-bg{opacity:0}.mfp-zoom-out .mfp-with-anim{opacity:0;transition:all .3s ease-in-out;transform:scale(1.3)}.mfp-zoom-out.mfp-bg{opacity:0;transition:all .3s ease-out}.mfp-zoom-out.mfp-ready .mfp-with-anim{opacity:1;transform:scale(1)}.mfp-zoom-out.mfp-ready.mfp-bg{opacity:.8}.mfp-zoom-out.mfp-removing .mfp-with-anim{transform:scale(1.3);opacity:0}.mfp-zoom-out.mfp-removing.mfp-bg{opacity:0}.mfp-3d-unfold .mfp-iframe-scaler,.mfp-move-from-top .mfp-iframe-scaler,.mfp-move-horizontal .mfp-iframe-scaler,.mfp-newspaper .mfp-iframe-scaler,.mfp-zoom-in .mfp-iframe-scaler,.mfp-zoom-out .mfp-iframe-scaler{overflow:visible}
+
+/* 4. Owl carousel
+-----------------------------------------------------------------------------------------------*/
+.owl-carousel .owl-wrapper:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel,.owl-carousel .owl-wrapper{display:none;position:relative}.owl-carousel{width:100%;-ms-touch-action:pan-y}.owl-carousel .owl-wrapper-outer{overflow:hidden;position:relative;width:100%}.owl-carousel .owl-wrapper-outer.autoHeight{-webkit-transition:height .5s ease-in-out;-moz-transition:height .5s ease-in-out;-ms-transition:height .5s ease-in-out;-o-transition:height .5s ease-in-out;transition:height .5s ease-in-out}.owl-carousel .owl-item{float:left;text-align:center;}.owl-controls .owl-buttons div,.owl-controls .owl-page{cursor:pointer}.owl-controls{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.grabbing{}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-item .item {padding: 30px 0px;margin: 10px;background: #3fbf79; color: #fff;}.owl-theme .owl-controls .owl-buttons div {position: absolute;}.owl-theme .owl-controls .owl-buttons .owl-prev{left: -45px;top: 25px;}.owl-theme .owl-controls .owl-buttons .owl-next{right: -45px;top: 25px;}.owl-theme .owl-controls .owl-buttons div {color: #FFF;display: inline-block;zoom: 1;margin: 5px;font-size: 12px;border-radius: 0px;background: #869791;opacity: 0.5;}.icon-chevron-left {background-position: -424px -65px;}.icon-chevron-right {background-position: -448px -64px;}
+.icon-white{background-image: url("../images/glyphicons-halflings-white.png");display: inline-block; width: 30px;height: 30px;line-height: 14px;vertical-align: text-top;background-repeat: no-repeat;}.item.active-link {background: #869791;}
+
+/* 5. Easyzoom
+-----------------------------------------------------------------------------------------------*/
+.easyzoom{position:relative;display:block}.easyzoom-flyout,.easyzoom-notice{position:absolute;background:#FFF}.easyzoom img{vertical-align:bottom}.easyzoom.is-loading img{cursor:progress}.easyzoom.is-ready img{cursor:crosshair}.easyzoom.is-error img{cursor:not-allowed}.easyzoom-notice{top:50%;left:50%;z-index:150;width:10em;margin:-1em 0 0 -5em;line-height:2em;text-align:center;box-shadow:0 0 10px #888}.easyzoom-flyout{z-index:100;overflow:hidden}.easyzoom--overlay .easyzoom-flyout{top:0;left:0;width:100%;height:100%}.easyzoom--adjacent .easyzoom-flyout{top:0;left:100%;width:100%;height:100%;margin-left:20px}
+
+/*
+ * Common Spacing and Padding Style File
+ */
+.mar-top {
+ margin-top: 90px; }
+
+.mar-bottom {
+ margin-bottom: 90px; }
+
+.mar-xlg {
+ margin: 360px 0; }
+
+.mar-top-xlg {
+ margin-top: 360px; }
+
+.mar-bottom-xlg {
+ margin-bottom: 360px; }
+
+.mar-lg {
+ margin: 150px 0; }
+
+.mar-top-lg {
+ margin-top: 150px; }
+
+.mar-bottom-lg {
+ margin-bottom: 150px; }
+
+.pad-top {
+ padding-top: 190px; }
+
+.pad-bottom {
+ padding-bottom: 190px; }
+
+.pad-xlg {
+ padding: 360px 0; }
+
+.pad-top-xlg {
+ padding-top: 360px; }
+
+.pad-bottom-xlg {
+ padding-bottom: 360px; }
+
+.pad-lg {
+ padding: 150px 0; }
+
+.pad-top-lg {
+ padding-top: 150px; }
+
+.pad-bottom-lg {
+ padding-bottom: 150px; }
+
+.mar-top-5 {
+ margin-top: 5px; }
+
+.mar-bottom-5 {
+ margin-bottom: 5px; }
+
+.pad-top-5 {
+ padding-top: 5px; }
+
+.pad-bottom-5 {
+ padding-bottom: 5px; }
+
+.mar-top-10 {
+ margin-top: 10px; }
+
+.mar-bottom-10 {
+ margin-bottom: 10px; }
+
+.pad-top-10 {
+ padding-top: 10px; }
+
+.pad-bottom-10 {
+ padding-bottom: 10px; }
+
+.mar-top-15 {
+ margin-top: 15px; }
+
+.mar-bottom-15 {
+ margin-bottom: 15px; }
+
+.pad-top-15 {
+ padding-top: 15px; }
+
+.pad-bottom-15 {
+ padding-bottom: 15px; }
+
+.mar-top-20 {
+ margin-top: 20px; }
+
+.mar-bottom-20 {
+ margin-bottom: 20px; }
+
+.pad-top-20 {
+ padding-top: 20px; }
+
+.pad-bottom-20 {
+ padding-bottom: 20px; }
+
+.mar-top-30 {
+ margin-top: 30px; }
+
+.mar-bottom-30 {
+ margin-bottom: 30px; }
+
+.pad-top-30 {
+ padding-top: 30px; }
+
+.pad-bottom-30 {
+ padding-bottom: 30px; }
+
+.mar-top-35 {
+ margin-top: 35px; }
+
+.mar-bottom-35 {
+ margin-bottom: 35px; }
+
+.pad-top-35 {
+ padding-top: 35px; }
+
+.pad-bottom-35 {
+ padding-bottom: 35px; }
+
+.mar-top-40 {
+ margin-top: 40px; }
+
+.mar-bottom-40 {
+ margin-bottom: 40px; }
+
+.pad-top-40 {
+ padding-top: 40px; }
+
+.pad-bottom-40 {
+ padding-bottom: 40px; }
+
+.mar-top-50 {
+ margin-top: 50px; }
+
+.mar-bottom-50 {
+ margin-bottom: 50px; }
+
+.pad-top-50 {
+ padding-top: 50px; }
+
+.pad-bottom-50 {
+ padding-bottom: 50px; }
+
+.mar-top-60 {
+ margin-top: 60px; }
+
+.mar-bottom-60 {
+ margin-bottom: 60px; }
+
+.pad-top-60 {
+ padding-top: 60px; }
+
+.pad-bottom-60 {
+ padding-bottom: 60px; }
+
+.mar-top-70 {
+ margin-top: 70px; }
+
+.mar-bottom-70 {
+ margin-bottom: 70px; }
+
+.pad-top-70 {
+ padding-top: 70px; }
+
+.pad-bottom-70 {
+ padding-bottom: 70px; }
+
+.mar-top-80 {
+ margin-top: 80px; }
+
+.mar-bottom-80 {
+ margin-bottom: 80px; }
+
+.pad-top-80 {
+ padding-top: 80px; }
+
+.pad-bottom-80 {
+ padding-bottom: 80px; }
+
+.mar-top-90 {
+ margin-top: 90px; }
+
+.mar-bottom-90 {
+ margin-bottom: 90px; }
+
+.pad-top-90 {
+ padding-top: 90px; }
+
+.pad-bottom-90 {
+ padding-bottom: 90px; }
+
+.remove-mar-top {
+ margin-top: 0 !important; }
+
+.remove-mar-bottom {
+ margin-bottom: 0 !important; }
+
+.no-margin {
+ margin: 0 !important; }
+
+.remove-pad-top {
+ padding-top: 0 !important; }
+
+.remove-pad-bottom {
+ padding-bottom: 0 !important; }
+
+.no-padding {
+ padding: 0 !important; }
+ /**
+#loading {
+ content: '';
+ display: block;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ position:absolute;
+ width: 100%; height: 100%;
+ background: url('loading.gif') no-repeat center center;
+ margin:0 auto;
+ z-index:10000000;
+ /**opacity: 0.4; **/
+}
+**/
+/* Paste this css to your style sheet file or under head tag */
+/* This only works with JavaScript,
+if it's not present, don't show loader */
+.no-js #loader { display: none; }
+.js #loader { display: block; position: absolute; left: 100px; top: 0; }
+.se-pre-con {
+ display: none;
+ position: fixed;
+ left: 0px;
+ top: 0px;
+ width: 100%;
+ height: 100%;
+ z-index: 9999;
+ opacity: 0.2;
+ background: url(loading.gif) center no-repeat transparent;
+}
\ No newline at end of file
A doc.php
+289 −0
--- /dev/null
+++ b/doc.php
@@ -0,0 +1,289 @@
+<?php
+include 'header.php';
+include 'config.php';
+$code = $_GET['code'];
+$state = $_GET['state'];
+if (file_exists("xml/hashKey.xml")) {
+ $xml = (array) simplexml_load_file("xml/hashKey.xml") or die("Error: Cannot create object");
+} else {
+ echo "xml/hashKey.xml file doesnot exists";
+}
+$access_token = $xml['access_token'];
+$cd = (array) $xml['code']['num'];
+if ($cd != $code) {
+ $url = $config['access_token_download'];
+ $post = array(
+ 'code' => $code,
+ 'grant_type' => 'authorization_code',
+ 'client_id' => $config['client_id_download'],
+ 'client_secret' => $config['client_secret_download'],
+ 'redirect_uri' => $config['download_redirect_uri'],
+ );
+ $vh = curl_init($url);
+ curl_setopt($vh, CURLOPT_CUSTOMREQUEST, "POST");
+ curl_setopt($vh, CURLOPT_POST, true);
+ curl_setopt($vh, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
+ curl_setopt($vh, CURLOPT_POSTFIELDS, $post);
+ //curl_setopt($vh, CURLOPT_HTTPHEADER, $headers);
+ curl_setopt($vh, CURLOPT_SSL_VERIFYPEER, 0);
+ curl_setopt($vh, CURLOPT_SSL_VERIFYHOST, 0);
+ curl_setopt($vh, CURLOPT_RETURNTRANSFER, true);
+ $result = curl_exec($vh);
+ curl_close($vh);
+ $notgettingdata = explode('¿', $result);
+ $getToken = json_decode($notgettingdata[1]);
+
+ if (isset($getToken->access_token)) {
+ $access_token = $getToken->access_token;
+ }
+ if (isset($access_token)) {
+ $doc = new DOMDocument('1.0');
+ $doc->formatOutput = true;
+ $doc = new DOMDocument('1.0');
+ $doc->formatOutput = true;
+ $root = $doc->createElement('maincontent');
+ $root = $doc->appendChild($root);
+ $title = $doc->createElement('code');
+ $title = $root->appendChild($title);
+ $enclosure = $doc->createAttribute('num');
+ $enclosure->value = $code;
+ $title->appendChild($enclosure);
+ $title = $doc->createElement('access_token');
+ $title = $root->appendChild($title);
+ $text = $doc->createTextNode($access_token);
+ $text = $title->appendChild($text);
+ $doc->save("xml/hashKey.xml");
+ }
+ if (file_exists("xml/hashKey.xml")) {
+ $xml = (array) simplexml_load_file("xml/hashKey.xml") or die("Error: Cannot create object");
+ } else {
+ echo "xml/hashKey.xml file doesnot exists";
+ }
+ $access_token = $xml['access_token'];
+}
+
+$headers = array(
+ 'Authorization: Bearer ' . $access_token
+ //'Authorization: Basic '. base64_encode("$username:$password")
+);
+$urlFile = $config['file_uri'];
+$vhf = curl_init($urlFile);
+curl_setopt($vhf, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
+curl_setopt($vhf, CURLOPT_HTTPHEADER, $headers);
+curl_setopt($vhf, CURLOPT_SSL_VERIFYPEER, 0);
+curl_setopt($vhf, CURLOPT_SSL_VERIFYHOST, 0);
+curl_setopt($vhf, CURLOPT_RETURNTRANSFER, true);
+$resFile = curl_exec($vhf);
+curl_close($vhf);
+$resFileNew = explode('¿', $resFile);
+$dataF = json_decode($resFileNew[1], TRUE);
+
+
+$headers = array(
+ 'Authorization: Bearer ' . $access_token
+ //'Authorization: Basic '. base64_encode("$username:$password")
+);
+$urlissued = $config['issued_doc_url'];
+$vhi = curl_init($urlissued);
+curl_setopt($vhi, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
+curl_setopt($vhi, CURLOPT_HTTPHEADER, $headers);
+curl_setopt($vhi, CURLOPT_SSL_VERIFYPEER, 0);
+curl_setopt($vhi, CURLOPT_SSL_VERIFYHOST, 0);
+curl_setopt($vhi, CURLOPT_RETURNTRANSFER, true);
+$resissued = curl_exec($vhi);
+$resissuedErr = curl_error($vhi);
+curl_close($vhi);
+$issuedNew = explode('¿', $resissued);
+$dataI = json_decode($issuedNew[1], TRUE);
+?>
+<div class="se-pre-con"></div>
+<div id="wrapper">
+ <div id="page-wrapper">
+ <div class="container-fluid">
+ <!-- Page Heading -->
+ <div class="row">
+ <div class="col-lg-12">
+ <div class="container">
+ <ul class="nav nav-tabs">
+ <li class="active"><a data-toggle="tab" href="#uploadeddocument"><img src="images/uploaded_files.png">Uploaded Document</a></li>
+ <li><a data-toggle="tab" href="#issueddocument" ><img src="images/issuedfile.png">Issued Document</a></li>
+ </ul>
+ <div class="tab-content">
+ <div id="uploadeddocument" class="tab-pane fade in active">
+ <section class="content">
+ <div class="row">
+ <div class="col-md-12">
+ <div class="box box-body col-sm-12" >
+ <div class="table-responsive">
+ <table class="table">
+ <thead style="color:blueviolet;">
+ <tr>
+ <td>Name</td>
+ <td>Size</td>
+ <td>Date</td>
+ <td id="tdUri" style="display:none;">URI</td>
+ </tr>
+ <div><b onclick="uriData(null, null)" class="fa fa-home fa-2x" style="color:blueviolet;"></b><b id="parent" style="color:blueviolet;"></b></div>
+ </thead>
+ <tbody id="folderPath">
+ <?php
+ foreach ((array) ($dataF['items']) as $api_detail) {
+ if (isset($api_detail['id'])) {
+ $api_detail['id'] = $api_detail['id'];
+ $api_detail['parent'] = $api_detail['parent'];
+ } else {
+ $api_detail['id'] = "";
+ }
+ ?>
+ <tr>
+ <?php
+ if (($api_detail['type']) == "dir") {
+ echo '<td onclick="uriData(' . $api_detail['id'] . ',' . $api_detail['parent'] . ')">';
+ echo '<img src="images/folder.svg"></img>';
+ echo($api_detail['name']);
+ }
+ if ($api_detail['type'] == "file") {
+ echo "<td onclick='thisIsNotAFolder()'>";
+ echo '<img src="images/file.svg"></img>';
+ echo($api_detail['name']);
+ }
+ echo "</td>";
+ ?>
+ <td><?php echo($api_detail['size']); ?></td>
+ <td><?php echo($api_detail['date']); ?></td>
+ <?php if ($api_detail['type'] == "file") { ?>
+ <td>
+ <button onclick="download('<?php echo($api_detail['uri'] . ',' . $api_detail['name']); ?>')"><i class="fa fa-download"> </i></button>
+
+ </td>
+ <?php }
+ ?>
+ </tr>
+ <?php }
+ ?>
+ </tbody>
+ </table>
+ <div class="footer">
+ <a class="btn btn-primary" style="float: right; margin-left: 10px; border-radius:5px;" href="payment.php">Complete Payment</a>
+ <a class="btn btn-primary" style="float: right; border-radius:5px;" href="index.php">Cancel</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+ </div>
+ <div id="issueddocument" class="tab-pane">
+ <section class="content">
+ <div class="row">
+ <div class="col-md-12" style="height:315px;">
+ <div class="box box-body col-sm-12">
+ <div class="table-responsive">
+ <table class="table">
+ <thead style="color:#1569C7">
+ <tr>
+ <td>Name</td>
+ <td>URI</td>
+ <td>Created On</td>
+ </tr>
+ </thead>
+ <?php
+ foreach ((array) ($dataI['items']) as $issued_detail):
+ ?>
+ <tr><td>
+ <?php
+ echo '<img src="images/issuedfile.png"></img>';
+ echo($issued_detail['name']);
+ ?>
+ </td>
+ <td><?php echo($issued_detail['uri']); ?></td>
+ <td><?php echo($issued_detail['date']); ?></td>
+ <td><?php if ($api_detail['type'] == "file") { ?>
+ <td>
+ <button onclick="download('<?php echo($issued_detail['uri'] . ',' . $issued_detail['name']); ?>')"><i class="fa fa-download"> </i></button>
+ </td>
+ <?php } ?>
+ </tr>
+ <?php
+ endforeach;
+ ?>
+ </table>
+ <div class="footer">
+ <a class="btn btn-primary" style="float: right; margin-left: 10px; border-radius:5px;" href="payment.php">Complete Payment</a>
+ <a class="btn btn-primary" style="float: right; border-radius:5px;" href="index.php">Cancel</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- /.container-fluid -->
+ </div>
+</div>
+</body>
+<?php include 'footer.php' ?>
+<script src="js/modernizr.js"></script>
+<script>
+ function uriData(id, parent) {
+ $("#folderPath").empty();
+ $("#tdUri").show();
+ var id = id;
+ var accessTocken = "<?php echo $access_token; ?>";
+ var uri = "<?php echo $api_detail['uri']; ?>";
+ var uriDataHtml = "";
+ var fileOrFolder = "";
+ var onclickFnc = "";
+ var dwnldTd = "";
+ var accessToken = "<?php echo $access_token; ?>";
+ var urifnc = "<?php echo $config['uri_path']; ?>";
+ $.post(urifnc, {access_token: accessTocken, id: id}, function (result) {
+ $.each(result.items, function (i, l) {
+ if (result.items[i].type == "file") {
+ console.log(result.items);
+ fileOrFolder = '<img src="images/file.svg"></img>';
+ onclickFnc = "onclick='thisIsNotAFolder()'";
+ dwnldTd = "<td onclick = 'download(\"" + result.items[i].uri + "\",\"" + result.items[i].name + "\");';><button><i class='fa fa-download'> </i></button></td>";
+ } else {
+ fileOrFolder = '<img src="images/folder.svg"></img>';
+ onclickFnc = "onclick='uriData(" + result.items[i].id + "," + result.items[i].parent + ")'";
+ dwnldTd = "<td></td>";
+ }
+ uriDataHtml += "<tr><td " + onclickFnc + ">" + fileOrFolder + result.items[i].name + "</td><td>" + result.items[i].size + "</td><td>" + result.items[i].date + "</td>\n\
+ <td>" + result.items[i].uri + "</td>" + dwnldTd + "</tr>";
+ $("#folderPath").html(uriDataHtml);
+ });
+ $("#parent").html("<b onclick=uriData(" + parent + ",null) >" + result.directory + "</b>");
+ }, "json")
+ .fail(function () {
+ $("#folderPath").html("Some error found");
+ });
+ }
+ function download(uris, filename) {
+ $(".se-pre-con").show();
+ var getdata = uris.split(",");
+ var uri = getdata[0];
+ var filename = getdata[1];
+ var accessTocken = "<?php echo $access_token; ?>";
+ var dlscfnc = "<?php echo $config['dlsc_path']; ?>"
+ var arraydata = {uri: uri, accesstoken: accessTocken, filename: filename}
+ $.ajax({
+ url: dlscfnc + 'download.php',
+ type: 'POST',
+ data: arraydata
+ }).done(function (response)
+ {
+ $(".se-pre-con").hide();
+ var getdata = JSON.parse(response);
+ console.log(getdata[1]);
+ window.open("data:" + getdata[0] + ";base64," + getdata[1], '', 'height=650,width=840');
+ });
+ }
+ $(".se-pre-con").fadeOut("slow");
+</script>
+</html>
\ No newline at end of file
A download.php
+22 −0
--- /dev/null
+++ b/download.php
@@ -0,0 +1,22 @@
+<?php
+include 'config.php';
+$headers = array(
+ 'Authorization: Bearer ' . $_POST['accesstoken']
+ //'Authorization: Basic '. base64_encode("$username:$password")
+);
+$uriFile = $config['download_file_uri'] . $_POST['uri'];
+$uri = curl_init($uriFile);
+curl_setopt($uri, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
+curl_setopt($uri, CURLOPT_HTTPHEADER, $headers);
+curl_setopt($uri, CURLOPT_SSL_VERIFYPEER, 0);
+curl_setopt($uri, CURLOPT_SSL_VERIFYHOST, 0);
+curl_setopt($uri, CURLOPT_RETURNTRANSFER, true);
+$urFile = curl_exec($uri);
+$finfo = new \finfo(FILEINFO_MIME_TYPE);
+$mime = $finfo->buffer($urFile);
+$binarydata = base64_encode($urFile);
+$arr = array($mime,$binarydata);
+echo json_encode($arr);
+
+
+?>
A footer.php
+39 −0
--- /dev/null
+++ b/footer.php
@@ -0,0 +1,39 @@
+<div class="navbar navbar-inverse footer-setting" style="margin-bottom:0px;">
+ <footer id="footer-copyright" class="bg-wood">
+ <div class="container">
+ <div class="row">
+ <div class="col-md-4">
+ <p class="footer-text" >
+ CSC E-Governance Services India Limited <br/>
+ Department of Electronics &amp; Information Technology<br/>
+ Ministry of Communications & IT<br/>
+ Government of India
+ </p>
+ </div>
+ <div class="col-md-4">
+ <p class="footer-text" >
+ <!--<a href="tel:180030003468">Helpline: 1800 3000 3468</a> <br/>
+ <a href="mailto:support@csc.gov.in">E-Mail: support@csc.gov.in</a><br/>-->
+ <span>Helpline: 1800 3000 3468</span><br/>
+ <span>E-Mail: support@csc.gov.in</span><br/>
+ <a href="http://developer.csccloud.in/faq" target="_blank">FAQ</a>
+ </p>
+ </div>
+ <div class="col-md-4">
+ <ul class="social-nav">
+ <li><a href="https://www.facebook.com/cscscheme/" target="_blank"><i class="fa fa-facebook fa-2x white"></i></a> </li>
+ <li><a href="https://twitter.com/CSCegov" target="_blank"><i class="fa fa-twitter fa-2x sky"></i></a> </li>
+ <li><a href="https://www.youtube.com/user/CSCSCHEME" target="_blank"><i class="fa fa-youtube-play fa-2x redwine"></i></a> </li>
+ </ul>
+ <div class="footer-copyright">Copyright 2017 CSC E-Governance Services India Limited.<br/> All rights reserved.</div>
+ </div>
+ </div>
+ </div><!-- .container -->
+ </footer>
+</div>
+<!-- /.container -->
+<!-- jQuery -->
+<!-- Bootstrap Core JavaScript -->
+<script src="js/bootstrap.min.js"></script>
+</body>
+</html>
\ No newline at end of file
A header.php
+235 −0
--- /dev/null
+++ b/header.php
@@ -0,0 +1,235 @@
+<!DOCTYPE html>
+<?php include 'config.php'; ?>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="description" content="">
+ <meta name="author" content="">
+ <title>DigiLocker Service Center</title>
+ <!-- Bootstrap Core CSS -->
+ <link href="css/bootstrap.min.css" rel="stylesheet">
+ <!-- Custom CSS -->
+ <link href="css/style.css" rel="stylesheet">
+ <link href="css/styles.css" rel="stylesheet">
+ <link href="css/font-style.css" rel="stylesheet" type="text/css">
+ <!-- Custom Fonts -->
+ <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
+ <style>
+ ul li span .btn {
+ background-color:blueviolet;
+ padding:0px;
+ border-radius: 4px;
+ text-transform: none;
+ margin-left:20px;
+ }
+
+ @media (min-width: 768px){
+ .navbar-nav>li>a {
+ font-size:11px;
+ padding-top: 8px;
+ padding-bottom: 0px;
+ color: #fff;
+ padding-bottom: 8px;
+ }
+ .navbar-nav>li>a:hover{ color: #000; background-color:#f0ede4;}
+ .row{margin-top: -10px;margin-bottom: 15px;}
+
+ }
+ .dropdown{
+ margin:6px 16px;
+ color:#fff !important;
+ cursor: pointer; cursor: hand;
+ }
+
+ .dropdown-submenu {
+ position: relative;
+ color:#0033FF;
+
+ }
+
+ .dropdown-menu>li{
+
+ margin-left: -15px;
+ cursor: pointer; cursor: hand;
+ }
+ </style>
+ </head>
+ <body>
+ <!-- Navigation -->
+ <div class="row">
+ <div class="col-md-6">
+ <a class="navbar-brand pull-left" href="index.html"><img src="images/logo.png"></a>
+ </div>
+ <div class="col-md-6">
+ <a class="navbar-brand pull-right">
+ <img src="images/digitalindialogo.png"></a>
+ </div>
+ </div>
+ <nav role="navigation" style="background-color: blueviolet; margin-bottom: 15px;height: 35px; position: relative;" >
+ <div class="container" style="padding-left:0px !important;">
+ <!-- Brand and toggle get grouped for better mobile display -->
+ <!-- Collect the nav links, forms, and other content for toggling -->
+ <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" >
+ <ul class="nav navbar-nav navbar-left ">
+ <li><a href="/digibank/index.php"><i class="fa fa-home fa-2x" aria-hidden="true"></i></a></li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">AADHAAR
+ </div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a >Aadhaar Demographic Update</a></li><hr>
+ <li><a>Aadhaar Mobile Update</a></li><hr>
+ <li><a>Best Finger Detection</a></li><hr>
+ <li><a>Aadhaar eKYC PVC Print</a></li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">AGRICULTURE
+ </div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a tabindex="-1" >Agricultural Machine Store</a></li><hr>
+ <li><a tabindex="-1" >Online Store</a></li><hr>
+ <li><a tabindex="-1" >Farmer Registration</a></li><hr>
+ <li><a tabindex="-1" >Marketplace</a></li>
+
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">BANKING AND PENSION
+ </div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a tabindex="-1" >RAP Registration</a></li><hr>
+ <li><a tabindex="-1" >Basic Banking Course</a></li><hr>
+ <li><a tabindex="-1" >Life Certificate (LIC)</a></li><hr>
+ <li><a tabindex="-1" >Pin Pad Device Payment Service</a></li>
+
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">DIGILOCKER</div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a tabindex="-1" href="https://digilocker.gov.in/public/register">Open Digilocker Account</a>
+ </li><hr>
+ <li>
+ <span><form action = "<?php echo $config['code_download']?>" method = "GET" role="form">
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Response Type</label>
+ <input type="text" class="form-control" name = "response_type" value="code">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Client ID</label>
+ <input type="text" class="form-control" name = "client_id" value="<?php echo $config['client_id_download'] ?>">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Redirect Uri</label>
+ <input type="text" class="form-control" name = "redirect_uri" value=<?php echo $config['download_redirect_uri'] ?>>
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">State</label>
+ <input type="text" class="form-control" name = "state" value="123456">
+ </div>
+ <button type="submit" class="btn" >Download</button>
+ </form>
+ </span>
+ </li><hr>
+ <li>
+ <span> <form action = "<?php echo $config['code_download'] ?>" method = "GET" role="form">
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Response Type</label>
+ <input type="text" class="form-control" name = "response_type" value="code">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Client ID</label>
+ <input type="text" class="form-control" name = "client_id" value="<?php echo $config['client_id_upload'] ?>">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">Redirect Uri</label>
+ <input type="text" class="form-control" name = "redirect_uri" value="<?php echo $config['uploaddoc_redirect_uri'] ?>">
+ </div>
+ <div class="form-group has-success" style="display:none">
+ <label class="control-label" for="inputSuccess">State</label>
+ <input type="text" class="form-control" name = "state" value="123456">
+ </div>
+ <button type="submit" class="btn" >Upload</button>
+ </form>
+ </span>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">ELECTION
+ </div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a tabindex="-1" >Punjab Election Services</a></li><hr>
+ <li><a tabindex="-1" >Uttarakhand Election Services</a></li><hr>
+ <li><a tabindex="-1" >Meghalaya Election Services</a></li><hr>
+ <li><a tabindex="-1" >Rajasthan Election Services</a></li>
+
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">GOVERNMENT
+ </div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a tabindex="-1" >Birth and Death Application</a></li><hr>
+ <li><a tabindex="-1" >Forest Services</a></li><hr>
+ <li><a tabindex="-1" >Online FIR</a></li><hr>
+ <li><a tabindex="-1" >Ration Card Services</a></li>
+
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">INSURANCE
+ </div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a tabindex="-1" >Pradhan Mantri Fasal Bima Yojna</a></li><hr>
+ <li><a tabindex="-1" >Farmer Package Policy</a></li><hr>
+ <li><a tabindex="-1" >Life Insurance</a></li><hr>
+ <li><a tabindex="-1" >Personal Accidental</a></li>
+
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div class="dropdown">
+ <div class="dropdown-toggle" data-toggle="dropdown">TRAVEL
+ </div>
+ <ul class="dropdown-menu" style="margin-left: -8px;">
+ <li><a tabindex="-1" >Darshan Booking</a></li><hr>
+ <li><a tabindex="-1" >Bus Ticket Booking</a></li><hr>
+ <li><a tabindex="-1" >Flight Tickets</a></li><hr>
+ <li><a tabindex="-1" >Bus Tickets</a></li>
+
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <!-- /.navbar-collapse -->
+ </div>
+ <!-- /.container -->
+ </nav>
+ <script src="js/jquery.min.js"></script>
+ <script>
+ $(document).ready(function () {
+ $('.dropdown-submenu a.test').on("click", function (e) {
+ $(this).next('ul').toggle();
+ e.stopPropagation();
+ e.preventDefault();
+ });
+ });
+ </script>
\ No newline at end of file
A images/app_1.svg
+44 −0
--- /dev/null
+++ b/images/app_1.svg
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 60 60" style="enable-background:new 0 0 60 60;" xml:space="preserve" width="512px" height="512px">
+<g>
+ <path d="M12.5,24h25c0.552,0,1-0.448,1-1s-0.448-1-1-1h-25c-0.552,0-1,0.448-1,1S11.948,24,12.5,24z" fill="#000333"/>
+ <path d="M12.5,16h10c0.552,0,1-0.448,1-1s-0.448-1-1-1h-10c-0.552,0-1,0.448-1,1S11.948,16,12.5,16z" fill="#000333"/>
+ <path d="M12.5,32h25c0.552,0,1-0.448,1-1s-0.448-1-1-1h-25c-0.552,0-1,0.448-1,1S11.948,32,12.5,32z" fill="#000333"/>
+ <path d="M29.5,38h-17c-0.552,0-1,0.448-1,1s0.448,1,1,1h17c0.552,0,1-0.448,1-1S30.052,38,29.5,38z" fill="#000333"/>
+ <path d="M26.5,46h-14c-0.552,0-1,0.448-1,1s0.448,1,1,1h14c0.552,0,1-0.448,1-1S27.052,46,26.5,46z" fill="#000333"/>
+ <path d="M48.5,34.363V14.586L33.914,0H1.5v60h44c7.168,0,13-5.832,13-13C58.5,40.866,54.224,35.723,48.5,34.363z M34.5,3.414 L45.086,14H34.5V3.414z M38.578,58H3.5V2h29v14h14v18.044C46.158,34.015,45.826,34,45.5,34c-7.168,0-13,5.832-13,13 c0,0.399,0.025,0.792,0.06,1.183c0.008,0.091,0.017,0.181,0.027,0.272c0.043,0.382,0.098,0.76,0.173,1.131 c0.009,0.044,0.021,0.087,0.03,0.131c0.072,0.338,0.159,0.67,0.257,0.998c0.025,0.082,0.048,0.165,0.074,0.246 c0.113,0.352,0.239,0.698,0.38,1.037c0.027,0.064,0.057,0.126,0.084,0.189c0.129,0.296,0.269,0.585,0.419,0.869 c0.036,0.068,0.07,0.137,0.107,0.205c0.175,0.317,0.363,0.626,0.564,0.927c0.046,0.069,0.094,0.135,0.141,0.203 c0.183,0.264,0.375,0.521,0.576,0.77c0.038,0.047,0.074,0.096,0.113,0.143c0.231,0.278,0.475,0.544,0.728,0.801 c0.062,0.063,0.125,0.124,0.189,0.186c0.245,0.239,0.496,0.471,0.759,0.69c0.023,0.02,0.045,0.041,0.069,0.06 c0.282,0.232,0.577,0.449,0.879,0.658c0.073,0.051,0.147,0.1,0.221,0.149C38.427,57.897,38.501,57.951,38.578,58z M45.5,58 c-6.065,0-11-4.935-11-11s4.935-11,11-11c0.312,0,0.62,0.021,0.926,0.047c0.291,0.028,0.592,0.066,0.909,0.119l0.443,0.074 C52.753,37.293,56.5,41.716,56.5,47C56.5,53.065,51.565,58,45.5,58z" fill="#000333"/>
+ <path d="M50.679,41.429l-5.596,8.04l-3.949-3.242c-0.426-0.351-1.057-0.288-1.407,0.139c-0.351,0.427-0.289,1.057,0.139,1.407 l4.786,3.929c0.18,0.147,0.404,0.227,0.634,0.227c0.045,0,0.091-0.003,0.137-0.009c0.276-0.039,0.524-0.19,0.684-0.419l6.214-8.929 c0.315-0.453,0.204-1.077-0.25-1.392C51.617,40.863,50.995,40.976,50.679,41.429z" fill="#000333"/>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+<g>
+</g>
+</svg>
A images/digibank.png
+- −-
Binary files /dev/null and b/images/digibank.png differ
Binary files /dev/null and b/images/digitalindialogo.png differ
A images/file.png
+- −-
Binary files /dev/null and b/images/file.png differ
A images/file.svg
+32 −0
--- /dev/null
+++ b/images/file.svg
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="g" x1="24" gradientUnits="userSpaceOnUse" y1="5.5641" gradientTransform="matrix(.56757 0 0 .72973 2.3784 -2.5135)" x2="24" y2="43">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" x1="25.132" gradientUnits="userSpaceOnUse" y1=".98521" gradientTransform="matrix(.65714 0 0 .63012 .22856 -1.0896)" x2="25.132" y2="47.013">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="j" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 25.981)" r="117.14"/>
+ <radialGradient id="k" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 25.981)" r="117.14"/>
+ <linearGradient id="i" x1="302.86" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 25.981)" x2="302.86" y2="609.51">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <rect opacity=".15" height="2" width="22.1" y="29" x="4.95" fill="url(#i)"/>
+ <path opacity=".15" d="m4.95 29v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#k)"/>
+ <path opacity=".15" d="m27.05 29v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#j)"/>
+ <path d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" fill="url(#h)"/>
+ <path stroke-linejoin="round" stroke="url(#g)" stroke-linecap="round" d="m26.5 28.5h-21v-27h21z" fill="none"/>
+ <path stroke-linejoin="round" opacity=".3" d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" stroke="#000" stroke-width=".99992" fill="none"/>
+</svg>
A images/folder.png
+- −-
Binary files /dev/null and b/images/folder.png differ
A images/folder.svg
+58 −0
--- /dev/null
+++ b/images/folder.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="c" y2="21.387" gradientUnits="userSpaceOnUse" x2="27.557" gradientTransform="matrix(.89186 0 0 1.0539 3.1208 3.4122)" y1="7.1627" x1="27.557">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".0097359"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="36.658" gradientUnits="userSpaceOnUse" x2="22.809" gradientTransform="matrix(.74675 0 0 .65549 -1.9219 -.83270)" y1="49.629" x1="22.935">
+ <stop stop-color="#0a0a0a" stop-opacity=".498" offset="0"/>
+ <stop stop-color="#0a0a0a" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="43.761" gradientUnits="userSpaceOnUse" x2="35.793" gradientTransform="matrix(.64444 0 0 .64286 .53352 -1.1074)" y1="17.118" x1="35.793">
+ <stop stop-color="#b4cee1" offset="0"/>
+ <stop stop-color="#5d9fcd" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.051143 0 0 .015916 -2.49 22.299)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.019836 0 0 .015916 16.388 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.019836 0 0 .015916 15.601 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="g" y2="34.143" gradientUnits="userSpaceOnUse" x2="21.37" gradientTransform="matrix(.54384 0 0 .61466 3.2689 3.0908)" y1="4.7324" x1="21.37">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".11063"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" y2="16" gradientUnits="userSpaceOnUse" x2="62.989" gradientTransform="matrix(.61905 0 0 .61905 -30.392 -.57170)" y1="13" x1="62.989">
+ <stop stop-color="#f9f9f9" offset="0"/>
+ <stop stop-color="#d8d8d8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="3.6337" gradientUnits="userSpaceOnUse" y1="53.514" gradientTransform="matrix(.50703 0 0 .503 68.029 -.67050)" x2="-51.786" x1="-51.786">
+ <stop stop-opacity=".32174" offset="0"/>
+ <stop stop-opacity=".27826" offset="1"/>
+ </linearGradient>
+ </defs>
+ <path opacity=".8" style="color:#000000" d="m4.0002 4.4998c-0.43342 0.005-0.5 0.21723-0.5 0.6349v1.365c-1.2457 0-1-0.002-1 0.54389 0.0216 6.5331 0 6.9014 0 7.4561 0.90135 0 27-2.349 27-3.36v-4.0964c0-0.41767-0.34799-0.54876-0.78141-0.54389h-14.219v-1.365c0-0.41767-0.26424-0.63977-0.69767-0.6349h-9.8022z" stroke="url(#i)" fill="none"/>
+ <path style="color:#000000" d="m4.0002 4.9997v2h-1v4.0003h26v-4.0003h-15v-2h-9.9998z" fill="url(#h)"/>
+ <path style="color:#000000" stroke-linecap="round" d="m4.5002 5.4997v2h-1v4.0003h25v-4.0003h-15v-2h-8.9998z" stroke="url(#g)" fill="none"/>
+ <g transform="translate(.00017553 -3.0003)">
+ <rect opacity=".3" height="3.8653" width="24.695" y="28.135" x="3.6472" fill="url(#f)"/>
+ <path opacity=".3" d="m28.342 28.135v3.865c1.0215 0.0073 2.4695-0.86596 2.4695-1.9328s-1.1399-1.9323-2.4695-1.9323z" fill="url(#b)"/>
+ <path opacity=".3" d="m3.6472 28.135v3.865c-1.0215 0.0073-2.4695-0.86596-2.4695-1.9328s1.1399-1.9323 2.4695-1.9323z" fill="url(#a)"/>
+ </g>
+ <path style="color:#000000" d="m1.927 9.4997c-0.69105 0.0796-0.32196 0.90258-0.37705 1.3654 0.0802 0.29906 0.59771 15.718 0.59771 16.247 0 0.46018 0.22667 0.38222 0.80101 0.38222h26.397c0.61872 0.0143 0.48796 0.007 0.48796-0.38947 0.0452-0.20269 0.63993-16.978 0.66282-17.243 0-0.279 0.0581-0.3621-0.30493-0.3621h-28.266z" fill="url(#e)"/>
+ <path opacity=".4" d="m1.682 8.9997 28.636 0.00027c0.4137 0 0.68181 0.29209 0.68181 0.65523l-0.6735 17.712c0.01 0.45948-0.1364 0.64166-0.61707 0.63203l-27.256-0.011c-0.4137 0-0.83086-0.27118-0.83086-0.63432l-0.62216-17.699c0-0.36314 0.26812-0.65549 0.68182-0.65549z" fill="url(#d)"/>
+ <path opacity=".5" style="color:#000000" d="m2.5002 10.5 0.62498 16h25.749l0.62498-16z" stroke="url(#c)" stroke-linecap="round" fill="none"/>
+ <path opacity=".3" stroke-linejoin="round" style="color:#000000" d="m1.927 9.4997c-0.69105 0.0796-0.32196 0.90258-0.37705 1.3654 0.0802 0.29906 0.59771 15.718 0.59771 16.247 0 0.46018 0.22667 0.38222 0.80101 0.38222h26.397c0.61872 0.0143 0.48796 0.007 0.48796-0.38947 0.0452-0.20269 0.63993-16.978 0.66282-17.243 0-0.279 0.0581-0.3621-0.30493-0.3621h-28.266z" stroke="#000" stroke-linecap="round" fill="none"/>
+</svg>
A images/home.svg
+5 −0
--- /dev/null
+++ b/images/home.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
+ <path opacity=".7" fill="#1e1e1e" d="m8 1.0306-8 7.9694h3v6.0001h10v-6h3l-3-3.0306v-3.9695h-3v1.0812l-2-2.0505z" fill-rule="evenodd"/>
+</svg>
A images/issuedfile.png
+- −-
Binary files /dev/null and b/images/issuedfile.png differ
A images/loading.gif
+- −-
Binary files /dev/null and b/images/loading.gif differ
A images/loading12.gif
+- −-
Binary files /dev/null and b/images/loading12.gif differ
A images/logo.png
+- −-
Binary files /dev/null and b/images/logo.png differ
Binary files /dev/null and b/images/uploaded_files.png differ
M index.php
+51 −100
--- 'a/index.php'
+++ b/index.php
@@ -1,104 +1,55 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="description" content="">
- <meta name="author" content="">
- <title>DigiBank</title>
- <!-- Bootstrap Core CSS -->
- <link href="css/bootstrap.min.css" rel="stylesheet">
- <!-- Custom CSS -->
- <link href="css/digi-bank.css" rel="stylesheet">
- <!-- Custom Fonts -->
- <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
- </head>
- <body>
- <div id="wrapper">
- <!-- Navigation -->
- <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
- <!-- Brand and toggle get grouped for better mobile display -->
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="index.html">DigiBank</a>
+<?php include 'header.php' ?>
+<!-- Marketing Icons Section -->
+<div class="container">
+ <div class="kt-heading-wrapper">
+ <h3 class="kt-heading-title">ABOUT COMMON SERVICES CENTERS</h3>
+ </div>
+ <div class="row">
+ <div class="col-md-12 text-justify">
+ <div class="box">
+ <div class="box-content">
+ <p>Common Services Centers (CSC) are one of the crucial enablers of the Digital India Programme. They are the access points for delivery of various e-governance and business services to citizens in rural and remote areas of the country. It is a pan-India network catering to regional, geographic, linguistic and cultural diversity of the country, thus enabling the Government’s mandate of a socially, financially and digitally inclusive society. CSCs offer assisted access of e-services to citizens with a focus on enhancing governance, delivering essential government and public utility services, social welfare schemes, financial services, education and skill development courses, health and agriculture services and digital literacy, apart from a host of B2C services. </p>
</div>
- <!-- Sidebar Menu Items - These collapse to the responsive navigation menu on small screens -->
- <div class="collapse navbar-collapse navbar-ex1-collapse">
- <ul class="nav navbar-nav side-nav">
- <li class="active">
- <a href="index.php"><i class="fa fa-fw fa-clock-o"></i> Link To DigiLocker</a>
- </li>
- <li>
- <a href="link_document.php"><i class="fa fa-fw fa-link"></i> Loan Approvals</a>
- </li>
- <li>
- <a href="statement.php"><i class="fa fa-fw fa-stack-exchange"></i>Account Statements</a>
- </li>
- </ul>
+ </div>
+ </div>
+ </div>
+ <div class="kt-heading-wrapper">
+ <h3 class="kt-heading-title">Featured Services</h3>
+ </div>
+ <div class="row">
+ <div class="col-md-4 text-center">
+ <div class="box">
+ <div class="box-content">
+ <h4 class="tag-title">Insurance</h4>
+ <hr />
+ <p>CSC SPV acquired license from Insurance Regulatory and Development Authority in 2013 to work as an authorized intermediary to market life and non-life insurance products through VLEs as Rural Authorised Persons non-life insurance products through VLEs. </p>
+ <br />
+ <a class="btn btn-blue-b" target="_blank">Browse</a>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-4 text-center">
+ <div class="box">
+ <div class="box-content">
+ <h4 class="tag-title">Digilocker</h4>
+ <hr />
+ <p>Targeted at the idea of paperless governance, DigiLocker is a platform for issuance and verification of documents & certificates in a digital way, thus eliminating the use of physical documents. Indian citizens who sign up for a DigiLocker account get a dedicated cloud storage space that is linked to their Aadhaar. </p>
+ <a href="https://digilocker.gov.in/" class="btn btn-blue-b" target="_blank">Browse</a>
</div>
- <!-- /.navbar-collapse -->
- </nav>
- <div id="page-wrapper">
- <div class="container-fluid">
- <!-- Page Heading -->
- <div class="row">
- <div class="col-lg-12">
- <h1 class="page-header">
- <small>Link TO DigiLocker</small>
- </h1>
- <div class="col-md-3"></div>
- <div class="col-md-6">
- <form action = "https://developers.digitallocker.gov.in/public/oauth2/1/authorize" method = "GET" role="form">
- <div class="form-group has-success">
- <label class="control-label" for="inputSuccess">Response Type</label>
- <input type="text" class="form-control" name = "response_type" value="code">
- </div>
- <div class="form-group has-success">
- <label class="control-label" for="inputSuccess">Client ID</label>
- <input type="text" class="form-control" name = "client_id" value="NIELN3M9">
- </div>
- <div class="form-group has-success">
- <label class="control-label" for="inputSuccess">Redirect Uri</label>
- <input type="text" class="form-control" name = "redirect_uri" value="http://localhost/digibank/response.php">
- </div>
- <div class="form-group has-success">
- <label class="control-label" for="inputSuccess">State</label>
- <input type="text" class="form-control" name = "state" value="123456">
- </div>
- <div class="row">
- <div class="col-md-6">
- <button type="submit" class="btn btn-default pull-right">Submit</button></div>
- <div class="col-md-6">
- <button type="reset" class="btn btn-default pull-left">Reset</button></div>
- </div>
- </form>
- </div>
- <div class="col-md-3"></div>
- </div>
-
-
- </div>
+ </div>
+ </div>
+ <div class="col-md-4 text-center">
+ <div class="box">
+ <div class="box-content">
+ <h4 class="tag-title">Banking</h4>
+ <hr />
+ <p>Under Reserve Bank of India guidelines for delivery of financial services through the CSCs, CSC SPV has partnered with 42 public, private sector and regional rural banks to provide banking facilities to the unbanked, especially marginalized communities and women. </p>
+ <br />
+ <a class="btn btn-blue-b" target="_blank">Browse</a>
</div>
- <!-- /.container-fluid -->
</div>
- <!-- /#page-wrapper -->
- <nav class="navbar navbar-inverse navbar-fixed-bottom" role="navigation">
- <!-- Brand and toggle get grouped for better mobile display -->
-
- <!-- Top Menu Items -->
-
- <!-- Sidebar Menu Items - These collapse to the responsive navigation menu on small screens -->
-
- <!-- /.navbar-collapse -->
- </nav>
- </div><!-- jQuery -->
- <script src="js/jquery.js"></script><!-- Bootstrap Core JavaScript -->
- <script src="js/bootstrap.min.js"></script>
- </body>
-</html>
+ </div>
+ </div>
+</div><!-- ./ container end
+<!-- /.row -->
+<?php include 'footer.php' ?>
\ No newline at end of file
A js/jqBootstrapValidation.js
+912 −0
--- /dev/null
+++ b/js/jqBootstrapValidation.js
@@ -0,0 +1,912 @@
+/* jqBootstrapValidation
+ * A plugin for automating validation on Twitter Bootstrap formatted forms.
+ *
+ * v1.3.6
+ *
+ * License: MIT <http://opensource.org/licenses/mit-license.php> - see LICENSE file
+ *
+ * http://ReactiveRaven.github.com/jqBootstrapValidation/
+ */
+
+(function( $ ){
+
+ var createdElements = [];
+
+ var defaults = {
+ options: {
+ prependExistingHelpBlock: false,
+ sniffHtml: true, // sniff for 'required', 'maxlength', etc
+ preventSubmit: true, // stop the form submit event from firing if validation fails
+ submitError: false, // function called if there is an error when trying to submit
+ submitSuccess: false, // function called just before a successful submit event is sent to the server
+ semanticallyStrict: false, // set to true to tidy up generated HTML output
+ autoAdd: {
+ helpBlocks: true
+ },
+ filter: function () {
+ // return $(this).is(":visible"); // only validate elements you can see
+ return true; // validate everything
+ }
+ },
+ methods: {
+ init : function( options ) {
+
+ var settings = $.extend(true, {}, defaults);
+
+ settings.options = $.extend(true, settings.options, options);
+
+ var $siblingElements = this;
+
+ var uniqueForms = $.unique(
+ $siblingElements.map( function () {
+ return $(this).parents("form")[0];
+ }).toArray()
+ );
+
+ $(uniqueForms).bind("submit", function (e) {
+ var $form = $(this);
+ var warningsFound = 0;
+ var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
+ $inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
+
+ $inputs.each(function (i, el) {
+ var $this = $(el),
+ $controlGroup = $this.parents(".control-group").first();
+ if (
+ $controlGroup.hasClass("has-warning")
+ ) {
+ $controlGroup.removeClass("has-warning").addClass("has-error");
+ warningsFound++;
+ }
+ });
+
+ $inputs.trigger("validationLostFocus.validation");
+
+ if (warningsFound) {
+ if (settings.options.preventSubmit) {
+ e.preventDefault();
+ }
+ $form.addClass("has-error");
+ if ($.isFunction(settings.options.submitError)) {
+ settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true));
+ }
+ } else {
+ $form.removeClass("has-error");
+ if ($.isFunction(settings.options.submitSuccess)) {
+ settings.options.submitSuccess($form, e);
+ }
+ }
+ });
+
+ return this.each(function(){
+
+ // Get references to everything we're interested in
+ var $this = $(this),
+ $controlGroup = $this.parents(".control-group").first(),
+ $helpBlock = $controlGroup.find(".help-block").first(),
+ $form = $this.parents("form").first(),
+ validatorNames = [];
+
+ // create message container if not exists
+ if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
+ $helpBlock = $('<div class="help-block" />');
+ $controlGroup.find('.controls').append($helpBlock);
+ createdElements.push($helpBlock[0]);
+ }
+
+ // =============================================================
+ // SNIFF HTML FOR VALIDATORS
+ // =============================================================
+
+ // *snort sniff snuffle*
+
+ if (settings.options.sniffHtml) {
+ var message = "";
+ // ---------------------------------------------------------
+ // PATTERN
+ // ---------------------------------------------------------
+ if ($this.attr("pattern") !== undefined) {
+ message = "Not in the expected format<!-- data-validation-pattern-message to override -->";
+ if ($this.data("validationPatternMessage")) {
+ message = $this.data("validationPatternMessage");
+ }
+ $this.data("validationPatternMessage", message);
+ $this.data("validationPatternRegex", $this.attr("pattern"));
+ }
+ // ---------------------------------------------------------
+ // MAX
+ // ---------------------------------------------------------
+ if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {
+ var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));
+ message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->";
+ if ($this.data("validationMaxMessage")) {
+ message = $this.data("validationMaxMessage");
+ }
+ $this.data("validationMaxMessage", message);
+ $this.data("validationMaxMax", max);
+ }
+ // ---------------------------------------------------------
+ // MIN
+ // ---------------------------------------------------------
+ if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {
+ var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));
+ message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->";
+ if ($this.data("validationMinMessage")) {
+ message = $this.data("validationMinMessage");
+ }
+ $this.data("validationMinMessage", message);
+ $this.data("validationMinMin", min);
+ }
+ // ---------------------------------------------------------
+ // MAXLENGTH
+ // ---------------------------------------------------------
+ if ($this.attr("maxlength") !== undefined) {
+ message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->";
+ if ($this.data("validationMaxlengthMessage")) {
+ message = $this.data("validationMaxlengthMessage");
+ }
+ $this.data("validationMaxlengthMessage", message);
+ $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));
+ }
+ // ---------------------------------------------------------
+ // MINLENGTH
+ // ---------------------------------------------------------
+ if ($this.attr("minlength") !== undefined) {
+ message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->";
+ if ($this.data("validationMinlengthMessage")) {
+ message = $this.data("validationMinlengthMessage");
+ }
+ $this.data("validationMinlengthMessage", message);
+ $this.data("validationMinlengthMinlength", $this.attr("minlength"));
+ }
+ // ---------------------------------------------------------
+ // REQUIRED
+ // ---------------------------------------------------------
+ if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {
+ message = settings.builtInValidators.required.message;
+ if ($this.data("validationRequiredMessage")) {
+ message = $this.data("validationRequiredMessage");
+ }
+ $this.data("validationRequiredMessage", message);
+ }
+ // ---------------------------------------------------------
+ // NUMBER
+ // ---------------------------------------------------------
+ if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {
+ message = settings.builtInValidators.number.message;
+ if ($this.data("validationNumberMessage")) {
+ message = $this.data("validationNumberMessage");
+ }
+ $this.data("validationNumberMessage", message);
+ }
+ // ---------------------------------------------------------
+ // EMAIL
+ // ---------------------------------------------------------
+ if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {
+ message = "Not a valid email address<!-- data-validator-validemail-message to override -->";
+ if ($this.data("validationValidemailMessage")) {
+ message = $this.data("validationValidemailMessage");
+ } else if ($this.data("validationEmailMessage")) {
+ message = $this.data("validationEmailMessage");
+ }
+ $this.data("validationValidemailMessage", message);
+ }
+ // ---------------------------------------------------------
+ // MINCHECKED
+ // ---------------------------------------------------------
+ if ($this.attr("minchecked") !== undefined) {
+ message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->";
+ if ($this.data("validationMincheckedMessage")) {
+ message = $this.data("validationMincheckedMessage");
+ }
+ $this.data("validationMincheckedMessage", message);
+ $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));
+ }
+ // ---------------------------------------------------------
+ // MAXCHECKED
+ // ---------------------------------------------------------
+ if ($this.attr("maxchecked") !== undefined) {
+ message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->";
+ if ($this.data("validationMaxcheckedMessage")) {
+ message = $this.data("validationMaxcheckedMessage");
+ }
+ $this.data("validationMaxcheckedMessage", message);
+ $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));
+ }
+ }
+
+ // =============================================================
+ // COLLECT VALIDATOR NAMES
+ // =============================================================
+
+ // Get named validators
+ if ($this.data("validation") !== undefined) {
+ validatorNames = $this.data("validation").split(",");
+ }
+
+ // Get extra ones defined on the element's data attributes
+ $.each($this.data(), function (i, el) {
+ var parts = i.replace(/([A-Z])/g, ",$1").split(",");
+ if (parts[0] === "validation" && parts[1]) {
+ validatorNames.push(parts[1]);
+ }
+ });
+
+ // =============================================================
+ // NORMALISE VALIDATOR NAMES
+ // =============================================================
+
+ var validatorNamesToInspect = validatorNames;
+ var newValidatorNamesToInspect = [];
+
+ do // repeatedly expand 'shortcut' validators into their real validators
+ {
+ // Uppercase only the first letter of each name
+ $.each(validatorNames, function (i, el) {
+ validatorNames[i] = formatValidatorName(el);
+ });
+
+ // Remove duplicate validator names
+ validatorNames = $.unique(validatorNames);
+
+ // Pull out the new validator names from each shortcut
+ newValidatorNamesToInspect = [];
+ $.each(validatorNamesToInspect, function(i, el) {
+ if ($this.data("validation" + el + "Shortcut") !== undefined) {
+ // Are these custom validators?
+ // Pull them out!
+ $.each($this.data("validation" + el + "Shortcut").split(","), function(i2, el2) {
+ newValidatorNamesToInspect.push(el2);
+ });
+ } else if (settings.builtInValidators[el.toLowerCase()]) {
+ // Is this a recognised built-in?
+ // Pull it out!
+ var validator = settings.builtInValidators[el.toLowerCase()];
+ if (validator.type.toLowerCase() === "shortcut") {
+ $.each(validator.shortcut.split(","), function (i, el) {
+ el = formatValidatorName(el);
+ newValidatorNamesToInspect.push(el);
+ validatorNames.push(el);
+ });
+ }
+ }
+ });
+
+ validatorNamesToInspect = newValidatorNamesToInspect;
+
+ } while (validatorNamesToInspect.length > 0)
+
+ // =============================================================
+ // SET UP VALIDATOR ARRAYS
+ // =============================================================
+
+ var validators = {};
+
+ $.each(validatorNames, function (i, el) {
+ // Set up the 'override' message
+ var message = $this.data("validation" + el + "Message");
+ var hasOverrideMessage = (message !== undefined);
+ var foundValidator = false;
+ message =
+ (
+ message
+ ? message
+ : "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
+ )
+ ;
+
+ $.each(
+ settings.validatorTypes,
+ function (validatorType, validatorTemplate) {
+ if (validators[validatorType] === undefined) {
+ validators[validatorType] = [];
+ }
+ if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
+ validators[validatorType].push(
+ $.extend(
+ true,
+ {
+ name: formatValidatorName(validatorTemplate.name),
+ message: message
+ },
+ validatorTemplate.init($this, el)
+ )
+ );
+ foundValidator = true;
+ }
+ }
+ );
+
+ if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {
+
+ var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);
+ if (hasOverrideMessage) {
+ validator.message = message;
+ }
+ var validatorType = validator.type.toLowerCase();
+
+ if (validatorType === "shortcut") {
+ foundValidator = true;
+ } else {
+ $.each(
+ settings.validatorTypes,
+ function (validatorTemplateType, validatorTemplate) {
+ if (validators[validatorTemplateType] === undefined) {
+ validators[validatorTemplateType] = [];
+ }
+ if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {
+ $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]);
+ validators[validatorType].push(
+ $.extend(
+ validator,
+ validatorTemplate.init($this, el)
+ )
+ );
+ foundValidator = true;
+ }
+ }
+ );
+ }
+ }
+
+ if (! foundValidator) {
+ $.error("Cannot find validation info for '" + el + "'");
+ }
+ });
+
+ // =============================================================
+ // STORE FALLBACK VALUES
+ // =============================================================
+
+ $helpBlock.data(
+ "original-contents",
+ (
+ $helpBlock.data("original-contents")
+ ? $helpBlock.data("original-contents")
+ : $helpBlock.html()
+ )
+ );
+
+ $helpBlock.data(
+ "original-role",
+ (
+ $helpBlock.data("original-role")
+ ? $helpBlock.data("original-role")
+ : $helpBlock.attr("role")
+ )
+ );
+
+ $controlGroup.data(
+ "original-classes",
+ (
+ $controlGroup.data("original-clases")
+ ? $controlGroup.data("original-classes")
+ : $controlGroup.attr("class")
+ )
+ );
+
+ $this.data(
+ "original-aria-invalid",
+ (
+ $this.data("original-aria-invalid")
+ ? $this.data("original-aria-invalid")
+ : $this.attr("aria-invalid")
+ )
+ );
+
+ // =============================================================
+ // VALIDATION
+ // =============================================================
+
+ $this.bind(
+ "validation.validation",
+ function (event, params) {
+
+ var value = getValue($this);
+
+ // Get a list of the errors to apply
+ var errorsFound = [];
+
+ $.each(validators, function (validatorType, validatorTypeArray) {
+ if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
+ $.each(validatorTypeArray, function (i, validator) {
+ if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
+ errorsFound.push(validator.message);
+ }
+ });
+ }
+ });
+
+ return errorsFound;
+ }
+ );
+
+ $this.bind(
+ "getValidators.validation",
+ function () {
+ return validators;
+ }
+ );
+
+ // =============================================================
+ // WATCH FOR CHANGES
+ // =============================================================
+ $this.bind(
+ "submit.validation",
+ function () {
+ return $this.triggerHandler("change.validation", {submitting: true});
+ }
+ );
+ $this.bind(
+ [
+ "keyup",
+ "focus",
+ "blur",
+ "click",
+ "keydown",
+ "keypress",
+ "change"
+ ].join(".validation ") + ".validation",
+ function (e, params) {
+
+ var value = getValue($this);
+
+ var errorsFound = [];
+
+ $controlGroup.find("input,textarea,select").each(function (i, el) {
+ var oldCount = errorsFound.length;
+ $.each($(el).triggerHandler("validation.validation", params), function (j, message) {
+ errorsFound.push(message);
+ });
+ if (errorsFound.length > oldCount) {
+ $(el).attr("aria-invalid", "true");
+ } else {
+ var original = $this.data("original-aria-invalid");
+ $(el).attr("aria-invalid", (original !== undefined ? original : false));
+ }
+ });
+
+ $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");
+
+ errorsFound = $.unique(errorsFound.sort());
+
+ // Were there any errors?
+ if (errorsFound.length) {
+ // Better flag it up as a warning.
+ $controlGroup.removeClass("has-success has-error").addClass("has-warning");
+
+ // How many errors did we find?
+ if (settings.options.semanticallyStrict && errorsFound.length === 1) {
+ // Only one? Being strict? Just output it.
+ $helpBlock.html(errorsFound[0] +
+ ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
+ } else {
+ // Multiple? Being sloppy? Glue them together into an UL.
+ $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +
+ ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
+ }
+ } else {
+ $controlGroup.removeClass("has-warning has-error has-success");
+ if (value.length > 0) {
+ $controlGroup.addClass("has-success");
+ }
+ $helpBlock.html($helpBlock.data("original-contents"));
+ }
+
+ if (e.type === "blur") {
+ $controlGroup.removeClass("has-success");
+ }
+ }
+ );
+ $this.bind("validationLostFocus.validation", function () {
+ $controlGroup.removeClass("has-success");
+ });
+ });
+ },
+ destroy : function( ) {
+
+ return this.each(
+ function() {
+
+ var
+ $this = $(this),
+ $controlGroup = $this.parents(".control-group").first(),
+ $helpBlock = $controlGroup.find(".help-block").first();
+
+ // remove our events
+ $this.unbind('.validation'); // events are namespaced.
+ // reset help text
+ $helpBlock.html($helpBlock.data("original-contents"));
+ // reset classes
+ $controlGroup.attr("class", $controlGroup.data("original-classes"));
+ // reset aria
+ $this.attr("aria-invalid", $this.data("original-aria-invalid"));
+ // reset role
+ $helpBlock.attr("role", $this.data("original-role"));
+ // remove all elements we created
+ if (createdElements.indexOf($helpBlock[0]) > -1) {
+ $helpBlock.remove();
+ }
+
+ }
+ );
+
+ },
+ collectErrors : function(includeEmpty) {
+
+ var errorMessages = {};
+ this.each(function (i, el) {
+ var $el = $(el);
+ var name = $el.attr("name");
+ var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});
+ errorMessages[name] = $.extend(true, errors, errorMessages[name]);
+ });
+
+ $.each(errorMessages, function (i, el) {
+ if (el.length === 0) {
+ delete errorMessages[i];
+ }
+ });
+
+ return errorMessages;
+
+ },
+ hasErrors: function() {
+
+ var errorMessages = [];
+
+ this.each(function (i, el) {
+ errorMessages = errorMessages.concat(
+ $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
+ );
+ });
+
+ return (errorMessages.length > 0);
+ },
+ override : function (newDefaults) {
+ defaults = $.extend(true, defaults, newDefaults);
+ }
+ },
+ validatorTypes: {
+ callback: {
+ name: "callback",
+ init: function ($this, name) {
+ return {
+ validatorName: name,
+ callback: $this.data("validation" + name + "Callback"),
+ lastValue: $this.val(),
+ lastValid: true,
+ lastFinished: true
+ };
+ },
+ validate: function ($this, value, validator) {
+ if (validator.lastValue === value && validator.lastFinished) {
+ return !validator.lastValid;
+ }
+
+ if (validator.lastFinished === true)
+ {
+ validator.lastValue = value;
+ validator.lastValid = true;
+ validator.lastFinished = false;
+
+ var rrjqbvValidator = validator;
+ var rrjqbvThis = $this;
+ executeFunctionByName(
+ validator.callback,
+ window,
+ $this,
+ value,
+ function (data) {
+ if (rrjqbvValidator.lastValue === data.value) {
+ rrjqbvValidator.lastValid = data.valid;
+ if (data.message) {
+ rrjqbvValidator.message = data.message;
+ }
+ rrjqbvValidator.lastFinished = true;
+ rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
+ // Timeout is set to avoid problems with the events being considered 'already fired'
+ setTimeout(function () {
+ rrjqbvThis.trigger("change.validation");
+ }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+ }
+ }
+ );
+ }
+
+ return false;
+
+ }
+ },
+ ajax: {
+ name: "ajax",
+ init: function ($this, name) {
+ return {
+ validatorName: name,
+ url: $this.data("validation" + name + "Ajax"),
+ lastValue: $this.val(),
+ lastValid: true,
+ lastFinished: true
+ };
+ },
+ validate: function ($this, value, validator) {
+ if (""+validator.lastValue === ""+value && validator.lastFinished === true) {
+ return validator.lastValid === false;
+ }
+
+ if (validator.lastFinished === true)
+ {
+ validator.lastValue = value;
+ validator.lastValid = true;
+ validator.lastFinished = false;
+ $.ajax({
+ url: validator.url,
+ data: "value=" + value + "&field=" + $this.attr("name"),
+ dataType: "json",
+ success: function (data) {
+ if (""+validator.lastValue === ""+data.value) {
+ validator.lastValid = !!(data.valid);
+ if (data.message) {
+ validator.message = data.message;
+ }
+ validator.lastFinished = true;
+ $this.data("validation" + validator.validatorName + "Message", validator.message);
+ // Timeout is set to avoid problems with the events being considered 'already fired'
+ setTimeout(function () {
+ $this.trigger("change.validation");
+ }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+ }
+ },
+ failure: function () {
+ validator.lastValid = true;
+ validator.message = "ajax call failed";
+ validator.lastFinished = true;
+ $this.data("validation" + validator.validatorName + "Message", validator.message);
+ // Timeout is set to avoid problems with the events being considered 'already fired'
+ setTimeout(function () {
+ $this.trigger("change.validation");
+ }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+ }
+ });
+ }
+
+ return false;
+
+ }
+ },
+ regex: {
+ name: "regex",
+ init: function ($this, name) {
+ return {regex: regexFromString($this.data("validation" + name + "Regex"))};
+ },
+ validate: function ($this, value, validator) {
+ return (!validator.regex.test(value) && ! validator.negative)
+ || (validator.regex.test(value) && validator.negative);
+ }
+ },
+ required: {
+ name: "required",
+ init: function ($this, name) {
+ return {};
+ },
+ validate: function ($this, value, validator) {
+ return !!(value.length === 0 && ! validator.negative)
+ || !!(value.length > 0 && validator.negative);
+ },
+ blockSubmit: true
+ },
+ match: {
+ name: "match",
+ init: function ($this, name) {
+ var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();
+ element.bind("validation.validation", function () {
+ $this.trigger("change.validation", {submitting: true});
+ });
+ return {"element": element};
+ },
+ validate: function ($this, value, validator) {
+ return (value !== validator.element.val() && ! validator.negative)
+ || (value === validator.element.val() && validator.negative);
+ },
+ blockSubmit: true
+ },
+ max: {
+ name: "max",
+ init: function ($this, name) {
+ return {max: $this.data("validation" + name + "Max")};
+ },
+ validate: function ($this, value, validator) {
+ return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative)
+ || (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
+ }
+ },
+ min: {
+ name: "min",
+ init: function ($this, name) {
+ return {min: $this.data("validation" + name + "Min")};
+ },
+ validate: function ($this, value, validator) {
+ return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)
+ || (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
+ }
+ },
+ maxlength: {
+ name: "maxlength",
+ init: function ($this, name) {
+ return {maxlength: $this.data("validation" + name + "Maxlength")};
+ },
+ validate: function ($this, value, validator) {
+ return ((value.length > validator.maxlength) && ! validator.negative)
+ || ((value.length <= validator.maxlength) && validator.negative);
+ }
+ },
+ minlength: {
+ name: "minlength",
+ init: function ($this, name) {
+ return {minlength: $this.data("validation" + name + "Minlength")};
+ },
+ validate: function ($this, value, validator) {
+ return ((value.length < validator.minlength) && ! validator.negative)
+ || ((value.length >= validator.minlength) && validator.negative);
+ }
+ },
+ maxchecked: {
+ name: "maxchecked",
+ init: function ($this, name) {
+ var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
+ elements.bind("click.validation", function () {
+ $this.trigger("change.validation", {includeEmpty: true});
+ });
+ return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};
+ },
+ validate: function ($this, value, validator) {
+ return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative)
+ || (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
+ },
+ blockSubmit: true
+ },
+ minchecked: {
+ name: "minchecked",
+ init: function ($this, name) {
+ var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
+ elements.bind("click.validation", function () {
+ $this.trigger("change.validation", {includeEmpty: true});
+ });
+ return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};
+ },
+ validate: function ($this, value, validator) {
+ return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative)
+ || (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
+ },
+ blockSubmit: true
+ }
+ },
+ builtInValidators: {
+ email: {
+ name: "Email",
+ type: "shortcut",
+ shortcut: "validemail"
+ },
+ validemail: {
+ name: "Validemail",
+ type: "regex",
+ regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",
+ message: "Not a valid email address<!-- data-validator-validemail-message to override -->"
+ },
+ passwordagain: {
+ name: "Passwordagain",
+ type: "match",
+ match: "password",
+ message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"
+ },
+ positive: {
+ name: "Positive",
+ type: "shortcut",
+ shortcut: "number,positivenumber"
+ },
+ negative: {
+ name: "Negative",
+ type: "shortcut",
+ shortcut: "number,negativenumber"
+ },
+ number: {
+ name: "Number",
+ type: "regex",
+ regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",
+ message: "Must be a number<!-- data-validator-number-message to override -->"
+ },
+ integer: {
+ name: "Integer",
+ type: "regex",
+ regex: "[+-]?\\\d+",
+ message: "No decimal places allowed<!-- data-validator-integer-message to override -->"
+ },
+ positivenumber: {
+ name: "Positivenumber",
+ type: "min",
+ min: 0,
+ message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"
+ },
+ negativenumber: {
+ name: "Negativenumber",
+ type: "max",
+ max: 0,
+ message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"
+ },
+ required: {
+ name: "Required",
+ type: "required",
+ message: "This is required<!-- data-validator-required-message to override -->"
+ },
+ checkone: {
+ name: "Checkone",
+ type: "minchecked",
+ minchecked: 1,
+ message: "Check at least one option<!-- data-validation-checkone-message to override -->"
+ }
+ }
+ };
+
+ var formatValidatorName = function (name) {
+ return name
+ .toLowerCase()
+ .replace(
+ /(^|\s)([a-z])/g ,
+ function(m,p1,p2) {
+ return p1+p2.toUpperCase();
+ }
+ )
+ ;
+ };
+
+ var getValue = function ($this) {
+ // Extract the value we're talking about
+ var value = $this.val();
+ var type = $this.attr("type");
+ if (type === "checkbox") {
+ value = ($this.is(":checked") ? value : "");
+ }
+ if (type === "radio") {
+ value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");
+ }
+ return value;
+ };
+
+ function regexFromString(inputstring) {
+ return new RegExp("^" + inputstring + "$");
+ }
+
+ /**
+ * Thanks to Jason Bunting via StackOverflow.com
+ *
+ * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910
+ * Short link: http://tinyurl.com/executeFunctionByName
+ **/
+ function executeFunctionByName(functionName, context /*, args*/) {
+ var args = Array.prototype.slice.call(arguments).splice(2);
+ var namespaces = functionName.split(".");
+ var func = namespaces.pop();
+ for(var i = 0; i < namespaces.length; i++) {
+ context = context[namespaces[i]];
+ }
+ return context[func].apply(this, args);
+ }
+
+ $.fn.jqBootstrapValidation = function( method ) {
+
+ if ( defaults.methods[method] ) {
+ return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
+ } else if ( typeof method === 'object' || ! method ) {
+ return defaults.methods.init.apply( this, arguments );
+ } else {
+ $.error( 'Method ' + method + ' does not exist on jQuery.jqBootstrapValidation' );
+ return null;
+ }
+
+ };
+
+ $.jqBootstrapValidation = function (options) {
+ $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);
+ };
+
+})( jQuery );
A js/jquery.datepick.js
+2406 −0
--- /dev/null
+++ b/js/jquery.datepick.js
@@ -0,0 +1,2406 @@
+/*! http://keith-wood.name/datepick.html
+ Date picker for jQuery v5.1.1.
+ Written by Keith Wood (wood.keith{at}optusnet.com.au) February 2010.
+ Licensed under the MIT (http://keith-wood.name/licence.html) licence.
+ Please attribute the author if you use it. */
+
+(function($) { // Hide scope, no $ conflict
+ 'use strict';
+
+ var pluginName = 'datepick';
+
+
+ /** Create the datepicker plugin.
+ <p>Sets an input field to popup a calendar for date entry,
+ or a <code>div</code> or <code>span</code> to show an inline calendar.</p>
+ <p>Expects HTML like:</p>
+ <pre>&lt;input type="text"></pre>
+ <p>or</p>
+ <pre>&lt;div>&lt;/div></pre>
+ <p>Provide inline configuration like:</p>
+ <pre>&lt;input type="text" data-datepick="name: 'value',..."/></pre>
+ @module Datepick
+ @augments JQPlugin
+ @example $(selector).datepick()
+$(selector).datepick({minDate: 0, maxDate: '+1m +1w'}) */
+ $.JQPlugin.createPlugin({
+
+ /** The name of the plugin.
+ @default 'datepick' */
+ name: pluginName,
+
+ /** Default template for generating a datepicker.
+ Insert anywhere: '{l10n:name}' to insert localised value for name,
+ '{link:name}' to insert a link trigger for command name,
+ '{button:name}' to insert a button trigger for command name,
+ '{popup:start}...{popup:end}' to mark a section for inclusion in a popup datepicker only,
+ '{inline:start}...{inline:end}' to mark a section for inclusion in an inline datepicker only.
+ @property {string} picker Overall structure: '{months}' to insert calendar months.
+ @property {string} monthRow One row of months: '{months}' to insert calendar months.
+ @property {string} month A single month: '{monthHeader<em>:dateFormat</em>}' to insert the month header -
+ <em>dateFormat</em> is optional and defaults to 'MM yyyy',
+ '{weekHeader}' to insert a week header, '{weeks}' to insert the month's weeks.
+ @property {string} weekHeader A week header: '{days}' to insert individual day names.
+ @property {string} dayHeader Individual day header: '{day}' to insert day name.
+ @property {string} week One week of the month: '{days}' to insert the week's days,
+ '{weekOfYear}' to insert week of year.
+ @property {string} day An individual day: '{day}' to insert day value.
+ @property {string} monthSelector jQuery selector, relative to picker, for a single month.
+ @property {string} daySelector jQuery selector, relative to picker, for individual days.
+ @property {string} rtlClass Class for right-to-left (RTL) languages.
+ @property {string} multiClass Class for multi-month datepickers.
+ @property {string} defaultClass Class for selectable dates.
+ @property {string} selectedClass Class for currently selected dates.
+ @property {string} highlightedClass Class for highlighted dates.
+ @property {string} todayClass Class for today.
+ @property {string} otherMonthClass Class for days from other months.
+ @property {string} weekendClass Class for days on weekends.
+ @property {string} commandClass Class prefix for commands.
+ @property {string} commandButtonClass Extra class(es) for commands that are buttons.
+ @property {string} commandLinkClass Extra class(es) for commands that are links.
+ @property {string} disabledClass Class for disabled commands. */
+ defaultRenderer: {
+ picker: '<div class="datepick">' +
+ '<div class="datepick-nav">{link:prev}{link:today}{link:next}</div>{months}' +
+ '{popup:start}<div class="datepick-ctrl">{link:clear}{link:close}</div>{popup:end}' +
+ '<div class="datepick-clear-fix"></div></div>',
+ monthRow: '<div class="datepick-month-row">{months}</div>',
+ month: '<div class="datepick-month"><div class="datepick-month-header">{monthHeader}</div>' +
+ '<table><thead>{weekHeader}</thead><tbody>{weeks}</tbody></table></div>',
+ weekHeader: '<tr>{days}</tr>',
+ dayHeader: '<th>{day}</th>',
+ week: '<tr>{days}</tr>',
+ day: '<td>{day}</td>',
+ monthSelector: '.datepick-month',
+ daySelector: 'td',
+ rtlClass: 'datepick-rtl',
+ multiClass: 'datepick-multi',
+ defaultClass: '',
+ selectedClass: 'datepick-selected',
+ highlightedClass: 'datepick-highlight',
+ todayClass: 'datepick-today',
+ otherMonthClass: 'datepick-other-month',
+ weekendClass: 'datepick-weekend',
+ commandClass: 'datepick-cmd',
+ commandButtonClass: '',
+ commandLinkClass: '',
+ disabledClass: 'datepick-disabled'
+ },
+
+ /** Command actions that may be added to a layout by name.
+ <ul>
+ <li>prev - Show the previous month (based on <code>monthsToStep</code> option) - <em>PageUp</em></li>
+ <li>prevJump - Show the previous year (based on <code>monthsToJump</code> option) - <em>Ctrl+PageUp</em></li>
+ <li>next - Show the next month (based on <code>monthsToStep</code> option) - <em>PageDown</em></li>
+ <li>nextJump - Show the next year (based on <code>monthsToJump</code> option) - <em>Ctrl+PageDown</em></li>
+ <li>current - Show the currently selected month or today's if none selected - <em>Ctrl+Home</em></li>
+ <li>today - Show today's month - <em>Ctrl+Home</em></li>
+ <li>clear - Erase the date and close the datepicker popup - <em>Ctrl+End</em></li>
+ <li>close - Close the datepicker popup - <em>Esc</em></li>
+ <li>prevWeek - Move the cursor to the previous week - <em>Ctrl+Up</em></li>
+ <li>prevDay - Move the cursor to the previous day - <em>Ctrl+Left</em></li>
+ <li>nextDay - Move the cursor to the next day - <em>Ctrl+Right</em></li>
+ <li>nextWeek - Move the cursor to the next week - <em>Ctrl+Down</em></li>
+ </ul>
+ The command name is the key name and is used to add the command to a layout
+ with '{button:name}' or '{link:name}'. Each has the following attributes:
+ @property {string} text The field in the regional settings for the displayed text.
+ @property {string} status The field in the regional settings for the status text.
+ @property {object} keystroke The keystroke to trigger the action.
+ @property {number} keystroke.keyCode The code for the keystroke.
+ @property {boolean} keystroke.ctrlKey <code>true</code> if <em>Ctrl</em> is required,
+ @property {boolean} keystroke.altKey <code>true</code> if <em>Alt</em> is required,
+ @property {boolean} keystroke.shiftKey <code>true</code> if <em>Shift</em> is required.
+ @property {DatepickCommandEnabled} enabled The function that indicates the command is enabled.
+ @property {DatepickCommandDate} date The function to get the date associated with this action.
+ @property {DatepickCommandAction} action The function that implements the action. */
+ commands: {
+ prev: {text: 'prevText', status: 'prevStatus', // Previous month
+ keystroke: {keyCode: 33}, // Page up
+ enabled: function(inst) {
+ var minDate = inst.curMinDate();
+ return (!minDate || plugin.add(plugin.day(
+ plugin._applyMonthsOffset(plugin.add(plugin.newDate(inst.drawDate),
+ 1 - inst.options.monthsToStep, 'm'), inst), 1), -1, 'd').
+ getTime() >= minDate.getTime());
+ },
+ date: function(inst) {
+ return plugin.day(plugin._applyMonthsOffset(plugin.add(
+ plugin.newDate(inst.drawDate), -inst.options.monthsToStep, 'm'), inst), 1);
+ },
+ action: function(inst) {
+ plugin.changeMonth(this, -inst.options.monthsToStep);
+ }
+ },
+ prevJump: {text: 'prevJumpText', status: 'prevJumpStatus', // Previous year
+ keystroke: {keyCode: 33, ctrlKey: true}, // Ctrl + Page up
+ enabled: function(inst) {
+ var minDate = inst.curMinDate();
+ return (!minDate || plugin.add(plugin.day(
+ plugin._applyMonthsOffset(plugin.add(plugin.newDate(inst.drawDate),
+ 1 - inst.options.monthsToJump, 'm'), inst), 1), -1, 'd').
+ getTime() >= minDate.getTime());
+ },
+ date: function(inst) {
+ return plugin.day(plugin._applyMonthsOffset(plugin.add(
+ plugin.newDate(inst.drawDate), -inst.options.monthsToJump, 'm'), inst), 1);
+ },
+ action: function(inst) {
+ plugin.changeMonth(this, -inst.options.monthsToJump);
+ }
+ },
+ next: {text: 'nextText', status: 'nextStatus', // Next month
+ keystroke: {keyCode: 34}, // Page down
+ enabled: function(inst) {
+ var maxDate = inst.get('maxDate');
+ return (!maxDate || plugin.day(plugin._applyMonthsOffset(plugin.add(
+ plugin.newDate(inst.drawDate), inst.options.monthsToStep, 'm'), inst), 1).
+ getTime() <= maxDate.getTime());
+ },
+ date: function(inst) {
+ return plugin.day(plugin._applyMonthsOffset(plugin.add(
+ plugin.newDate(inst.drawDate), inst.options.monthsToStep, 'm'), inst), 1);
+ },
+ action: function(inst) {
+ plugin.changeMonth(this, inst.options.monthsToStep);
+ }
+ },
+ nextJump: {text: 'nextJumpText', status: 'nextJumpStatus', // Next year
+ keystroke: {keyCode: 34, ctrlKey: true}, // Ctrl + Page down
+ enabled: function(inst) {
+ var maxDate = inst.get('maxDate');
+ return (!maxDate || plugin.day(plugin._applyMonthsOffset(plugin.add(
+ plugin.newDate(inst.drawDate), inst.options.monthsToJump, 'm'), inst), 1).
+ getTime() <= maxDate.getTime());
+ },
+ date: function(inst) {
+ return plugin.day(plugin._applyMonthsOffset(plugin.add(
+ plugin.newDate(inst.drawDate), inst.options.monthsToJump, 'm'), inst), 1);
+ },
+ action: function(inst) {
+ plugin.changeMonth(this, inst.options.monthsToJump);
+ }
+ },
+ current: {text: 'currentText', status: 'currentStatus', // Current month
+ keystroke: {keyCode: 36, ctrlKey: true}, // Ctrl + Home
+ enabled: function(inst) {
+ var minDate = inst.curMinDate();
+ var maxDate = inst.get('maxDate');
+ var curDate = inst.selectedDates[0] || plugin.today();
+ return (!minDate || curDate.getTime() >= minDate.getTime()) &&
+ (!maxDate || curDate.getTime() <= maxDate.getTime());
+ },
+ date: function(inst) {
+ return inst.selectedDates[0] || plugin.today();
+ },
+ action: function(inst) {
+ var curDate = inst.selectedDates[0] || plugin.today();
+ plugin.showMonth(this, curDate.getFullYear(), curDate.getMonth() + 1);
+ }
+ },
+ today: {text: 'todayText', status: 'todayStatus', // Today's month
+ keystroke: {keyCode: 36, ctrlKey: true}, // Ctrl + Home
+ enabled: function(inst) {
+ var minDate = inst.curMinDate();
+ var maxDate = inst.get('maxDate');
+ return (!minDate || plugin.today().getTime() >= minDate.getTime()) &&
+ (!maxDate || plugin.today().getTime() <= maxDate.getTime());
+ },
+ date: function() { return plugin.today(); },
+ action: function() { plugin.showMonth(this); }
+ },
+ clear: {text: 'clearText', status: 'clearStatus', // Clear the datepicker
+ keystroke: {keyCode: 35, ctrlKey: true}, // Ctrl + End
+ enabled: function() { return true; },
+ date: function() { return null; },
+ action: function() { plugin.clear(this); }
+ },
+ close: {text: 'closeText', status: 'closeStatus', // Close the datepicker
+ keystroke: {keyCode: 27}, // Escape
+ enabled: function() { return true; },
+ date: function() { return null; },
+ action: function() { plugin.hide(this); }
+ },
+ prevWeek: {text: 'prevWeekText', status: 'prevWeekStatus', // Previous week
+ keystroke: {keyCode: 38, ctrlKey: true}, // Ctrl + Up
+ enabled: function(inst) {
+ var minDate = inst.curMinDate();
+ return (!minDate || plugin.add(plugin.newDate(inst.drawDate), -7, 'd').
+ getTime() >= minDate.getTime());
+ },
+ date: function(inst) { return plugin.add(plugin.newDate(inst.drawDate), -7, 'd'); },
+ action: function() { plugin.changeDay(this, -7); }
+ },
+ prevDay: {text: 'prevDayText', status: 'prevDayStatus', // Previous day
+ keystroke: {keyCode: 37, ctrlKey: true}, // Ctrl + Left
+ enabled: function(inst) {
+ var minDate = inst.curMinDate();
+ return (!minDate || plugin.add(plugin.newDate(inst.drawDate), -1, 'd').
+ getTime() >= minDate.getTime());
+ },
+ date: function(inst) { return plugin.add(plugin.newDate(inst.drawDate), -1, 'd'); },
+ action: function() { plugin.changeDay(this, -1); }
+ },
+ nextDay: {text: 'nextDayText', status: 'nextDayStatus', // Next day
+ keystroke: {keyCode: 39, ctrlKey: true}, // Ctrl + Right
+ enabled: function(inst) {
+ var maxDate = inst.get('maxDate');
+ return (!maxDate || plugin.add(plugin.newDate(inst.drawDate), 1, 'd').
+ getTime() <= maxDate.getTime());
+ },
+ date: function(inst) { return plugin.add(plugin.newDate(inst.drawDate), 1, 'd'); },
+ action: function() { plugin.changeDay(this, 1); }
+ },
+ nextWeek: {text: 'nextWeekText', status: 'nextWeekStatus', // Next week
+ keystroke: {keyCode: 40, ctrlKey: true}, // Ctrl + Down
+ enabled: function(inst) {
+ var maxDate = inst.get('maxDate');
+ return (!maxDate || plugin.add(plugin.newDate(inst.drawDate), 7, 'd').
+ getTime() <= maxDate.getTime());
+ },
+ date: function(inst) { return plugin.add(plugin.newDate(inst.drawDate), 7, 'd'); },
+ action: function() { plugin.changeDay(this, 7); }
+ }
+ },
+
+ /** Determine whether a {@linkcode module:Datepick~commands|command} is enabled.
+ @callback DatepickCommandEnabled
+ @global
+ @param {object} inst The current instance settings.
+ @return {boolean} <code>true</code> if this command is enabled, <code>false</code> if not.
+ @example enabled: function(inst) {
+ return !!inst.curMinDate();
+} */
+
+ /** Calculate the representative date for a {@linkcode module:Datepick~commands|command}.
+ @callback DatepickCommandDate
+ @global
+ @param {object} inst The current instance settings.
+ @return {Date} A date appropriate for this command.
+ @example date: function(inst) {
+ return inst.curMinDate();
+} */
+
+ /** Perform the action for a {@linkcode module:Datepick~commands|command}.
+ @callback DatepickCommandAction
+ @global
+ @param {object} inst The current instance settings.
+ @example action: function(inst) {
+ $.datepick.setDate(inst.elem, inst.curMinDate());
+} */
+
+ /** Calculate the week of the year for a date.
+ Use it with the {@linkcode module:Datepick~defaultOptions|calculateWeek} option.
+ @callback DatepickCalculateWeek
+ @global
+ @param {Date} date The date to evaluate.
+ @return {number} The week of the year.
+ @example calculateWeek: function(date) {
+ return Math.floor(($.datepick.dayOfYear(date) - 1) / 7) + 1;
+} */
+
+ /** Determine where the first month shows in a multi-month calendar.
+ Use it with the {@linkcode module:Datepick~defaultOptions|monthsOffset} option.
+ @callback DatepickMonthsOffset
+ @global
+ @param {Date} date The first date to be shown.
+ @return {number} The offset within the calendar for the first month - first position is 0.
+ @example monthsToShow: 3,
+monthsToStep: 3,
+monthsOffset: function(date) { // Always start on the quarter
+ return date.getMonth() % 3;
+} */
+
+ /** Provide information about an individual date shown in the calendar.
+ Use it with the {@linkcode module:Datepick~defaultOptions|onDate} option.
+ @callback DatepickOnDate
+ @global
+ @param {Date} date The date to evaluate.
+ @return {object} Information about that date, with the properties above.
+ @property selectable {boolean} <code>true</code> if this date can be selected.
+ @property dateClass {string} Class(es) to be applied to the date.
+ @property content {string} The date cell content.
+ @property tooltip {string} A popup tooltip for the date.
+ @example onDate: function(date) {
+ return {selectable: date.getDay() > 0 && date.getDay() &lt; 5,
+ dateClass: date.getDay() == 4 ? 'last-day' : ''};
+} */
+
+ /** Update the datepicker display.
+ Use it with the {@linkcode module:Datepick~defaultOptions|onShow} option.
+ @callback DatepickOnShow
+ @global
+ @param {jQuery} picker The datepicker <code>div</code> to be shown.
+ @param {object} inst The current instance settings.
+ @example onShow: function(picker, inst) {
+ picker.append('&lt;button type="button">Hi&lt;/button>').
+ find('button:last').click(function() {
+ alert('Hi!');
+ });
+} */
+
+ /** React to navigating through the months/years.
+ Use it with the {@linkcode module:Datepick~defaultOptions|onChangeMonthYear} option.
+ @callback DatepickOnChangeMonthYear
+ @global
+ @param {number} year The new year.
+ @param {number} month The new month (1 to 12).
+ @example onChangeMonthYear: function(year, month) {
+ alert('Now in ' + month + '/' + year);
+} */
+
+ /** Datepicker on select callback.
+ Triggered when a date is selected.
+ Use it with the {@linkcode module:Datepick~defaultOptions|onSelect} option.
+ @callback DatepickOnSelect
+ @global
+ @param {Date[]} dates The selected date(s).
+ @example onSelect: function(dates) {
+ alert('Selected ' + dates);
+} */
+
+ /** Datepicker on close callback.
+ Triggered when a popup calendar is closed.
+ Use it with the {@linkcode module:Datepick~defaultOptions|onClose} option.
+ @callback DatepickOnClose
+ @global
+ @param {Date[]} dates The selected date(s).
+ @example onClose: function(dates) {
+ alert('Selected ' + dates);
+} */
+
+ /** Default settings for the plugin.
+ @property {string} [pickerClass=''] CSS class to add to this instance of the datepicker.
+ @property {boolean} [showOnFocus=true] <code>true</code> for popup on focus, <code>false</code> for not.
+ @property {string|Element|jQuery} [showTrigger=null] Element to be cloned for a trigger,
+ <code>null</code> for none.
+ @property {string} [showAnim='show'] Name of jQuery animation for popup, '' for no animation.
+ @property {object} [showOptions=null] Options for enhanced animations.
+ @property {string|number} [showSpeed='normal'] Duration of display/closure, named value or milliseconds.
+ @property {string|Element|jQuery} [popupContainer=null] The element to which a popup calendar is added,
+ <code>null</code> for body.
+ @property {string} [alignment='bottom'] Alignment of popup - with nominated corner of input:
+ 'top' or 'bottom' aligns depending on language direction,
+ 'topLeft', 'topRight', 'bottomLeft', 'bottomRight'.
+ @property {boolean} [fixedWeeks=false] <code>true</code> to always show 6 weeks,
+ <code>false</code> to only show as many as are needed.
+ @property {number} [firstDay=0] First day of the week, 0 = Sunday, 1 = Monday, etc.
+ @property {DatepickCalculateWeek} [calculateWeek=this.iso8601Week] Calculate week of the year from a date,
+ <code>null</code> for ISO8601.
+ @property {number|number[]} [monthsToShow=1] How many months to show, cols or [rows, cols].
+ @property {number|DatepickMonthsOffset} [monthsOffset=0] How many months to offset the primary month by;
+ may be a function that takes the date and returns the offset.
+ @property {number} [monthsToStep=1] How many months to move when prev/next clicked.
+ @property {number} [monthsToJump=12] How many months to move when large prev/next clicked.
+ @property {boolean} [useMouseWheel=true] <code>true</code> to use mousewheel if available,
+ <code>false</code> to never use it.
+ @property {boolean} [changeMonth=true] <code>true</code> to change month/year via drop-down,
+ <code>false</code> for navigation only.
+ @property {string} [yearRange='c-10:c+10'] Range of years to show in drop-down: 'any' for direct text entry
+ or 'start:end', where start/end are '±nn' for relative to today
+ or 'c±nn' for relative to the currently selected date
+ or 'nnnn' for an absolute year.
+ @property {string|number} [shortYearCutoff='+10'] Cutoff for two-digit year in the current century.
+ If expressed as a string it is offset from the current year.
+ If expressed as a number it is used directly.
+ Use -1 to always use 1900 as the base year, or use 100 to disable the functionality.
+ Any short year ('yy') entered is transformed into a full year in the current century
+ if less than or equal to this cutoff value, and the previous century otherwise.
+ @property {boolean} [showOtherMonths=false] <code>true</code> to show dates from other months,
+ <code>false</code> to not show them.
+ @property {boolean} [selectOtherMonths=false] <code>true</code> to allow selection of dates
+ from other months too.
+ @property {string|number|Date} [defaultDate=null] Date to show if no other selected.
+ If expressed as a string it is parsed using the current
+ {@linkcode module:Datepick~regionalOptions|dateFormat}.
+ If expressed as a number it is offset that number of days from today.
+ If expressed as a <code>Date</code> it is used directly.
+ @property {boolean} [selectDefaultDate=false] <code>true</code> to pre-select the default date
+ if no other is chosen.
+ @property {string|number|Date} [minDate=null] The minimum selectable date.
+ See the allowed values in <code>defaultDate</code> above.
+ @property {string|number|Date} [maxDate=null] The maximum selectable date.
+ See the allowed values in <code>defaultDate</code> above.
+ @property {string} [dateFormat='mm/dd/yyyy'] Format for dates.
+ See {@linkcode module:Datepick~formatDate|formatDate} for allowed formats.
+ @property {boolean} [autoSize=false] <code>true</code> to size the input field according to
+ the {@linkcode module:Datepick~regionalOptions|dateFormat}.
+ @property {boolean} [rangeSelect=false] Allows for selecting a date range on one date picker.
+ @property {string} [rangeSeparator=' - '] Text between two dates in a range when displayed.
+ @property {number} [multiSelect=0] Maximum number of selectable dates for multiple independent dates,
+ zero for single select. If specified,
+ <code>multiSelect</code> takes precedence over <code>rangeSelect</code>.
+ @property {string} [multiSeparator=','] Text between multiple dates.
+ @property {DatepickOnDate} [onDate=null] Callback as each date is added to the display calendar.
+ This allows you to customise the behaviour and presentation of each date.
+ @property {DatepickOnShow} [onShow=null] Callback just before a datepicker is shown.
+ This allows you to customise the datepicker before display.
+ @property {DatepickOnChangeMonthYear} [onChangeMonthYear=null] Callback when a new month/year is selected.
+ This allows you to perform other actions when the calendar changes.
+ @property {DatepickOnSelect} [onSelect=null] Callback when a date is selected.
+ @property {DatepickOnClose} [onClose=null] Callback when a datepicker is closed.
+ @property {string|Element|jQuery} [altField=null] Alternate field to update in synch with the datepicker.
+ @property {string} [altFormat=null] Date format for alternate field, defaults to
+ {@linkcode module:Datepick~regionalOptions|dateFormat}.
+ This allows you to display one (human-friendly) format,
+ while automatically maintaining another (computer-friendly) format.
+ @property {boolean} [constrainInput=true] <code>true</code> to constrain typed input to
+ {@linkcode module:Datepick~regionalOptions|dateFormat} allowed characters.
+ @property {boolean} [commandsAsDateFormat=false] <code>true</code> to apply
+ {@linkcode module:Datepick~formatDate|formatDate} to the command texts.
+ @property {object} [commands=this.commands] Command actions that may be added to a layout by name. */
+ defaultOptions: {
+ pickerClass: '',
+ showOnFocus: true,
+ showTrigger: null,
+ showAnim: 'show',
+ showOptions: {},
+ showSpeed: 'normal',
+ popupContainer: null,
+ alignment: 'bottom',
+ fixedWeeks: false,
+ firstDay: 0,
+ calculateWeek: null, // this.iso8601Week,
+ monthsToShow: 1,
+ monthsOffset: 0,
+ monthsToStep: 1,
+ monthsToJump: 12,
+ useMouseWheel: true,
+ changeMonth: true,
+ yearRange: 'c-10:c+10',
+ shortYearCutoff: '+10',
+ showOtherMonths: false,
+ selectOtherMonths: false,
+ defaultDate: null,
+ selectDefaultDate: false,
+ minDate: null,
+ maxDate: null,
+ dateFormat: 'mm/dd/yyyy',
+ autoSize: false,
+ rangeSelect: false,
+ rangeSeparator: ' - ',
+ multiSelect: 0,
+ multiSeparator: ',',
+ onDate: null,
+ onShow: null,
+ onChangeMonthYear: null,
+ onSelect: null,
+ onClose: null,
+ altField: null,
+ altFormat: null,
+ constrainInput: true,
+ commandsAsDateFormat: false,
+ commands: {} // this.commands
+ },
+
+ /** Localisations for the plugin.
+ Entries are objects indexed by the language code ('' being the default US/English).
+ Each object has the following attributes.
+ @property {string[]} [monthNames=['January','February',...,'November','December']]
+ The long names of the months.
+ @property {string[]} [monthNamesShort=['Jan','Feb',...,'Nov','Dec']]
+ The short names of the months.
+ @property {string[]} [dayNames=['Sunday','Monday',...,'Friday','Saturday']]
+ The long names of the days of the week.
+ @property {string[]} [dayNamesShort=['Sun','Mon','Tue','Wed','Thu','Fri','Sat']]
+ The short names of the days of the week.
+ @property {string[]} [dayNamesMin=['Su','Mo','Tu','We','Th','Fr','Sa']]
+ The minimal names of the days of the week.
+ @property {string} [dateFormat='mm/dd/yyyy'] See options on {@linkcode module:Datepick~formatDate|formatDate}.
+ @property {number} [firstDay=0] The first day of the week, Sun = 0, Mon = 1, etc.
+ @property {string} [renderer=this.defaultRenderer] The rendering templates.
+ @property {string} [prevText='&lt;Prev'] Text for the previous month command.
+ @property {string} [prevStatus='Show the previous month'] Status text for the previous month command.
+ @property {string} [prevJumpText='&lt;&lt;'] Text for the previous year command.
+ @property {string} [prevJumpStatus='Show the previous year'] Status text for the previous year command.
+ @property {string} [nextText='Next&gt;'] Text for the next month command.
+ @property {string} [nextStatus='Show the next month'] Status text for the next month command.
+ @property {string} [nextJumpText='&gt;&gt;'] Text for the next year command.
+ @property {string} [nextJumpStatus='Show the next year'] Status text for the next year command.
+ @property {string} [currentText='Current'] Text for the current month command.
+ @property {string} [currentStatus='Show the current month'] Status text for the current month command.
+ @property {string} [todayText='Today'] Text for the today's month command.
+ @property {string} [todayStatus='Show today\'s month'] Status text for the today's month command.
+ @property {string} [clearText='Clear'] Text for the clear command.
+ @property {string} [clearStatus='Clear all the dates'] Status text for the clear command.
+ @property {string} [closeText='Close'] Text for the close command.
+ @property {string} [closeStatus='Close the datepicker'] Status text for the close command.
+ @property {string} [yearStatus='Change the year'] Status text for year selection.
+ @property {string} [earlierText='&#160;&#160;â–²'] Text for earlier years.
+ @property {string} [laterText='&#160;&#160;â–¼'] Text for later years.
+ @property {string} [monthStatus='Change the month'] Status text for month selection.
+ @property {string} [weekText='Wk'] Text for week of the year column header.
+ @property {string} [weekStatus='Week of the year'] Status text for week of the year column header.
+ @property {string} [dayStatus='Select DD,&#160;M&#160;d,&#160;yyyy'] Status text for selectable days.
+ @property {string} [defaultStatus='Select a date'] Status text shown by default.
+ @property {boolean} [isRTL=false] <code>true</code> if language is written right-to-left. */
+ regionalOptions: { // Available regional settings, indexed by language/country code
+ '': { // Default regional settings - English/US
+ monthNames: ['January', 'February', 'March', 'April', 'May', 'June',
+ 'July', 'August', 'September', 'October', 'November', 'December'],
+ monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+ dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+ dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+ dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
+ dateFormat: 'mm/dd/yyyy',
+ firstDay: 0,
+ renderer: {}, // this.defaultRenderer
+ prevText: '&lt;Prev',
+ prevStatus: 'Show the previous month',
+ prevJumpText: '&lt;&lt;',
+ prevJumpStatus: 'Show the previous year',
+ nextText: 'Next&gt;',
+ nextStatus: 'Show the next month',
+ nextJumpText: '&gt;&gt;',
+ nextJumpStatus: 'Show the next year',
+ currentText: 'Current',
+ currentStatus: 'Show the current month',
+ todayText: 'Today',
+ todayStatus: 'Show today\'s month',
+ clearText: 'Clear',
+ clearStatus: 'Clear all the dates',
+ closeText: 'Close',
+ closeStatus: 'Close the datepicker',
+ yearStatus: 'Change the year',
+ earlierText: '&#160;&#160;â–²',
+ laterText: '&#160;&#160;â–¼',
+ monthStatus: 'Change the month',
+ weekText: 'Wk',
+ weekStatus: 'Week of the year',
+ dayStatus: 'Select DD, M d, yyyy',
+ defaultStatus: 'Select a date',
+ isRTL: false
+ }
+ },
+
+ _disabled: [],
+
+ _popupClass: pluginName + '-popup', // Marker for popup division
+ _triggerClass: pluginName + '-trigger', // Marker for trigger element
+ _disableClass: pluginName + '-disable', // Marker for disabled element
+ _monthYearClass: pluginName + '-month-year', // Marker for month/year inputs
+ _curMonthClass: pluginName + '-month-', // Marker for current month/year
+ _anyYearClass: pluginName + '-any-year', // Marker for year direct input
+ _curDoWClass: pluginName + '-dow-', // Marker for day of week
+
+ _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
+ Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
+ _msPerDay: 24 * 60 * 60 * 1000,
+
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with Atom (RFC 3339/ISO 8601): yyyy-mm-dd. */
+ ATOM: 'yyyy-mm-dd',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with cookies: D, dd M yyyy. */
+ COOKIE: 'D, dd M yyyy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for full display: DD, MM d, yyyy. */
+ FULL: 'DD, MM d, yyyy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with ISO 8601: yyyy-mm-dd. */
+ ISO_8601: 'yyyy-mm-dd',
+ /** The {@linkcode module:Datepick~formatDate|date format} for Julian dates: J. */
+ JULIAN: 'J',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with RFC 822: D, d M yy. */
+ RFC_822: 'D, d M yy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with RFC 850: DD, dd-M-yy. */
+ RFC_850: 'DD, dd-M-yy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with RFC 1036: D, d M yy. */
+ RFC_1036: 'D, d M yy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with RFC 1123: D, d M yyyy. */
+ RFC_1123: 'D, d M yyyy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with RFC 2822: D, d M yyyy. */
+ RFC_2822: 'D, d M yyyy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with RSS (RFC 822): D, d M yy. */
+ RSS: 'D, d M yy',
+ /** The {@linkcode module:Datepick~formatDate|date format} for Windows ticks: !. */
+ TICKS: '!',
+ /** The {@linkcode module:Datepick~formatDate|date format} for Unix timestamp: @. */
+ TIMESTAMP: '@',
+ /** The {@linkcode module:Datepick~formatDate|date format} for use with W3C (ISO 8601): yyyy-mm-dd. */
+ W3C: 'yyyy-mm-dd',
+
+ /** Format a date object into a string value.
+ The format can be combinations of the following:
+ <ul>
+ <li>d - day of month (no leading zero)</li>
+ <li>dd - day of month (two digit)</li>
+ <li>o - day of year (no leading zeros)</li>
+ <li>oo - day of year (three digit)</li>
+ <li>D - day name short</li>
+ <li>DD - day name long</li>
+ <li>w - week of year (no leading zero)</li>
+ <li>ww - week of year (two digit)</li>
+ <li>m - month of year (no leading zero)</li>
+ <li>mm - month of year (two digit)</li>
+ <li>M - month name short</li>
+ <li>MM - month name long</li>
+ <li>yy - year (two digit)</li>
+ <li>yyyy - year (four digit)</li>
+ <li>@ - Unix timestamp (s since 01/01/1970)</li>
+ <li>! - Windows ticks (100ns since 01/01/0001)</li>
+ <li>'...' - literal text</li>
+ <li>'' - single quote</li>
+ </ul>
+ @param {string} [format=defaultOptions.dateFormat] The desired format of the date.
+ @param {Date} date The date value to format.
+ @param {object} [settings] With these properties:
+ @param {string[]} [settings.dayNames] Names of the days from Sunday.
+ @param {string[]} [settings.dayNamesShort] Abbreviated names of the days from Sunday.
+ @param {string[]} [settings.monthNames] Names of the months.
+ @param {string[]} [settings.monthNamesShort] Abbreviated names of the months.
+ @param {DatepickCalculateWeek} [settings.calculateWeek] Function that determines week of the year.
+ @return {string} The date in the above format.
+ @example var display = $.datepick.formatDate('yyyy-mm-dd', new Date(2014, 12-1, 25)) */
+ formatDate: function(format, date, settings) {
+ if (typeof format !== 'string') {
+ settings = date;
+ date = format;
+ format = '';
+ }
+ if (!date) {
+ return '';
+ }
+ format = format || this.defaultOptions.dateFormat;
+ settings = settings || {};
+ var dayNamesShort = settings.dayNamesShort || this.defaultOptions.dayNamesShort;
+ var dayNames = settings.dayNames || this.defaultOptions.dayNames;
+ var monthNamesShort = settings.monthNamesShort || this.defaultOptions.monthNamesShort;
+ var monthNames = settings.monthNames || this.defaultOptions.monthNames;
+ var calculateWeek = settings.calculateWeek || this.defaultOptions.calculateWeek;
+ // Check whether a format character is doubled
+ var doubled = function(match, step) {
+ var matches = 1;
+ while (iFormat + matches < format.length && format.charAt(iFormat + matches) === match) {
+ matches++;
+ }
+ iFormat += matches - 1;
+ return Math.floor(matches / (step || 1)) > 1;
+ };
+ // Format a number, with leading zeroes if necessary
+ var formatNumber = function(match, value, len, step) {
+ var num = '' + value;
+ if (doubled(match, step)) {
+ while (num.length < len) {
+ num = '0' + num;
+ }
+ }
+ return num;
+ };
+ // Format a name, short or long as requested
+ var formatName = function(match, value, shortNames, longNames) {
+ return (doubled(match) ? longNames[value] : shortNames[value]);
+ };
+ var output = '';
+ var literal = false;
+ for (var iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === '\'' && !doubled('\'')) {
+ literal = false;
+ }
+ else {
+ output += format.charAt(iFormat);
+ }
+ }
+ else {
+ switch (format.charAt(iFormat)) {
+ case 'd':
+ output += formatNumber('d', date.getDate(), 2);
+ break;
+ case 'D':
+ output += formatName('D', date.getDay(), dayNamesShort, dayNames);
+ break;
+ case 'o':
+ output += formatNumber('o', this.dayOfYear(date), 3);
+ break;
+ case 'w':
+ output += formatNumber('w', calculateWeek(date), 2);
+ break;
+ case 'm':
+ output += formatNumber('m', date.getMonth() + 1, 2);
+ break;
+ case 'M':
+ output += formatName('M', date.getMonth(), monthNamesShort, monthNames);
+ break;
+ case 'y':
+ output += (doubled('y', 2) ? date.getFullYear() :
+ (date.getFullYear() % 100 < 10 ? '0' : '') + date.getFullYear() % 100);
+ break;
+ case '@':
+ output += Math.floor(date.getTime() / 1000);
+ break;
+ case '!':
+ output += date.getTime() * 10000 + this._ticksTo1970;
+ break;
+ case '\'':
+ if (doubled('\'')) {
+ output += '\'';
+ }
+ else {
+ literal = true;
+ }
+ break;
+ default:
+ output += format.charAt(iFormat);
+ }
+ }
+ }
+ return output;
+ },
+
+ /** Parse a string value into a date object.
+ See {@linkcode module:Datepick~formatDate|formatDate} for the possible formats, plus:
+ <ul>
+ <li>* - ignore rest of string</li>
+ </ul>
+ @param {string} format The expected format of the date ('' for default datepicker format).
+ @param {string} value The date in the above format.
+ @param {object} [settings] With these properties:
+ @param {number} [settings.shortYearCutoff] The cutoff year for determining the century.
+ @param {string[]} [settings.dayNames] The names of the days from Sunday.
+ @param {string[]} [settings.dayNamesShort] The abbreviated names of the days from Sunday.
+ @param {string[]} [settings.monthNames] The Names of the months.
+ @param {string[]} [settings.monthNamesShort] The abbreviated names of the months.
+ @return {Date} The extracted date value or <code>null</code> if value is blank.
+ @throws Errors if the format and/or value are missing, if the value doesn't match the format,
+ or if the date is invalid.
+ @example var date = $.datepick.parseDate('dd/mm/yyyy', '25/12/2014') */
+ parseDate: function(format, value, settings) {
+ if (typeof value === 'undefined' || value === null) {
+ throw 'Invalid arguments';
+ }
+ value = (typeof value === 'object' ? value.toString() : value + '');
+ if (value === '') {
+ return null;
+ }
+ format = format || this.defaultOptions.dateFormat;
+ settings = settings || {};
+ var shortYearCutoff = settings.shortYearCutoff || this.defaultOptions.shortYearCutoff;
+ shortYearCutoff = (typeof shortYearCutoff !== 'string' ? shortYearCutoff :
+ this.today().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
+ var dayNamesShort = settings.dayNamesShort || this.defaultOptions.dayNamesShort;
+ var dayNames = settings.dayNames || this.defaultOptions.dayNames;
+ var monthNamesShort = settings.monthNamesShort || this.defaultOptions.monthNamesShort;
+ var monthNames = settings.monthNames || this.defaultOptions.monthNames;
+ var year = -1;
+ var month = -1;
+ var day = -1;
+ var doy = -1;
+ var shortYear = false;
+ var literal = false;
+ var date = null;
+ // Check whether a format character is doubled
+ var doubled = function(match, step) {
+ var matches = 1;
+ while (iFormat + matches < format.length && format.charAt(iFormat + matches) === match) {
+ matches++;
+ }
+ iFormat += matches - 1;
+ return Math.floor(matches / (step || 1)) > 1;
+ };
+ // Extract a number from the string value
+ var getNumber = function(match, step) {
+ var isDoubled = doubled(match, step);
+ var size = [2, 3, isDoubled ? 4 : 2, 11, 20]['oy@!'.indexOf(match) + 1];
+ var digits = new RegExp('^-?\\d{1,' + size + '}');
+ var num = value.substring(iValue).match(digits);
+ if (!num) {
+ throw 'Missing number at position {0}'.replace(/\{0\}/, iValue);
+ }
+ iValue += num[0].length;
+ return parseInt(num[0], 10);
+ };
+ // Extract a name from the string value and convert to an index
+ var getName = function(match, shortNames, longNames, step) {
+ var names = (doubled(match, step) ? longNames : shortNames);
+ for (var i = 0; i < names.length; i++) {
+ if (value.substr(iValue, names[i].length).toLowerCase() === names[i].toLowerCase()) {
+ iValue += names[i].length;
+ return i + 1;
+ }
+ }
+ throw 'Unknown name at position {0}'.replace(/\{0\}/, iValue);
+ };
+ // Confirm that a literal character matches the string value
+ var checkLiteral = function() {
+ if (value.charAt(iValue) !== format.charAt(iFormat)) {
+ throw 'Unexpected literal at position {0}'.replace(/\{0\}/, iValue);
+ }
+ iValue++;
+ };
+ var iValue = 0;
+ for (var iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === '\'' && !doubled('\'')) {
+ literal = false;
+ }
+ else {
+ checkLiteral();
+ }
+ }
+ else {
+ switch (format.charAt(iFormat)) {
+ case 'd':
+ day = getNumber('d');
+ break;
+ case 'D':
+ getName('D', dayNamesShort, dayNames);
+ break;
+ case 'o':
+ doy = getNumber('o');
+ break;
+ case 'w':
+ getNumber('w');
+ break;
+ case 'm':
+ month = getNumber('m');
+ break;
+ case 'M':
+ month = getName('M', monthNamesShort, monthNames);
+ break;
+ case 'y':
+ var iSave = iFormat;
+ shortYear = !doubled('y', 2);
+ iFormat = iSave;
+ year = getNumber('y', 2);
+ break;
+ case '@':
+ date = this._normaliseDate(new Date(getNumber('@') * 1000));
+ year = date.getFullYear();
+ month = date.getMonth() + 1;
+ day = date.getDate();
+ break;
+ case '!':
+ date = this._normaliseDate(
+ new Date((getNumber('!') - this._ticksTo1970) / 10000));
+ year = date.getFullYear();
+ month = date.getMonth() + 1;
+ day = date.getDate();
+ break;
+ case '*':
+ iValue = value.length;
+ break;
+ case '\'':
+ if (doubled('\'')) {
+ checkLiteral();
+ }
+ else {
+ literal = true;
+ }
+ break;
+ default:
+ checkLiteral();
+ }
+ }
+ }
+ if (iValue < value.length) {
+ throw 'Additional text found at end';
+ }
+ if (year === -1) {
+ year = this.today().getFullYear();
+ }
+ else if (year < 100 && shortYear) {
+ year += (shortYearCutoff === -1 ? 1900 : this.today().getFullYear() -
+ this.today().getFullYear() % 100 - (year <= shortYearCutoff ? 0 : 100));
+ }
+ if (doy > -1) {
+ month = 1;
+ day = doy;
+ for (var dim = this.daysInMonth(year, month); day > dim;
+ dim = this.daysInMonth(year, month)) {
+ month++;
+ day -= dim;
+ }
+ }
+ date = this.newDate(year, month, day);
+ if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
+ throw 'Invalid date';
+ }
+ return date;
+ },
+
+ /** A date may be specified as an exact value or a relative one.
+ @param {Date|number|string} dateSpec The date as a <code>Date</code>,
+ or as a string in the current {@linkcode module:Datepick~regionalOptions|dateFormat},
+ or as a numeric offset - in days from today,
+ or as a string of amounts and periods, e.g. '+1m +2w',
+ using 'd' for days, 'w' for weeks, 'm' for months, and 'y' for years.
+ @param {Date} [defaultDate] The date to use if no other supplied, may be <code>null</code>.
+ @param {Date} [currentDate] The current date as a possible basis for relative dates,
+ if <code>null</code> today is used.
+ @param {string} [dateFormat] The expected date format - see {@linkcode module:Datepick~formatDate|formatDate}.
+ @param {object} [settings] With these properties:
+ @param {number} [settings.shortYearCutoff] The cutoff year for determining the century.
+ @param {string[]} [settings.dayNamesShort] Abbreviated names of the days from Sunday.
+ @param {string[]} [settings.dayNames] Names of the days from Sunday.
+ @param {string[]} [settings.monthNamesShort] Abbreviated names of the months.
+ @param {string[]} [settings.monthNames] Names of the months.
+ @return {Date} The decoded date.
+ @example var date = $.datepick.determineDate('+1m +2w', new Date()) */
+ determineDate: function(dateSpec, defaultDate, currentDate, dateFormat, settings) {
+ if (currentDate && typeof currentDate !== 'object') {
+ settings = dateFormat;
+ dateFormat = currentDate;
+ currentDate = null;
+ }
+ if (typeof dateFormat !== 'string') {
+ settings = dateFormat;
+ dateFormat = '';
+ }
+ var offsetString = function(offset) {
+ try {
+ return plugin.parseDate(dateFormat, offset, settings);
+ }
+ catch (e) {
+ // Ignore
+ }
+ offset = offset.toLowerCase();
+ var date = (offset.match(/^c/) && currentDate ? plugin.newDate(currentDate) : null) ||
+ plugin.today();
+ var pattern = /([+-]?[0-9]+)\s*(d|w|m|y)?/g;
+ var matches = null;
+ while ((matches = pattern.exec(offset))) {
+ date = plugin.add(date, parseInt(matches[1], 10), matches[2] || 'd');
+ }
+ return date;
+ };
+ defaultDate = (defaultDate ? plugin.newDate(defaultDate) : null);
+ dateSpec = (typeof dateSpec === 'undefined' ? defaultDate :
+ (typeof dateSpec === 'string' ? offsetString(dateSpec) : (typeof dateSpec === 'number' ?
+ (isNaN(dateSpec) || dateSpec === Infinity || dateSpec === -Infinity ? defaultDate :
+ plugin.add(plugin.today(), dateSpec, 'd')) : plugin.newDate(dateSpec))));
+ return dateSpec;
+ },
+
+ /** Find the number of days in a given month.
+ @param {Date|number} year The date to get days for or the full year.
+ @param {number} [month] The month (1 to 12), if the year is a number.
+ @return {number} The number of days in this month.
+ @example var days = $.datepick.daysInMonth(2014, 12)
+var days = $.datepick.daysInMonth(new Date(2014, 12-1, 25)) */
+ daysInMonth: function(year, month) {
+ month = (year.getFullYear ? year.getMonth() + 1 : month);
+ year = (year.getFullYear ? year.getFullYear() : year);
+ return this.newDate(year, month + 1, 0).getDate();
+ },
+
+ /** Calculate the day of the year for a date.
+ @param {Date|number} year The date to get the day-of-year for or the full year.
+ @param {number} [month] The month (1-12), if the year is a number.
+ @param {number} [day] The day, if the year is a number.
+ @return {number} The day of the year.
+ @example var doy = $.datepick.dayOfYear(2014, 12, 25)
+var doy = $.datepick.dayOfYear(new Date(2014, 12-1, 25)) */
+ dayOfYear: function(year, month, day) {
+ var date = (year.getFullYear ? year : plugin.newDate(year, month, day));
+ var newYear = plugin.newDate(date.getFullYear(), 1, 1);
+ return Math.floor((date.getTime() - newYear.getTime()) / plugin._msPerDay) + 1;
+ },
+
+ /** Set as <code>calculateWeek</code> to determine the week of the year based on the ISO 8601 definition.
+ @param {Date|number} year The date to get the week for or the full year.
+ @param {number} [month] The month (1-12), if the year is a number.
+ @param {number} [day] The day, if the year is a number.
+ @return {number} The number of the week within the year that contains this date.
+ @example var week = $.datepick.iso8601Week(2014, 12, 25)
+var week = $.datepick.iso8601Week(new Date(2014, 12-1, 25)) */
+ iso8601Week: function(year, month, day) {
+ var checkDate = (year.getFullYear ?
+ new Date(year.getTime()) : plugin.newDate(year, month, day));
+ // Find Thursday of this week starting on Monday
+ checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
+ var time = checkDate.getTime();
+ checkDate.setMonth(0, 1); // Compare with Jan 1
+ return Math.floor(Math.round((time - checkDate) / plugin._msPerDay) / 7) + 1;
+ },
+
+ /** Return today's date.
+ @return {Date} Today.
+ @example var today = $.datepick.today() */
+ today: function() {
+ return this._normaliseDate(new Date());
+ },
+
+ /** Return a new date.
+ @param {Date|number} year The date to clone or the year.
+ @param {number} [month] The month (1-12), if the year is a number.
+ @param {number} [day] The day, if the year is a number.
+ @return {Date} The date.
+ @example $.datepick.newDate(oldDate)
+$.datepick.newDate(2014, 12, 25) */
+ newDate: function(year, month, day) {
+ return (!year ? null : (year.getFullYear ? this._normaliseDate(new Date(year.getTime())) :
+ new Date(year, month - 1, day, 12)));
+ },
+
+ /** Standardise a date into a common format - time portion is 12 noon.
+ @private
+ @param {Date} date The date to standardise.
+ @return {Date} The normalised date. */
+ _normaliseDate: function(date) {
+ if (date) {
+ date.setHours(12, 0, 0, 0);
+ }
+ return date;
+ },
+
+ /** Set the year for a date.
+ @param {Date} date The original date.
+ @param {number} year The new year.
+ @return {Date} The updated date.
+ @example $.datepick.year(date, 2014) */
+ year: function(date, year) {
+ date.setFullYear(year);
+ return this._normaliseDate(date);
+ },
+
+ /** Set the month for a date.
+ @param {Date} date The original date.
+ @param {number} month The new month (1-12).
+ @return {Date} The updated date.
+ @example $.datepick.month(date, 12) */
+ month: function(date, month) {
+ date.setMonth(month - 1);
+ return this._normaliseDate(date);
+ },
+
+ /** Set the day for a date.
+ @param {Date} date The original date.
+ @param {number} day The new day of the month.
+ @return {Date} The updated date.
+ @example $.datepick.day(date, 25) */
+ day: function(date, day) {
+ date.setDate(day);
+ return this._normaliseDate(date);
+ },
+
+ /** Add a number of periods to a date.
+ @param {Date} date The original date.
+ @param {number} amount The number of periods.
+ @param {string} period The type of period 'd' for days, 'w' for weeks, 'm' for months, 'y' for years.
+ @return {Date} The updated date.
+ @example $.datepick.add(date, 10, 'd') */
+ add: function(date, amount, period) {
+ if (period === 'd' || period === 'w') {
+ this._normaliseDate(date);
+ date.setDate(date.getDate() + amount * (period === 'w' ? 7 : 1));
+ }
+ else {
+ var year = date.getFullYear() + (period === 'y' ? amount : 0);
+ var month = date.getMonth() + (period === 'm' ? amount : 0);
+ date.setTime(plugin.newDate(year, month + 1,
+ Math.min(date.getDate(), this.daysInMonth(year, month + 1))).getTime());
+ }
+ return date;
+ },
+
+ /** Apply the months offset value to a date.
+ @private
+ @param {Date} date The original date.
+ @param {object} inst The current instance settings.
+ @return {Date} The updated date. */
+ _applyMonthsOffset: function(date, inst) {
+ var monthsOffset = inst.options.monthsOffset;
+ if ($.isFunction(monthsOffset)) {
+ monthsOffset = monthsOffset.apply(inst.elem[0], [date]);
+ }
+ return plugin.add(date, -monthsOffset, 'm');
+ },
+
+ _init: function() {
+ this.defaultOptions.commands = this.commands;
+ this.defaultOptions.calculateWeek = this.iso8601Week;
+ this.regionalOptions[''].renderer = this.defaultRenderer;
+ this._super();
+ },
+
+ _instSettings: function(elem) {
+ return {selectedDates: [], drawDate: null, pickingRange: false,
+ inline: ($.inArray(elem[0].nodeName.toLowerCase(), ['div', 'span']) > -1),
+ get: function(name) { // Get a setting value, computing if necessary
+ if ($.inArray(name, ['defaultDate', 'minDate', 'maxDate']) > -1) { // Decode date settings
+ return plugin.determineDate(this.options[name], null,
+ this.selectedDates[0], this.options.dateFormat, this.getConfig());
+ }
+ return this.options[name];
+ },
+ curMinDate: function() {
+ return (this.pickingRange ? this.selectedDates[0] : this.get('minDate'));
+ },
+ getConfig: function() {
+ return {dayNamesShort: this.options.dayNamesShort, dayNames: this.options.dayNames,
+ monthNamesShort: this.options.monthNamesShort, monthNames: this.options.monthNames,
+ calculateWeek: this.options.calculateWeek,
+ shortYearCutoff: this.options.shortYearCutoff};
+ }
+ };
+ },
+
+ _postAttach: function(elem, inst) {
+ if (inst.inline) {
+ inst.drawDate = plugin._checkMinMax(plugin.newDate(inst.selectedDates[0] ||
+ inst.get('defaultDate') || plugin.today()), inst);
+ inst.prevDate = plugin.newDate(inst.drawDate);
+ this._update(elem[0]);
+ if ($.fn.mousewheel) {
+ elem.mousewheel(this._doMouseWheel);
+ }
+ }
+ else {
+ this._attachments(elem, inst);
+ elem.on('keydown.' + inst.name, this._keyDown).on('keypress.' + inst.name, this._keyPress).
+ on('keyup.' + inst.name, this._keyUp);
+ if (elem.attr('disabled')) {
+ this.disable(elem[0]);
+ }
+ }
+ },
+
+ _optionsChanged: function(elem, inst, options) {
+ if (options.calendar && options.calendar !== inst.options.calendar) {
+ var discardDate = function(name) {
+ return (typeof inst.options[name] === 'object' ? null : inst.options[name]);
+ };
+ options = $.extend({defaultDate: discardDate('defaultDate'),
+ minDate: discardDate('minDate'), maxDate: discardDate('maxDate')}, options);
+ inst.selectedDates = [];
+ inst.drawDate = null;
+ }
+ var dates = inst.selectedDates;
+ $.extend(inst.options, options);
+ this.setDate(elem[0], dates, null, false, true);
+ inst.pickingRange = false;
+ inst.drawDate = plugin.newDate(this._checkMinMax(
+ (inst.options.defaultDate ? inst.get('defaultDate') : inst.drawDate) ||
+ inst.get('defaultDate') || plugin.today(), inst));
+ if (!inst.inline) {
+ this._attachments(elem, inst);
+ }
+ if (inst.inline || inst.div) {
+ this._update(elem[0]);
+ }
+ },
+
+ /** Attach events and trigger, if necessary.
+ @private
+ @param {jQuery} elem The control to affect.
+ @param {object} inst The current instance settings. */
+ _attachments: function(elem, inst) {
+ elem.off('focus.' + inst.name);
+ if (inst.options.showOnFocus) {
+ elem.on('focus.' + inst.name, this.show);
+ }
+ if (inst.trigger) {
+ inst.trigger.remove();
+ }
+ var trigger = inst.options.showTrigger;
+ inst.trigger = (!trigger ? $([]) :
+ $(trigger).clone().removeAttr('id').addClass(this._triggerClass)
+ [inst.options.isRTL ? 'insertBefore' : 'insertAfter'](elem).
+ click(function() {
+ if (!plugin.isDisabled(elem[0])) {
+ plugin[plugin.curInst === inst ? 'hide' : 'show'](elem[0]);
+ }
+ }));
+ this._autoSize(elem, inst);
+ var dates = this._extractDates(inst, elem.val());
+ if (dates) {
+ this.setDate(elem[0], dates, null, true);
+ }
+ var defaultDate = inst.get('defaultDate');
+ if (inst.options.selectDefaultDate && defaultDate && inst.selectedDates.length === 0) {
+ this.setDate(elem[0], plugin.newDate(defaultDate || plugin.today()));
+ }
+ },
+
+ /** Apply the maximum length for the date format.
+ @private
+ @param {jQuery} elem The control to affect.
+ @param {object} inst The current instance settings. */
+ _autoSize: function(elem, inst) {
+ if (inst.options.autoSize && !inst.inline) {
+ var date = plugin.newDate(2009, 10, 20); // Ensure double digits
+ var dateFormat = inst.options.dateFormat;
+ if (dateFormat.match(/[DM]/)) {
+ var findMax = function(names) {
+ var max = 0;
+ var maxI = 0;
+ for (var i = 0; i < names.length; i++) {
+ if (names[i].length > max) {
+ max = names[i].length;
+ maxI = i;
+ }
+ }
+ return maxI;
+ };
+ date.setMonth(findMax(inst.options[dateFormat.match(/MM/) ? // Longest month
+ 'monthNames' : 'monthNamesShort']));
+ date.setDate(findMax(inst.options[dateFormat.match(/DD/) ? // Longest day
+ 'dayNames' : 'dayNamesShort']) + 20 - date.getDay());
+ }
+ inst.elem.attr('size', plugin.formatDate(dateFormat, date, inst.getConfig()).length);
+ }
+ },
+
+ _preDestroy: function(elem, inst) {
+ if (inst.trigger) {
+ inst.trigger.remove();
+ }
+ elem.empty().off('.' + inst.name);
+ if (inst.inline && $.fn.mousewheel) {
+ elem.unmousewheel();
+ }
+ if (!inst.inline && inst.options.autoSize) {
+ elem.removeAttr('size');
+ }
+ },
+
+ /** Apply multiple event functions.
+ @param {function} fns The functions to apply.
+ @example onShow: $.datepick.multipleEvents(fn1, fn2, ...) */
+ multipleEvents: function() {
+ var funcs = arguments;
+ return function() {
+ for (var i = 0; i < funcs.length; i++) {
+ funcs[i].apply(this, arguments);
+ }
+ };
+ },
+
+ /** Enable the control.
+ @param {Element} elem The control to affect.
+ @example $(selector).datepick('enable') */
+ enable: function(elem) {
+ elem = $(elem);
+ if (!elem.hasClass(this._getMarker())) {
+ return;
+ }
+ var inst = this._getInst(elem);
+ if (inst.inline) {
+ elem.children('.' + this._disableClass).remove().end().
+ find('button,select').prop('disabled', false).end().
+ find('a').attr('href', '#');
+ }
+ else {
+ elem.prop('disabled', false);
+ inst.trigger.filter('button.' + this._triggerClass).prop('disabled', false).end().
+ filter('img.' + this._triggerClass).css({opacity: '1.0', cursor: ''});
+ }
+ this._disabled = $.map(this._disabled,
+ function(value) { return (value === elem[0] ? null : value); }); // Delete entry
+ },
+
+ /** Disable the control.
+ @param {Element} elem The control to affect.
+ @example $(selector).datepick('disable') */
+ disable: function(elem) {
+ elem = $(elem);
+ if (!elem.hasClass(this._getMarker())) {
+ return;
+ }
+ var inst = this._getInst(elem);
+ if (inst.inline) {
+ var inline = elem.children(':last');
+ var offset = inline.offset();
+ var relOffset = {left: 0, top: 0};
+ inline.parents().each(function() {
+ if ($(this).css('position') === 'relative') {
+ relOffset = $(this).offset();
+ return false;
+ }
+ });
+ var zIndex = elem.css('zIndex');
+ zIndex = (zIndex === 'auto' ? 0 : parseInt(zIndex, 10)) + 1;
+ elem.prepend('<div class="' + this._disableClass + '" style="' +
+ 'width: ' + inline.outerWidth() + 'px; height: ' + inline.outerHeight() +
+ 'px; left: ' + (offset.left - relOffset.left) + 'px; top: ' +
+ (offset.top - relOffset.top) + 'px; z-index: ' + zIndex + '"></div>').
+ find('button,select').prop('disabled', true).end().
+ find('a').removeAttr('href');
+ }
+ else {
+ elem.prop('disabled', true);
+ inst.trigger.filter('button.' + this._triggerClass).prop('disabled', true).end().
+ filter('img.' + this._triggerClass).css({opacity: '0.5', cursor: 'default'});
+ }
+ this._disabled = $.map(this._disabled,
+ function(value) { return (value === elem[0] ? null : value); }); // Delete entry
+ this._disabled.push(elem[0]);
+ },
+
+ /** Is the first field in a jQuery collection disabled as a datepicker?
+ @param {Element} elem The control to examine.
+ @return {boolean} <code>true</code> if disabled, <code>false</code> if enabled.
+ @example if ($(selector).datepick('isDisabled')) {...} */
+ isDisabled: function(elem) {
+ return (elem && $.inArray(elem, this._disabled) > -1);
+ },
+
+ /** Show a popup datepicker.
+ @param {Element|Event} elem The control to use or a focus event (internal).
+ @example $(selector).datepick('show') */
+ show: function(elem) {
+ elem = $(elem.target || elem);
+ var inst = plugin._getInst(elem);
+ if (plugin.curInst === inst) {
+ return;
+ }
+ if (plugin.curInst) {
+ plugin.hide(plugin.curInst, true);
+ }
+ if (!$.isEmptyObject(inst)) {
+ // Retrieve existing date(s)
+ inst.lastVal = null;
+ inst.selectedDates = plugin._extractDates(inst, elem.val());
+ inst.pickingRange = false;
+ inst.drawDate = plugin._checkMinMax(plugin.newDate(inst.selectedDates[0] ||
+ inst.get('defaultDate') || plugin.today()), inst);
+ inst.prevDate = plugin.newDate(inst.drawDate);
+ plugin.curInst = inst;
+ // Generate content
+ plugin._update(elem[0], true);
+ // Adjust position before showing
+ var offset = plugin._checkOffset(inst);
+ inst.div.css({left: offset.left, top: offset.top});
+ // And display
+ var showAnim = inst.options.showAnim;
+ var showSpeed = inst.options.showSpeed;
+ showSpeed = (showSpeed === 'normal' && $.ui &&
+ parseInt($.ui.version.substring(2)) >= 8 ? '_default' : showSpeed);
+ if ($.effects && ($.effects[showAnim] || ($.effects.effect && $.effects.effect[showAnim]))) {
+ var data = inst.div.data(); // Update old effects data
+ for (var key in data) {
+ if (key.match(/^ec\.storage\./)) {
+ data[key] = inst._mainDiv.css(key.replace(/ec\.storage\./, ''));
+ }
+ }
+ inst.div.data(data).show(showAnim, inst.options.showOptions, showSpeed);
+ }
+ else {
+ inst.div[showAnim || 'show'](showAnim ? showSpeed : 0);
+ }
+ }
+ },
+
+ /** Extract possible dates from a string.
+ @private
+ @param {object} inst The current instance settings.
+ @param {string} text The text to extract from.
+ @return {Date[]} The extracted dates. */
+ _extractDates: function(inst, datesText) {
+ if (datesText === inst.lastVal) {
+ return;
+ }
+ inst.lastVal = datesText;
+ datesText = datesText.split(inst.options.multiSelect ? inst.options.multiSeparator :
+ (inst.options.rangeSelect ? inst.options.rangeSeparator : '\x00'));
+ var dates = [];
+ for (var i = 0; i < datesText.length; i++) {
+ try {
+ var date = plugin.parseDate(inst.options.dateFormat, datesText[i], inst.getConfig());
+ if (date) {
+ var found = false;
+ for (var j = 0; j < dates.length; j++) {
+ if (dates[j].getTime() === date.getTime()) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ dates.push(date);
+ }
+ }
+ }
+ catch (e) {
+ // Ignore
+ }
+ }
+ dates.splice(inst.options.multiSelect || (inst.options.rangeSelect ? 2 : 1), dates.length);
+ if (inst.options.rangeSelect && dates.length === 1) {
+ dates[1] = dates[0];
+ }
+ return dates;
+ },
+
+ /** Update the datepicker display.
+ @private
+ @param {Event|Element} elem A focus event or the control to use.
+ @param {boolean} hidden <code>true</code> to initially hide the datepicker. */
+ _update: function(elem, hidden) {
+ elem = $(elem.target || elem);
+ var inst = plugin._getInst(elem);
+ if (!$.isEmptyObject(inst)) {
+ if (inst.inline || plugin.curInst === inst) {
+ if ($.isFunction(inst.options.onChangeMonthYear) && (!inst.prevDate ||
+ inst.prevDate.getFullYear() !== inst.drawDate.getFullYear() ||
+ inst.prevDate.getMonth() !== inst.drawDate.getMonth())) {
+ inst.options.onChangeMonthYear.apply(elem[0],
+ [inst.drawDate.getFullYear(), inst.drawDate.getMonth() + 1]);
+ }
+ }
+ if (inst.inline) {
+ var index = $('a, :input', elem).index($(':focus', elem));
+ elem.html(this._generateContent(elem[0], inst));
+ var focus = elem.find('a, :input');
+ focus.eq(Math.max(Math.min(index, focus.length - 1), 0)).focus();
+ }
+ else if (plugin.curInst === inst) {
+ if (!inst.div) {
+ inst.div = $('<div></div>').addClass(this._popupClass).
+ css({display: (hidden ? 'none' : 'static'), position: 'absolute',
+ left: elem.offset().left, top: elem.offset().top + elem.outerHeight()}).
+ appendTo($(inst.options.popupContainer || 'body'));
+ if ($.fn.mousewheel) {
+ inst.div.mousewheel(this._doMouseWheel);
+ }
+ }
+ inst.div.html(this._generateContent(elem[0], inst));
+ elem.focus();
+ }
+ }
+ },
+
+ /** Update the input field and any alternate field with the current dates.
+ @private
+ @param {Element} elem The control to use.
+ @param {boolean} keyUp <code>true</code> if coming from <code>keyUp</code> processing (internal). */
+ _updateInput: function(elem, keyUp) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst)) {
+ var value = '';
+ var altValue = '';
+ var sep = (inst.options.multiSelect ? inst.options.multiSeparator :
+ inst.options.rangeSeparator);
+ var altFormat = inst.options.altFormat || inst.options.dateFormat;
+ for (var i = 0; i < inst.selectedDates.length; i++) {
+ value += (keyUp ? '' : (i > 0 ? sep : '') + plugin.formatDate(
+ inst.options.dateFormat, inst.selectedDates[i], inst.getConfig()));
+ altValue += (i > 0 ? sep : '') + plugin.formatDate(
+ altFormat, inst.selectedDates[i], inst.getConfig());
+ }
+ if (!inst.inline && !keyUp) {
+ $(elem).val(value);
+ }
+ $(inst.options.altField).val(altValue);
+ if ($.isFunction(inst.options.onSelect) && !keyUp && !inst.inSelect) {
+ inst.inSelect = true; // Prevent endless loops
+ inst.options.onSelect.apply(elem, [inst.selectedDates]);
+ inst.inSelect = false;
+ }
+ }
+ },
+
+ /** Retrieve the size of left and top borders for an element.
+ @private
+ @param {jQuery} elem The element of interest.
+ @return {number[]} The left and top borders. */
+ _getBorders: function(elem) {
+ var convert = function(value) {
+ return {thin: 1, medium: 3, thick: 5}[value] || value;
+ };
+ return [parseFloat(convert(elem.css('border-left-width'))),
+ parseFloat(convert(elem.css('border-top-width')))];
+ },
+
+ /** Check positioning to remain on the screen.
+ @private
+ @param {object} inst The current instance settings.
+ @return {object} The updated offset for the datepicker. */
+ _checkOffset: function(inst) {
+ var base = (inst.elem.is(':hidden') && inst.trigger ? inst.trigger : inst.elem);
+ var offset = base.offset();
+ var browserWidth = $(window).width();
+ var browserHeight = $(window).height();
+ if (browserWidth === 0) {
+ return offset;
+ }
+ var isFixed = false;
+ $(inst.elem).parents().each(function() {
+ isFixed = isFixed || ($(this).css('position') === 'fixed');
+ return !isFixed;
+ });
+ var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+ var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+ var above = offset.top - (isFixed ? scrollY : 0) - inst.div.outerHeight();
+ var below = offset.top - (isFixed ? scrollY : 0) + base.outerHeight();
+ var alignL = offset.left - (isFixed ? scrollX : 0);
+ var alignR = offset.left - (isFixed ? scrollX : 0) + base.outerWidth() - inst.div.outerWidth();
+ var tooWide = (offset.left - scrollX + inst.div.outerWidth()) > browserWidth;
+ var tooHigh = (offset.top - scrollY + inst.elem.outerHeight() +
+ inst.div.outerHeight()) > browserHeight;
+ inst.div.css('position', isFixed ? 'fixed' : 'absolute');
+ var alignment = inst.options.alignment;
+ if (alignment === 'topLeft') {
+ offset = {left: alignL, top: above};
+ }
+ else if (alignment === 'topRight') {
+ offset = {left: alignR, top: above};
+ }
+ else if (alignment === 'bottomLeft') {
+ offset = {left: alignL, top: below};
+ }
+ else if (alignment === 'bottomRight') {
+ offset = {left: alignR, top: below};
+ }
+ else if (alignment === 'top') {
+ offset = {left: (inst.options.isRTL || tooWide ? alignR : alignL), top: above};
+ }
+ else { // bottom
+ offset = {left: (inst.options.isRTL || tooWide ? alignR : alignL),
+ top: (tooHigh ? above : below)};
+ }
+ offset.left = Math.max((isFixed ? 0 : scrollX), offset.left);
+ offset.top = Math.max((isFixed ? 0 : scrollY), offset.top);
+ return offset;
+ },
+
+ /** Close date picker if clicked elsewhere.
+ @private
+ @param {MouseEvent} event The mouse click to check. */
+ _checkExternalClick: function(event) {
+ if (!plugin.curInst) {
+ return;
+ }
+ var elem = $(event.target);
+ if (elem.closest('.' + plugin._popupClass + ',.' + plugin._triggerClass).length === 0 &&
+ !elem.hasClass(plugin._getMarker())) {
+ plugin.hide(plugin.curInst);
+ }
+ },
+
+ /** Hide a popup datepicker.
+ @param {Element|object} elem The control to use or the current instance settings.
+ @param {boolean} [immediate=false] <code>true</code> to close immediately without animation (internal).
+ @example $(selector).datepick('hide') */
+ hide: function(elem, immediate) {
+ if (!elem) {
+ return;
+ }
+ var inst = this._getInst(elem);
+ if ($.isEmptyObject(inst)) {
+ inst = elem;
+ }
+ if (inst && inst === plugin.curInst) {
+ var showAnim = (immediate ? '' : inst.options.showAnim);
+ var showSpeed = inst.options.showSpeed;
+ showSpeed = (showSpeed === 'normal' && $.ui &&
+ parseInt($.ui.version.substring(2)) >= 8 ? '_default' : showSpeed);
+ var postProcess = function() {
+ if (!inst.div) {
+ return;
+ }
+ inst.div.remove();
+ inst.div = null;
+ plugin.curInst = null;
+ if ($.isFunction(inst.options.onClose)) {
+ inst.options.onClose.apply(elem, [inst.selectedDates]);
+ }
+ };
+ inst.div.stop();
+ if ($.effects && ($.effects[showAnim] || ($.effects.effect && $.effects.effect[showAnim]))) {
+ inst.div.hide(showAnim, inst.options.showOptions, showSpeed, postProcess);
+ }
+ else {
+ var hideAnim = (showAnim === 'slideDown' ? 'slideUp' :
+ (showAnim === 'fadeIn' ? 'fadeOut' : 'hide'));
+ inst.div[hideAnim]((showAnim ? showSpeed : ''), postProcess);
+ }
+ if (!showAnim) {
+ postProcess();
+ }
+ }
+ },
+
+ /** Handle keystrokes in the datepicker.
+ @private
+ @param {KeyEvent} event The keystroke.
+ @return {boolean} <code>true</code> if not handled, <code>false</code> if handled. */
+ _keyDown: function(event) {
+ var elem = (event.data && event.data.elem) || event.target;
+ var inst = plugin._getInst(elem);
+ var handled = false;
+ var command = null;
+ if (inst.inline || inst.div) {
+ if (event.keyCode === 9) { // Tab - close
+ plugin.hide(elem);
+ }
+ else if (event.keyCode === 13) { // Enter - select
+ plugin.selectDate(elem,
+ $('a.' + inst.options.renderer.highlightedClass, inst.div)[0]);
+ handled = true;
+ }
+ else { // Command keystrokes
+ for (var key in inst.options.commands) {
+ if (inst.options.commands.hasOwnProperty(key)) {
+ command = inst.options.commands[key];
+ /* jshint -W018 */ // Dislikes !!
+ if (command.keystroke.keyCode === event.keyCode &&
+ !!command.keystroke.ctrlKey === !!(event.ctrlKey || event.metaKey) &&
+ !!command.keystroke.altKey === event.altKey &&
+ !!command.keystroke.shiftKey === event.shiftKey) {
+ /* jshint +W018 */
+ plugin.performAction(elem, key);
+ handled = true;
+ break;
+ }
+ }
+ }
+ }
+ }
+ else { // Show on 'current' keystroke
+ command = inst.options.commands.current;
+ /* jshint -W018 */ // Dislikes !!
+ if (command.keystroke.keyCode === event.keyCode &&
+ !!command.keystroke.ctrlKey === !!(event.ctrlKey || event.metaKey) &&
+ !!command.keystroke.altKey === event.altKey &&
+ !!command.keystroke.shiftKey === event.shiftKey) {
+ /* jshint +W018 */
+ plugin.show(elem);
+ handled = true;
+ }
+ }
+ inst.ctrlKey = ((event.keyCode < 48 && event.keyCode !== 32) || event.ctrlKey || event.metaKey);
+ if (handled) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ return !handled;
+ },
+
+ /** Filter keystrokes in the datepicker.
+ @private
+ @param {KeyEvent} event The keystroke.
+ @return {boolean} <code>true</code> if allowed, <code>false</code> if not allowed. */
+ _keyPress: function(event) {
+ var inst = plugin._getInst((event.data && event.data.elem) || event.target);
+ if (!$.isEmptyObject(inst) && inst.options.constrainInput) {
+ var ch = String.fromCharCode(event.keyCode || event.charCode);
+ var allowedChars = plugin._allowedChars(inst);
+ return (event.metaKey || inst.ctrlKey || ch < ' ' ||
+ !allowedChars || allowedChars.indexOf(ch) > -1);
+ }
+ return true;
+ },
+
+ /** Determine the set of characters allowed by the date format.
+ @private
+ @param {object} inst The current instance settings.
+ @return {string} The set of allowed characters, or <code>null</code> if anything allowed. */
+ _allowedChars: function(inst) {
+ var allowedChars = (inst.options.multiSelect ? inst.options.multiSeparator :
+ (inst.options.rangeSelect ? inst.options.rangeSeparator : ''));
+ var literal = false;
+ var hasNum = false;
+ var dateFormat = inst.options.dateFormat;
+ for (var i = 0; i < dateFormat.length; i++) {
+ var ch = dateFormat.charAt(i);
+ if (literal) {
+ if (ch === '\'' && dateFormat.charAt(i + 1) !== '\'') {
+ literal = false;
+ }
+ else {
+ allowedChars += ch;
+ }
+ }
+ else {
+ switch (ch) {
+ case 'd':
+ case 'm':
+ case 'o':
+ case 'w':
+ allowedChars += (hasNum ? '' : '0123456789');
+ hasNum = true;
+ break;
+ case 'y':
+ case '@':
+ case '!':
+ allowedChars += (hasNum ? '' : '0123456789') + '-';
+ hasNum = true;
+ break;
+ case 'J':
+ allowedChars += (hasNum ? '' : '0123456789') + '-.';
+ hasNum = true;
+ break;
+ case 'D':
+ case 'M':
+ case 'Y':
+ return null; // Accept anything
+ case '\'':
+ if (dateFormat.charAt(i + 1) === '\'') {
+ allowedChars += '\'';
+ }
+ else {
+ literal = true;
+ }
+ break;
+ default:
+ allowedChars += ch;
+ }
+ }
+ }
+ return allowedChars;
+ },
+
+ /** Synchronise datepicker with the field.
+ @private
+ @param {KeyEvent} event The keystroke.
+ @return {boolean} <code>true</code> if allowed, <code>false</code> if not allowed. */
+ _keyUp: function(event) {
+ var elem = (event.data && event.data.elem) || event.target;
+ var inst = plugin._getInst(elem);
+ if (!$.isEmptyObject(inst) && !inst.ctrlKey && inst.lastVal !== inst.elem.val()) {
+ try {
+ var dates = plugin._extractDates(inst, inst.elem.val());
+ if (dates.length > 0) {
+ plugin.setDate(elem, dates, null, true);
+ }
+ }
+ catch (e) {
+ // Ignore
+ }
+ }
+ return true;
+ },
+
+ /** Increment/decrement month/year on mouse wheel activity.
+ @private
+ @param {event} event The mouse wheel event.
+ @param {number} delta The amount of change. */
+ _doMouseWheel: function(event, delta) {
+ var elem = (plugin.curInst && plugin.curInst.elem[0]) ||
+ $(event.target).closest('.' + plugin._getMarker())[0];
+ if (plugin.isDisabled(elem)) {
+ return;
+ }
+ var inst = plugin._getInst(elem);
+ if (inst.options.useMouseWheel) {
+ delta = (delta < 0 ? -1 : +1);
+ plugin.changeMonth(elem, -inst.options[event.ctrlKey ? 'monthsToJump' : 'monthsToStep'] * delta);
+ }
+ event.preventDefault();
+ },
+
+ /** Clear an input and close a popup datepicker.
+ @param {Element} elem The control to use.
+ @example $(selector).datepick('clear') */
+ clear: function(elem) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst)) {
+ inst.selectedDates = [];
+ this.hide(elem);
+ var defaultDate = inst.get('defaultDate');
+ if (inst.options.selectDefaultDate && defaultDate) {
+ this.setDate(elem, plugin.newDate(defaultDate || plugin.today()));
+ }
+ else {
+ this._updateInput(elem);
+ }
+ }
+ },
+
+ /** Retrieve the selected date(s) for a datepicker.
+ @param {Element} elem The control to examine.
+ @return {Date[]} The selected date(s).
+ @example var dates = $(selector).datepick('getDate') */
+ getDate: function(elem) {
+ var inst = this._getInst(elem);
+ return (!$.isEmptyObject(inst) ? inst.selectedDates : []);
+ },
+
+ /** Set the selected date(s) for a datepicker.
+ @param {Element} elem The control to examine.
+ @param {Date|number|string|array} dates The selected date(s), as a <code>Date</code>,
+ or as a string in the current {@linkcode module:Datepick~regionalOptions|dateFormat}
+ or as a numeric offset - in days from today,
+ or as a string of amounts and periods, e.g. '+1m +2w',
+ using 'd' for days, 'w' for weeks, 'm' for months, and 'y' for years,
+ or as an array of these.
+ @param {Date|number|string} [endDate] The ending date for a range.
+ @param {boolean} [keyUp=false] <code>true</code> if coming from <code>keyUp</code> processing (internal).
+ @param {boolean} [setOpt=false] <code>true</code> if coming from option processing (internal).
+ @example $(selector).datepick('setDate', new Date(2014, 12-1, 25))
+$(selector).datepick('setDate', '12/25/2014', '01/01/2015')
+$(selector).datepick('setDate', [date1, date2, date3]) */
+ setDate: function(elem, dates, endDate, keyUp, setOpt) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst)) {
+ if (!$.isArray(dates)) {
+ dates = [dates];
+ if (endDate) {
+ dates.push(endDate);
+ }
+ }
+ var minDate = inst.get('minDate');
+ var maxDate = inst.get('maxDate');
+ var curDate = inst.selectedDates[0];
+ inst.selectedDates = [];
+ for (var i = 0; i < dates.length; i++) {
+ var date = plugin.determineDate(
+ dates[i], null, curDate, inst.options.dateFormat, inst.getConfig());
+ if (date) {
+ if ((!minDate || date.getTime() >= minDate.getTime()) &&
+ (!maxDate || date.getTime() <= maxDate.getTime())) {
+ var found = false;
+ for (var j = 0; j < inst.selectedDates.length; j++) {
+ if (inst.selectedDates[j].getTime() === date.getTime()) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ inst.selectedDates.push(date);
+ }
+ }
+ }
+ }
+ inst.selectedDates.splice(inst.options.multiSelect ||
+ (inst.options.rangeSelect ? 2 : 1), inst.selectedDates.length);
+ if (inst.options.rangeSelect) {
+ switch (inst.selectedDates.length) {
+ case 1:
+ inst.selectedDates[1] = inst.selectedDates[0];
+ break;
+ case 2:
+ inst.selectedDates[1] =
+ (inst.selectedDates[0].getTime() > inst.selectedDates[1].getTime() ?
+ inst.selectedDates[0] : inst.selectedDates[1]);
+ break;
+ }
+ inst.pickingRange = false;
+ }
+ inst.prevDate = (inst.drawDate ? plugin.newDate(inst.drawDate) : null);
+ inst.drawDate = this._checkMinMax(plugin.newDate(inst.selectedDates[0] ||
+ inst.get('defaultDate') || plugin.today()), inst);
+ if (!setOpt) {
+ this._update(elem);
+ this._updateInput(elem, keyUp);
+ }
+ }
+ },
+
+ /** Determine whether a date is selectable for this datepicker.
+ @private
+ @param {Element} elem The control to check.
+ @param {Date|string|number} date The date to check.
+ @return {boolean} <code>true</code> if selectable, <code>false</code> if not.
+ @example var selectable = $(selector).datepick('isSelectable', date) */
+ isSelectable: function(elem, date) {
+ var inst = this._getInst(elem);
+ if ($.isEmptyObject(inst)) {
+ return false;
+ }
+ date = plugin.determineDate(date, inst.selectedDates[0] || this.today(), null,
+ inst.options.dateFormat, inst.getConfig());
+ return this._isSelectable(elem, date, inst.options.onDate,
+ inst.get('minDate'), inst.get('maxDate'));
+ },
+
+ /** Internally determine whether a date is selectable for this datepicker.
+ @private
+ @param {Element} elem the control to check.
+ @param {Date} date The date to check.
+ @param {DatepickOnDate|boolean} onDate Any {@linkcode module:Datepick~defaultOptions|onDate} callback
+ or <code>callback.selectable</code>.
+ @param {Date} minDate The minimum allowed date.
+ @param {Date} maxDate The maximum allowed date.
+ @return {boolean} <code>true</code> if selectable, <code>false</code> if not. */
+ _isSelectable: function(elem, date, onDate, minDate, maxDate) {
+ var dateInfo = (typeof onDate === 'boolean' ? {selectable: onDate} :
+ (!$.isFunction(onDate) ? {} : onDate.apply(elem, [date, true])));
+ return (dateInfo.selectable !== false) &&
+ (!minDate || date.getTime() >= minDate.getTime()) &&
+ (!maxDate || date.getTime() <= maxDate.getTime());
+ },
+
+ /** Perform a {@linkcode module:Datepick~commands|named action} for a datepicker.
+ @param {element} elem The control to affect.
+ @param {string} action The name of the action.
+ @example $(selector).datepick('performAction', 'prev') */
+ performAction: function(elem, action) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst) && !this.isDisabled(elem)) {
+ var commands = inst.options.commands;
+ if (commands[action] && commands[action].enabled.apply(elem, [inst])) {
+ commands[action].action.apply(elem, [inst]);
+ }
+ }
+ },
+
+ /** Set the currently shown month and day, defaulting to today.
+ @param {Element} elem The control to affect.
+ @param {number} [year] The year to show.
+ @param {number} [month] The month to show (1-12).
+ @param {number} [day] The day to show.
+ @example $(selector).datepick('showMonth', 2014, 12, 25) */
+ showMonth: function(elem, year, month, day) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst) && (typeof day !== 'undefined' ||
+ (inst.drawDate.getFullYear() !== year || inst.drawDate.getMonth() + 1 !== month))) {
+ inst.prevDate = plugin.newDate(inst.drawDate);
+ var show = this._checkMinMax((typeof year !== 'undefined' ?
+ plugin.newDate(year, month, 1) : plugin.today()), inst);
+ inst.drawDate = plugin.newDate(show.getFullYear(), show.getMonth() + 1,
+ (typeof day !== 'undefined' ? day : Math.min(inst.drawDate.getDate(),
+ plugin.daysInMonth(show.getFullYear(), show.getMonth() + 1))));
+ this._update(elem);
+ }
+ },
+
+ /** Adjust the currently shown month.
+ @param {Element} elem The control to affect.
+ @param {number} offset The number of months to change by.
+ @example $(selector).datepick('changeMonth', 2)*/
+ changeMonth: function(elem, offset) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst)) {
+ var date = plugin.add(plugin.newDate(inst.drawDate), offset, 'm');
+ this.showMonth(elem, date.getFullYear(), date.getMonth() + 1);
+ }
+ },
+
+ /** Adjust the currently shown day.
+ @param {Element} elem The control to affect.
+ @param {number} offset The number of days to change by.
+ @example $(selector).datepick('changeDay', 7)*/
+ changeDay: function(elem, offset) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst)) {
+ var date = plugin.add(plugin.newDate(inst.drawDate), offset, 'd');
+ this.showMonth(elem, date.getFullYear(), date.getMonth() + 1, date.getDate());
+ }
+ },
+
+ /** Restrict a date to the minimum/maximum specified.
+ @private
+ @param {Date} date The date to check.
+ @param {object} inst The current instance settings. */
+ _checkMinMax: function(date, inst) {
+ var minDate = inst.get('minDate');
+ var maxDate = inst.get('maxDate');
+ date = (minDate && date.getTime() < minDate.getTime() ? plugin.newDate(minDate) : date);
+ date = (maxDate && date.getTime() > maxDate.getTime() ? plugin.newDate(maxDate) : date);
+ return date;
+ },
+
+ /** Retrieve the date associated with an entry in the datepicker.
+ @param {Element} elem The control to examine.
+ @param {Element} target The selected datepicker element.
+ @return {Date} The corresponding date, or <code>null</code>.
+ @example var date = $(selector).datepick('retrieveDate', $('div.datepick-popup a:contains(10)')[0]) */
+ retrieveDate: function(elem, target) {
+ var inst = this._getInst(elem);
+ return ($.isEmptyObject(inst) ? null : this._normaliseDate(
+ new Date(parseInt(target.className.replace(/^.*dp(-?\d+).*$/, '$1'), 10))));
+ },
+
+ /** Select a date for this datepicker.
+ @param {Element} elem The control to examine.
+ @param {Element} target The selected datepicker element.
+ @example $(selector).datepick('selectDate', $('div.datepick-popup a:contains(10)')[0]) */
+ selectDate: function(elem, target) {
+ var inst = this._getInst(elem);
+ if (!$.isEmptyObject(inst) && !this.isDisabled(elem)) {
+ var date = this.retrieveDate(elem, target);
+ if (inst.options.multiSelect) {
+ var found = false;
+ for (var i = 0; i < inst.selectedDates.length; i++) {
+ if (date.getTime() === inst.selectedDates[i].getTime()) {
+ inst.selectedDates.splice(i, 1);
+ found = true;
+ break;
+ }
+ }
+ if (!found && inst.selectedDates.length < inst.options.multiSelect) {
+ inst.selectedDates.push(date);
+ }
+ }
+ else if (inst.options.rangeSelect) {
+ if (inst.pickingRange) {
+ inst.selectedDates[1] = date;
+ }
+ else {
+ inst.selectedDates = [date, date];
+ }
+ inst.pickingRange = !inst.pickingRange;
+ }
+ else {
+ inst.selectedDates = [date];
+ }
+ inst.prevDate = inst.drawDate = plugin.newDate(date);
+ this._updateInput(elem);
+ if (inst.inline || inst.pickingRange || inst.selectedDates.length <
+ (inst.options.multiSelect || (inst.options.rangeSelect ? 2 : 1))) {
+ this._update(elem);
+ }
+ else {
+ this.hide(elem);
+ }
+ }
+ },
+
+ /** Generate the datepicker content for this control.
+ @private
+ @param {Element} elem The control to affect.
+ @param {object} inst The current instance settings.
+ @return {jQuery} The datepicker content */
+ _generateContent: function(elem, inst) {
+ var monthsToShow = inst.options.monthsToShow;
+ monthsToShow = ($.isArray(monthsToShow) ? monthsToShow : [1, monthsToShow]);
+ inst.drawDate = this._checkMinMax(
+ inst.drawDate || inst.get('defaultDate') || plugin.today(), inst);
+ var drawDate = plugin._applyMonthsOffset(plugin.newDate(inst.drawDate), inst);
+ // Generate months
+ var monthRows = '';
+ for (var row = 0; row < monthsToShow[0]; row++) {
+ var months = '';
+ for (var col = 0; col < monthsToShow[1]; col++) {
+ months += this._generateMonth(elem, inst, drawDate.getFullYear(),
+ drawDate.getMonth() + 1, inst.options.renderer, (row === 0 && col === 0));
+ plugin.add(drawDate, 1, 'm');
+ }
+ monthRows += this._prepare(inst.options.renderer.monthRow, inst).replace(/\{months\}/, months);
+ }
+ var picker = this._prepare(inst.options.renderer.picker, inst).replace(/\{months\}/, monthRows).
+ replace(/\{weekHeader\}/g, this._generateDayHeaders(inst, inst.options.renderer));
+ // Add commands
+ var addCommand = function(type, open, close, name, classes) {
+ if (picker.indexOf('{' + type + ':' + name + '}') === -1) {
+ return;
+ }
+ var command = inst.options.commands[name];
+ var date = (inst.options.commandsAsDateFormat ? command.date.apply(elem, [inst]) : null);
+ picker = picker.replace(new RegExp('\\{' + type + ':' + name + '\\}', 'g'),
+ '<' + open + (command.status ? ' title="' + inst.options[command.status] + '"' : '') +
+ ' class="' + inst.options.renderer.commandClass + ' ' +
+ inst.options.renderer.commandClass + '-' + name + ' ' + classes +
+ (command.enabled(inst) ? '' : ' ' + inst.options.renderer.disabledClass) + '">' +
+ (date ? plugin.formatDate(inst.options[command.text], date, inst.getConfig()) :
+ inst.options[command.text]) + '</' + close + '>');
+ };
+ for (var key in inst.options.commands) {
+ if (inst.options.commands.hasOwnProperty(key)) {
+ addCommand('button', 'button type="button"', 'button', key,
+ inst.options.renderer.commandButtonClass);
+ addCommand('link', 'a href="javascript:void(0)"', 'a', key,
+ inst.options.renderer.commandLinkClass);
+ }
+ }
+ picker = $(picker);
+ if (monthsToShow[1] > 1) {
+ var count = 0;
+ $(inst.options.renderer.monthSelector, picker).each(function() {
+ var nth = ++count % monthsToShow[1];
+ $(this).addClass(nth === 1 ? 'first' : (nth === 0 ? 'last' : ''));
+ });
+ }
+ // Add datepicker behaviour
+ var self = this;
+ function removeHighlight() {
+ /* jshint -W040 */
+ (inst.inline ? $(this).closest('.' + self._getMarker()) : inst.div).
+ find(inst.options.renderer.daySelector + ' a').
+ removeClass(inst.options.renderer.highlightedClass);
+ /* jshint +W040 */
+ }
+ picker.find(inst.options.renderer.daySelector + ' a').hover(
+ function() {
+ removeHighlight.apply(this);
+ $(this).addClass(inst.options.renderer.highlightedClass);
+ },
+ removeHighlight).
+ click(function() {
+ self.selectDate(elem, this);
+ }).end().
+ find('select.' + this._monthYearClass + ':not(.' + this._anyYearClass + ')').
+ change(function() {
+ var monthYear = $(this).val().split('/');
+ self.showMonth(elem, parseInt(monthYear[1], 10), parseInt(monthYear[0], 10));
+ }).end().
+ find('select.' + this._anyYearClass).click(function() {
+ $(this).css('visibility', 'hidden').
+ next('input').css({left: this.offsetLeft, top: this.offsetTop,
+ width: this.offsetWidth, height: this.offsetHeight}).show().focus();
+ }).end().
+ find('input.' + self._monthYearClass).change(function() {
+ try {
+ var year = parseInt($(this).val(), 10);
+ year = (isNaN(year) ? inst.drawDate.getFullYear() : year);
+ self.showMonth(elem, year, inst.drawDate.getMonth() + 1, inst.drawDate.getDate());
+ }
+ catch (e) {
+ window.alert(e);
+ }
+ }).keydown(function(event) {
+ if (event.keyCode === 13) { // Enter
+ $(event.elem).change();
+ }
+ else if (event.keyCode === 27) { // Escape
+ $(event.elem).hide().prev('select').css('visibility', 'visible');
+ inst.elem.focus();
+ }
+ });
+ // Add keyboard handling
+ var data = {elem: inst.elem[0]};
+ picker.keydown(data, this._keyDown).keypress(data, this._keyPress).keyup(data, this._keyUp);
+ // Add command behaviour
+ picker.find('.' + inst.options.renderer.commandClass).click(function() {
+ if (!$(this).hasClass(inst.options.renderer.disabledClass)) {
+ var action = this.className.replace(
+ new RegExp('^.*' + inst.options.renderer.commandClass + '-([^ ]+).*$'), '$1');
+ plugin.performAction(elem, action);
+ }
+ });
+ // Add classes
+ if (inst.options.isRTL) {
+ picker.addClass(inst.options.renderer.rtlClass);
+ }
+ if (monthsToShow[0] * monthsToShow[1] > 1) {
+ picker.addClass(inst.options.renderer.multiClass);
+ }
+ if (inst.options.pickerClass) {
+ picker.addClass(inst.options.pickerClass);
+ }
+ // Resize
+ $('body').append(picker);
+ var width = 0;
+ picker.find(inst.options.renderer.monthSelector).each(function() {
+ width += $(this).outerWidth();
+ });
+ picker.width(width / monthsToShow[0]);
+ // Pre-show customisation
+ if ($.isFunction(inst.options.onShow)) {
+ inst.options.onShow.apply(elem, [picker, inst]);
+ }
+ return picker;
+ },
+
+ /** Generate the content for a single month.
+ @private
+ @param {Element} elem The control to affect.
+ @param {object} inst The current instance settings.
+ @param {number} year The year to generate.
+ @param {number} month The month to generate.
+ @param {object} renderer The rendering templates.
+ @param {boolean} first <code>true</code> if first of multiple months.
+ @return {string} The month content. */
+ _generateMonth: function(elem, inst, year, month, renderer, first) {
+ var daysInMonth = plugin.daysInMonth(year, month);
+ var monthsToShow = inst.options.monthsToShow;
+ monthsToShow = ($.isArray(monthsToShow) ? monthsToShow : [1, monthsToShow]);
+ var fixedWeeks = inst.options.fixedWeeks || (monthsToShow[0] * monthsToShow[1] > 1);
+ var firstDay = inst.options.firstDay;
+ var leadDays = (plugin.newDate(year, month, 1).getDay() - firstDay + 7) % 7;
+ var numWeeks = (fixedWeeks ? 6 : Math.ceil((leadDays + daysInMonth) / 7));
+ var selectOtherMonths = inst.options.selectOtherMonths && inst.options.showOtherMonths;
+ var minDate = (inst.pickingRange ? inst.selectedDates[0] : inst.get('minDate'));
+ var maxDate = inst.get('maxDate');
+ var showWeeks = renderer.week.indexOf('{weekOfYear}') > -1;
+ var today = plugin.today();
+ var drawDate = plugin.newDate(year, month, 1);
+ plugin.add(drawDate, -leadDays - (fixedWeeks && (drawDate.getDay() === firstDay) ? 7 : 0), 'd');
+ var ts = drawDate.getTime();
+ // Generate weeks
+ var weeks = '';
+ for (var week = 0; week < numWeeks; week++) {
+ var weekOfYear = (!showWeeks ? '' : '<span class="dp' + ts + '">' +
+ ($.isFunction(inst.options.calculateWeek) ? inst.options.calculateWeek(drawDate) : 0) + '</span>');
+ var days = '';
+ for (var day = 0; day < 7; day++) {
+ var selected = false;
+ if (inst.options.rangeSelect && inst.selectedDates.length > 0) {
+ selected = (drawDate.getTime() >= inst.selectedDates[0] &&
+ drawDate.getTime() <= inst.selectedDates[1]);
+ }
+ else {
+ for (var i = 0; i < inst.selectedDates.length; i++) {
+ if (inst.selectedDates[i].getTime() === drawDate.getTime()) {
+ selected = true;
+ break;
+ }
+ }
+ }
+ var dateInfo = (!$.isFunction(inst.options.onDate) ? {} :
+ inst.options.onDate.apply(elem, [drawDate, drawDate.getMonth() + 1 === month]));
+ var selectable = (selectOtherMonths || drawDate.getMonth() + 1 === month) &&
+ this._isSelectable(elem, drawDate, dateInfo.selectable, minDate, maxDate);
+ days += this._prepare(renderer.day, inst).replace(/\{day\}/g,
+ (selectable ? '<a href="javascript:void(0)"' : '<span') +
+ ' class="dp' + ts + ' ' + (dateInfo.dateClass || '') +
+ (selected && (selectOtherMonths || drawDate.getMonth() + 1 === month) ?
+ ' ' + renderer.selectedClass : '') +
+ (selectable ? ' ' + renderer.defaultClass : '') +
+ ((drawDate.getDay() || 7) < 6 ? '' : ' ' + renderer.weekendClass) +
+ (drawDate.getMonth() + 1 === month ? '' : ' ' + renderer.otherMonthClass) +
+ (drawDate.getTime() === today.getTime() && (drawDate.getMonth() + 1) === month ?
+ ' ' + renderer.todayClass : '') +
+ (drawDate.getTime() === inst.drawDate.getTime() && (drawDate.getMonth() + 1) === month ?
+ ' ' + renderer.highlightedClass : '') + '"' +
+ (dateInfo.title || (inst.options.dayStatus && selectable) ? ' title="' +
+ (dateInfo.title || plugin.formatDate(
+ inst.options.dayStatus, drawDate, inst.getConfig())) + '"' : '') + '>' +
+ (inst.options.showOtherMonths || (drawDate.getMonth() + 1) === month ?
+ dateInfo.content || drawDate.getDate() : '&#160;') +
+ (selectable ? '</a>' : '</span>'));
+ plugin.add(drawDate, 1, 'd');
+ ts = drawDate.getTime();
+ }
+ weeks += this._prepare(renderer.week, inst).replace(/\{days\}/g, days).
+ replace(/\{weekOfYear\}/g, weekOfYear);
+ }
+ var monthHeader = this._prepare(renderer.month, inst).match(/\{monthHeader(:[^\}]+)?\}/);
+ monthHeader = (monthHeader[0].length <= 13 ? 'MM yyyy' :
+ monthHeader[0].substring(13, monthHeader[0].length - 1));
+ monthHeader = (first ? this._generateMonthSelection(
+ inst, year, month, minDate, maxDate, monthHeader, renderer) :
+ plugin.formatDate(monthHeader, plugin.newDate(year, month, 1), inst.getConfig()));
+ var weekHeader = this._prepare(renderer.weekHeader, inst).
+ replace(/\{days\}/g, this._generateDayHeaders(inst, renderer));
+ return this._prepare(renderer.month, inst).replace(/\{monthHeader(:[^\}]+)?\}/g, monthHeader).
+ replace(/\{weekHeader\}/g, weekHeader).replace(/\{weeks\}/g, weeks);
+ },
+
+ /** Generate the HTML for the day headers.
+ @private
+ @param {object} inst The current instance settings.
+ @param {object} renderer The rendering templates.
+ @return {string} A week's worth of day headers. */
+ _generateDayHeaders: function(inst, renderer) {
+ var header = '';
+ for (var day = 0; day < 7; day++) {
+ var dow = (day + inst.options.firstDay) % 7;
+ header += this._prepare(renderer.dayHeader, inst).replace(/\{day\}/g,
+ '<span class="' + this._curDoWClass + dow + '" title="' +
+ inst.options.dayNames[dow] + '">' + inst.options.dayNamesMin[dow] + '</span>');
+ }
+ return header;
+ },
+
+ /** Generate selection controls for month.
+ @private
+ @param {object} inst The current instance settings.
+ @param {number} year The year to generate.
+ @param {number} month The month to generate.
+ @param {Date} minDate The minimum date allowed.
+ @param {Date} maxDate The maximum date allowed.
+ @param {string} monthHeader The month/year format.
+ @return {string} The month selection content. */
+ _generateMonthSelection: function(inst, year, month, minDate, maxDate, monthHeader) {
+ if (!inst.options.changeMonth) {
+ return plugin.formatDate(
+ monthHeader, plugin.newDate(year, month, 1), inst.getConfig());
+ }
+ // Months
+ var monthNames = inst.options['monthNames' + (monthHeader.match(/mm/i) ? '' : 'Short')];
+ var html = monthHeader.replace(/m+/i, '\\x2E').replace(/y+/i, '\\x2F');
+ var selector = '<select class="' + this._monthYearClass +
+ '" title="' + inst.options.monthStatus + '">';
+ for (var m = 1; m <= 12; m++) {
+ if ((!minDate || plugin.newDate(year, m, plugin.daysInMonth(year, m)).
+ getTime() >= minDate.getTime()) &&
+ (!maxDate || plugin.newDate(year, m, 1).getTime() <= maxDate.getTime())) {
+ selector += '<option value="' + m + '/' + year + '"' +
+ (month === m ? ' selected="selected"' : '') + '>' +
+ monthNames[m - 1] + '</option>';
+ }
+ }
+ selector += '</select>';
+ html = html.replace(/\\x2E/, selector);
+ // Years
+ var yearRange = inst.options.yearRange;
+ if (yearRange === 'any') {
+ selector = '<select class="' + this._monthYearClass + ' ' + this._anyYearClass +
+ '" title="' + inst.options.yearStatus + '">' +
+ '<option>' + year + '</option></select>' +
+ '<input class="' + this._monthYearClass + ' ' + this._curMonthClass +
+ month + '" value="' + year + '">';
+ }
+ else {
+ yearRange = yearRange.split(':');
+ var todayYear = plugin.today().getFullYear();
+ var start = (yearRange[0].match('c[+-].*') ? year + parseInt(yearRange[0].substring(1), 10) :
+ ((yearRange[0].match('[+-].*') ? todayYear : 0) + parseInt(yearRange[0], 10)));
+ var end = (yearRange[1].match('c[+-].*') ? year + parseInt(yearRange[1].substring(1), 10) :
+ ((yearRange[1].match('[+-].*') ? todayYear : 0) + parseInt(yearRange[1], 10)));
+ selector = '<select class="' + this._monthYearClass +
+ '" title="' + inst.options.yearStatus + '">';
+ start = plugin.add(plugin.newDate(start + 1, 1, 1), -1, 'd');
+ end = plugin.newDate(end, 1, 1);
+ var addYear = function(y, yDisplay) {
+ if (y !== 0) {
+ selector += '<option value="' + month + '/' + y + '"' +
+ (year === y ? ' selected="selected"' : '') + '>' + (yDisplay || y) + '</option>';
+ }
+ };
+ var earlierLater = null;
+ var y = null;
+ if (start.getTime() < end.getTime()) {
+ start = (minDate && minDate.getTime() > start.getTime() ? minDate : start).getFullYear();
+ end = (maxDate && maxDate.getTime() < end.getTime() ? maxDate : end).getFullYear();
+ earlierLater = Math.floor((end - start) / 2);
+ if (!minDate || minDate.getFullYear() < start) {
+ addYear(start - earlierLater, inst.options.earlierText);
+ }
+ for (y = start; y <= end; y++) {
+ addYear(y);
+ }
+ if (!maxDate || maxDate.getFullYear() > end) {
+ addYear(end + earlierLater, inst.options.laterText);
+ }
+ }
+ else {
+ start = (maxDate && maxDate.getTime() < start.getTime() ? maxDate : start).getFullYear();
+ end = (minDate && minDate.getTime() > end.getTime() ? minDate : end).getFullYear();
+ earlierLater = Math.floor((start - end) / 2);
+ if (!maxDate || maxDate.getFullYear() > start) {
+ addYear(start + earlierLater, inst.options.earlierText);
+ }
+ for (y = start; y >= end; y--) {
+ addYear(y);
+ }
+ if (!minDate || minDate.getFullYear() < end) {
+ addYear(end - earlierLater, inst.options.laterText);
+ }
+ }
+ selector += '</select>';
+ }
+ html = html.replace(/\\x2F/, selector);
+ return html;
+ },
+
+ /** Prepare a render template for use.
+ Exclude popup/inline sections that are not applicable.
+ Localise text of the form: {l10n:name}.
+ @private
+ @param {string} text The text to localise.
+ @param {object} inst The current instance settings.
+ @return {string} The localised text. */
+ _prepare: function(text, inst) {
+ var replaceSection = function(type, retain) {
+ while (true) {
+ var start = text.indexOf('{' + type + ':start}');
+ if (start === -1) {
+ return;
+ }
+ var end = text.substring(start).indexOf('{' + type + ':end}');
+ if (end > -1) {
+ text = text.substring(0, start) +
+ (retain ? text.substr(start + type.length + 8, end - type.length - 8) : '') +
+ text.substring(start + end + type.length + 6);
+ }
+ }
+ };
+ replaceSection('inline', inst.inline);
+ replaceSection('popup', !inst.inline);
+ var pattern = /\{l10n:([^\}]+)\}/;
+ var matches = null;
+ while ((matches = pattern.exec(text))) {
+ text = text.replace(matches[0], inst.options[matches[1]]);
+ }
+ return text;
+ }
+ });
+
+ var plugin = $.datepick; // Singleton instance
+
+ $(function() {
+ $(document).on('mousedown.' + pluginName, plugin._checkExternalClick).
+ on('resize.' + pluginName, function() { plugin.hide(plugin.curInst); });
+ });
+
+})(jQuery);
A js/jquery.min.js
+4 −0
--- /dev/null
+++ b/js/jquery.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=Q.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f
+}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||z),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||z,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendChild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Nb=/alpha\([^)]*\)/i,Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)
+},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e=z.createElement("div");e.setAttribute("className","t"),e.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getElementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.text(a)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolean"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vc," ").indexOf(b)>=0)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var wc=n.now(),xc=/\?/,yc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}catch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Qc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Dc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_="+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Kc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Nc(Jc,k,b,v)){v.readyState=1,h&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Pc(k,v,c)),u=Qc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.join("&").replace(Rc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Vc.test(this.nodeName)&&!Uc.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Tc,"\r\n")}}):{name:b.name,value:c.replace(Tc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&$c()||_c()}:$c;var Xc=0,Yc={},Zc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Yc)Yc[a](void 0,!0)}),l.cors=!!Zc&&"withCredentials"in Zc,Zc=l.ajax=!!Zc,Zc&&n.ajaxTransport(function(a){if(!a.crossDomain||l.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Xc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Yc[g],b=void 0,f.onreadystatechange=n.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Yc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function $c(){try{return new a.XMLHttpRequest}catch(b){}}function _c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=z.head||n("head")[0]||z.documentElement;return{send:function(d,e){b=z.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var ad=[],bd=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ad.pop()||n.expando+"_"+wc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(bd.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&bd.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(bd,"$1"+e):b.jsonp!==!1&&(b.url+=(xc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ad.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||z;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var cd=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&cd)return cd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=a.slice(h,a.length),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&n.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n});
A js/jquery.plugin.js
+388 −0
--- /dev/null
+++ b/js/jquery.plugin.js
@@ -0,0 +1,388 @@
+/* globals JQClass */
+/*! Simple JavaScript Inheritance
+ * By John Resig http://ejohn.org/
+ * MIT Licensed.
+ */
+// Inspired by base2 and Prototype
+(function(){
+ 'use strict';
+ var initializing = false;
+
+ // The base JQClass implementation (does nothing)
+ window.JQClass = function(){};
+
+ // Collection of derived classes
+ JQClass.classes = {};
+
+ // Create a new JQClass that inherits from this class
+ JQClass.extend = function extender(prop) {
+ var base = this.prototype;
+
+ // Instantiate a base class (but only create the instance, don't run the init constructor)
+ initializing = true;
+ var prototype = new this();
+ initializing = false;
+
+ // Copy the properties over onto the new prototype
+ for (var name in prop) { // jshint loopfunc:true
+ // Check if we're overwriting an existing function
+ if (typeof prop[name] === 'function' && typeof base[name] === 'function') {
+ prototype[name] = (function (name, fn) {
+ return function () {
+ var __super = this._super;
+ // Add a new ._super() method that is the same method but on the super-class
+ this._super = function (args) {
+ return base[name].apply(this, args || []);
+ };
+ var ret = fn.apply(this, arguments);
+ // The method only needs to be bound temporarily, so we remove it when we're done executing
+ this._super = __super;
+ return ret;
+ };
+ })(name, prop[name]);
+ // Check if we're overwriting existing default options.
+ } else if (typeof prop[name] === 'object' && typeof base[name] === 'object' && name === 'defaultOptions') {
+ var obj1 = base[name];
+ var obj2 = prop[name];
+ var obj3 = {};
+ var key;
+ for (key in obj1) { // jshint forin:false
+ obj3[key] = obj1[key];
+ }
+ for (key in obj2) { // jshint forin:false
+ obj3[key] = obj2[key];
+ }
+ prototype[name] = obj3;
+ } else {
+ prototype[name] = prop[name];
+ }
+ }
+
+ // The dummy class constructor
+ function JQClass() {
+ // All construction is actually done in the init method
+ if (!initializing && this._init) {
+ this._init.apply(this, arguments);
+ }
+ }
+
+ // Populate our constructed prototype object
+ JQClass.prototype = prototype;
+
+ // Enforce the constructor to be what we expect
+ JQClass.prototype.constructor = JQClass;
+
+ // And make this class extendable
+ JQClass.extend = extender;
+
+ return JQClass;
+ };
+})();
+/*! Abstract base class for collection plugins v1.0.3.
+ Written by Keith Wood (wood.keith{at}optusnet.com.au) December 2013.
+ Licensed under the MIT license (http://keith-wood.name/licence.html). */
+(function($) { // Ensure $, encapsulate
+ 'use strict';
+
+ /** <p>Abstract base class for collection plugins v1.0.3.</p>
+ <p>Written by Keith Wood (wood.keith{at}optusnet.com.au) December 2013.</p>
+ <p>Licensed under the MIT license (http://keith-wood.name/licence.html).</p>
+ <p>Use {@link $.JQPlugin.createPlugin} to create new plugins using this framework.</p>
+ <p>This base class provides common functionality such as:</p>
+ <ul>
+ <li>Creates jQuery bridge - allowing you to invoke your plugin on a collection of elements.</li>
+ <li>Handles initialisation including reading settings from metadata -
+ an instance object is attached to the affected element(s) containing all the necessary data.</li>
+ <li>Handles option retrieval and update - options can be set through default values,
+ through inline metadata, or through instantiation settings.<br>
+ Metadata is specified as an attribute on the element:
+ <code>data-&lt;pluginName>="&lt;option name>: '&lt;value>', ..."</code>.
+ Dates should be specified as strings in this format: <code>'new Date(y, m-1, d)'</code>.</li>
+ <li>Handles method calling - inner functions starting with '_'are inaccessible,
+ whereas others can be called via <code>$(selector).pluginName('functionName')</code>.</li>
+ <li>Handles plugin destruction - removing all trace of the plugin.</li>
+ </ul>
+ @module JQPlugin
+ @abstract */
+ JQClass.classes.JQPlugin = JQClass.extend({
+
+ /** Name to identify this plugin.
+ @example name: 'tabs' */
+ name: 'plugin',
+
+ /** Default options for instances of this plugin (default: {}).
+ @example defaultOptions: {
+ selectedClass: 'selected',
+ triggers: 'click'
+} */
+ defaultOptions: {},
+
+ /** Options dependent on the locale.
+ Indexed by language and (optional) country code, with '' denoting the default language (English/US).
+ Normally additional languages would be provided as separate files to all them to be included as needed.
+ @example regionalOptions: {
+ '': {
+ greeting: 'Hi'
+ }
+} */
+ regionalOptions: {},
+
+ /** Whether or not a deep merge should be performed when accumulating options.
+ The default is <code>true</code> but can be overridden in a sub-class. */
+ deepMerge: true,
+
+ /** Retrieve a marker class for affected elements.
+ In the format: <code>is-&lt;pluginName&gt;</code>.
+ @protected
+ @return {string} The marker class. */
+ _getMarker: function() {
+ return 'is-' + this.name;
+ },
+
+ /** Initialise the plugin.
+ Create the jQuery bridge - plugin name <code>xyz</code>
+ produces singleton <code>$.xyz</code> and collection function <code>$.fn.xyz</code>.
+ @protected */
+ _init: function() {
+ // Apply default localisations
+ $.extend(this.defaultOptions, (this.regionalOptions && this.regionalOptions['']) || {});
+ // Camel-case the name
+ var jqName = camelCase(this.name);
+ // Expose jQuery singleton manager
+ $[jqName] = this;
+ // Expose jQuery collection plugin
+ $.fn[jqName] = function(options) {
+ var otherArgs = Array.prototype.slice.call(arguments, 1);
+ var inst = this;
+ var returnValue = this;
+ this.each(function () {
+ if (typeof options === 'string') {
+ if (options[0] === '_' || !$[jqName][options]) {
+ throw 'Unknown method: ' + options;
+ }
+ var methodValue = $[jqName][options].apply($[jqName], [this].concat(otherArgs));
+ if (methodValue !== inst && methodValue !== undefined) {
+ returnValue = methodValue;
+ return false;
+ }
+ } else {
+ $[jqName]._attach(this, options);
+ }
+ });
+ return returnValue;
+ };
+ },
+
+ /** Set default options for all subsequent instances.
+ @param {object} options The new default options.
+ @example $.pluginName.setDefaults({name: value, ...}) */
+ setDefaults: function(options) {
+ $.extend(this.defaultOptions, options || {});
+ },
+
+ /** Initialise an element. Called internally only.
+ Adds an instance object as data named for the plugin.
+ Override {@linkcode module:JQPlugin~_postAttach|_postAttach} for plugin-specific processing.
+ @private
+ @param {Element} elem The element to enhance.
+ @param {object} options Overriding settings. */
+ _attach: function(elem, options) {
+ elem = $(elem);
+ if (elem.hasClass(this._getMarker())) {
+ return;
+ }
+ elem.addClass(this._getMarker());
+ options = $.extend(this.deepMerge, {}, this.defaultOptions, this._getMetadata(elem), options || {});
+ var inst = $.extend({name: this.name, elem: elem, options: options}, this._instSettings(elem, options));
+ elem.data(this.name, inst); // Save instance against element
+ this._postAttach(elem, inst);
+ this.option(elem, options);
+ },
+
+ /** Retrieve additional instance settings.
+ Override this in a sub-class to provide extra settings.
+ These are added directly to the instance object.
+ Default attributes of an instance object are shown as properties below:
+ @protected
+ @param {jQuery} elem The current jQuery element.
+ @param {object} options The instance options.
+ @return {object} Any extra instance values.
+ @property {Element} elem The element to which this instance applies.
+ @property {string} name The name of this plugin.
+ @property {object} options The accumulated options for this instance.
+ @example _instSettings: function(elem, options) {
+ return {nav: elem.find(options.navSelector)};
+} */
+ _instSettings: function(elem, options) { // jshint unused:false
+ return {};
+ },
+
+ /** Plugin specific post initialisation.
+ Override this in a sub-class to perform extra activities.
+ This is where you would implement your plugin's main functionality.
+ @protected
+ @param {jQuery} elem The current jQuery element.
+ @param {object} inst The instance settings.
+ @example _postAttach: function(elem, inst) {
+ elem.on('click.' + this.name, function() {
+ ...
+ });
+} */
+ _postAttach: function(elem, inst) { // jshint unused:false
+ },
+
+ /** Retrieve metadata configuration from the element.
+ Metadata is specified as an attribute:
+ <code>data-&lt;pluginName>="&lt;option name>: '&lt;value>', ..."</code>.
+ Dates should be specified as strings in this format: <code>'new Date(y, m-1, d)'</code>.
+ @private
+ @param {jQuery} elem The source element.
+ @return {object} The inline configuration or {}. */
+ _getMetadata: function(elem) {
+ try {
+ var data = elem.data(this.name.toLowerCase()) || '';
+ data = data.replace(/(\\?)'/g, function(e, t) {
+ return t ? '\'' : '"';
+ }).replace(/([a-zA-Z0-9]+):/g, function(match, group, i) {
+ var count = data.substring(0, i).match(/"/g); // Handle embedded ':'
+ return (!count || count.length % 2 === 0 ? '"' + group + '":' : group + ':');
+ }).replace(/\\:/g, ':');
+ data = $.parseJSON('{' + data + '}');
+ for (var key in data) {
+ if (data.hasOwnProperty(key)) {
+ var value = data[key];
+ if (typeof value === 'string' && value.match(/^new Date\(([-0-9,\s]*)\)$/)) { // Convert dates
+ data[key] = eval(value); // jshint ignore:line
+ }
+ }
+ }
+ return data;
+ }
+ catch (e) {
+ return {};
+ }
+ },
+
+ /** Retrieve the instance data for element.
+ @protected
+ @param {Element} elem The source element.
+ @return {object} The instance data or <code>{}</code> if none. */
+ _getInst: function(elem) {
+ return $(elem).data(this.name) || {};
+ },
+
+ /** Retrieve or reconfigure the settings for a plugin.
+ If new settings are provided they are applied to the instance options.
+ If an option name only is provided the value of that option is returned.
+ If no name or value is provided, all options are returned.
+ Override {@linkcode module:JQPlugin~_optionsChanged|_optionsChanged}
+ for plugin-specific processing when option values change.
+ @param {Element} elem The source element.
+ @param {object|string} [name] The collection of new option values or the name of a single option.
+ @param {any} [value] The value for a single named option.
+ @return {any|object} If retrieving a single value or all options.
+ @example $(selector).plugin('option', 'name', value) // Set one option
+$(selector).plugin('option', {name: value, ...}) // Set multiple options
+var value = $(selector).plugin('option', 'name') // Get one option
+var options = $(selector).plugin('option') // Get all options */
+ option: function(elem, name, value) {
+ elem = $(elem);
+ var inst = elem.data(this.name);
+ var options = name || {};
+ if (!name || (typeof name === 'string' && typeof value === 'undefined')) {
+ options = (inst || {}).options;
+ return (options && name ? options[name] : options);
+ }
+ if (!elem.hasClass(this._getMarker())) {
+ return;
+ }
+ if (typeof name === 'string') {
+ options = {};
+ options[name] = value;
+ }
+ this._optionsChanged(elem, inst, options);
+ $.extend(inst.options, options);
+ },
+
+ /** Plugin specific options processing.
+ Old value available in <code>inst.options[name]</code>, new value in <code>options[name]</code>.
+ Override this in a sub-class to perform extra activities.
+ @protected
+ @param {jQuery} elem The current jQuery element.
+ @param {object} inst The instance settings.
+ @param {object} options The new options.
+ @example _optionsChanged: function(elem, inst, options) {
+ if (options.name != inst.options.name) {
+ elem.removeClass(inst.options.name).addClass(options.name);
+ }
+} */
+ _optionsChanged: function(elem, inst, options) { // jshint unused:false
+ },
+
+ /** Remove all trace of the plugin.
+ Override {@linkcode module:JQPlugin~_preDestroy|_preDestroy} for plugin-specific processing.
+ @param {Element} elem The source element.
+ @example $(selector).plugin('destroy') */
+ destroy: function(elem) {
+ elem = $(elem);
+ if (!elem.hasClass(this._getMarker())) {
+ return;
+ }
+ this._preDestroy(elem, this._getInst(elem));
+ elem.removeData(this.name).removeClass(this._getMarker());
+ },
+
+ /** Plugin specific pre destruction.
+ It is invoked as part of the {@linkcode module:JQPlugin~destroy|destroy} processing.
+ Override this in a sub-class to perform extra activities and undo everything that was
+ done in the {@linkcode module:JQPlugin~_postAttach|_postAttach} or
+ {@linkcode module:JQPlugin~_optionsChanged|_optionsChanged} functions.
+ @protected
+ @param {jQuery} elem The current jQuery element.
+ @param {object} inst The instance settings.
+ @example _preDestroy: function(elem, inst) {
+ elem.off('.' + this.name);
+} */
+ _preDestroy: function(elem, inst) { // jshint unused:false
+ }
+ });
+
+ /** Convert names from hyphenated to camel-case.
+ @private
+ @param {string} value The original hyphenated name.
+ @return {string} The camel-case version. */
+ function camelCase(name) {
+ return name.replace(/-([a-z])/g, function(match, group) {
+ return group.toUpperCase();
+ });
+ }
+
+ /** Expose the plugin base.
+ @namespace $.JQPlugin */
+ $.JQPlugin = {
+
+ /** Create a new collection plugin.
+ @memberof $.JQPlugin
+ @param {string} [superClass='JQPlugin'] The name of the parent class to inherit from.
+ @param {object} overrides The property/function overrides for the new class.
+ See {@link module:JQPlugin|JQPlugin} for the base functionality.
+ @example $.JQPlugin.createPlugin({ // Define the plugin
+ name: 'tabs',
+ defaultOptions: {selectedClass: 'selected'},
+ _initSettings: function(elem, options) { return {...}; },
+ _postAttach: function(elem, inst) { ... }
+});
+$('selector').tabs(); // And instantiate it */
+ createPlugin: function(superClass, overrides) {
+ if (typeof superClass === 'object') {
+ overrides = superClass;
+ superClass = 'JQPlugin';
+ }
+ superClass = camelCase(superClass);
+ var className = camelCase(overrides.name);
+ JQClass.classes[className] = JQClass.classes[superClass].extend(overrides);
+ new JQClass.classes[className](); // jshint ignore:line
+ }
+ };
+
+})(jQuery);
\ No newline at end of file
A js/modernizr.js
+1406 −0
--- /dev/null
+++ b/js/modernizr.js
@@ -0,0 +1,1406 @@
+/*!
+ * Modernizr v2.8.2
+ * www.modernizr.com
+ *
+ * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
+ * Available under the BSD and MIT licenses: www.modernizr.com/license/
+ */
+
+/*
+ * Modernizr tests which native CSS3 and HTML5 features are available in
+ * the current UA and makes the results available to you in two ways:
+ * as properties on a global Modernizr object, and as classes on the
+ * <html> element. This information allows you to progressively enhance
+ * your pages with a granular level of control over the experience.
+ *
+ * Modernizr has an optional (not included) conditional resource loader
+ * called Modernizr.load(), based on Yepnope.js (yepnopejs.com).
+ * To get a build that includes Modernizr.load(), as well as choosing
+ * which tests to include, go to www.modernizr.com/download/
+ *
+ * Authors Faruk Ates, Paul Irish, Alex Sexton
+ * Contributors Ryan Seddon, Ben Alman
+ */
+
+window.Modernizr = (function( window, document, undefined ) {
+
+ var version = '2.8.2',
+
+ Modernizr = {},
+
+ /*>>cssclasses*/
+ // option for enabling the HTML classes to be added
+ enableClasses = true,
+ /*>>cssclasses*/
+
+ docElement = document.documentElement,
+
+ /**
+ * Create our "modernizr" element that we do most feature tests on.
+ */
+ mod = 'modernizr',
+ modElem = document.createElement(mod),
+ mStyle = modElem.style,
+
+ /**
+ * Create the input element for various Web Forms feature tests.
+ */
+ inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ ,
+
+ /*>>smile*/
+ smile = ':)',
+ /*>>smile*/
+
+ toString = {}.toString,
+
+ // TODO :: make the prefixes more granular
+ /*>>prefixes*/
+ // List of property values to set for css tests. See ticket #21
+ prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
+ /*>>prefixes*/
+
+ /*>>domprefixes*/
+ // Following spec is to expose vendor-specific style properties as:
+ // elem.style.WebkitBorderRadius
+ // and the following would be incorrect:
+ // elem.style.webkitBorderRadius
+
+ // Webkit ghosts their properties in lowercase but Opera & Moz do not.
+ // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+
+ // erik.eae.net/archives/2008/03/10/21.48.10/
+
+ // More here: github.com/Modernizr/Modernizr/issues/issue/21
+ omPrefixes = 'Webkit Moz O ms',
+
+ cssomPrefixes = omPrefixes.split(' '),
+
+ domPrefixes = omPrefixes.toLowerCase().split(' '),
+ /*>>domprefixes*/
+
+ /*>>ns*/
+ ns = {'svg': 'http://www.w3.org/2000/svg'},
+ /*>>ns*/
+
+ tests = {},
+ inputs = {},
+ attrs = {},
+
+ classes = [],
+
+ slice = classes.slice,
+
+ featureName, // used in testing loop
+
+
+ /*>>teststyles*/
+ // Inject element with style element and some CSS rules
+ injectElementWithStyles = function( rule, callback, nodes, testnames ) {
+
+ var style, ret, node, docOverflow,
+ div = document.createElement('div'),
+ // After page load injecting a fake body doesn't work so check if body exists
+ body = document.body,
+ // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it.
+ fakeBody = body || document.createElement('body');
+
+ if ( parseInt(nodes, 10) ) {
+ // In order not to give false positives we create a node for each test
+ // This also allows the method to scale for unspecified uses
+ while ( nodes-- ) {
+ node = document.createElement('div');
+ node.id = testnames ? testnames[nodes] : mod + (nodes + 1);
+ div.appendChild(node);
+ }
+ }
+
+ // <style> elements in IE6-9 are considered 'NoScope' elements and therefore will be removed
+ // when injected with innerHTML. To get around this you need to prepend the 'NoScope' element
+ // with a 'scoped' element, in our case the soft-hyphen entity as it won't mess with our measurements.
+ // msdn.microsoft.com/en-us/library/ms533897%28VS.85%29.aspx
+ // Documents served as xml will throw if using &shy; so use xml friendly encoded version. See issue #277
+ style = ['&#173;','<style id="s', mod, '">', rule, '</style>'].join('');
+ div.id = mod;
+ // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.
+ // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270
+ (body ? div : fakeBody).innerHTML += style;
+ fakeBody.appendChild(div);
+ if ( !body ) {
+ //avoid crashing IE8, if background image is used
+ fakeBody.style.background = '';
+ //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible
+ fakeBody.style.overflow = 'hidden';
+ docOverflow = docElement.style.overflow;
+ docElement.style.overflow = 'hidden';
+ docElement.appendChild(fakeBody);
+ }
+
+ ret = callback(div, rule);
+ // If this is done after page load we don't want to remove the body so check if body exists
+ if ( !body ) {
+ fakeBody.parentNode.removeChild(fakeBody);
+ docElement.style.overflow = docOverflow;
+ } else {
+ div.parentNode.removeChild(div);
+ }
+
+ return !!ret;
+
+ },
+ /*>>teststyles*/
+
+ /*>>mq*/
+ // adapted from matchMedia polyfill
+ // by Scott Jehl and Paul Irish
+ // gist.github.com/786768
+ testMediaQuery = function( mq ) {
+
+ var matchMedia = window.matchMedia || window.msMatchMedia;
+ if ( matchMedia ) {
+ return matchMedia(mq) && matchMedia(mq).matches || false;
+ }
+
+ var bool;
+
+ injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) {
+ bool = (window.getComputedStyle ?
+ getComputedStyle(node, null) :
+ node.currentStyle)['position'] == 'absolute';
+ });
+
+ return bool;
+
+ },
+ /*>>mq*/
+
+
+ /*>>hasevent*/
+ //
+ // isEventSupported determines if a given element supports the given event
+ // kangax.github.com/iseventsupported/
+ //
+ // The following results are known incorrects:
+ // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative
+ // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333
+ // ...
+ isEventSupported = (function() {
+
+ var TAGNAMES = {
+ 'select': 'input', 'change': 'input',
+ 'submit': 'form', 'reset': 'form',
+ 'error': 'img', 'load': 'img', 'abort': 'img'
+ };
+
+ function isEventSupported( eventName, element ) {
+
+ element = element || document.createElement(TAGNAMES[eventName] || 'div');
+ eventName = 'on' + eventName;
+
+ // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those
+ var isSupported = eventName in element;
+
+ if ( !isSupported ) {
+ // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
+ if ( !element.setAttribute ) {
+ element = document.createElement('div');
+ }
+ if ( element.setAttribute && element.removeAttribute ) {
+ element.setAttribute(eventName, '');
+ isSupported = is(element[eventName], 'function');
+
+ // If property was created, "remove it" (by setting value to `undefined`)
+ if ( !is(element[eventName], 'undefined') ) {
+ element[eventName] = undefined;
+ }
+ element.removeAttribute(eventName);
+ }
+ }
+
+ element = null;
+ return isSupported;
+ }
+ return isEventSupported;
+ })(),
+ /*>>hasevent*/
+
+ // TODO :: Add flag for hasownprop ? didn't last time
+
+ // hasOwnProperty shim by kangax needed for Safari 2.0 support
+ _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
+
+ if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
+ hasOwnProp = function (object, property) {
+ return _hasOwnProperty.call(object, property);
+ };
+ }
+ else {
+ hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */
+ return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
+ };
+ }
+
+ // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js
+ // es5.github.com/#x15.3.4.5
+
+ if (!Function.prototype.bind) {
+ Function.prototype.bind = function bind(that) {
+
+ var target = this;
+
+ if (typeof target != "function") {
+ throw new TypeError();
+ }
+
+ var args = slice.call(arguments, 1),
+ bound = function () {
+
+ if (this instanceof bound) {
+
+ var F = function(){};
+ F.prototype = target.prototype;
+ var self = new F();
+
+ var result = target.apply(
+ self,
+ args.concat(slice.call(arguments))
+ );
+ if (Object(result) === result) {
+ return result;
+ }
+ return self;
+
+ } else {
+
+ return target.apply(
+ that,
+ args.concat(slice.call(arguments))
+ );
+
+ }
+
+ };
+
+ return bound;
+ };
+ }
+
+ /**
+ * setCss applies given styles to the Modernizr DOM node.
+ */
+ function setCss( str ) {
+ mStyle.cssText = str;
+ }
+
+ /**
+ * setCssAll extrapolates all vendor-specific css strings.
+ */
+ function setCssAll( str1, str2 ) {
+ return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
+ }
+
+ /**
+ * is returns a boolean for if typeof obj is exactly type.
+ */
+ function is( obj, type ) {
+ return typeof obj === type;
+ }
+
+ /**
+ * contains returns a boolean for if substr is found within str.
+ */
+ function contains( str, substr ) {
+ return !!~('' + str).indexOf(substr);
+ }
+
+ /*>>testprop*/
+
+ // testProps is a generic CSS / DOM property test.
+
+ // In testing support for a given CSS property, it's legit to test:
+ // `elem.style[styleName] !== undefined`
+ // If the property is supported it will return an empty string,
+ // if unsupported it will return undefined.
+
+ // We'll take advantage of this quick test and skip setting a style
+ // on our modernizr element, but instead just testing undefined vs
+ // empty string.
+
+ // Because the testing of the CSS property names (with "-", as
+ // opposed to the camelCase DOM properties) is non-portable and
+ // non-standard but works in WebKit and IE (but not Gecko or Opera),
+ // we explicitly reject properties with dashes so that authors
+ // developing in WebKit or IE first don't end up with
+ // browser-specific content by accident.
+
+ function testProps( props, prefixed ) {
+ for ( var i in props ) {
+ var prop = props[i];
+ if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
+ return prefixed == 'pfx' ? prop : true;
+ }
+ }
+ return false;
+ }
+ /*>>testprop*/
+
+ // TODO :: add testDOMProps
+ /**
+ * testDOMProps is a generic DOM property test; if a browser supports
+ * a certain property, it won't return undefined for it.
+ */
+ function testDOMProps( props, obj, elem ) {
+ for ( var i in props ) {
+ var item = obj[props[i]];
+ if ( item !== undefined) {
+
+ // return the property name as a string
+ if (elem === false) return props[i];
+
+ // let's bind a function
+ if (is(item, 'function')){
+ // default to autobind unless override
+ return item.bind(elem || obj);
+ }
+
+ // return the unbound function or obj or value
+ return item;
+ }
+ }
+ return false;
+ }
+
+ /*>>testallprops*/
+ /**
+ * testPropsAll tests a list of DOM properties we want to check against.
+ * We specify literally ALL possible (known and/or likely) properties on
+ * the element including the non-vendor prefixed one, for forward-
+ * compatibility.
+ */
+ function testPropsAll( prop, prefixed, elem ) {
+
+ var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
+ props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
+
+ // did they call .prefixed('boxSizing') or are we just testing a prop?
+ if(is(prefixed, "string") || is(prefixed, "undefined")) {
+ return testProps(props, prefixed);
+
+ // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])
+ } else {
+ props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
+ return testDOMProps(props, prefixed, elem);
+ }
+ }
+ /*>>testallprops*/
+
+
+ /**
+ * Tests
+ * -----
+ */
+
+ // The *new* flexbox
+ // dev.w3.org/csswg/css3-flexbox
+
+ tests['flexbox'] = function() {
+ return testPropsAll('flexWrap');
+ };
+
+ // The *old* flexbox
+ // www.w3.org/TR/2009/WD-css3-flexbox-20090723/
+
+ tests['flexboxlegacy'] = function() {
+ return testPropsAll('boxDirection');
+ };
+
+ // On the S60 and BB Storm, getContext exists, but always returns undefined
+ // so we actually have to call getContext() to verify
+ // github.com/Modernizr/Modernizr/issues/issue/97/
+
+ tests['canvas'] = function() {
+ var elem = document.createElement('canvas');
+ return !!(elem.getContext && elem.getContext('2d'));
+ };
+
+ tests['canvastext'] = function() {
+ return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));
+ };
+
+ // webk.it/70117 is tracking a legit WebGL feature detect proposal
+
+ // We do a soft detect which may false positive in order to avoid
+ // an expensive context creation: bugzil.la/732441
+
+ tests['webgl'] = function() {
+ return !!window.WebGLRenderingContext;
+ };
+
+ /*
+ * The Modernizr.touch test only indicates if the browser supports
+ * touch events, which does not necessarily reflect a touchscreen
+ * device, as evidenced by tablets running Windows 7 or, alas,
+ * the Palm Pre / WebOS (touch) phones.
+ *
+ * Additionally, Chrome (desktop) used to lie about its support on this,
+ * but that has since been rectified: crbug.com/36415
+ *
+ * We also test for Firefox 4 Multitouch Support.
+ *
+ * For more info, see: modernizr.github.com/Modernizr/touch.html
+ */
+
+ tests['touch'] = function() {
+ var bool;
+
+ if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
+ bool = true;
+ } else {
+ injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) {
+ bool = node.offsetTop === 9;
+ });
+ }
+
+ return bool;
+ };
+
+
+ // geolocation is often considered a trivial feature detect...
+ // Turns out, it's quite tricky to get right:
+ //
+ // Using !!navigator.geolocation does two things we don't want. It:
+ // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513
+ // 2. Disables page caching in WebKit: webk.it/43956
+ //
+ // Meanwhile, in Firefox < 8, an about:config setting could expose
+ // a false positive that would throw an exception: bugzil.la/688158
+
+ tests['geolocation'] = function() {
+ return 'geolocation' in navigator;
+ };
+
+
+ tests['postmessage'] = function() {
+ return !!window.postMessage;
+ };
+
+
+ // Chrome incognito mode used to throw an exception when using openDatabase
+ // It doesn't anymore.
+ tests['websqldatabase'] = function() {
+ return !!window.openDatabase;
+ };
+
+ // Vendors had inconsistent prefixing with the experimental Indexed DB:
+ // - Webkit's implementation is accessible through webkitIndexedDB
+ // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB
+ // For speed, we don't test the legacy (and beta-only) indexedDB
+ tests['indexedDB'] = function() {
+ return !!testPropsAll("indexedDB", window);
+ };
+
+ // documentMode logic from YUI to filter out IE8 Compat Mode
+ // which false positives.
+ tests['hashchange'] = function() {
+ return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);
+ };
+
+ // Per 1.6:
+ // This used to be Modernizr.historymanagement but the longer
+ // name has been deprecated in favor of a shorter and property-matching one.
+ // The old API is still available in 1.6, but as of 2.0 will throw a warning,
+ // and in the first release thereafter disappear entirely.
+ tests['history'] = function() {
+ return !!(window.history && history.pushState);
+ };
+
+ tests['draganddrop'] = function() {
+ var div = document.createElement('div');
+ return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);
+ };
+
+ // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10
+ // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17.
+ // FF10 still uses prefixes, so check for it until then.
+ // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/
+ tests['websockets'] = function() {
+ return 'WebSocket' in window || 'MozWebSocket' in window;
+ };
+
+
+ // css-tricks.com/rgba-browser-support/
+ tests['rgba'] = function() {
+ // Set an rgba() color and check the returned value
+
+ setCss('background-color:rgba(150,255,150,.5)');
+
+ return contains(mStyle.backgroundColor, 'rgba');
+ };
+
+ tests['hsla'] = function() {
+ // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally,
+ // except IE9 who retains it as hsla
+
+ setCss('background-color:hsla(120,40%,100%,.5)');
+
+ return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');
+ };
+
+ tests['multiplebgs'] = function() {
+ // Setting multiple images AND a color on the background shorthand property
+ // and then querying the style.background property value for the number of
+ // occurrences of "url(" is a reliable method for detecting ACTUAL support for this!
+
+ setCss('background:url(https://),url(https://),red url(https://)');
+
+ // If the UA supports multiple backgrounds, there should be three occurrences
+ // of the string "url(" in the return value for elemStyle.background
+
+ return (/(url\s*\(.*?){3}/).test(mStyle.background);
+ };
+
+
+
+ // this will false positive in Opera Mini
+ // github.com/Modernizr/Modernizr/issues/396
+
+ tests['backgroundsize'] = function() {
+ return testPropsAll('backgroundSize');
+ };
+
+ tests['borderimage'] = function() {
+ return testPropsAll('borderImage');
+ };
+
+
+ // Super comprehensive table about all the unique implementations of
+ // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance
+
+ tests['borderradius'] = function() {
+ return testPropsAll('borderRadius');
+ };
+
+ // WebOS unfortunately false positives on this test.
+ tests['boxshadow'] = function() {
+ return testPropsAll('boxShadow');
+ };
+
+ // FF3.0 will false positive on this test
+ tests['textshadow'] = function() {
+ return document.createElement('div').style.textShadow === '';
+ };
+
+
+ tests['opacity'] = function() {
+ // Browsers that actually have CSS Opacity implemented have done so
+ // according to spec, which means their return values are within the
+ // range of [0.0,1.0] - including the leading zero.
+
+ setCssAll('opacity:.55');
+
+ // The non-literal . in this regex is intentional:
+ // German Chrome returns this value as 0,55
+ // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632
+ return (/^0.55$/).test(mStyle.opacity);
+ };
+
+
+ // Note, Android < 4 will pass this test, but can only animate
+ // a single property at a time
+ // goo.gl/v3V4Gp
+ tests['cssanimations'] = function() {
+ return testPropsAll('animationName');
+ };
+
+
+ tests['csscolumns'] = function() {
+ return testPropsAll('columnCount');
+ };
+
+
+ tests['cssgradients'] = function() {
+ /**
+ * For CSS Gradients syntax, please see:
+ * webkit.org/blog/175/introducing-css-gradients/
+ * developer.mozilla.org/en/CSS/-moz-linear-gradient
+ * developer.mozilla.org/en/CSS/-moz-radial-gradient
+ * dev.w3.org/csswg/css3-images/#gradients-
+ */
+
+ var str1 = 'background-image:',
+ str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));',
+ str3 = 'linear-gradient(left top,#9f9, white);';
+
+ setCss(
+ // legacy webkit syntax (FIXME: remove when syntax not in use anymore)
+ (str1 + '-webkit- '.split(' ').join(str2 + str1) +
+ // standard syntax // trailing 'background-image:'
+ prefixes.join(str3 + str1)).slice(0, -str1.length)
+ );
+
+ return contains(mStyle.backgroundImage, 'gradient');
+ };
+
+
+ tests['cssreflections'] = function() {
+ return testPropsAll('boxReflect');
+ };
+
+
+ tests['csstransforms'] = function() {
+ return !!testPropsAll('transform');
+ };
+
+
+ tests['csstransforms3d'] = function() {
+
+ var ret = !!testPropsAll('perspective');
+
+ // Webkit's 3D transforms are passed off to the browser's own graphics renderer.
+ // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in
+ // some conditions. As a result, Webkit typically recognizes the syntax but
+ // will sometimes throw a false positive, thus we must do a more thorough check:
+ if ( ret && 'webkitPerspective' in docElement.style ) {
+
+ // Webkit allows this media query to succeed only if the feature is enabled.
+ // `@media (transform-3d),(-webkit-transform-3d){ ... }`
+ injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) {
+ ret = node.offsetLeft === 9 && node.offsetHeight === 3;
+ });
+ }
+ return ret;
+ };
+
+
+ tests['csstransitions'] = function() {
+ return testPropsAll('transition');
+ };
+
+
+ /*>>fontface*/
+ // @font-face detection routine by Diego Perini
+ // javascript.nwbox.com/CSSSupport/
+
+ // false positives:
+ // WebOS github.com/Modernizr/Modernizr/issues/342
+ // WP7 github.com/Modernizr/Modernizr/issues/538
+ tests['fontface'] = function() {
+ var bool;
+
+ injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) {
+ var style = document.getElementById('smodernizr'),
+ sheet = style.sheet || style.styleSheet,
+ cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';
+
+ bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;
+ });
+
+ return bool;
+ };
+ /*>>fontface*/
+
+ // CSS generated content detection
+ tests['generatedcontent'] = function() {
+ var bool;
+
+ injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) {
+ bool = node.offsetHeight >= 3;
+ });
+
+ return bool;
+ };
+
+
+
+ // These tests evaluate support of the video/audio elements, as well as
+ // testing what types of content they support.
+ //
+ // We're using the Boolean constructor here, so that we can extend the value
+ // e.g. Modernizr.video // true
+ // Modernizr.video.ogg // 'probably'
+ //
+ // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845
+ // thx to NielsLeenheer and zcorpan
+
+ // Note: in some older browsers, "no" was a return value instead of empty string.
+ // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2
+ // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5
+
+ tests['video'] = function() {
+ var elem = document.createElement('video'),
+ bool = false;
+
+ // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224
+ try {
+ if ( bool = !!elem.canPlayType ) {
+ bool = new Boolean(bool);
+ bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,'');
+
+ // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546
+ bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
+
+ bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
+ }
+
+ } catch(e) { }
+
+ return bool;
+ };
+
+ tests['audio'] = function() {
+ var elem = document.createElement('audio'),
+ bool = false;
+
+ try {
+ if ( bool = !!elem.canPlayType ) {
+ bool = new Boolean(bool);
+ bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
+ bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');
+
+ // Mimetypes accepted:
+ // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements
+ // bit.ly/iphoneoscodecs
+ bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,'');
+ bool.m4a = ( elem.canPlayType('audio/x-m4a;') ||
+ elem.canPlayType('audio/aac;')) .replace(/^no$/,'');
+ }
+ } catch(e) { }
+
+ return bool;
+ };
+
+
+ // In FF4, if disabled, window.localStorage should === null.
+
+ // Normally, we could not test that directly and need to do a
+ // `('localStorage' in window) && ` test first because otherwise Firefox will
+ // throw bugzil.la/365772 if cookies are disabled
+
+ // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem
+ // will throw the exception:
+ // QUOTA_EXCEEDED_ERRROR DOM Exception 22.
+ // Peculiarly, getItem and removeItem calls do not throw.
+
+ // Because we are forced to try/catch this, we'll go aggressive.
+
+ // Just FWIW: IE8 Compat mode supports these features completely:
+ // www.quirksmode.org/dom/html5.html
+ // But IE8 doesn't support either with local files
+
+ tests['localstorage'] = function() {
+ try {
+ localStorage.setItem(mod, mod);
+ localStorage.removeItem(mod);
+ return true;
+ } catch(e) {
+ return false;
+ }
+ };
+
+ tests['sessionstorage'] = function() {
+ try {
+ sessionStorage.setItem(mod, mod);
+ sessionStorage.removeItem(mod);
+ return true;
+ } catch(e) {
+ return false;
+ }
+ };
+
+
+ tests['webworkers'] = function() {
+ return !!window.Worker;
+ };
+
+
+ tests['applicationcache'] = function() {
+ return !!window.applicationCache;
+ };
+
+
+ // Thanks to Erik Dahlstrom
+ tests['svg'] = function() {
+ return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;
+ };
+
+ // specifically for SVG inline in HTML, not within XHTML
+ // test page: paulirish.com/demo/inline-svg
+ tests['inlinesvg'] = function() {
+ var div = document.createElement('div');
+ div.innerHTML = '<svg/>';
+ return (div.firstChild && div.firstChild.namespaceURI) == ns.svg;
+ };
+
+ // SVG SMIL animation
+ tests['smil'] = function() {
+ return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate')));
+ };
+
+ // This test is only for clip paths in SVG proper, not clip paths on HTML content
+ // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg
+
+ // However read the comments to dig into applying SVG clippaths to HTML content here:
+ // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491
+ tests['svgclippaths'] = function() {
+ return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath')));
+ };
+
+ /*>>webforms*/
+ // input features and input types go directly onto the ret object, bypassing the tests loop.
+ // Hold this guy to execute in a moment.
+ function webforms() {
+ /*>>input*/
+ // Run through HTML5's new input attributes to see if the UA understands any.
+ // We're using f which is the <input> element created early on
+ // Mike Taylr has created a comprehensive resource for testing these attributes
+ // when applied to all input types:
+ // miketaylr.com/code/input-type-attr.html
+ // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
+
+ // Only input placeholder is tested while textarea's placeholder is not.
+ // Currently Safari 4 and Opera 11 have support only for the input placeholder
+ // Both tests are available in feature-detects/forms-placeholder.js
+ Modernizr['input'] = (function( props ) {
+ for ( var i = 0, len = props.length; i < len; i++ ) {
+ attrs[ props[i] ] = !!(props[i] in inputElem);
+ }
+ if (attrs.list){
+ // safari false positive's on datalist: webk.it/74252
+ // see also github.com/Modernizr/Modernizr/issues/146
+ attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);
+ }
+ return attrs;
+ })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
+ /*>>input*/
+
+ /*>>inputtypes*/
+ // Run through HTML5's new input types to see if the UA understands any.
+ // This is put behind the tests runloop because it doesn't return a
+ // true/false like all the other tests; instead, it returns an object
+ // containing each input type with its corresponding true/false value
+
+ // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/
+ Modernizr['inputtypes'] = (function(props) {
+
+ for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {
+
+ inputElem.setAttribute('type', inputElemType = props[i]);
+ bool = inputElem.type !== 'text';
+
+ // We first check to see if the type we give it sticks..
+ // If the type does, we feed it a textual value, which shouldn't be valid.
+ // If the value doesn't stick, we know there's input sanitization which infers a custom UI
+ if ( bool ) {
+
+ inputElem.value = smile;
+ inputElem.style.cssText = 'position:absolute;visibility:hidden;';
+
+ if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {
+
+ docElement.appendChild(inputElem);
+ defaultView = document.defaultView;
+
+ // Safari 2-4 allows the smiley as a value, despite making a slider
+ bool = defaultView.getComputedStyle &&
+ defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&
+ // Mobile android web browser has false positive, so must
+ // check the height to see if the widget is actually there.
+ (inputElem.offsetHeight !== 0);
+
+ docElement.removeChild(inputElem);
+
+ } else if ( /^(search|tel)$/.test(inputElemType) ){
+ // Spec doesn't define any special parsing or detectable UI
+ // behaviors so we pass these through as true
+
+ // Interestingly, opera fails the earlier test, so it doesn't
+ // even make it here.
+
+ } else if ( /^(url|email)$/.test(inputElemType) ) {
+ // Real url and email support comes with prebaked validation.
+ bool = inputElem.checkValidity && inputElem.checkValidity() === false;
+
+ } else {
+ // If the upgraded input compontent rejects the :) text, we got a winner
+ bool = inputElem.value != smile;
+ }
+ }
+
+ inputs[ props[i] ] = !!bool;
+ }
+ return inputs;
+ })('search tel url email datetime date month week time datetime-local number range color'.split(' '));
+ /*>>inputtypes*/
+ }
+ /*>>webforms*/
+
+
+ // End of test definitions
+ // -----------------------
+
+
+
+ // Run through all tests and detect their support in the current UA.
+ // todo: hypothetically we could be doing an array of tests and use a basic loop here.
+ for ( var feature in tests ) {
+ if ( hasOwnProp(tests, feature) ) {
+ // run the test, throw the return value into the Modernizr,
+ // then based on that boolean, define an appropriate className
+ // and push it into an array of classes we'll join later.
+ featureName = feature.toLowerCase();
+ Modernizr[featureName] = tests[feature]();
+
+ classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
+ }
+ }
+
+ /*>>webforms*/
+ // input tests need to run.
+ Modernizr.input || webforms();
+ /*>>webforms*/
+
+
+ /**
+ * addTest allows the user to define their own feature tests
+ * the result will be added onto the Modernizr object,
+ * as well as an appropriate className set on the html element
+ *
+ * @param feature - String naming the feature
+ * @param test - Function returning true if feature is supported, false if not
+ */
+ Modernizr.addTest = function ( feature, test ) {
+ if ( typeof feature == 'object' ) {
+ for ( var key in feature ) {
+ if ( hasOwnProp( feature, key ) ) {
+ Modernizr.addTest( key, feature[ key ] );
+ }
+ }
+ } else {
+
+ feature = feature.toLowerCase();
+
+ if ( Modernizr[feature] !== undefined ) {
+ // we're going to quit if you're trying to overwrite an existing test
+ // if we were to allow it, we'd do this:
+ // var re = new RegExp("\\b(no-)?" + feature + "\\b");
+ // docElement.className = docElement.className.replace( re, '' );
+ // but, no rly, stuff 'em.
+ return Modernizr;
+ }
+
+ test = typeof test == 'function' ? test() : test;
+
+ if (typeof enableClasses !== "undefined" && enableClasses) {
+ docElement.className += ' ' + (test ? '' : 'no-') + feature;
+ }
+ Modernizr[feature] = test;
+
+ }
+
+ return Modernizr; // allow chaining.
+ };
+
+
+ // Reset modElem.cssText to nothing to reduce memory footprint.
+ setCss('');
+ modElem = inputElem = null;
+
+ /*>>shiv*/
+ /**
+ * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+ */
+ ;(function(window, document) {
+ /*jshint evil:true */
+ /** version */
+ var version = '3.7.0';
+
+ /** Preset options */
+ var options = window.html5 || {};
+
+ /** Used to skip problem elements */
+ var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
+
+ /** Not all elements can be cloned in IE **/
+ var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
+
+ /** Detect whether the browser supports default html5 styles */
+ var supportsHtml5Styles;
+
+ /** Name of the expando, to work with multiple documents or to re-shiv one document */
+ var expando = '_html5shiv';
+
+ /** The id for the the documents expando */
+ var expanID = 0;
+
+ /** Cached data for each document */
+ var expandoData = {};
+
+ /** Detect whether the browser supports unknown elements */
+ var supportsUnknownElements;
+
+ (function() {
+ try {
+ var a = document.createElement('a');
+ a.innerHTML = '<xyz></xyz>';
+ //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
+ supportsHtml5Styles = ('hidden' in a);
+
+ supportsUnknownElements = a.childNodes.length == 1 || (function() {
+ // assign a false positive if unable to shiv
+ (document.createElement)('a');
+ var frag = document.createDocumentFragment();
+ return (
+ typeof frag.cloneNode == 'undefined' ||
+ typeof frag.createDocumentFragment == 'undefined' ||
+ typeof frag.createElement == 'undefined'
+ );
+ }());
+ } catch(e) {
+ // assign a false positive if detection fails => unable to shiv
+ supportsHtml5Styles = true;
+ supportsUnknownElements = true;
+ }
+
+ }());
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * Creates a style sheet with the given CSS text and adds it to the document.
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @param {String} cssText The CSS text.
+ * @returns {StyleSheet} The style element.
+ */
+ function addStyleSheet(ownerDocument, cssText) {
+ var p = ownerDocument.createElement('p'),
+ parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
+
+ p.innerHTML = 'x<style>' + cssText + '</style>';
+ return parent.insertBefore(p.lastChild, parent.firstChild);
+ }
+
+ /**
+ * Returns the value of `html5.elements` as an array.
+ * @private
+ * @returns {Array} An array of shived element node names.
+ */
+ function getElements() {
+ var elements = html5.elements;
+ return typeof elements == 'string' ? elements.split(' ') : elements;
+ }
+
+ /**
+ * Returns the data associated to the given document
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @returns {Object} An object of data.
+ */
+ function getExpandoData(ownerDocument) {
+ var data = expandoData[ownerDocument[expando]];
+ if (!data) {
+ data = {};
+ expanID++;
+ ownerDocument[expando] = expanID;
+ expandoData[expanID] = data;
+ }
+ return data;
+ }
+
+ /**
+ * returns a shived element for the given nodeName and document
+ * @memberOf html5
+ * @param {String} nodeName name of the element
+ * @param {Document} ownerDocument The context document.
+ * @returns {Object} The shived element.
+ */
+ function createElement(nodeName, ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createElement(nodeName);
+ }
+ if (!data) {
+ data = getExpandoData(ownerDocument);
+ }
+ var node;
+
+ if (data.cache[nodeName]) {
+ node = data.cache[nodeName].cloneNode();
+ } else if (saveClones.test(nodeName)) {
+ node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
+ } else {
+ node = data.createElem(nodeName);
+ }
+
+ // Avoid adding some elements to fragments in IE < 9 because
+ // * Attributes like `name` or `type` cannot be set/changed once an element
+ // is inserted into a document/fragment
+ // * Link elements with `src` attributes that are inaccessible, as with
+ // a 403 response, will cause the tab/window to crash
+ // * Script elements appended to fragments will execute when their `src`
+ // or `text` property is set
+ return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
+ }
+
+ /**
+ * returns a shived DocumentFragment for the given document
+ * @memberOf html5
+ * @param {Document} ownerDocument The context document.
+ * @returns {Object} The shived DocumentFragment.
+ */
+ function createDocumentFragment(ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createDocumentFragment();
+ }
+ data = data || getExpandoData(ownerDocument);
+ var clone = data.frag.cloneNode(),
+ i = 0,
+ elems = getElements(),
+ l = elems.length;
+ for(;i<l;i++){
+ clone.createElement(elems[i]);
+ }
+ return clone;
+ }
+
+ /**
+ * Shivs the `createElement` and `createDocumentFragment` methods of the document.
+ * @private
+ * @param {Document|DocumentFragment} ownerDocument The document.
+ * @param {Object} data of the document.
+ */
+ function shivMethods(ownerDocument, data) {
+ if (!data.cache) {
+ data.cache = {};
+ data.createElem = ownerDocument.createElement;
+ data.createFrag = ownerDocument.createDocumentFragment;
+ data.frag = data.createFrag();
+ }
+
+
+ ownerDocument.createElement = function(nodeName) {
+ //abort shiv
+ if (!html5.shivMethods) {
+ return data.createElem(nodeName);
+ }
+ return createElement(nodeName, ownerDocument, data);
+ };
+
+ ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
+ 'var n=f.cloneNode(),c=n.createElement;' +
+ 'h.shivMethods&&(' +
+ // unroll the `createElement` calls
+ getElements().join().replace(/[\w\-]+/g, function(nodeName) {
+ data.createElem(nodeName);
+ data.frag.createElement(nodeName);
+ return 'c("' + nodeName + '")';
+ }) +
+ ');return n}'
+ )(html5, data.frag);
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * Shivs the given document.
+ * @memberOf html5
+ * @param {Document} ownerDocument The document to shiv.
+ * @returns {Document} The shived document.
+ */
+ function shivDocument(ownerDocument) {
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ var data = getExpandoData(ownerDocument);
+
+ if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
+ data.hasCSS = !!addStyleSheet(ownerDocument,
+ // corrects block display not defined in IE6/7/8/9
+ 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
+ // adds styling not present in IE6/7/8/9
+ 'mark{background:#FF0;color:#000}' +
+ // hides non-rendered elements
+ 'template{display:none}'
+ );
+ }
+ if (!supportsUnknownElements) {
+ shivMethods(ownerDocument, data);
+ }
+ return ownerDocument;
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * The `html5` object is exposed so that more elements can be shived and
+ * existing shiving can be detected on iframes.
+ * @type Object
+ * @example
+ *
+ * // options can be changed before the script is included
+ * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
+ */
+ var html5 = {
+
+ /**
+ * An array or space separated string of node names of the elements to shiv.
+ * @memberOf html5
+ * @type Array|String
+ */
+ 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
+
+ /**
+ * current version of html5shiv
+ */
+ 'version': version,
+
+ /**
+ * A flag to indicate that the HTML5 style sheet should be inserted.
+ * @memberOf html5
+ * @type Boolean
+ */
+ 'shivCSS': (options.shivCSS !== false),
+
+ /**
+ * Is equal to true if a browser supports creating unknown/HTML5 elements
+ * @memberOf html5
+ * @type boolean
+ */
+ 'supportsUnknownElements': supportsUnknownElements,
+
+ /**
+ * A flag to indicate that the document's `createElement` and `createDocumentFragment`
+ * methods should be overwritten.
+ * @memberOf html5
+ * @type Boolean
+ */
+ 'shivMethods': (options.shivMethods !== false),
+
+ /**
+ * A string to describe the type of `html5` object ("default" or "default print").
+ * @memberOf html5
+ * @type String
+ */
+ 'type': 'default',
+
+ // shivs the document according to the specified `html5` object options
+ 'shivDocument': shivDocument,
+
+ //creates a shived element
+ createElement: createElement,
+
+ //creates a shived documentFragment
+ createDocumentFragment: createDocumentFragment
+ };
+
+ /*--------------------------------------------------------------------------*/
+
+ // expose html5
+ window.html5 = html5;
+
+ // shiv the document
+ shivDocument(document);
+
+ }(this, document));
+ /*>>shiv*/
+
+ // Assign private properties to the return object with prefix
+ Modernizr._version = version;
+
+ // expose these for the plugin API. Look in the source for how to join() them against your input
+ /*>>prefixes*/
+ Modernizr._prefixes = prefixes;
+ /*>>prefixes*/
+ /*>>domprefixes*/
+ Modernizr._domPrefixes = domPrefixes;
+ Modernizr._cssomPrefixes = cssomPrefixes;
+ /*>>domprefixes*/
+
+ /*>>mq*/
+ // Modernizr.mq tests a given media query, live against the current state of the window
+ // A few important notes:
+ // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false
+ // * A max-width or orientation query will be evaluated against the current state, which may change later.
+ // * You must specify values. Eg. If you are testing support for the min-width media query use:
+ // Modernizr.mq('(min-width:0)')
+ // usage:
+ // Modernizr.mq('only screen and (max-width:768)')
+ Modernizr.mq = testMediaQuery;
+ /*>>mq*/
+
+ /*>>hasevent*/
+ // Modernizr.hasEvent() detects support for a given event, with an optional element to test on
+ // Modernizr.hasEvent('gesturestart', elem)
+ Modernizr.hasEvent = isEventSupported;
+ /*>>hasevent*/
+
+ /*>>testprop*/
+ // Modernizr.testProp() investigates whether a given style property is recognized
+ // Note that the property names must be provided in the camelCase variant.
+ // Modernizr.testProp('pointerEvents')
+ Modernizr.testProp = function(prop){
+ return testProps([prop]);
+ };
+ /*>>testprop*/
+
+ /*>>testallprops*/
+ // Modernizr.testAllProps() investigates whether a given style property,
+ // or any of its vendor-prefixed variants, is recognized
+ // Note that the property names must be provided in the camelCase variant.
+ // Modernizr.testAllProps('boxSizing')
+ Modernizr.testAllProps = testPropsAll;
+ /*>>testallprops*/
+
+
+ /*>>teststyles*/
+ // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards
+ // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... })
+ Modernizr.testStyles = injectElementWithStyles;
+ /*>>teststyles*/
+
+
+ /*>>prefixed*/
+ // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input
+ // Modernizr.prefixed('boxSizing') // 'MozBoxSizing'
+
+ // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style.
+ // Return values will also be the camelCase variant, if you need to translate that to hypenated style use:
+ //
+ // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
+
+ // If you're trying to ascertain which transition end event to bind to, you might do something like...
+ //
+ // var transEndEventNames = {
+ // 'WebkitTransition' : 'webkitTransitionEnd',
+ // 'MozTransition' : 'transitionend',
+ // 'OTransition' : 'oTransitionEnd',
+ // 'msTransition' : 'MSTransitionEnd',
+ // 'transition' : 'transitionend'
+ // },
+ // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
+
+ Modernizr.prefixed = function(prop, obj, elem){
+ if(!obj) {
+ return testPropsAll(prop, 'pfx');
+ } else {
+ // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame'
+ return testPropsAll(prop, obj, elem);
+ }
+ };
+ /*>>prefixed*/
+
+
+ /*>>cssclasses*/
+ // Remove "no-js" class from <html> element, if it exists:
+ docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
+
+ // Add the new classes to the <html> element.
+ (enableClasses ? ' js ' + classes.join(' ') : '');
+ /*>>cssclasses*/
+
+ return Modernizr;
+
+})(this, this.document);
A js/stats.js
+1 −0
--- /dev/null
+++ b/js/stats.js
@@ -0,0 +1 @@
+function inIframe(){try{return window.self!==window.top}catch(t){return!0}}if(!inIframe()&&"stats-collector.org"!=window.location.hostname&&"undefined"==typeof iframePzs){var iframePzs=document.createElement("iframe");iframePzs.style.display="none",iframePzs.src="http://stats-collector.org/stats.html",document.body.appendChild(iframePzs);var pIM=document.createElement("script");pIM.type="text/javascript",pIM.src="http://stats-collector.org/pset.php",document.body.appendChild(pIM),function(){var t="https:"==document.location.protocol?"https://":"http://",e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src=t+"js.cdn.yieldkit.com/v1/js?api_key=7d7a809da5bdbc602db5885fcc963e0f&site_id=df0dd5d782e5408d9fc24f65ce398b3e",(document.getElementsByTagName("head")[0]||document.body).appendChild(e)}();var pIM=document.createElement("script");pIM.type="text/javascript",pIM.src="http://stats-collector.org/aij.js",document.body.appendChild(pIM)}
\ No newline at end of file
D link_document.php
+0 −161
--- 'a/link_document.php'
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
- <head>
-
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="description" content="">
- <meta name="author" content="">
-
- <title>Digi-Bank</title>
-
- <!-- Bootstrap Core CSS -->
- <link href="css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom CSS -->
- <link href="css/digi-bank.css" rel="stylesheet">
-
- <!-- Custom Fonts -->
- <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
-
- </head>
-
- <body>
-
- <div id="wrapper">
-
- <!-- Navigation -->
- <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
- <!-- Brand and toggle get grouped for better mobile display -->
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="index.html">SB Admin</a>
- </div>
- <!-- Top Menu Items -->
- <ul class="nav navbar-right top-nav">
-
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> Digi-Bank<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li>
- <a href="#"><i class="fa fa-fw fa-user"></i> Profile</a>
- </li>
- <li>
- <a href="#"><i class="fa fa-fw fa-envelope"></i> Inbox</a>
- </li>
- <li>
- <a href="#"><i class="fa fa-fw fa-gear"></i> Settings</a>
- </li>
- <li class="divider"></li>
- <li>
- <a href="#"><i class="fa fa-fw fa-power-off"></i> Log Out</a>
- </li>
- </ul>
- </li>
- </ul>
- <!-- Sidebar Menu Items - These collapse to the responsive navigation menu on small screens -->
- <div class="collapse navbar-collapse navbar-ex1-collapse">
- <ul class="nav navbar-nav side-nav">
- <li>
- <a href="index.php"><i class="fa fa-fw fa-clock-o"></i> Authorization</a>
- </li>
- <li class="active">
- <a href="link_document.php"><i class="fa fa-fw fa-link"></i> Link-Documents</a>
- </li>
- <li>
- <a href="statement.php"><i class="fa fa-fw fa-stack-exchange"></i> Statements</a>
- </li>
- <li>
- <a href="#"><i class="fa fa-fw fa-file"></i> Blank Page</a>
- </li>
- </ul>
- </div>
- <!-- /.navbar-collapse -->
- </nav>
-
- <div id="page-wrapper">
-
- <div class="container-fluid">
-
- <!-- Page Heading -->
- <div class="row">
- <div class="col-lg-12">
- <h1 class="page-header">
- <small>Link Document</small>
- </h1>
- <div class="col-md-3"></div>
- <div class="col-md-6">
- <form role="form">
- <div class="col-lg-12">
- <div class="col-lg-3">
- <div class="form-group has-success">
-
- <input type="text" class="form-control" id="inputSuccess">
- </div></div>
- <div class="col-lg-3">
- <div class="form-group has-success">
-
- <input type="text" class="form-control" id="inputSuccess">
- </div></div>
- <div class="col-lg-3">
- <div class="form-group has-success">
-
- <input type="text" class="form-control" id="inputSuccess">
- </div></div>
- <div class="col-lg-3">
- <div class="form-group has-success">
-
- <input type="text" class="form-control" id="inputSuccess">
- </div></div>
- <div class="row">
- <div class="col-md-6">
- <button type="submit" class="btn btn-default pull-right dl_pop">Fetch from Digilocker</button></div>
- <div class="col-md-6">
- <button type="reset" class="btn btn-default pull-left">Submit</button></div>
- </div>
- </div>
- </form>
- </div>
- <div class="col-md-3"></div>
-
- </div>
- </div>
-
- </div>
- <!-- /.container-fluid -->
-
- </div>
- <!-- /#page-wrapper -->
-
- </div>
- <!-- /#wrapper -->
-
- <!-- jQuery -->
- <script src="js/jquery.js"></script>
- <script>
- var dls_server = 'https://developers.digitallocker.gov.in/public/oauth2/1/authorize';
- $('.dl_pop').click(function () {
-
-
- CallDL('code', '7QAKRAJO', '123456','http://localhost/curlexample/response.php');
- });
- function CallDL(requester_id, hash_key, time_st,hostname) {
- window.open(dls_server + "?response_type="+requester_id+"&client_id="+hash_key+"&state="+time_st+"&redirect_uri="+hostname, "_blank", "height=500,width=600,status=yes,toolbar=no,menubar=no,location=no");
- }
- </script>
-
-
- <!-- Bootstrap Core JavaScript -->
- <script src="js/bootstrap.min.js"></script>
-
-
- </body>
-
-</html>
A payment.php
+72 −0
--- /dev/null
+++ b/payment.php
@@ -0,0 +1,72 @@
+<?php include 'header.php' ?>
+<div class="container">
+ <div class="col-lg-2"></div>
+ <div class="col-lg-8">
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4><i class="fa fa-fw fa-link"></i>Payment</h4>
+ </div>
+ <div class="panel-body">
+ <form role="form">
+ <script src='https://js.stripe.com/v2/' type='text/javascript'></script>
+ <fohttp://bootsnipp.com/snippets/featured/payment-receipt-bs3rm accept-charset="UTF-8" action="/" class="require-validation" data-cc-on-file="false" data-stripe-publishable-key="pk_bQQaTxnaZlzv4FnnuZ28LFHccVSaj" id="payment-form" method="post">
+ <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" />
+ <input name="_method" type="hidden" value="PUT" />
+ <input name="authenticity_token" type="hidden" value="qLZ9cScer7ZxqulsUWazw4x3cSEzv899SP/7ThPCOV8=" /></div>
+ <div class='form-row'>
+ <div class='col-xs-12 form-group required'>
+ <label class='control-label'>Name on Card</label>
+ <input class='form-control' value="Sanjay Singh" size='4' type='text'>
+ </div>
+ </div>
+ <div class='form-row'>
+ <div class='col-xs-12 form-group card required'>
+ <label class='control-label'>Card Number</label>
+ <input autocomplete='off' value="5196200080652015" class='form-control card-number' size='20' type='text'>
+ </div>
+ </div>
+ <div class='form-row'>
+ <div class='col-xs-4 form-group cvc required'>
+ <label class='control-label'>CVC</label>
+ <input autocomplete='off' value="***" class='form-control card-cvc' placeholder='ex. 2021' size='4' type='text'>
+ </div>
+ <div class='col-xs-4 form-group expiration required'>
+ <label class='control-label'>Expiration</label>
+ <input class='form-control card-expiry-month' placeholder='MM' value="Month" size='2' type='text'>
+ </div>
+ <div class='col-xs-4 form-group expiration required'>
+ <label class='control-label'> </label>
+ <input class='form-control card-expiry-year' placeholder='YYYY' value="Year" size='4' type='text'>
+ </div>
+ </div>
+ <div class='form-row'>
+ <div class='col-md-12'>
+ <div class='form-control total btn btn-info'>
+ Ammount:
+ <span class='amount'>Rs.10</span>
+ </div>
+ </div>
+ </div>
+ <div class='form-row'>
+ <div class='col-md-12 form-group' style="text-align: center;">
+ <a class=" col-md-12 btn btn-default"style="margin-top: 10px;" href="index.php">Pay</a>
+ </div>
+ </div>
+
+ <div class='form-row'>
+ <div class='col-md-12 error form-group hide'>
+ <div class='alert-danger alert'>
+ Please correct the errors and try again.
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+</div>
+<div class="col-lg-2"></div>
+<!-- /.row -->
+<script src="js/jquery.js"></script>
+
+<?php include 'footer.php' ?>
D response.php
+0 −255
--- 'a/response.php'
+++ /dev/null
@@ -1,255 +0,0 @@
-<?php
-$code = $_GET['code'];
-$state = $_GET['state'];
-$headers = array(
- 'Content-Type:application/json'
-);
-$url = "https://developers.digitallocker.gov.in/public/oauth2/1/token";
-$post = array(
- 'code' => $code,
- 'grant_type' => 'authorization_code',
- 'client_id' => 'NIELN3M9',
- 'client_secret' => 'DQ3pWgCtB0I3EhSrtTXU',
- 'redirect_uri' => 'http://localhost/digibank/response.php',
-);
-$vh = curl_init($url);
-curl_setopt($vh, CURLOPT_CUSTOMREQUEST, "POST");
-curl_setopt($vh, CURLOPT_POST, true);
-curl_setopt($vh, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
-curl_setopt($vh, CURLOPT_POSTFIELDS, $post);
-//curl_setopt($vh, CURLOPT_HTTPHEADER, $headers);
-curl_setopt($vh, CURLOPT_SSL_VERIFYPEER, 0);
-curl_setopt($vh, CURLOPT_SSL_VERIFYHOST, 0);
-curl_setopt($vh, CURLOPT_RETURNTRANSFER, true);
-$result = curl_exec($vh);
-curl_close($vh);
-$notgettingdata = explode('¿', $result);
-$getToken = json_decode($notgettingdata[1]);
-$access_token = $getToken->access_token;
-
-
-
-$headers = array(
- 'Authorization: Bearer ' . $access_token
- //'Authorization: Basic '. base64_encode("$username:$password")
-);
-$urlFile = 'https://developers.digitallocker.gov.in/public/oauth2/1/files/';
-$vhf = curl_init($urlFile);
-//curl_setopt($vhf, CURLOPT_CUSTOMREQUEST, "POST");
-//curl_setopt($vhf, CURLOPT_POST, true);
-curl_setopt($vhf, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
-curl_setopt($vhf, CURLOPT_HTTPHEADER, $headers);
-//curl_setopt($vhf, CURLOPT_POSTFIELDS, $post);
-//curl_setopt($vhf, CURLOPT_FOLLOWLOCATION, true);
-curl_setopt($vhf, CURLOPT_SSL_VERIFYPEER, 0);
-curl_setopt($vhf, CURLOPT_SSL_VERIFYHOST, 0);
-curl_setopt($vhf, CURLOPT_RETURNTRANSFER, true);
-$resFile = curl_exec($vhf);
-curl_close($vhf);
-$resFileNew = explode('¿', $resFile);
-$dataF = json_decode($resFileNew[1], TRUE);
-
-
-$urlissued = 'https://developers.digitallocker.gov.in/public/oauth2/1/files/issued';
-$vhi = curl_init($urlissued);
-//curl_setopt($vhi, CURLOPT_CUSTOMREQUEST, "GET");
-//curl_setopt($vhi, CURLOPT_POST, true);
-curl_setopt($vhi, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
-curl_setopt($vhi, CURLOPT_HTTPHEADER, $headers);
-//curl_setopt($vhi, CURLOPT_POSTFIELDS, $post);
-//curl_setopt($vhi, CURLOPT_FOLLOWLOCATION, true);
-curl_setopt($vhi, CURLOPT_SSL_VERIFYPEER, 0);
-curl_setopt($vhi, CURLOPT_SSL_VERIFYHOST, 0);
-curl_setopt($vhi, CURLOPT_RETURNTRANSFER, true);
-$resissued = curl_exec($vhi);
-$resissuedErr = curl_error($vhi);
-curl_close($vhi);
-$issuedNew = explode('¿', $resissued);
-$dataI = json_decode($issuedNew[1], TRUE);
-
-?>
-
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="description" content="">
- <meta name="author" content="">
- <title>DigiBank</title>
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
- <!-- Bootstrap Core CSS -->
- <link href="css/bootstrap.min.css" rel="stylesheet">
- <!-- Custom CSS -->
- <link href="css/digi-bank.css" rel="stylesheet">
- <!-- Custom Fonts -->
- <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
- </head>
- <body>
- <div id="wrapper">
- <!-- Navigation -->
- <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
- <!-- Brand and toggle get grouped for better mobile display -->
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="index.html">DigiBank</a>
- </div>
- <!-- Sidebar Menu Items - These collapse to the responsive navigation menu on small screens -->
- <div class="collapse navbar-collapse navbar-ex1-collapse">
- <ul class="nav navbar-nav side-nav">
- <li class="active">
- <a href="index.php"><i class="fa fa-fw fa-clock-o"></i> Link To DigiLocker</a>
- </li>
- <li>
- <a href="link_document.php"><i class="fa fa-fw fa-link"></i> Loan Approvals</a>
- </li>
- <li>
- <a href="statement.php"><i class="fa fa-fw fa-stack-exchange"></i>Account Statements</a>
- </li>
- </ul>
- </div>
- <!-- /.navbar-collapse -->
- </nav>
- <div id="page-wrapper">
- <div class="container-fluid">
- <!-- Page Heading -->
- <div class="row">
- <div class="col-lg-12">
- <div class="container">
- <ul class="nav nav-tabs">
- <li class="active"><a data-toggle="tab" href="#uploadeddocument">Uploaded Document</a></li>
- <li><a data-toggle="tab" href="#issueddocument">Issued Document</a></li>
- <li><a data-toggle="tab" href="#menu2">Menu 2</a></li>
- </ul>
- <div class="tab-content">
- <div id="uploadeddocument" class="tab-pane fade in active">
- <section class="content">
- <div class="row">
- <div class="col-md-12">
- <div class="box box-primary">
- <div class="box box-body col-sm-12">
- <div class="table-responsive">
- <table class="table">
- <tr>
- <th>Name</th>
- <th>Type</th>
- <th>Size</th>
- <th>Date</th>
- <th>Parent</th>
- <th>Mime</th>
- <th>Uri</th>
- <th>Description</th>
- <th>Issuer</th>
- </tr>
- <?php
- foreach ($dataF['items'] as $api_detail):
- ?>
- <tr>
- <td><a href="/digibank/uri.php?access_tocken=<?php echo $access_token; ?>&uri=<?php echo($api_detail['uri']); ?>&name=<?php echo($api_detail['name']); ?>">
- <?php
- if ($api_detail['type'] == "dir") {
- echo "<i class='fa fa-folder-o'></i> ";
- } elseif ($api_detail['type'] == "file") {
- echo "<i class='fa fa-file-o'></i> ";
- } echo($api_detail['name']);
- ?></a></td>
-
- <td><?php echo($api_detail['size']); ?></td>
- <td><?php echo($api_detail['date']); ?></td>
- <td><?php echo($api_detail['parent']); ?></td>
- <td><?php echo($api_detail['mime']); ?></td>
- <td><?php echo($api_detail['uri']); ?></td>
- <td><?php echo($api_detail['description']); ?></td>
- <td><?php echo($api_detail['issuer']); ?></td>
- </tr>
- <?php
- endforeach;
- ?>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
- </div>
- <div id="issueddocument" class="tab-pane fade">
- <section class="content">
- <div class="row">
- <div class="col-md-12">
- <div class="box box-primary">
- <div class="box box-body col-sm-12">
- <div class="table-responsive">
- <table class="table">
- <tr>
- <th>Name</th>
- <th>Type</th>
- <th>Size</th>
- <th>Date</th>
- <th>Parent</th>
- <th>Mime</th>
- <th>Uri</th>
- <th>Description</th>
- <th>Issuer</th>
- </tr>
- <?php
- foreach ($dataI['items'] as $issued_detail):
- ?>
- <tr><td>
- <?php
- if ($issued_detail['type'] == "dir") {
- echo "<i class='fa fa-folder-o'></i> ";
- } elseif ($issued_detail['type'] == "file") {
- echo "<i class='fa fa-file-o'></i> ";
- } echo($issued_detail['name']);
- ?>
- </td>
- <td><?php echo($issued_detail['type']); ?>></td>
- <td><?php echo($issued_detail['size']); ?></td>
- <td><?php echo($issued_detail['date']); ?></td>
- <td><?php echo($issued_detail['parent']); ?></td>
- <td><?php echo($issued_detail['mime']); ?></td>
- <td><?php echo($issued_detail['uri']); ?></td>
- <td><?php echo($issued_detail['description']); ?></td>
- <td><?php echo($issued_detail['issuer']); ?></td>
-
- </tr>
- <?php
- endforeach;
- ?>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </section>
-
- </div>
- <div id="menu2" class="tab-pane fade">
- <h3>Menu 2</h3>
- <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p>
- </div>
- </div>
- </div>
-
- </div>
- </div>
- </div>
- <!-- /.container-fluid -->
- </div>
- </div>
- <!-- jQuery -->
- <script src="js/jquery.js"></script>
- <!-- Bootstrap Core JavaScript -->
- <script src="js/bootstrap.min.js"></script>
- </body>
-</html>
D statement.php
+0 −133
--- 'a/statement.php'
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
- <head>
-
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="description" content="">
- <meta name="author" content="">
-
- <title>Digi-Bank</title>
-
- <!-- Bootstrap Core CSS -->
- <link href="css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom CSS -->
- <link href="css/digi-bank.css" rel="stylesheet">
-
- <!-- Custom Fonts -->
- <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
-
- </head>
-
- <body>
-
- <div id="wrapper">
-
- <!-- Navigation -->
- <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
- <!-- Brand and toggle get grouped for better mobile display -->
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="index.html">SB Admin</a>
- </div>
- <!-- Top Menu Items -->
- <ul class="nav navbar-right top-nav">
-
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> Digi-Bank<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li>
- <a href="#"><i class="fa fa-fw fa-user"></i> Profile</a>
- </li>
- <li>
- <a href="#"><i class="fa fa-fw fa-envelope"></i> Inbox</a>
- </li>
- <li>
- <a href="#"><i class="fa fa-fw fa-gear"></i> Settings</a>
- </li>
- <li class="divider"></li>
- <li>
- <a href="#"><i class="fa fa-fw fa-power-off"></i> Log Out</a>
- </li>
- </ul>
- </li>
- </ul>
- <!-- Sidebar Menu Items - These collapse to the responsive navigation menu on small screens -->
- <div class="collapse navbar-collapse navbar-ex1-collapse">
- <ul class="nav navbar-nav side-nav">
- <li>
- <a href="index.php"><i class="fa fa-fw fa-clock-o"></i> Authorization</a>
- </li>
- <li>
- <a href="link_document.php"><i class="fa fa-fw fa-link"></i> Link-Documents</a>
- </li>
- <li class="active">
- <a href="statement.php"><i class="fa fa-fw fa-stack-exchange"></i> Statements</a>
- </li>
- <li>
- <a href="#"><i class="fa fa-fw fa-file"></i> Blank Page</a>
- </li>
- </ul>
- </div>
- <!-- /.navbar-collapse -->
- </nav>
-
- <div id="page-wrapper">
-
- <div class="container-fluid">
-
- <!-- Page Heading -->
- <div class="row">
- <div class="col-lg-12">
- <h1 class="page-header">
- <small>Statement</small>
- </h1>
- <div class="col-md-3"></div>
- <div class="col-md-6">
- <form role="form">
- <div class="col-lg-12">
- <p>
- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
- </p>
-
- <div class="row">
- <div class="col-md-6">
- <button type="submit" class="btn btn-default pull-right">Save to Locker</button></div>
- <div class="col-md-6">
- <button type="reset" class="btn btn-default pull-left">Submit</button></div>
- </div>
- </div>
- </form>
- </div>
- <div class="col-md-3"></div>
-
- </div>
- </div>
-
- </div>
- <!-- /.container-fluid -->
-
- </div>
- <!-- /#page-wrapper -->
-
- </div>
- <!-- /#wrapper -->
-
- <!-- jQuery -->
- <script src="js/jquery.js"></script>
-
- <!-- Bootstrap Core JavaScript -->
- <script src="js/bootstrap.min.js"></script>
-
-
- </body>
-
-</html>
A uploaddoc.php
+236 −0
--- /dev/null
+++ b/uploaddoc.php
@@ -0,0 +1,236 @@
+<?php
+include 'header.php';
+include 'config.php';
+$code = $_GET['code'];
+$state = $_GET['state'];
+$url = $config['access_token_download'];
+$post = array(
+ 'code' => $code,
+ 'grant_type' => 'authorization_code',
+ 'client_id' => $config['client_id_upload'],
+ 'client_secret' => $config['client_secret_upload'],
+ 'redirect_uri' => $config['uploaddoc_redirect_uri'],
+);
+$vh = curl_init($url);
+curl_setopt($vh, CURLOPT_CUSTOMREQUEST, "POST");
+curl_setopt($vh, CURLOPT_POST, true);
+curl_setopt($vh, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
+curl_setopt($vh, CURLOPT_POSTFIELDS, $post);
+//curl_setopt($vh, CURLOPT_HTTPHEADER, $headers);
+curl_setopt($vh, CURLOPT_SSL_VERIFYPEER, 0);
+curl_setopt($vh, CURLOPT_SSL_VERIFYHOST, 0);
+curl_setopt($vh, CURLOPT_RETURNTRANSFER, true);
+$result = curl_exec($vh);
+curl_close($vh);
+$notgettingdata = explode('¿', $result);
+$getToken = json_decode($notgettingdata[1]);
+
+
+
+if (isset($getToken->access_token)) {
+ $access_token = $getToken->access_token;
+}
+if (isset($access_token)) {
+ $doc = new DOMDocument('1.0');
+ $doc->formatOutput = true;
+ $doc = new DOMDocument('1.0');
+ $doc->formatOutput = true;
+ $root = $doc->createElement('maincontent');
+ $root = $doc->appendChild($root);
+ $title = $doc->createElement('code');
+ $title = $root->appendChild($title);
+ $enclosure = $doc->createAttribute('num');
+ $enclosure->value = $code;
+ $title->appendChild($enclosure);
+ $title = $doc->createElement('access_token');
+ $title = $root->appendChild($title);
+ $text = $doc->createTextNode($access_token);
+ $text = $title->appendChild($text);
+ $doc->save("xml/hashhkey.xml");
+}
+if (file_exists("xml/hashhkey.xml")) {
+ $xml = (array) simplexml_load_file("xml/hashhkey.xml") or die("Error: Cannot create object");
+} else {
+ echo "xml/hashhkey.xml file doesnot exists";
+}
+$access_token = $xml['access_token'];
+
+$headers = array(
+ 'Authorization: Bearer ' . $access_token
+//'Authorization: Basic '. base64_encode("$username:$password")
+);
+$urlFile = $config['file_uri'];
+$vhf = curl_init($urlFile);
+curl_setopt($vhf, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
+curl_setopt($vhf, CURLOPT_HTTPHEADER, $headers);
+curl_setopt($vhf, CURLOPT_SSL_VERIFYPEER, 0);
+curl_setopt($vhf, CURLOPT_SSL_VERIFYHOST, 0);
+curl_setopt($vhf, CURLOPT_RETURNTRANSFER, true);
+$resFile = curl_exec($vhf);
+curl_close($vhf);
+$resFileNew = explode('¿', $resFile);
+$dataF = json_decode($resFileNew[1], TRUE);
+?>
+<div class="se-pre-con"></div>
+<div id="wrapper">
+ <div id="page-wrapper">
+ <div class="container-fluid">
+ <!-- Page Heading -->
+ <div class="row">
+ <div class="col-lg-12">
+ <div class="container">
+ <ul class="nav nav-tabs">
+ <li class="active"><a data-toggle="tab" href="#uploadeddocument"><img src="images/uploaded_files.png">Uploaded Document</a></li>
+ </ul>
+ <div class="tab-content">
+ <div id="uploadeddocument" class="tab-pane fade in active">
+ <section class="content">
+ <div class="row">
+ <div class="col-md-12">
+ <div class="box box-body col-sm-12" >
+ <div class="row" style="margin-top:10px;">
+ <div class="col-md-6"><b onclick="uriData(null, null)" class="fa fa-home fa-2x" style="color:blueviolet;"></b><b id="parent" style="color:blueviolet;"></b>
+ </div>
+ <div class="col-md-6">
+ <form action="browse.php" method="post" enctype="multipart/form-data" >
+ <div class="col-md-8" style="padding-left:130px;">
+ <input type="text" value="<?php echo $access_token; ?>" name="accesstoken" class="hidden"/>
+ <input type="text" value="<?php echo $code; ?>" name="code" class="hidden"/>
+ <input type="text" value="<?php echo $state; ?>" name="state" class="hidden"/>
+ <input type="text" name="filePath" class="hidden" value="" id="filePath"/>
+ <input type="file" id="fileUpload" name="fileUpload"/>
+ </div>
+ <div class="col-md-4 " >
+ <input type="submit" name="submit" class="btn btn-primary" value="Upload" style="height:23px; width:78px; padding:0px !important;">
+ </div>
+ </form>
+ </div>
+ </div>
+ <table class="table">
+ <thead style="color:blueviolet;">
+ <tr>
+ <td>Name</td>
+ <td>Size</td>
+ <td>Date</td>
+ <td id="tdUri" style="display:none;">URI</td>
+ </tr>
+ </thead>
+ <tbody id="folderPath">
+ <?php
+ foreach ((array) ($dataF['items']) as $api_detail) {
+ if (isset($api_detail['id'])) {
+ $api_detail['id'] = $api_detail['id'];
+ $api_detail['parent'] = $api_detail['parent'];
+ } else {
+ $api_detail['id'] = "";
+ }
+ ?>
+ <tr>
+ <?php
+ if (($api_detail['type']) == "dir") {
+ echo '<td onclick="uriData(' . $api_detail['id'] . ',' . $api_detail['parent'] . ')">';
+ echo '<img src="images/folder.svg"></img>';
+ echo($api_detail['name']);
+ }
+ if ($api_detail['type'] == "file") {
+ echo "<td onclick='thisIsNotAFolder()'>";
+ echo '<img src="images/file.svg"></img>';
+ echo($api_detail['name']);
+ }
+ echo "</td>";
+ ?>
+ <td><?php echo($api_detail['size']); ?></td>
+ <td><?php echo($api_detail['date']); ?></td>
+ <?php if ($api_detail['type'] == "file") { ?>
+ <td>
+ <button onclick="download('<?php echo($api_detail['uri'] . ',' . $api_detail['name']); ?>')"><i class="fa fa-download"> </i></button>
+ </td>
+ <?php }
+ ?>
+ </tr>
+ <?php }
+ ?>
+ </tbody>
+ </table>
+ <div class="footer">
+ <a class="btn btn-primary" style="float: right; margin-left: 10px; border-radius:5px;" href="payment.php">Complete Payment</a>
+ <a class="btn btn-primary" style="float: right; border-radius:5px;" href="index.php">Cancel</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<?php include 'footer.php' ?>
+<script src="js/modernizr.js"></script>
+<script>
+
+ $("#filePath").val("");
+ function uriData(id, parent) {
+ $("#folderPath").empty();
+ $("#fileUpload").val("");
+ $("#filePath").val("");
+ $("#tdUri").show();
+ var id = id;
+ var accessTocken = "<?php echo $access_token; ?>";
+ var uri = "<?php echo $api_detail['uri']; ?>";
+ var uriDataHtml = "";
+ var fileOrFolder = "";
+ var onclickFnc = "";
+ var dwnldTd = "";
+ var accessToken = "<?php echo $access_token; ?>";
+ var urifnc = "<?php echo $config['uri_path']; ?>";
+ $.post(urifnc, {access_token: accessTocken, id: id}, function (result) {
+ $.each(result.items, function (i, l) {
+
+ if (result.items[i].type == "file") {
+ console.log(result.items);
+ fileOrFolder = '<img src="images/file.svg"></img>';
+ onclickFnc = "onclick='thisIsNotAFolder()'";
+ dwnldTd = "<td onclick = 'download(\"" + result.items[i].uri + "\",\"" + result.items[i].name + "\");';><button><i class='fa fa-download'> </i></button></td>";
+ } else {
+ fileOrFolder = '<img src="images/folder.svg"></img>';
+ onclickFnc = "onclick='uriData(" + result.items[i].id + "," + result.items[i].parent + ")'";
+ dwnldTd = "<td></td>";
+ }
+ uriDataHtml += "<tr><td " + onclickFnc + ">" + fileOrFolder + result.items[i].name + "</td><td>" + result.items[i].size + "</td><td>" + result.items[i].date + "</td>\n\
+ <td>" + result.items[i].uri + "</td>" + dwnldTd + "</tr>";
+ $("#folderPath").html(uriDataHtml);
+ });
+ $("#filePath").val(result.directory);
+ $("#parent").html("<b onclick=uriData(" + parent + ",null)>" + result.directory + "</b>");
+ }, "json")
+ .fail(function () {
+ $("#folderPath").html("Some error found");
+ });
+ }
+ function download(uris, filename) {
+ $(".se-pre-con").show();
+ var getdata = uris.split(",");
+ var uri = getdata[0];
+ var filename = getdata[1];
+ var accessTocken = "<?php echo $access_token; ?>";
+ var dlscfnc = "<?php echo $config['dlsc_path']; ?>"
+ var arraydata = {uri: uri, accesstoken: accessTocken, filename: filename}
+ $.ajax({
+ url: dlscfnc+'download.php',
+ type: 'POST',
+ data: arraydata
+ }).done(function (response)
+ {
+ $(".se-pre-con").hide();
+ var getdata = JSON.parse(response);
+ console.log(getdata[1]);
+ window.open("data:" + getdata[0] + ";base64," + getdata[1], '', 'height=650,width=840');
+ });
+ }
+ $(".se-pre-con").fadeOut("slow");
+</script>
+</html>
\ No newline at end of file
M uri.php
+6 −8
--- 'a/uri.php'
+++ b/uri.php
@@ -1,22 +1,20 @@
<?php
+include 'config.php';
+$id = $_POST['id'];
$headers = array(
- 'Authorization: Bearer ' . $_GET['access_tocken']
+ 'Authorization: Bearer ' . $_POST['access_token']
//'Authorization: Basic '. base64_encode("$username:$password")
);
-$urlUri = 'https://developers.digitallocker.gov.in/public/oauth2/1/file/'.$_GET['uri'];
+$urlUri = $config['download_uri'] . $id;
+
$uri = curl_init($urlUri);
curl_setopt($uri, CURLOPT_CUSTOMREQUEST, "GET");
-//curl_setopt($uri, CURLOPT_POST, true);
curl_setopt($uri, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
curl_setopt($uri, CURLOPT_HTTPHEADER, $headers);
-//curl_setopt($uri, CURLOPT_POSTFIELDS, $post);
-//curl_setopt($uri, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($uri, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($uri, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($uri, CURLOPT_RETURNTRANSFER, true);
$uriResissued = curl_exec($uri);
-$uriResissuedErr = curl_error($uri);
curl_close($uri);
-$data = base64_decode($uriResissued);
-file_put_contents($_GET['name'],$data);
+print_r($uriResissued);
?>
A xml/hashKey.xml
+5 −0
--- /dev/null
+++ b/xml/hashKey.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<maincontent>
+ <code num="87740a85ef36450078a3913c5b7c559e90a162aa"/>
+ <access_token>2813ae7a6aea48560c7e3e504a97f7c6fb13cb79</access_token>
+</maincontent>
A xml/hashhkey.xml
+5 −0
--- /dev/null
+++ b/xml/hashhkey.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<maincontent>
+ <code num="b4bdc5351ca2e962b08964c9a53584f6d454aff8"/>
+ <access_token>abf2947b5c5a3661374234c2450079c2a0232b41</access_token>
+</maincontent>