├── Preview.jpg
├── css
├── font-awesome.min.css
├── images
│ ├── bx_loader.gif
│ └── controls.png
├── jquery.bxslider.css
├── normalize.css
└── web.css
├── fonts
├── FontAwesome.otf
├── fontawesome-webfont.eot
├── fontawesome-webfont.svg
├── fontawesome-webfont.ttf
├── fontawesome-webfont.woff
└── fontawesome-webfont.woff2
├── images
├── 01.png
├── 02.png
├── 03.png
├── 04.png
├── footer
│ ├── 01.png
│ ├── 02.jpg
│ └── 03.jpg
├── header.jpg
├── header2.jpg
├── keyboard.jpg
└── products
│ ├── 01.jpg
│ ├── 02.jpg
│ ├── 03.jpg
│ ├── 04.jpg
│ ├── 05.jpg
│ └── 06.jpg
├── index.html
└── js
├── custom.js
├── jquery-1.11.3.min.js
├── jquery.bxslider.min.js
├── jquery.mixitup.js
└── jquery.nicescroll.min.js
/Preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/Preview.jpg
--------------------------------------------------------------------------------
/css/font-awesome.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.4.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}
5 |
--------------------------------------------------------------------------------
/css/images/bx_loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/css/images/bx_loader.gif
--------------------------------------------------------------------------------
/css/images/controls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/css/images/controls.png
--------------------------------------------------------------------------------
/css/jquery.bxslider.css:
--------------------------------------------------------------------------------
1 | /**
2 | * BxSlider v4.1.2 - Fully loaded, responsive content slider
3 | * http://bxslider.com
4 | *
5 | * Written by: Steven Wanderski, 2014
6 | * http://stevenwanderski.com
7 | * (while drinking Belgian ales and listening to jazz)
8 | *
9 | * CEO and founder of bxCreative, LTD
10 | * http://bxcreative.com
11 | */
12 |
13 |
14 | /** RESET AND LAYOUT
15 | ===================================*/
16 |
17 | .bx-wrapper {
18 | position: relative;
19 | margin: 0 auto 60px;
20 | padding: 0;
21 | *zoom: 1;
22 | }
23 |
24 | .bx-wrapper img {
25 | max-width: 100%;
26 | display: block;
27 | }
28 |
29 | /** THEME
30 | ===================================*/
31 |
32 | .bx-wrapper .bx-viewport {
33 | -moz-box-shadow: 0 0 5px #ccc;
34 | -webkit-box-shadow: 0 0 5px #ccc;
35 | box-shadow: 0 0 5px #ccc;
36 | border: 5px solid #fff;
37 | left: -5px;
38 | background: #fff;
39 |
40 | /*fix other elements on the page moving (on Chrome)*/
41 | -webkit-transform: translatez(0);
42 | -moz-transform: translatez(0);
43 | -ms-transform: translatez(0);
44 | -o-transform: translatez(0);
45 | transform: translatez(0);
46 | }
47 |
48 | .bx-wrapper .bx-pager,
49 | .bx-wrapper .bx-controls-auto {
50 | position: absolute;
51 | bottom: -30px;
52 | width: 100%;
53 | }
54 |
55 | /* LOADER */
56 |
57 | .bx-wrapper .bx-loading {
58 | min-height: 50px;
59 | background: url(images/bx_loader.gif) center center no-repeat #fff;
60 | height: 100%;
61 | width: 100%;
62 | position: absolute;
63 | top: 0;
64 | left: 0;
65 | z-index: 2000;
66 | }
67 |
68 | /* PAGER */
69 |
70 | .bx-wrapper .bx-pager {
71 | text-align: center;
72 | font-size: .85em;
73 | font-family: Arial;
74 | font-weight: bold;
75 | color: #666;
76 | padding-top: 20px;
77 | }
78 |
79 | .bx-wrapper .bx-pager .bx-pager-item,
80 | .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
81 | display: inline-block;
82 | *zoom: 1;
83 | *display: inline;
84 | }
85 |
86 | .bx-wrapper .bx-pager.bx-default-pager a {
87 | background: #666;
88 | text-indent: -9999px;
89 | display: block;
90 | width: 10px;
91 | height: 10px;
92 | margin: 0 5px;
93 | outline: 0;
94 | -moz-border-radius: 5px;
95 | -webkit-border-radius: 5px;
96 | border-radius: 5px;
97 | }
98 |
99 | .bx-wrapper .bx-pager.bx-default-pager a:hover,
100 | .bx-wrapper .bx-pager.bx-default-pager a.active {
101 | background: #000;
102 | }
103 |
104 | /* DIRECTION CONTROLS (NEXT / PREV) */
105 |
106 | .bx-wrapper .bx-prev {
107 | left: 10px;
108 | background: url(images/controls.png) no-repeat 0 -32px;
109 | }
110 |
111 | .bx-wrapper .bx-next {
112 | right: 10px;
113 | background: url(images/controls.png) no-repeat -43px -32px;
114 | }
115 |
116 | .bx-wrapper .bx-prev:hover {
117 | background-position: 0 0;
118 | }
119 |
120 | .bx-wrapper .bx-next:hover {
121 | background-position: -43px 0;
122 | }
123 |
124 | .bx-wrapper .bx-controls-direction a {
125 | position: absolute;
126 | top: 50%;
127 | margin-top: -16px;
128 | outline: 0;
129 | width: 32px;
130 | height: 32px;
131 | text-indent: -9999px;
132 | z-index: 9999;
133 | }
134 |
135 | .bx-wrapper .bx-controls-direction a.disabled {
136 | display: none;
137 | }
138 |
139 | /* AUTO CONTROLS (START / STOP) */
140 |
141 | .bx-wrapper .bx-controls-auto {
142 | text-align: center;
143 | }
144 |
145 | .bx-wrapper .bx-controls-auto .bx-start {
146 | display: block;
147 | text-indent: -9999px;
148 | width: 10px;
149 | height: 11px;
150 | outline: 0;
151 | background: url(images/controls.png) -86px -11px no-repeat;
152 | margin: 0 3px;
153 | }
154 |
155 | .bx-wrapper .bx-controls-auto .bx-start:hover,
156 | .bx-wrapper .bx-controls-auto .bx-start.active {
157 | background-position: -86px 0;
158 | }
159 |
160 | .bx-wrapper .bx-controls-auto .bx-stop {
161 | display: block;
162 | text-indent: -9999px;
163 | width: 9px;
164 | height: 11px;
165 | outline: 0;
166 | background: url(images/controls.png) -86px -44px no-repeat;
167 | margin: 0 3px;
168 | }
169 |
170 | .bx-wrapper .bx-controls-auto .bx-stop:hover,
171 | .bx-wrapper .bx-controls-auto .bx-stop.active {
172 | background-position: -86px -33px;
173 | }
174 |
175 | /* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
176 |
177 | .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
178 | text-align: left;
179 | width: 80%;
180 | }
181 |
182 | .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
183 | right: 0;
184 | width: 35px;
185 | }
186 |
187 | /* IMAGE CAPTIONS */
188 |
189 | .bx-wrapper .bx-caption {
190 | position: absolute;
191 | bottom: 0;
192 | left: 0;
193 | background: #666\9;
194 | background: rgba(80, 80, 80, 0.75);
195 | width: 100%;
196 | }
197 |
198 | .bx-wrapper .bx-caption span {
199 | color: #fff;
200 | font-family: Arial;
201 | display: block;
202 | font-size: .85em;
203 | padding: 10px;
204 | }
205 |
--------------------------------------------------------------------------------
/css/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2 |
3 | /**
4 | * 1. Set default font family to sans-serif.
5 | * 2. Prevent iOS text size adjust after orientation change, without disabling
6 | * user zoom.
7 | */
8 |
9 | html {
10 | font-family: sans-serif; /* 1 */
11 | -ms-text-size-adjust: 100%; /* 2 */
12 | -webkit-text-size-adjust: 100%; /* 2 */
13 | }
14 |
15 | /**
16 | * Remove default margin.
17 | */
18 |
19 | body {
20 | margin: 0;
21 | }
22 |
23 | /* HTML5 display definitions
24 | ========================================================================== */
25 |
26 | /**
27 | * Correct `block` display not defined for any HTML5 element in IE 8/9.
28 | * Correct `block` display not defined for `details` or `summary` in IE 10/11
29 | * and Firefox.
30 | * Correct `block` display not defined for `main` in IE 11.
31 | */
32 |
33 | article,
34 | aside,
35 | details,
36 | figcaption,
37 | figure,
38 | footer,
39 | header,
40 | hgroup,
41 | main,
42 | menu,
43 | nav,
44 | section,
45 | summary {
46 | display: block;
47 | }
48 |
49 | /**
50 | * 1. Correct `inline-block` display not defined in IE 8/9.
51 | * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
52 | */
53 |
54 | audio,
55 | canvas,
56 | progress,
57 | video {
58 | display: inline-block; /* 1 */
59 | vertical-align: baseline; /* 2 */
60 | }
61 |
62 | /**
63 | * Prevent modern browsers from displaying `audio` without controls.
64 | * Remove excess height in iOS 5 devices.
65 | */
66 |
67 | audio:not([controls]) {
68 | display: none;
69 | height: 0;
70 | }
71 |
72 | /**
73 | * Address `[hidden]` styling not present in IE 8/9/10.
74 | * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
75 | */
76 |
77 | [hidden],
78 | template {
79 | display: none;
80 | }
81 |
82 | /* Links
83 | ========================================================================== */
84 |
85 | /**
86 | * Remove the gray background color from active links in IE 10.
87 | */
88 |
89 | a {
90 | background-color: transparent;
91 | }
92 |
93 | /**
94 | * Improve readability when focused and also mouse hovered in all browsers.
95 | */
96 |
97 | a:active,
98 | a:hover {
99 | outline: 0;
100 | }
101 |
102 | /* Text-level semantics
103 | ========================================================================== */
104 |
105 | /**
106 | * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107 | */
108 |
109 | abbr[title] {
110 | border-bottom: 1px dotted;
111 | }
112 |
113 | /**
114 | * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115 | */
116 |
117 | b,
118 | strong {
119 | font-weight: bold;
120 | }
121 |
122 | /**
123 | * Address styling not present in Safari and Chrome.
124 | */
125 |
126 | dfn {
127 | font-style: italic;
128 | }
129 |
130 | /**
131 | * Address variable `h1` font-size and margin within `section` and `article`
132 | * contexts in Firefox 4+, Safari, and Chrome.
133 | */
134 |
135 | h1 {
136 | font-size: 2em;
137 | margin: 0.67em 0;
138 | }
139 |
140 | /**
141 | * Address styling not present in IE 8/9.
142 | */
143 |
144 | mark {
145 | background: #ff0;
146 | color: #000;
147 | }
148 |
149 | /**
150 | * Address inconsistent and variable font size in all browsers.
151 | */
152 |
153 | small {
154 | font-size: 80%;
155 | }
156 |
157 | /**
158 | * Prevent `sub` and `sup` affecting `line-height` in all browsers.
159 | */
160 |
161 | sub,
162 | sup {
163 | font-size: 75%;
164 | line-height: 0;
165 | position: relative;
166 | vertical-align: baseline;
167 | }
168 |
169 | sup {
170 | top: -0.5em;
171 | }
172 |
173 | sub {
174 | bottom: -0.25em;
175 | }
176 |
177 | /* Embedded content
178 | ========================================================================== */
179 |
180 | /**
181 | * Remove border when inside `a` element in IE 8/9/10.
182 | */
183 |
184 | img {
185 | border: 0;
186 | }
187 |
188 | /**
189 | * Correct overflow not hidden in IE 9/10/11.
190 | */
191 |
192 | svg:not(:root) {
193 | overflow: hidden;
194 | }
195 |
196 | /* Grouping content
197 | ========================================================================== */
198 |
199 | /**
200 | * Address margin not present in IE 8/9 and Safari.
201 | */
202 |
203 | figure {
204 | margin: 1em 40px;
205 | }
206 |
207 | /**
208 | * Address differences between Firefox and other browsers.
209 | */
210 |
211 | hr {
212 | -moz-box-sizing: content-box;
213 | box-sizing: content-box;
214 | height: 0;
215 | }
216 |
217 | /**
218 | * Contain overflow in all browsers.
219 | */
220 |
221 | pre {
222 | overflow: auto;
223 | }
224 |
225 | /**
226 | * Address odd `em`-unit font size rendering in all browsers.
227 | */
228 |
229 | code,
230 | kbd,
231 | pre,
232 | samp {
233 | font-family: monospace, monospace;
234 | font-size: 1em;
235 | }
236 |
237 | /* Forms
238 | ========================================================================== */
239 |
240 | /**
241 | * Known limitation: by default, Chrome and Safari on OS X allow very limited
242 | * styling of `select`, unless a `border` property is set.
243 | */
244 |
245 | /**
246 | * 1. Correct color not being inherited.
247 | * Known issue: affects color of disabled elements.
248 | * 2. Correct font properties not being inherited.
249 | * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
250 | */
251 |
252 | button,
253 | input,
254 | optgroup,
255 | select,
256 | textarea {
257 | color: inherit; /* 1 */
258 | font: inherit; /* 2 */
259 | margin: 0; /* 3 */
260 | }
261 |
262 | /**
263 | * Address `overflow` set to `hidden` in IE 8/9/10/11.
264 | */
265 |
266 | button {
267 | overflow: visible;
268 | }
269 |
270 | /**
271 | * Address inconsistent `text-transform` inheritance for `button` and `select`.
272 | * All other form control elements do not inherit `text-transform` values.
273 | * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
274 | * Correct `select` style inheritance in Firefox.
275 | */
276 |
277 | button,
278 | select {
279 | text-transform: none;
280 | }
281 |
282 | /**
283 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
284 | * and `video` controls.
285 | * 2. Correct inability to style clickable `input` types in iOS.
286 | * 3. Improve usability and consistency of cursor style between image-type
287 | * `input` and others.
288 | */
289 |
290 | button,
291 | html input[type="button"], /* 1 */
292 | input[type="reset"],
293 | input[type="submit"] {
294 | -webkit-appearance: button; /* 2 */
295 | cursor: pointer; /* 3 */
296 | }
297 |
298 | /**
299 | * Re-set default cursor for disabled elements.
300 | */
301 |
302 | button[disabled],
303 | html input[disabled] {
304 | cursor: default;
305 | }
306 |
307 | /**
308 | * Remove inner padding and border in Firefox 4+.
309 | */
310 |
311 | button::-moz-focus-inner,
312 | input::-moz-focus-inner {
313 | border: 0;
314 | padding: 0;
315 | }
316 |
317 | /**
318 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in
319 | * the UA stylesheet.
320 | */
321 |
322 | input {
323 | line-height: normal;
324 | }
325 |
326 | /**
327 | * It's recommended that you don't attempt to style these elements.
328 | * Firefox's implementation doesn't respect box-sizing, padding, or width.
329 | *
330 | * 1. Address box sizing set to `content-box` in IE 8/9/10.
331 | * 2. Remove excess padding in IE 8/9/10.
332 | */
333 |
334 | input[type="checkbox"],
335 | input[type="radio"] {
336 | box-sizing: border-box; /* 1 */
337 | padding: 0; /* 2 */
338 | }
339 |
340 | /**
341 | * Fix the cursor style for Chrome's increment/decrement buttons. For certain
342 | * `font-size` values of the `input`, it causes the cursor style of the
343 | * decrement button to change from `default` to `text`.
344 | */
345 |
346 | input[type="number"]::-webkit-inner-spin-button,
347 | input[type="number"]::-webkit-outer-spin-button {
348 | height: auto;
349 | }
350 |
351 | /**
352 | * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
353 | * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
354 | * (include `-moz` to future-proof).
355 | */
356 |
357 | input[type="search"] {
358 | -webkit-appearance: textfield; /* 1 */
359 | -moz-box-sizing: content-box;
360 | -webkit-box-sizing: content-box; /* 2 */
361 | box-sizing: content-box;
362 | }
363 |
364 | /**
365 | * Remove inner padding and search cancel button in Safari and Chrome on OS X.
366 | * Safari (but not Chrome) clips the cancel button when the search input has
367 | * padding (and `textfield` appearance).
368 | */
369 |
370 | input[type="search"]::-webkit-search-cancel-button,
371 | input[type="search"]::-webkit-search-decoration {
372 | -webkit-appearance: none;
373 | }
374 |
375 | /**
376 | * Define consistent border, margin, and padding.
377 | */
378 |
379 | fieldset {
380 | border: 1px solid #c0c0c0;
381 | margin: 0 2px;
382 | padding: 0.35em 0.625em 0.75em;
383 | }
384 |
385 | /**
386 | * 1. Correct `color` not being inherited in IE 8/9/10/11.
387 | * 2. Remove padding so people aren't caught out if they zero out fieldsets.
388 | */
389 |
390 | legend {
391 | border: 0; /* 1 */
392 | padding: 0; /* 2 */
393 | }
394 |
395 | /**
396 | * Remove default vertical scrollbar in IE 8/9/10/11.
397 | */
398 |
399 | textarea {
400 | overflow: auto;
401 | }
402 |
403 | /**
404 | * Don't inherit the `font-weight` (applied by a rule above).
405 | * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406 | */
407 |
408 | optgroup {
409 | font-weight: bold;
410 | }
411 |
412 | /* Tables
413 | ========================================================================== */
414 |
415 | /**
416 | * Remove most spacing between table cells.
417 | */
418 |
419 | table {
420 | border-collapse: collapse;
421 | border-spacing: 0;
422 | }
423 |
424 | td,
425 | th {
426 | padding: 0;
427 | }
--------------------------------------------------------------------------------
/css/web.css:
--------------------------------------------------------------------------------
1 | /* Start Global */
2 |
3 | * {
4 | -webkit-box-sizing: border-box;
5 | -moz-box-sizing: border-box;
6 | box-sizing: border-box;
7 | }
8 |
9 | body {
10 |
11 | }
12 |
13 | .container {
14 | width: 1200px;
15 | margin: auto;
16 | min-width: 1200px
17 | }
18 |
19 | ul {
20 | list-style: none;
21 | padding: 0;
22 | margin: 0
23 | }
24 |
25 | h2, h3, h4 {
26 | font-weight: normal
27 | }
28 |
29 | .navbar,
30 | .header,
31 | .services,
32 | .our-team,
33 | .testim,
34 | .our-projects,
35 | .footer {min-width: 1200px}
36 |
37 | /* End Global */
38 |
39 | /* Start Navbar */
40 |
41 | .navbar {
42 | font-size: 18px;
43 | height: 0;
44 | color: #FFF;
45 | position: relative;
46 | z-index: 2
47 | }
48 |
49 | .navbar .brand {
50 | float: left;
51 | width: 50%;
52 | text-transform: uppercase;
53 | margin-top: 10px
54 | }
55 |
56 | .navbar .links {
57 | float: left;
58 | width: 50%;
59 | margin-top: 25px
60 | }
61 |
62 | .navbar .links li {
63 | display: inline-block;
64 | padding: 10px 0;
65 | margin: 0 10px;
66 | border-bottom: 2px solid transparent
67 | }
68 |
69 | .navbar .links li a {
70 | color: #FFF;
71 | text-decoration: none
72 | }
73 |
74 | .navbar .links li.active a,
75 | .navbar .links li a:hover {
76 | color: #1abc9c
77 | }
78 |
79 | .navbar .links li.active,
80 | .navbar .links li:hover {
81 | border-bottom: 2px solid #1abc9c;
82 | }
83 |
84 | /* End Navbar */
85 |
86 | /* Start Header */
87 |
88 | .header {
89 | background: url('../images/header2.jpg');
90 | position: relative
91 | }
92 |
93 | .header .overlay {
94 | background-color: rgba(0, 0 ,0 , 0.7);
95 | position: absolute;
96 | top: 0;
97 | left: 0;
98 | bottom: 0;
99 | right: 0;
100 | width: 100%;
101 | height: 100%;
102 | color: #FFF;
103 | z-index: 1
104 | }
105 |
106 | .header .bx-wrapper {
107 | height: 100%
108 | }
109 |
110 | .header .bx-wrapper .bx-viewport {
111 | box-shadow: none;
112 | border: 0;
113 | background: none;
114 | height: 100% !important;
115 | text-align: center
116 | }
117 |
118 | .header .bxslider {
119 | height: 100%
120 | }
121 |
122 | .header .bxslider li {
123 | display: block
124 | }
125 |
126 | .header .bxslider li h2 {
127 | font-size: 60px;
128 | margin-bottom: 20px;
129 | margin-top: 0;
130 | font-weight: bold
131 | }
132 |
133 | .header .bxslider li h2 span {
134 | color: #1abc9c;
135 | }
136 |
137 | /* End Header */
138 |
139 | /* Start Services */
140 |
141 | .services {
142 | padding: 80px 20px 40px
143 | }
144 |
145 | .services h2 {
146 | margin: 0 0 50px;
147 | font-weight: normal
148 | }
149 |
150 | .services .item {
151 | float: left;
152 | width: 33.33333%;
153 | margin-bottom: 20px
154 | }
155 |
156 | .services .item i {
157 | color: #1abc9c;
158 | float: left;
159 | width: 17%;
160 | margin-top: 10px;
161 | margin-right: 8%
162 | }
163 |
164 | .services .item .info {
165 | float: left;
166 | width: 70%
167 | }
168 |
169 | .services .item .info h3 {
170 | color: #585353;
171 | margin-bottom: 10px
172 | }
173 |
174 | .services .item .info p {
175 | margin-top: 0;
176 | color: #888
177 | }
178 |
179 | .our-team {
180 | padding: 40px 20px
181 | }
182 |
183 | .our-team .box {
184 | float: left
185 | }
186 |
187 | .our-team .box:first-child {
188 | width: 35%
189 | }
190 |
191 | .our-team .box p {
192 | color: #888;
193 | line-height: 1.4;
194 | font-size: 14px
195 | }
196 |
197 | .our-team .box:not(:first-child) {
198 | width: 15.25%;
199 | margin-left: 1%;
200 | position: relative;
201 | }
202 |
203 | .our-team .box:not(:first-child) .overlay {
204 | position: absolute;
205 | top: 0;
206 | left: 0;
207 | bottom: 0;
208 | right: 0;
209 | width: 100%;
210 | height: 100%;
211 | line-height: 183px;
212 | font-size: 20px;
213 | font-weight: bold;
214 | color: #FFF;
215 | text-align: center;
216 | background-color: rgba(26, 188, 156, .9);
217 | display: none;
218 | }
219 |
220 | .our-team .box:not(:first-child):hover .overlay {
221 | display: block
222 | }
223 |
224 | .our-team .box:not(:first-child) img {
225 | width: 100%
226 | }
227 |
228 | .our-team h2 {
229 | padding: 0 0 15px
230 | }
231 |
232 | /* End Services */
233 |
234 | /* Start Testimonials */
235 |
236 | .testim {
237 | background: url('../images/keyboard.jpg');
238 | -webkit-background-size:cover;
239 | -moz-background-size:cover;
240 | -o-background-size:cover;
241 | background-size:cover;
242 | height: 400px;
243 | position: relative;
244 | text-align: center;
245 | padding: 80px 0
246 | }
247 |
248 | .testim .t-overlay {
249 | position: absolute;
250 | left: 0;
251 | top: 0;
252 | right: 0;
253 | bottom: 0;
254 | width: 100%;
255 | height: 100%;
256 | color: #FFF;
257 | background-color: rgba(0, 0, 0, .8)
258 | }
259 |
260 | .testim h2 {
261 | font-size: 40px;
262 | margin: 80px 0 10px
263 | }
264 |
265 | .testim q {
266 | font-size: 20px;
267 | line-height: 2;
268 | color: #D0D0D0;
269 | display: block;
270 | margin-top: 60px
271 | }
272 |
273 | .testim p {
274 | font-size: 30px;
275 | color: #1abc9c
276 | }
277 |
278 | .testim .slider > div {
279 | display: none
280 | }
281 |
282 | .testim .slider .active {
283 | display: block
284 | }
285 |
286 | /* End Testimoanials */
287 |
288 | /* Start Projects */
289 |
290 | .our-projects {
291 | padding: 60px 0;
292 | }
293 |
294 | .our-projects ul {
295 | margin-top: 50px
296 | }
297 |
298 | .our-projects ul li {
299 | display: inline-block;
300 | border: 2px solid #D4CCCC;
301 | color: #A7A7A7;
302 | padding: 10px;
303 | border-radius: 5px;
304 | margin-right: 5px
305 | }
306 |
307 | .our-projects ul li.selected {
308 | background-color: #1abc9c;
309 | border: 2px solid #1abc9c;
310 | color: #FFF
311 | }
312 |
313 | .our-projects .gallery {
314 | margin-top: 50px;
315 | overflow: hidden
316 | }
317 |
318 | .our-projects .gallery .row > div:nth-child(2) {
319 | margin-right: 1%;
320 | margin-left: 1%
321 | }
322 |
323 | .our-projects .gallery .row > div {
324 | width: 32.66666%;
325 | float: left;
326 | margin-bottom: 12px;
327 | background-color: #DDD;
328 | position: relative
329 | }
330 |
331 | .our-projects .gallery .row > div .over {
332 | position: absolute;
333 | top: 0;
334 | left: 0;
335 | bottom: 0;
336 | right: 0;
337 | width: 100%;
338 | height: 100%;
339 | line-height: 232px;
340 | font-size: 20px;
341 | font-weight: bold;
342 | color: #FFF;
343 | text-align: center;
344 | background-color: rgba(26, 188, 156, .9);
345 | display: none
346 | }
347 |
348 | .our-projects .gallery .row > div .heart {
349 | position: absolute;
350 | bottom: 20px;
351 | right: 20px;
352 | color: #FFF;
353 | display: none
354 | }
355 |
356 | .our-projects .gallery .row > div:hover .over,
357 | .our-projects .gallery .row > div:hover .heart {
358 | display: block
359 | }
360 |
361 | .our-projects .gallery .row > div img {
362 | width: 100%
363 | }
364 |
365 | .our-projects .shuffle li {
366 | cursor: pointer
367 | }
368 |
369 | .our-projects .mix {
370 | display: none
371 | }
372 |
373 | /* End Projects */
374 |
375 | /* Start Footer */
376 |
377 | .footer {
378 | background-color: #232323;
379 | color: #6C6C6C;
380 | padding: 40px 0;
381 | overflow: hidden
382 | }
383 |
384 | .footer .col {
385 | width: 25%;
386 | float: left
387 | }
388 |
389 | .footer .col h2 {
390 | color: #FFF;
391 | font-size: 18px
392 | }
393 |
394 | .footer .col p {
395 | margin-bottom: 30px;
396 | line-height: 1.6
397 | }
398 |
399 | .footer .col i {
400 | display: inline-block;
401 | color: #979797;
402 | border: 1px solid #979797;
403 | width: 40px;
404 | padding: 10px
405 | }
406 |
407 | .footer .tags span {
408 | display: inline-block;
409 | color: #CCC;
410 | border: 1px solid #979797;
411 | padding: 10px;
412 | margin-right: 5px;
413 | margin-bottom: 10px
414 | }
415 |
416 | .footer .recent div {
417 | overflow: hidden;
418 | margin-bottom: 15px
419 | }
420 |
421 | .footer .recent div img {
422 | float: left;
423 | margin-right: 10px
424 | }
425 |
426 | .footer .recent div h4 {
427 | margin: 8px 0;
428 | color: #CCC;
429 | }
430 |
431 | .footer .blog ul li {
432 | padding: 15px;
433 | border-bottom: 1px solid #979797;
434 | color: #CCC
435 | }
436 |
437 | .footer .copyright {
438 | margin-top: 30px
439 | }
440 |
441 | /* End Footer */
442 |
443 | /* Start My Framework */
444 |
445 | .clearfix {
446 | clear: both
447 | }
448 |
449 | .special-heading {
450 | position: relative
451 | }
452 |
453 | .special-heading:after {
454 | content: "";
455 | display: block;
456 | position: absolute;
457 | top: 40px;
458 | left: 0;
459 | width: 40px;
460 | border-bottom: 2px solid #333;
461 | }
462 |
463 | .separator {
464 | border: 1px solid #EEE
465 | }
466 |
467 | /* End My Framework */
468 |
469 |
--------------------------------------------------------------------------------
/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/images/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/01.png
--------------------------------------------------------------------------------
/images/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/02.png
--------------------------------------------------------------------------------
/images/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/03.png
--------------------------------------------------------------------------------
/images/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/04.png
--------------------------------------------------------------------------------
/images/footer/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/footer/01.png
--------------------------------------------------------------------------------
/images/footer/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/footer/02.jpg
--------------------------------------------------------------------------------
/images/footer/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/footer/03.jpg
--------------------------------------------------------------------------------
/images/header.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/header.jpg
--------------------------------------------------------------------------------
/images/header2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/header2.jpg
--------------------------------------------------------------------------------
/images/keyboard.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/keyboard.jpg
--------------------------------------------------------------------------------
/images/products/01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/products/01.jpg
--------------------------------------------------------------------------------
/images/products/02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/products/02.jpg
--------------------------------------------------------------------------------
/images/products/03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/products/03.jpg
--------------------------------------------------------------------------------
/images/products/04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/products/04.jpg
--------------------------------------------------------------------------------
/images/products/05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/products/05.jpg
--------------------------------------------------------------------------------
/images/products/06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ElzeroWebSchool/Preview2HtmlLv2/f8a37ba91515b0efd73b6202fbcf272f2a1a55aa/images/products/06.jpg
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Classic
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
Classic
22 |
23 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
Our Services
67 |
68 |
69 |
70 |
Responsive
71 |
Nam vel eleifend que fusce consequat pretium velit vitae. Vulputate nullam pharetra lorem laoreet. Etiam sollicitudin magna nullam.
72 |
73 |
74 |
75 |
76 |
77 |
Cloud Services
78 |
Nam vel eleifend que fusce consequat pretium velit vitae. Vulputate nullam pharetra lorem laoreet. Etiam sollicitudin magna nullam.
79 |
80 |
81 |
82 |
83 |
84 |
Fresh Ideas
85 |
Nam vel eleifend que fusce consequat pretium velit vitae. Vulputate nullam pharetra lorem laoreet. Etiam sollicitudin magna nullam.
86 |
87 |
88 |
89 |
90 |
91 |
Attachments
92 |
Nam vel eleifend que fusce consequat pretium velit vitae. Vulputate nullam pharetra lorem laoreet. Etiam sollicitudin magna nullam.
93 |
94 |
95 |
96 |
97 |
98 |
Support Video
99 |
Nam vel eleifend que fusce consequat pretium velit vitae. Vulputate nullam pharetra lorem laoreet. Etiam sollicitudin magna nullam.
100 |
101 |
102 |
103 |
104 |
105 |
Lovely Design
106 |
Nam vel eleifend que fusce consequat pretium velit vitae. Vulputate nullam pharetra lorem laoreet. Etiam sollicitudin magna nullam.
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
Our Team
121 |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent a lacus facilisis, placerat magna sit amet, rhoncus lacus. Cras porta eget nibh vel vehicula. Phasellus ullamcorper odio sit amet felis congue, id porta sapien tincidunt. Ut id sem malesuada, dapibus.
122 |
123 |
124 |
125 | Osama
126 |
127 |
128 |
129 |
130 |
131 | Hassan
132 |
133 |
134 |
135 |
136 |
137 | Sayed
138 |
139 |
140 |
141 |
142 |
143 | Mahmoud
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
What Our Clients Say
159 |
160 |
161 |
Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test
162 |
Osama
163 |
164 |
165 |
Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test
166 |
Ahmed
167 |
168 |
169 |
Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test
170 |
Sayed
171 |
172 |
173 |
Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test
174 |
Mahmoud
175 |
176 |
177 |
Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test Hello This Is Very Cool Website And I Loved It So Much Because Reason Test
178 |
Hassan
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
Projects
192 |
193 | All
194 | Mobile
195 | Coffee
196 | Video
197 |
198 |
199 |
200 |
201 |
View More
202 |
203 | 14
204 |
205 |
206 |
207 |
208 |
View More
209 |
210 | 14
211 |
212 |
213 |
214 |
215 |
View More
216 |
217 | 14
218 |
219 |
220 |
221 |
222 |
223 |
224 |
View More
225 |
226 | 14
227 |
228 |
229 |
230 |
231 |
View More
232 |
233 | 14
234 |
235 |
236 |
237 |
238 |
View More
239 |
240 | 14
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
--------------------------------------------------------------------------------
/js/custom.js:
--------------------------------------------------------------------------------
1 | /*global $, alert, console*/
2 |
3 | $(function () {
4 |
5 | 'use strict';
6 |
7 | // Adjust Header Height
8 |
9 | var myHeader = $('.header'),
10 |
11 | mySlider = $('.bxslider');
12 |
13 | myHeader.height($(window).height());
14 |
15 | $(window).resize(function () {
16 |
17 | myHeader.height($(window).height());
18 |
19 | // Adjust Bxslider List Item Center
20 |
21 | mySlider.each(function () {
22 |
23 | $(this).css('paddingTop', ($(window).height() - $('.bxslider li').height()) / 2);
24 |
25 | });
26 |
27 | });
28 |
29 | // Links Add Active Class
30 |
31 | $('.links li a').click(function () {
32 |
33 | $(this).parent().addClass('active').siblings().removeClass('active');
34 |
35 | });
36 |
37 | // Adjust Bxslider List Item Center
38 |
39 | mySlider.each(function () {
40 |
41 | $(this).css('paddingTop', ($(window).height() - $('.bxslider li').height()) / 2);
42 |
43 | });
44 |
45 | // Trigger The Bx Slider
46 |
47 | mySlider.bxSlider({
48 |
49 | pager: false
50 |
51 | });
52 |
53 | // Smooth Scroll To Div
54 |
55 | $('.links li a').click(function () {
56 |
57 | $('html, body').animate({
58 |
59 | scrollTop: $('#' + $(this).data('value')).offset().top
60 |
61 | }, 1000);
62 |
63 | console.log('#' + $(this).data('value'));
64 |
65 | });
66 |
67 | // Our Auto Slider Code
68 |
69 | (function autoSlider() {
70 |
71 | $('.slider .active').each(function () {
72 |
73 | if (!$(this).is(':last-child')) {
74 |
75 | $(this).delay(3000).fadeOut(1000, function () {
76 |
77 | $(this).removeClass('active').next().addClass('active').fadeIn();
78 |
79 | autoSlider();
80 |
81 | });
82 |
83 | } else {
84 |
85 | $(this).delay(3000).fadeOut(1000, function () {
86 |
87 | $(this).removeClass('active');
88 |
89 | $('.slider div').eq(0).addClass('active').fadeIn();
90 |
91 | autoSlider();
92 |
93 | });
94 |
95 | }
96 |
97 | });
98 |
99 | }());
100 |
101 | // Trigger MixitUp
102 |
103 | $('#Container').mixItUp();
104 |
105 | // Adjust Shuffle Links
106 |
107 | $('.shuffle li').click(function () {
108 |
109 | $(this).addClass('selected').siblings().removeClass('selected');
110 |
111 | });
112 |
113 | // Trigger Nice Scroll
114 |
115 | $('html').niceScroll({
116 |
117 | cursorcolor: '#1abc9c',
118 |
119 | cursorwidth: '10px',
120 |
121 | cursorborder: '1px solid #1abc9c',
122 |
123 | cursorborderradius: 0
124 |
125 | });
126 |
127 | });
--------------------------------------------------------------------------------
/js/jquery.bxslider.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * BxSlider v4.1.2 - Fully loaded, responsive content slider
3 | * http://bxslider.com
4 | *
5 | * Copyright 2014, Steven Wanderski - http://stevenwanderski.com - http://bxcreative.com
6 | * Written while drinking Belgian ales and listening to jazz
7 | *
8 | * Released under the MIT license - http://opensource.org/licenses/MIT
9 | */
10 | !function(t){var e={},s={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};t.fn.bxSlider=function(n){if(0==this.length)return this;if(this.length>1)return this.each(function(){t(this).bxSlider(n)}),this;var o={},r=this;e.el=this;var a=t(window).width(),l=t(window).height(),d=function(){o.settings=t.extend({},s,n),o.settings.slideWidth=parseInt(o.settings.slideWidth),o.children=r.children(o.settings.slideSelector),o.children.length1||o.settings.maxSlides>1,o.carousel&&(o.settings.preloadImages="all"),o.minThreshold=o.settings.minSlides*o.settings.slideWidth+(o.settings.minSlides-1)*o.settings.slideMargin,o.maxThreshold=o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin,o.working=!1,o.controls={},o.interval=null,o.animProp="vertical"==o.settings.mode?"top":"left",o.usingCSS=o.settings.useCSS&&"fade"!=o.settings.mode&&function(){var t=document.createElement("div"),e=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in e)if(void 0!==t.style[e[i]])return o.cssPrefix=e[i].replace("Perspective","").toLowerCase(),o.animProp="-"+o.cssPrefix+"-transform",!0;return!1}(),"vertical"==o.settings.mode&&(o.settings.maxSlides=o.settings.minSlides),r.data("origStyle",r.attr("style")),r.children(o.settings.slideSelector).each(function(){t(this).data("origStyle",t(this).attr("style"))}),c()},c=function(){r.wrap(''),o.viewport=r.parent(),o.loader=t('
'),o.viewport.prepend(o.loader),r.css({width:"horizontal"==o.settings.mode?100*o.children.length+215+"%":"auto",position:"relative"}),o.usingCSS&&o.settings.easing?r.css("-"+o.cssPrefix+"-transition-timing-function",o.settings.easing):o.settings.easing||(o.settings.easing="swing"),f(),o.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),o.viewport.parent().css({maxWidth:p()}),o.settings.pager||o.viewport.parent().css({margin:"0 auto 0px"}),o.children.css({"float":"horizontal"==o.settings.mode?"left":"none",listStyle:"none",position:"relative"}),o.children.css("width",u()),"horizontal"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginRight",o.settings.slideMargin),"vertical"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginBottom",o.settings.slideMargin),"fade"==o.settings.mode&&(o.children.css({position:"absolute",zIndex:0,display:"none"}),o.children.eq(o.settings.startSlide).css({zIndex:o.settings.slideZIndex,display:"block"})),o.controls.el=t('
'),o.settings.captions&&P(),o.active.last=o.settings.startSlide==x()-1,o.settings.video&&r.fitVids();var e=o.children.eq(o.settings.startSlide);"all"==o.settings.preloadImages&&(e=o.children),o.settings.ticker?o.settings.pager=!1:(o.settings.pager&&T(),o.settings.controls&&C(),o.settings.auto&&o.settings.autoControls&&E(),(o.settings.controls||o.settings.autoControls||o.settings.pager)&&o.viewport.after(o.controls.el)),g(e,h)},g=function(e,i){var s=e.find("img, iframe").length;if(0==s)return i(),void 0;var n=0;e.find("img, iframe").each(function(){t(this).one("load",function(){++n==s&&i()}).each(function(){this.complete&&t(this).load()})})},h=function(){if(o.settings.infiniteLoop&&"fade"!=o.settings.mode&&!o.settings.ticker){var e="vertical"==o.settings.mode?o.settings.minSlides:o.settings.maxSlides,i=o.children.slice(0,e).clone().addClass("bx-clone"),s=o.children.slice(-e).clone().addClass("bx-clone");r.append(i).prepend(s)}o.loader.remove(),S(),"vertical"==o.settings.mode&&(o.settings.adaptiveHeight=!0),o.viewport.height(v()),r.redrawSlider(),o.settings.onSliderLoad(o.active.index),o.initialized=!0,o.settings.responsive&&t(window).bind("resize",Z),o.settings.auto&&o.settings.autoStart&&H(),o.settings.ticker&&L(),o.settings.pager&&q(o.settings.startSlide),o.settings.controls&&W(),o.settings.touchEnabled&&!o.settings.ticker&&O()},v=function(){var e=0,s=t();if("vertical"==o.settings.mode||o.settings.adaptiveHeight)if(o.carousel){var n=1==o.settings.moveSlides?o.active.index:o.active.index*m();for(s=o.children.eq(n),i=1;i<=o.settings.maxSlides-1;i++)s=n+i>=o.children.length?s.add(o.children.eq(i-1)):s.add(o.children.eq(n+i))}else s=o.children.eq(o.active.index);else s=o.children;return"vertical"==o.settings.mode?(s.each(function(){e+=t(this).outerHeight()}),o.settings.slideMargin>0&&(e+=o.settings.slideMargin*(o.settings.minSlides-1))):e=Math.max.apply(Math,s.map(function(){return t(this).outerHeight(!1)}).get()),e},p=function(){var t="100%";return o.settings.slideWidth>0&&(t="horizontal"==o.settings.mode?o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin:o.settings.slideWidth),t},u=function(){var t=o.settings.slideWidth,e=o.viewport.width();return 0==o.settings.slideWidth||o.settings.slideWidth>e&&!o.carousel||"vertical"==o.settings.mode?t=e:o.settings.maxSlides>1&&"horizontal"==o.settings.mode&&(e>o.maxThreshold||e0)if(o.viewport.width()o.maxThreshold)t=o.settings.maxSlides;else{var e=o.children.first().width();t=Math.floor(o.viewport.width()/e)}else"vertical"==o.settings.mode&&(t=o.settings.minSlides);return t},x=function(){var t=0;if(o.settings.moveSlides>0)if(o.settings.infiniteLoop)t=o.children.length/m();else for(var e=0,i=0;e0&&o.settings.moveSlides<=f()?o.settings.moveSlides:f()},S=function(){if(o.children.length>o.settings.maxSlides&&o.active.last&&!o.settings.infiniteLoop){if("horizontal"==o.settings.mode){var t=o.children.last(),e=t.position();b(-(e.left-(o.viewport.width()-t.width())),"reset",0)}else if("vertical"==o.settings.mode){var i=o.children.length-o.settings.minSlides,e=o.children.eq(i).position();b(-e.top,"reset",0)}}else{var e=o.children.eq(o.active.index*m()).position();o.active.index==x()-1&&(o.active.last=!0),void 0!=e&&("horizontal"==o.settings.mode?b(-e.left,"reset",0):"vertical"==o.settings.mode&&b(-e.top,"reset",0))}},b=function(t,e,i,s){if(o.usingCSS){var n="vertical"==o.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)";r.css("-"+o.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"==e?(r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),D()})):"reset"==e?r.css(o.animProp,n):"ticker"==e&&(r.css("-"+o.cssPrefix+"-transition-timing-function","linear"),r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),b(s.resetValue,"reset",0),N()}))}else{var a={};a[o.animProp]=t,"slide"==e?r.animate(a,i,o.settings.easing,function(){D()}):"reset"==e?r.css(o.animProp,t):"ticker"==e&&r.animate(a,speed,"linear",function(){b(s.resetValue,"reset",0),N()})}},w=function(){for(var e="",i=x(),s=0;i>s;s++){var n="";o.settings.buildPager&&t.isFunction(o.settings.buildPager)?(n=o.settings.buildPager(s),o.pagerEl.addClass("bx-custom-pager")):(n=s+1,o.pagerEl.addClass("bx-default-pager")),e+='"}o.pagerEl.html(e)},T=function(){o.settings.pagerCustom?o.pagerEl=t(o.settings.pagerCustom):(o.pagerEl=t(''),o.settings.pagerSelector?t(o.settings.pagerSelector).html(o.pagerEl):o.controls.el.addClass("bx-has-pager").append(o.pagerEl),w()),o.pagerEl.on("click","a",I)},C=function(){o.controls.next=t(''+o.settings.nextText+" "),o.controls.prev=t(''+o.settings.prevText+" "),o.controls.next.bind("click",y),o.controls.prev.bind("click",z),o.settings.nextSelector&&t(o.settings.nextSelector).append(o.controls.next),o.settings.prevSelector&&t(o.settings.prevSelector).append(o.controls.prev),o.settings.nextSelector||o.settings.prevSelector||(o.controls.directionEl=t('
'),o.controls.directionEl.append(o.controls.prev).append(o.controls.next),o.controls.el.addClass("bx-has-controls-direction").append(o.controls.directionEl))},E=function(){o.controls.start=t('"),o.controls.stop=t('"),o.controls.autoEl=t('
'),o.controls.autoEl.on("click",".bx-start",k),o.controls.autoEl.on("click",".bx-stop",M),o.settings.autoControlsCombine?o.controls.autoEl.append(o.controls.start):o.controls.autoEl.append(o.controls.start).append(o.controls.stop),o.settings.autoControlsSelector?t(o.settings.autoControlsSelector).html(o.controls.autoEl):o.controls.el.addClass("bx-has-controls-auto").append(o.controls.autoEl),A(o.settings.autoStart?"stop":"start")},P=function(){o.children.each(function(){var e=t(this).find("img:first").attr("title");void 0!=e&&(""+e).length&&t(this).append(''+e+"
")})},y=function(t){o.settings.auto&&r.stopAuto(),r.goToNextSlide(),t.preventDefault()},z=function(t){o.settings.auto&&r.stopAuto(),r.goToPrevSlide(),t.preventDefault()},k=function(t){r.startAuto(),t.preventDefault()},M=function(t){r.stopAuto(),t.preventDefault()},I=function(e){o.settings.auto&&r.stopAuto();var i=t(e.currentTarget),s=parseInt(i.attr("data-slide-index"));s!=o.active.index&&r.goToSlide(s),e.preventDefault()},q=function(e){var i=o.children.length;return"short"==o.settings.pagerType?(o.settings.maxSlides>1&&(i=Math.ceil(o.children.length/o.settings.maxSlides)),o.pagerEl.html(e+1+o.settings.pagerShortSeparator+i),void 0):(o.pagerEl.find("a").removeClass("active"),o.pagerEl.each(function(i,s){t(s).find("a").eq(e).addClass("active")}),void 0)},D=function(){if(o.settings.infiniteLoop){var t="";0==o.active.index?t=o.children.eq(0).position():o.active.index==x()-1&&o.carousel?t=o.children.eq((x()-1)*m()).position():o.active.index==o.children.length-1&&(t=o.children.eq(o.children.length-1).position()),t&&("horizontal"==o.settings.mode?b(-t.left,"reset",0):"vertical"==o.settings.mode&&b(-t.top,"reset",0))}o.working=!1,o.settings.onSlideAfter(o.children.eq(o.active.index),o.oldIndex,o.active.index)},A=function(t){o.settings.autoControlsCombine?o.controls.autoEl.html(o.controls[t]):(o.controls.autoEl.find("a").removeClass("active"),o.controls.autoEl.find("a:not(.bx-"+t+")").addClass("active"))},W=function(){1==x()?(o.controls.prev.addClass("disabled"),o.controls.next.addClass("disabled")):!o.settings.infiniteLoop&&o.settings.hideControlOnEnd&&(0==o.active.index?(o.controls.prev.addClass("disabled"),o.controls.next.removeClass("disabled")):o.active.index==x()-1?(o.controls.next.addClass("disabled"),o.controls.prev.removeClass("disabled")):(o.controls.prev.removeClass("disabled"),o.controls.next.removeClass("disabled")))},H=function(){o.settings.autoDelay>0?setTimeout(r.startAuto,o.settings.autoDelay):r.startAuto(),o.settings.autoHover&&r.hover(function(){o.interval&&(r.stopAuto(!0),o.autoPaused=!0)},function(){o.autoPaused&&(r.startAuto(!0),o.autoPaused=null)})},L=function(){var e=0;if("next"==o.settings.autoDirection)r.append(o.children.clone().addClass("bx-clone"));else{r.prepend(o.children.clone().addClass("bx-clone"));var i=o.children.first().position();e="horizontal"==o.settings.mode?-i.left:-i.top}b(e,"reset",0),o.settings.pager=!1,o.settings.controls=!1,o.settings.autoControls=!1,o.settings.tickerHover&&!o.usingCSS&&o.viewport.hover(function(){r.stop()},function(){var e=0;o.children.each(function(){e+="horizontal"==o.settings.mode?t(this).outerWidth(!0):t(this).outerHeight(!0)});var i=o.settings.speed/e,s="horizontal"==o.settings.mode?"left":"top",n=i*(e-Math.abs(parseInt(r.css(s))));N(n)}),N()},N=function(t){speed=t?t:o.settings.speed;var e={left:0,top:0},i={left:0,top:0};"next"==o.settings.autoDirection?e=r.find(".bx-clone").first().position():i=o.children.first().position();var s="horizontal"==o.settings.mode?-e.left:-e.top,n="horizontal"==o.settings.mode?-i.left:-i.top,a={resetValue:n};b(s,"ticker",speed,a)},O=function(){o.touch={start:{x:0,y:0},end:{x:0,y:0}},o.viewport.bind("touchstart",X)},X=function(t){if(o.working)t.preventDefault();else{o.touch.originalPos=r.position();var e=t.originalEvent;o.touch.start.x=e.changedTouches[0].pageX,o.touch.start.y=e.changedTouches[0].pageY,o.viewport.bind("touchmove",Y),o.viewport.bind("touchend",V)}},Y=function(t){var e=t.originalEvent,i=Math.abs(e.changedTouches[0].pageX-o.touch.start.x),s=Math.abs(e.changedTouches[0].pageY-o.touch.start.y);if(3*i>s&&o.settings.preventDefaultSwipeX?t.preventDefault():3*s>i&&o.settings.preventDefaultSwipeY&&t.preventDefault(),"fade"!=o.settings.mode&&o.settings.oneToOneTouch){var n=0;if("horizontal"==o.settings.mode){var r=e.changedTouches[0].pageX-o.touch.start.x;n=o.touch.originalPos.left+r}else{var r=e.changedTouches[0].pageY-o.touch.start.y;n=o.touch.originalPos.top+r}b(n,"reset",0)}},V=function(t){o.viewport.unbind("touchmove",Y);var e=t.originalEvent,i=0;if(o.touch.end.x=e.changedTouches[0].pageX,o.touch.end.y=e.changedTouches[0].pageY,"fade"==o.settings.mode){var s=Math.abs(o.touch.start.x-o.touch.end.x);s>=o.settings.swipeThreshold&&(o.touch.start.x>o.touch.end.x?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto())}else{var s=0;"horizontal"==o.settings.mode?(s=o.touch.end.x-o.touch.start.x,i=o.touch.originalPos.left):(s=o.touch.end.y-o.touch.start.y,i=o.touch.originalPos.top),!o.settings.infiniteLoop&&(0==o.active.index&&s>0||o.active.last&&0>s)?b(i,"reset",200):Math.abs(s)>=o.settings.swipeThreshold?(0>s?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto()):b(i,"reset",200)}o.viewport.unbind("touchend",V)},Z=function(){var e=t(window).width(),i=t(window).height();(a!=e||l!=i)&&(a=e,l=i,r.redrawSlider(),o.settings.onSliderResize.call(r,o.active.index))};return r.goToSlide=function(e,i){if(!o.working&&o.active.index!=e)if(o.working=!0,o.oldIndex=o.active.index,o.active.index=0>e?x()-1:e>=x()?0:e,o.settings.onSlideBefore(o.children.eq(o.active.index),o.oldIndex,o.active.index),"next"==i?o.settings.onSlideNext(o.children.eq(o.active.index),o.oldIndex,o.active.index):"prev"==i&&o.settings.onSlidePrev(o.children.eq(o.active.index),o.oldIndex,o.active.index),o.active.last=o.active.index>=x()-1,o.settings.pager&&q(o.active.index),o.settings.controls&&W(),"fade"==o.settings.mode)o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed),o.children.filter(":visible").fadeOut(o.settings.speed).css({zIndex:0}),o.children.eq(o.active.index).css("zIndex",o.settings.slideZIndex+1).fadeIn(o.settings.speed,function(){t(this).css("zIndex",o.settings.slideZIndex),D()});else{o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed);var s=0,n={left:0,top:0};if(!o.settings.infiniteLoop&&o.carousel&&o.active.last)if("horizontal"==o.settings.mode){var a=o.children.eq(o.children.length-1);n=a.position(),s=o.viewport.width()-a.outerWidth()}else{var l=o.children.length-o.settings.minSlides;n=o.children.eq(l).position()}else if(o.carousel&&o.active.last&&"prev"==i){var d=1==o.settings.moveSlides?o.settings.maxSlides-m():(x()-1)*m()-(o.children.length-o.settings.maxSlides),a=r.children(".bx-clone").eq(d);n=a.position()}else if("next"==i&&0==o.active.index)n=r.find("> .bx-clone").eq(o.settings.maxSlides).position(),o.active.last=!1;else if(e>=0){var c=e*m();n=o.children.eq(c).position()}if("undefined"!=typeof n){var g="horizontal"==o.settings.mode?-(n.left-s):-n.top;b(g,"slide",o.settings.speed)}}},r.goToNextSlide=function(){if(o.settings.infiniteLoop||!o.active.last){var t=parseInt(o.active.index)+1;r.goToSlide(t,"next")}},r.goToPrevSlide=function(){if(o.settings.infiniteLoop||0!=o.active.index){var t=parseInt(o.active.index)-1;r.goToSlide(t,"prev")}},r.startAuto=function(t){o.interval||(o.interval=setInterval(function(){"next"==o.settings.autoDirection?r.goToNextSlide():r.goToPrevSlide()},o.settings.pause),o.settings.autoControls&&1!=t&&A("stop"))},r.stopAuto=function(t){o.interval&&(clearInterval(o.interval),o.interval=null,o.settings.autoControls&&1!=t&&A("start"))},r.getCurrentSlide=function(){return o.active.index},r.getCurrentSlideElement=function(){return o.children.eq(o.active.index)},r.getSlideCount=function(){return o.children.length},r.redrawSlider=function(){o.children.add(r.find(".bx-clone")).outerWidth(u()),o.viewport.css("height",v()),o.settings.ticker||S(),o.active.last&&(o.active.index=x()-1),o.active.index>=x()&&(o.active.last=!0),o.settings.pager&&!o.settings.pagerCustom&&(w(),q(o.active.index))},r.destroySlider=function(){o.initialized&&(o.initialized=!1,t(".bx-clone",this).remove(),o.children.each(function(){void 0!=t(this).data("origStyle")?t(this).attr("style",t(this).data("origStyle")):t(this).removeAttr("style")}),void 0!=t(this).data("origStyle")?this.attr("style",t(this).data("origStyle")):t(this).removeAttr("style"),t(this).unwrap().unwrap(),o.controls.el&&o.controls.el.remove(),o.controls.next&&o.controls.next.remove(),o.controls.prev&&o.controls.prev.remove(),o.pagerEl&&o.settings.controls&&o.pagerEl.remove(),t(".bx-caption",this).remove(),o.controls.autoEl&&o.controls.autoEl.remove(),clearInterval(o.interval),o.settings.responsive&&t(window).unbind("resize",Z))},r.reloadSlider=function(t){void 0!=t&&(n=t),r.destroySlider(),d()},d(),this}}(jQuery);
--------------------------------------------------------------------------------
/js/jquery.mixitup.js:
--------------------------------------------------------------------------------
1 | /**!
2 | * MixItUp v2.1.10
3 | *
4 | * @copyright Copyright 2015 KunkaLabs Limited.
5 | * @author KunkaLabs Limited.
6 | * @link https://mixitup.kunkalabs.com
7 | *
8 | * @license Commercial use requires a commercial license.
9 | * https://mixitup.kunkalabs.com/licenses/
10 | *
11 | * Non-commercial use permitted under terms of CC-BY-NC license.
12 | * http://creativecommons.org/licenses/by-nc/3.0/
13 | */
14 |
15 | (function($, undf){
16 | 'use strict';
17 |
18 | /**
19 | * MixItUp Constructor Function
20 | * @constructor
21 | * @extends jQuery
22 | */
23 |
24 | $.MixItUp = function(){
25 | var self = this;
26 |
27 | self._execAction('_constructor', 0);
28 |
29 | $.extend(self, {
30 |
31 | /* Public Properties
32 | ---------------------------------------------------------------------- */
33 |
34 | selectors: {
35 | target: '.mix',
36 | filter: '.filter',
37 | sort: '.sort'
38 | },
39 |
40 | animation: {
41 | enable: true,
42 | effects: 'fade scale',
43 | duration: 600,
44 | easing: 'ease',
45 | perspectiveDistance: '3000',
46 | perspectiveOrigin: '50% 50%',
47 | queue: true,
48 | queueLimit: 1,
49 | animateChangeLayout: false,
50 | animateResizeContainer: true,
51 | animateResizeTargets: false,
52 | staggerSequence: false,
53 | reverseOut: false
54 | },
55 |
56 | callbacks: {
57 | onMixLoad: false,
58 | onMixStart: false,
59 | onMixBusy: false,
60 | onMixEnd: false,
61 | onMixFail: false,
62 | _user: false
63 | },
64 |
65 | controls: {
66 | enable: true,
67 | live: false,
68 | toggleFilterButtons: false,
69 | toggleLogic: 'or',
70 | activeClass: 'active'
71 | },
72 |
73 | layout: {
74 | display: 'inline-block',
75 | containerClass: '',
76 | containerClassFail: 'fail'
77 | },
78 |
79 | load: {
80 | filter: 'all',
81 | sort: false
82 | },
83 |
84 | /* Private Properties
85 | ---------------------------------------------------------------------- */
86 |
87 | _$body: null,
88 | _$container: null,
89 | _$targets: null,
90 | _$parent: null,
91 | _$sortButtons: null,
92 | _$filterButtons: null,
93 |
94 | _suckMode: false,
95 | _mixing: false,
96 | _sorting: false,
97 | _clicking: false,
98 | _loading: true,
99 | _changingLayout: false,
100 | _changingClass: false,
101 | _changingDisplay: false,
102 |
103 | _origOrder: [],
104 | _startOrder: [],
105 | _newOrder: [],
106 | _activeFilter: null,
107 | _toggleArray: [],
108 | _toggleString: '',
109 | _activeSort: 'default:asc',
110 | _newSort: null,
111 | _startHeight: null,
112 | _newHeight: null,
113 | _incPadding: true,
114 | _newDisplay: null,
115 | _newClass: null,
116 | _targetsBound: 0,
117 | _targetsDone: 0,
118 | _queue: [],
119 |
120 | _$show: $(),
121 | _$hide: $()
122 | });
123 |
124 | self._execAction('_constructor', 1);
125 | };
126 |
127 | /**
128 | * MixItUp Prototype
129 | * @override
130 | */
131 |
132 | $.MixItUp.prototype = {
133 | constructor: $.MixItUp,
134 |
135 | /* Static Properties
136 | ---------------------------------------------------------------------- */
137 |
138 | _instances: {},
139 | _handled: {
140 | _filter: {},
141 | _sort: {}
142 | },
143 | _bound: {
144 | _filter: {},
145 | _sort: {}
146 | },
147 | _actions: {},
148 | _filters: {},
149 |
150 | /* Static Methods
151 | ---------------------------------------------------------------------- */
152 |
153 | /**
154 | * Extend
155 | * @since 2.1.0
156 | * @param {object} new properties/methods
157 | * @extends {object} prototype
158 | */
159 |
160 | extend: function(extension){
161 | for(var key in extension){
162 | $.MixItUp.prototype[key] = extension[key];
163 | }
164 | },
165 |
166 | /**
167 | * Add Action
168 | * @since 2.1.0
169 | * @param {string} hook name
170 | * @param {string} namespace
171 | * @param {function} function to execute
172 | * @param {number} priority
173 | * @extends {object} $.MixItUp.prototype._actions
174 | */
175 |
176 | addAction: function(hook, name, func, priority){
177 | $.MixItUp.prototype._addHook('_actions', hook, name, func, priority);
178 | },
179 |
180 | /**
181 | * Add Filter
182 | * @since 2.1.0
183 | * @param {string} hook name
184 | * @param {string} namespace
185 | * @param {function} function to execute
186 | * @param {number} priority
187 | * @extends {object} $.MixItUp.prototype._filters
188 | */
189 |
190 | addFilter: function(hook, name, func, priority){
191 | $.MixItUp.prototype._addHook('_filters', hook, name, func, priority);
192 | },
193 |
194 | /**
195 | * Add Hook
196 | * @since 2.1.0
197 | * @param {string} type of hook
198 | * @param {string} hook name
199 | * @param {function} function to execute
200 | * @param {number} priority
201 | * @extends {object} $.MixItUp.prototype._filters
202 | */
203 |
204 | _addHook: function(type, hook, name, func, priority){
205 | var collection = $.MixItUp.prototype[type],
206 | obj = {};
207 |
208 | priority = (priority === 1 || priority === 'post') ? 'post' : 'pre';
209 |
210 | obj[hook] = {};
211 | obj[hook][priority] = {};
212 | obj[hook][priority][name] = func;
213 |
214 | $.extend(true, collection, obj);
215 | },
216 |
217 |
218 | /* Private Methods
219 | ---------------------------------------------------------------------- */
220 |
221 | /**
222 | * Initialise
223 | * @since 2.0.0
224 | * @param {object} domNode
225 | * @param {object} config
226 | */
227 |
228 | _init: function(domNode, config){
229 | var self = this;
230 |
231 | self._execAction('_init', 0, arguments);
232 |
233 | config && $.extend(true, self, config);
234 |
235 | self._$body = $('body');
236 | self._domNode = domNode;
237 | self._$container = $(domNode);
238 | self._$container.addClass(self.layout.containerClass);
239 | self._id = domNode.id;
240 |
241 | self._platformDetect();
242 |
243 | self._brake = self._getPrefixedCSS('transition', 'none');
244 |
245 | self._refresh(true);
246 |
247 | self._$parent = self._$targets.parent().length ? self._$targets.parent() : self._$container;
248 |
249 | if(self.load.sort){
250 | self._newSort = self._parseSort(self.load.sort);
251 | self._newSortString = self.load.sort;
252 | self._activeSort = self.load.sort;
253 | self._sort();
254 | self._printSort();
255 | }
256 |
257 | self._activeFilter = self.load.filter === 'all' ?
258 | self.selectors.target :
259 | self.load.filter === 'none' ?
260 | '' :
261 | self.load.filter;
262 |
263 | self.controls.enable && self._bindHandlers();
264 |
265 | if(self.controls.toggleFilterButtons){
266 | self._buildToggleArray();
267 |
268 | for(var i = 0; i < self._toggleArray.length; i++){
269 | self._updateControls({filter: self._toggleArray[i], sort: self._activeSort}, true);
270 | };
271 | } else if(self.controls.enable){
272 | self._updateControls({filter: self._activeFilter, sort: self._activeSort});
273 | }
274 |
275 | self._filter();
276 |
277 | self._init = true;
278 |
279 | self._$container.data('mixItUp',self);
280 |
281 | self._execAction('_init', 1, arguments);
282 |
283 | self._buildState();
284 |
285 | self._$targets.css(self._brake);
286 |
287 | self._goMix(self.animation.enable);
288 | },
289 |
290 | /**
291 | * Platform Detect
292 | * @since 2.0.0
293 | */
294 |
295 | _platformDetect: function(){
296 | var self = this,
297 | vendorsTrans = ['Webkit', 'Moz', 'O', 'ms'],
298 | vendorsRAF = ['webkit', 'moz'],
299 | chrome = window.navigator.appVersion.match(/Chrome\/(\d+)\./) || false,
300 | ff = typeof InstallTrigger !== 'undefined',
301 | prefix = function(el){
302 | for (var i = 0; i < vendorsTrans.length; i++){
303 | if (vendorsTrans[i] + 'Transition' in el.style){
304 | return {
305 | prefix: '-'+vendorsTrans[i].toLowerCase()+'-',
306 | vendor: vendorsTrans[i]
307 | };
308 | };
309 | };
310 | return 'transition' in el.style ? '' : false;
311 | },
312 | transPrefix = prefix(self._domNode);
313 |
314 | self._execAction('_platformDetect', 0);
315 |
316 | self._chrome = chrome ? parseInt(chrome[1], 10) : false;
317 | self._ff = ff ? parseInt(window.navigator.userAgent.match(/rv:([^)]+)\)/)[1]) : false;
318 | self._prefix = transPrefix.prefix;
319 | self._vendor = transPrefix.vendor;
320 | self._suckMode = window.atob && self._prefix ? false : true;
321 |
322 | self._suckMode && (self.animation.enable = false);
323 | (self._ff && self._ff <= 4) && (self.animation.enable = false);
324 |
325 | /* Polyfills
326 | ---------------------------------------------------------------------- */
327 |
328 | /**
329 | * window.requestAnimationFrame
330 | */
331 |
332 | for(var x = 0; x < vendorsRAF.length && !window.requestAnimationFrame; x++){
333 | window.requestAnimationFrame = window[vendorsRAF[x]+'RequestAnimationFrame'];
334 | }
335 |
336 | /**
337 | * Object.getPrototypeOf
338 | */
339 |
340 | if(typeof Object.getPrototypeOf !== 'function'){
341 | if(typeof 'test'.__proto__ === 'object'){
342 | Object.getPrototypeOf = function(object){
343 | return object.__proto__;
344 | };
345 | } else {
346 | Object.getPrototypeOf = function(object){
347 | return object.constructor.prototype;
348 | };
349 | }
350 | }
351 |
352 | /**
353 | * Element.nextElementSibling
354 | */
355 |
356 | if(self._domNode.nextElementSibling === undf){
357 | Object.defineProperty(Element.prototype, 'nextElementSibling',{
358 | get: function(){
359 | var el = this.nextSibling;
360 |
361 | while(el){
362 | if(el.nodeType ===1){
363 | return el;
364 | }
365 | el = el.nextSibling;
366 | }
367 | return null;
368 | }
369 | });
370 | }
371 |
372 | self._execAction('_platformDetect', 1);
373 | },
374 |
375 | /**
376 | * Refresh
377 | * @since 2.0.0
378 | * @param {boolean} init
379 | * @param {boolean} force
380 | */
381 |
382 | _refresh: function(init, force){
383 | var self = this;
384 |
385 | self._execAction('_refresh', 0, arguments);
386 |
387 | self._$targets = self._$container.find(self.selectors.target);
388 |
389 | for(var i = 0; i < self._$targets.length; i++){
390 | var target = self._$targets[i];
391 |
392 | if(target.dataset === undf || force){
393 |
394 | target.dataset = {};
395 |
396 | for(var j = 0; j < target.attributes.length; j++){
397 |
398 | var attr = target.attributes[j],
399 | name = attr.name,
400 | val = attr.value;
401 |
402 | if(name.indexOf('data-') > -1){
403 | var dataName = self._helpers._camelCase(name.substring(5,name.length));
404 | target.dataset[dataName] = val;
405 | }
406 | }
407 | }
408 |
409 | if(target.mixParent === undf){
410 | target.mixParent = self._id;
411 | }
412 | }
413 |
414 | if(
415 | (self._$targets.length && init) ||
416 | (!self._origOrder.length && self._$targets.length)
417 | ){
418 | self._origOrder = [];
419 |
420 | for(var i = 0; i < self._$targets.length; i++){
421 | var target = self._$targets[i];
422 |
423 | self._origOrder.push(target);
424 | }
425 | }
426 |
427 | self._execAction('_refresh', 1, arguments);
428 | },
429 |
430 | /**
431 | * Bind Handlers
432 | * @since 2.0.0
433 | */
434 |
435 | _bindHandlers: function(){
436 | var self = this,
437 | filters = $.MixItUp.prototype._bound._filter,
438 | sorts = $.MixItUp.prototype._bound._sort;
439 |
440 | self._execAction('_bindHandlers', 0);
441 |
442 | if(self.controls.live){
443 | self._$body
444 | .on('click.mixItUp.'+self._id, self.selectors.sort, function(){
445 | self._processClick($(this), 'sort');
446 | })
447 | .on('click.mixItUp.'+self._id, self.selectors.filter, function(){
448 | self._processClick($(this), 'filter');
449 | });
450 | } else {
451 | self._$sortButtons = $(self.selectors.sort);
452 | self._$filterButtons = $(self.selectors.filter);
453 |
454 | self._$sortButtons.on('click.mixItUp.'+self._id, function(){
455 | self._processClick($(this), 'sort');
456 | });
457 |
458 | self._$filterButtons.on('click.mixItUp.'+self._id, function(){
459 | self._processClick($(this), 'filter');
460 | });
461 | }
462 |
463 | filters[self.selectors.filter] = (filters[self.selectors.filter] === undf) ? 1 : filters[self.selectors.filter] + 1;
464 | sorts[self.selectors.sort] = (sorts[self.selectors.sort] === undf) ? 1 : sorts[self.selectors.sort] + 1;
465 |
466 | self._execAction('_bindHandlers', 1);
467 | },
468 |
469 | /**
470 | * Process Click
471 | * @since 2.0.0
472 | * @param {object} $button
473 | * @param {string} type
474 | */
475 |
476 | _processClick: function($button, type){
477 | var self = this,
478 | trackClick = function($button, type, off){
479 | var proto = $.MixItUp.prototype;
480 |
481 | proto._handled['_'+type][self.selectors[type]] = (proto._handled['_'+type][self.selectors[type]] === undf) ?
482 | 1 :
483 | proto._handled['_'+type][self.selectors[type]] + 1;
484 |
485 | if(proto._handled['_'+type][self.selectors[type]] === proto._bound['_'+type][self.selectors[type]]){
486 | $button[(off ? 'remove' : 'add')+'Class'](self.controls.activeClass);
487 | delete proto._handled['_'+type][self.selectors[type]];
488 | }
489 | };
490 |
491 | self._execAction('_processClick', 0, arguments);
492 |
493 | if(!self._mixing || (self.animation.queue && self._queue.length < self.animation.queueLimit)){
494 | self._clicking = true;
495 |
496 | if(type === 'sort'){
497 | var sort = $button.attr('data-sort');
498 |
499 | if(!$button.hasClass(self.controls.activeClass) || sort.indexOf('random') > -1){
500 | $(self.selectors.sort).removeClass(self.controls.activeClass);
501 | trackClick($button, type);
502 | self.sort(sort);
503 | }
504 | }
505 |
506 | if(type === 'filter') {
507 | var filter = $button.attr('data-filter'),
508 | ndx,
509 | seperator = self.controls.toggleLogic === 'or' ? ',' : '';
510 |
511 | if(!self.controls.toggleFilterButtons){
512 | if(!$button.hasClass(self.controls.activeClass)){
513 | $(self.selectors.filter).removeClass(self.controls.activeClass);
514 | trackClick($button, type);
515 | self.filter(filter);
516 | }
517 | } else {
518 | self._buildToggleArray();
519 |
520 | if(!$button.hasClass(self.controls.activeClass)){
521 | trackClick($button, type);
522 |
523 | self._toggleArray.push(filter);
524 | } else {
525 | trackClick($button, type, true);
526 | ndx = self._toggleArray.indexOf(filter);
527 | self._toggleArray.splice(ndx, 1);
528 | }
529 |
530 | self._toggleArray = $.grep(self._toggleArray,function(n){return(n);});
531 |
532 | self._toggleString = self._toggleArray.join(seperator);
533 |
534 | self.filter(self._toggleString);
535 | }
536 | }
537 |
538 | self._execAction('_processClick', 1, arguments);
539 | } else {
540 | if(typeof self.callbacks.onMixBusy === 'function'){
541 | self.callbacks.onMixBusy.call(self._domNode, self._state, self);
542 | }
543 | self._execAction('_processClickBusy', 1, arguments);
544 | }
545 | },
546 |
547 | /**
548 | * Build Toggle Array
549 | * @since 2.0.0
550 | */
551 |
552 | _buildToggleArray: function(){
553 | var self = this,
554 | activeFilter = self._activeFilter.replace(/\s/g, '');
555 |
556 | self._execAction('_buildToggleArray', 0, arguments);
557 |
558 | if(self.controls.toggleLogic === 'or'){
559 | self._toggleArray = activeFilter.split(',');
560 | } else {
561 | self._toggleArray = activeFilter.split('.');
562 |
563 | !self._toggleArray[0] && self._toggleArray.shift();
564 |
565 | for(var i = 0, filter; filter = self._toggleArray[i]; i++){
566 | self._toggleArray[i] = '.'+filter;
567 | }
568 | }
569 |
570 | self._execAction('_buildToggleArray', 1, arguments);
571 | },
572 |
573 | /**
574 | * Update Controls
575 | * @since 2.0.0
576 | * @param {object} command
577 | * @param {boolean} multi
578 | */
579 |
580 | _updateControls: function(command, multi){
581 | var self = this,
582 | output = {
583 | filter: command.filter,
584 | sort: command.sort
585 | },
586 | update = function($el, filter){
587 | try {
588 | (multi && type === 'filter' && !(output.filter === 'none' || output.filter === '')) ?
589 | $el.filter(filter).addClass(self.controls.activeClass) :
590 | $el.removeClass(self.controls.activeClass).filter(filter).addClass(self.controls.activeClass);
591 | } catch(e) {}
592 | },
593 | type = 'filter',
594 | $el = null;
595 |
596 | self._execAction('_updateControls', 0, arguments);
597 |
598 | (command.filter === undf) && (output.filter = self._activeFilter);
599 | (command.sort === undf) && (output.sort = self._activeSort);
600 | (output.filter === self.selectors.target) && (output.filter = 'all');
601 |
602 | for(var i = 0; i < 2; i++){
603 | $el = self.controls.live ? $(self.selectors[type]) : self['_$'+type+'Buttons'];
604 | $el && update($el, '[data-'+type+'="'+output[type]+'"]');
605 | type = 'sort';
606 | }
607 |
608 | self._execAction('_updateControls', 1, arguments);
609 | },
610 |
611 | /**
612 | * Filter (private)
613 | * @since 2.0.0
614 | */
615 |
616 | _filter: function(){
617 | var self = this;
618 |
619 | self._execAction('_filter', 0);
620 |
621 | for(var i = 0; i < self._$targets.length; i++){
622 | var $target = $(self._$targets[i]);
623 |
624 | if($target.is(self._activeFilter)){
625 | self._$show = self._$show.add($target);
626 | } else {
627 | self._$hide = self._$hide.add($target);
628 | }
629 | }
630 |
631 | self._execAction('_filter', 1);
632 | },
633 |
634 | /**
635 | * Sort (private)
636 | * @since 2.0.0
637 | */
638 |
639 | _sort: function(){
640 | var self = this,
641 | arrayShuffle = function(oldArray){
642 | var newArray = oldArray.slice(),
643 | len = newArray.length,
644 | i = len;
645 |
646 | while(i--){
647 | var p = parseInt(Math.random()*len);
648 | var t = newArray[i];
649 | newArray[i] = newArray[p];
650 | newArray[p] = t;
651 | };
652 | return newArray;
653 | };
654 |
655 | self._execAction('_sort', 0);
656 |
657 | self._startOrder = [];
658 |
659 | for(var i = 0; i < self._$targets.length; i++){
660 | var target = self._$targets[i];
661 |
662 | self._startOrder.push(target);
663 | }
664 |
665 | switch(self._newSort[0].sortBy){
666 | case 'default':
667 | self._newOrder = self._origOrder;
668 | break;
669 | case 'random':
670 | self._newOrder = arrayShuffle(self._startOrder);
671 | break;
672 | case 'custom':
673 | self._newOrder = self._newSort[0].order;
674 | break;
675 | default:
676 | self._newOrder = self._startOrder.concat().sort(function(a, b){
677 | return self._compare(a, b);
678 | });
679 | }
680 |
681 | self._execAction('_sort', 1);
682 | },
683 |
684 | /**
685 | * Compare Algorithm
686 | * @since 2.0.0
687 | * @param {string|number} a
688 | * @param {string|number} b
689 | * @param {number} depth (recursion)
690 | * @return {number}
691 | */
692 |
693 | _compare: function(a, b, depth){
694 | depth = depth ? depth : 0;
695 |
696 | var self = this,
697 | order = self._newSort[depth].order,
698 | getData = function(el){
699 | return el.dataset[self._newSort[depth].sortBy] || 0;
700 | },
701 | attrA = isNaN(getData(a) * 1) ? getData(a).toLowerCase() : getData(a) * 1,
702 | attrB = isNaN(getData(b) * 1) ? getData(b).toLowerCase() : getData(b) * 1;
703 |
704 | if(attrA < attrB)
705 | return order === 'asc' ? -1 : 1;
706 | if(attrA > attrB)
707 | return order === 'asc' ? 1 : -1;
708 | if(attrA === attrB && self._newSort.length > depth+1)
709 | return self._compare(a, b, depth+1);
710 |
711 | return 0;
712 | },
713 |
714 | /**
715 | * Print Sort
716 | * @since 2.0.0
717 | * @param {boolean} reset
718 | */
719 |
720 | _printSort: function(reset){
721 | var self = this,
722 | order = reset ? self._startOrder : self._newOrder,
723 | targets = self._$parent[0].querySelectorAll(self.selectors.target),
724 | nextSibling = targets.length ? targets[targets.length -1].nextElementSibling : null,
725 | frag = document.createDocumentFragment();
726 |
727 | self._execAction('_printSort', 0, arguments);
728 |
729 | for(var i = 0; i < targets.length; i++){
730 | var target = targets[i],
731 | whiteSpace = target.nextSibling;
732 |
733 | if(target.style.position === 'absolute') continue;
734 |
735 | if(whiteSpace && whiteSpace.nodeName === '#text'){
736 | self._$parent[0].removeChild(whiteSpace);
737 | }
738 |
739 | self._$parent[0].removeChild(target);
740 | }
741 |
742 | for(var i = 0; i < order.length; i++){
743 | var el = order[i];
744 |
745 | if(self._newSort[0].sortBy === 'default' && self._newSort[0].order === 'desc' && !reset){
746 | var firstChild = frag.firstChild;
747 | frag.insertBefore(el, firstChild);
748 | frag.insertBefore(document.createTextNode(' '), el);
749 | } else {
750 | frag.appendChild(el);
751 | frag.appendChild(document.createTextNode(' '));
752 | }
753 | }
754 |
755 | nextSibling ?
756 | self._$parent[0].insertBefore(frag, nextSibling) :
757 | self._$parent[0].appendChild(frag);
758 |
759 | self._execAction('_printSort', 1, arguments);
760 | },
761 |
762 | /**
763 | * Parse Sort
764 | * @since 2.0.0
765 | * @param {string} sortString
766 | * @return {array} newSort
767 | */
768 |
769 | _parseSort: function(sortString){
770 | var self = this,
771 | rules = typeof sortString === 'string' ? sortString.split(' ') : [sortString],
772 | newSort = [];
773 |
774 | for(var i = 0; i < rules.length; i++){
775 | var rule = typeof sortString === 'string' ? rules[i].split(':') : ['custom', rules[i]],
776 | ruleObj = {
777 | sortBy: self._helpers._camelCase(rule[0]),
778 | order: rule[1] || 'asc'
779 | };
780 |
781 | newSort.push(ruleObj);
782 |
783 | if(ruleObj.sortBy === 'default' || ruleObj.sortBy === 'random') break;
784 | }
785 |
786 | return self._execFilter('_parseSort', newSort, arguments);
787 | },
788 |
789 | /**
790 | * Parse Effects
791 | * @since 2.0.0
792 | * @return {object} effects
793 | */
794 |
795 | _parseEffects: function(){
796 | var self = this,
797 | effects = {
798 | opacity: '',
799 | transformIn: '',
800 | transformOut: '',
801 | filter: ''
802 | },
803 | parse = function(effect, extract, reverse){
804 | if(self.animation.effects.indexOf(effect) > -1){
805 | if(extract){
806 | var propIndex = self.animation.effects.indexOf(effect+'(');
807 | if(propIndex > -1){
808 | var str = self.animation.effects.substring(propIndex),
809 | match = /\(([^)]+)\)/.exec(str),
810 | val = match[1];
811 |
812 | return {val: val};
813 | }
814 | }
815 | return true;
816 | } else {
817 | return false;
818 | }
819 | },
820 | negate = function(value, invert){
821 | if(invert){
822 | return value.charAt(0) === '-' ? value.substr(1, value.length) : '-'+value;
823 | } else {
824 | return value;
825 | }
826 | },
827 | buildTransform = function(key, invert){
828 | var transforms = [
829 | ['scale', '.01'],
830 | ['translateX', '20px'],
831 | ['translateY', '20px'],
832 | ['translateZ', '20px'],
833 | ['rotateX', '90deg'],
834 | ['rotateY', '90deg'],
835 | ['rotateZ', '180deg'],
836 | ];
837 |
838 | for(var i = 0; i < transforms.length; i++){
839 | var prop = transforms[i][0],
840 | def = transforms[i][1],
841 | inverted = invert && prop !== 'scale';
842 |
843 | effects[key] += parse(prop) ? prop+'('+negate(parse(prop, true).val || def, inverted)+') ' : '';
844 | }
845 | };
846 |
847 | effects.opacity = parse('fade') ? parse('fade',true).val || '0' : '1';
848 |
849 | buildTransform('transformIn');
850 |
851 | self.animation.reverseOut ? buildTransform('transformOut', true) : (effects.transformOut = effects.transformIn);
852 |
853 | effects.transition = {};
854 |
855 | effects.transition = self._getPrefixedCSS('transition','all '+self.animation.duration+'ms '+self.animation.easing+', opacity '+self.animation.duration+'ms linear');
856 |
857 | self.animation.stagger = parse('stagger') ? true : false;
858 | self.animation.staggerDuration = parseInt(parse('stagger') ? (parse('stagger',true).val ? parse('stagger',true).val : 100) : 100);
859 |
860 | return self._execFilter('_parseEffects', effects);
861 | },
862 |
863 | /**
864 | * Build State
865 | * @since 2.0.0
866 | * @param {boolean} future
867 | * @return {object} futureState
868 | */
869 |
870 | _buildState: function(future){
871 | var self = this,
872 | state = {};
873 |
874 | self._execAction('_buildState', 0);
875 |
876 | state = {
877 | activeFilter: self._activeFilter === '' ? 'none' : self._activeFilter,
878 | activeSort: future && self._newSortString ? self._newSortString : self._activeSort,
879 | fail: !self._$show.length && self._activeFilter !== '',
880 | $targets: self._$targets,
881 | $show: self._$show,
882 | $hide: self._$hide,
883 | totalTargets: self._$targets.length,
884 | totalShow: self._$show.length,
885 | totalHide: self._$hide.length,
886 | display: future && self._newDisplay ? self._newDisplay : self.layout.display
887 | };
888 |
889 | if(future){
890 | return self._execFilter('_buildState', state);
891 | } else {
892 | self._state = state;
893 |
894 | self._execAction('_buildState', 1);
895 | }
896 | },
897 |
898 | /**
899 | * Go Mix
900 | * @since 2.0.0
901 | * @param {boolean} animate
902 | */
903 |
904 | _goMix: function(animate){
905 | var self = this,
906 | phase1 = function(){
907 | if(self._chrome && (self._chrome === 31)){
908 | chromeFix(self._$parent[0]);
909 | }
910 |
911 | self._setInter();
912 |
913 | phase2();
914 | },
915 | phase2 = function(){
916 | var scrollTop = window.pageYOffset,
917 | scrollLeft = window.pageXOffset,
918 | docHeight = document.documentElement.scrollHeight;
919 |
920 | self._getInterMixData();
921 |
922 | self._setFinal();
923 |
924 | self._getFinalMixData();
925 |
926 | (window.pageYOffset !== scrollTop) && window.scrollTo(scrollLeft, scrollTop);
927 |
928 | self._prepTargets();
929 |
930 | if(window.requestAnimationFrame){
931 | requestAnimationFrame(phase3);
932 | } else {
933 | setTimeout(function(){
934 | phase3();
935 | },20);
936 | }
937 | },
938 | phase3 = function(){
939 | self._animateTargets();
940 |
941 | if(self._targetsBound === 0){
942 | self._cleanUp();
943 | }
944 | },
945 | chromeFix = function(grid){
946 | var parent = grid.parentElement,
947 | placeholder = document.createElement('div'),
948 | frag = document.createDocumentFragment();
949 |
950 | parent.insertBefore(placeholder, grid);
951 | frag.appendChild(grid);
952 | parent.replaceChild(grid, placeholder);
953 | },
954 | futureState = self._buildState(true);
955 |
956 | self._execAction('_goMix', 0, arguments);
957 |
958 | !self.animation.duration && (animate = false);
959 |
960 | self._mixing = true;
961 |
962 | self._$container.removeClass(self.layout.containerClassFail);
963 |
964 | if(typeof self.callbacks.onMixStart === 'function'){
965 | self.callbacks.onMixStart.call(self._domNode, self._state, futureState, self);
966 | }
967 |
968 | self._$container.trigger('mixStart', [self._state, futureState, self]);
969 |
970 | self._getOrigMixData();
971 |
972 | if(animate && !self._suckMode){
973 |
974 | window.requestAnimationFrame ?
975 | requestAnimationFrame(phase1) :
976 | phase1();
977 |
978 | } else {
979 | self._cleanUp();
980 | }
981 |
982 | self._execAction('_goMix', 1, arguments);
983 | },
984 |
985 | /**
986 | * Get Target Data
987 | * @since 2.0.0
988 | */
989 |
990 | _getTargetData: function(el, stage){
991 | var self = this,
992 | elStyle;
993 |
994 | el.dataset[stage+'PosX'] = el.offsetLeft;
995 | el.dataset[stage+'PosY'] = el.offsetTop;
996 |
997 | if(self.animation.animateResizeTargets){
998 | elStyle = !self._suckMode ?
999 | window.getComputedStyle(el) :
1000 | {
1001 | marginBottom: '',
1002 | marginRight: ''
1003 | };
1004 |
1005 | el.dataset[stage+'MarginBottom'] = parseInt(elStyle.marginBottom);
1006 | el.dataset[stage+'MarginRight'] = parseInt(elStyle.marginRight);
1007 | el.dataset[stage+'Width'] = el.offsetWidth;
1008 | el.dataset[stage+'Height'] = el.offsetHeight;
1009 | }
1010 | },
1011 |
1012 | /**
1013 | * Get Original Mix Data
1014 | * @since 2.0.0
1015 | */
1016 |
1017 | _getOrigMixData: function(){
1018 | var self = this,
1019 | parentStyle = !self._suckMode ? window.getComputedStyle(self._$parent[0]) : {boxSizing: ''},
1020 | parentBS = parentStyle.boxSizing || parentStyle[self._vendor+'BoxSizing'];
1021 |
1022 | self._incPadding = (parentBS === 'border-box');
1023 |
1024 | self._execAction('_getOrigMixData', 0);
1025 |
1026 | !self._suckMode && (self.effects = self._parseEffects());
1027 |
1028 | self._$toHide = self._$hide.filter(':visible');
1029 | self._$toShow = self._$show.filter(':hidden');
1030 | self._$pre = self._$targets.filter(':visible');
1031 |
1032 | self._startHeight = self._incPadding ?
1033 | self._$parent.outerHeight() :
1034 | self._$parent.height();
1035 |
1036 | for(var i = 0; i < self._$pre.length; i++){
1037 | var el = self._$pre[i];
1038 |
1039 | self._getTargetData(el, 'orig');
1040 | }
1041 |
1042 | self._execAction('_getOrigMixData', 1);
1043 | },
1044 |
1045 | /**
1046 | * Set Intermediate Positions
1047 | * @since 2.0.0
1048 | */
1049 |
1050 | _setInter: function(){
1051 | var self = this;
1052 |
1053 | self._execAction('_setInter', 0);
1054 |
1055 | if(self._changingLayout && self.animation.animateChangeLayout){
1056 | self._$toShow.css('display',self._newDisplay);
1057 |
1058 | if(self._changingClass){
1059 | self._$container
1060 | .removeClass(self.layout.containerClass)
1061 | .addClass(self._newClass);
1062 | }
1063 | } else {
1064 | self._$toShow.css('display', self.layout.display);
1065 | }
1066 |
1067 | self._execAction('_setInter', 1);
1068 | },
1069 |
1070 | /**
1071 | * Get Intermediate Mix Data
1072 | * @since 2.0.0
1073 | */
1074 |
1075 | _getInterMixData: function(){
1076 | var self = this;
1077 |
1078 | self._execAction('_getInterMixData', 0);
1079 |
1080 | for(var i = 0; i < self._$toShow.length; i++){
1081 | var el = self._$toShow[i];
1082 |
1083 | self._getTargetData(el, 'inter');
1084 | }
1085 |
1086 | for(var i = 0; i < self._$pre.length; i++){
1087 | var el = self._$pre[i];
1088 |
1089 | self._getTargetData(el, 'inter');
1090 | }
1091 |
1092 | self._execAction('_getInterMixData', 1);
1093 | },
1094 |
1095 | /**
1096 | * Set Final Positions
1097 | * @since 2.0.0
1098 | */
1099 |
1100 | _setFinal: function(){
1101 | var self = this;
1102 |
1103 | self._execAction('_setFinal', 0);
1104 |
1105 | self._sorting && self._printSort();
1106 |
1107 | self._$toHide.removeStyle('display');
1108 |
1109 | if(self._changingLayout && self.animation.animateChangeLayout){
1110 | self._$pre.css('display',self._newDisplay);
1111 | }
1112 |
1113 | self._execAction('_setFinal', 1);
1114 | },
1115 |
1116 | /**
1117 | * Get Final Mix Data
1118 | * @since 2.0.0
1119 | */
1120 |
1121 | _getFinalMixData: function(){
1122 | var self = this;
1123 |
1124 | self._execAction('_getFinalMixData', 0);
1125 |
1126 | for(var i = 0; i < self._$toShow.length; i++){
1127 | var el = self._$toShow[i];
1128 |
1129 | self._getTargetData(el, 'final');
1130 | }
1131 |
1132 | for(var i = 0; i < self._$pre.length; i++){
1133 | var el = self._$pre[i];
1134 |
1135 | self._getTargetData(el, 'final');
1136 | }
1137 |
1138 | self._newHeight = self._incPadding ?
1139 | self._$parent.outerHeight() :
1140 | self._$parent.height();
1141 |
1142 | self._sorting && self._printSort(true);
1143 |
1144 | self._$toShow.removeStyle('display');
1145 |
1146 | self._$pre.css('display',self.layout.display);
1147 |
1148 | if(self._changingClass && self.animation.animateChangeLayout){
1149 | self._$container
1150 | .removeClass(self._newClass)
1151 | .addClass(self.layout.containerClass);
1152 | }
1153 |
1154 | self._execAction('_getFinalMixData', 1);
1155 | },
1156 |
1157 | /**
1158 | * Prepare Targets
1159 | * @since 2.0.0
1160 | */
1161 |
1162 | _prepTargets: function(){
1163 | var self = this,
1164 | transformCSS = {
1165 | _in: self._getPrefixedCSS('transform', self.effects.transformIn),
1166 | _out: self._getPrefixedCSS('transform', self.effects.transformOut)
1167 | };
1168 |
1169 | self._execAction('_prepTargets', 0);
1170 |
1171 | if(self.animation.animateResizeContainer){
1172 | self._$parent.css('height',self._startHeight+'px');
1173 | }
1174 |
1175 | for(var i = 0; i < self._$toShow.length; i++){
1176 | var el = self._$toShow[i],
1177 | $el = $(el);
1178 |
1179 | el.style.opacity = self.effects.opacity;
1180 | el.style.display = (self._changingLayout && self.animation.animateChangeLayout) ?
1181 | self._newDisplay :
1182 | self.layout.display;
1183 |
1184 | $el.css(transformCSS._in);
1185 |
1186 | if(self.animation.animateResizeTargets){
1187 | el.style.width = el.dataset.finalWidth+'px';
1188 | el.style.height = el.dataset.finalHeight+'px';
1189 | el.style.marginRight = -(el.dataset.finalWidth - el.dataset.interWidth) + (el.dataset.finalMarginRight * 1)+'px';
1190 | el.style.marginBottom = -(el.dataset.finalHeight - el.dataset.interHeight) + (el.dataset.finalMarginBottom * 1)+'px';
1191 | }
1192 | }
1193 |
1194 | for(var i = 0; i < self._$pre.length; i++){
1195 | var el = self._$pre[i],
1196 | $el = $(el),
1197 | translate = {
1198 | x: el.dataset.origPosX - el.dataset.interPosX,
1199 | y: el.dataset.origPosY - el.dataset.interPosY
1200 | },
1201 | transformCSS = self._getPrefixedCSS('transform','translate('+translate.x+'px,'+translate.y+'px)');
1202 |
1203 | $el.css(transformCSS);
1204 |
1205 | if(self.animation.animateResizeTargets){
1206 | el.style.width = el.dataset.origWidth+'px';
1207 | el.style.height = el.dataset.origHeight+'px';
1208 |
1209 | if(el.dataset.origWidth - el.dataset.finalWidth){
1210 | el.style.marginRight = -(el.dataset.origWidth - el.dataset.interWidth) + (el.dataset.origMarginRight * 1)+'px';
1211 | }
1212 |
1213 | if(el.dataset.origHeight - el.dataset.finalHeight){
1214 | el.style.marginBottom = -(el.dataset.origHeight - el.dataset.interHeight) + (el.dataset.origMarginBottom * 1) +'px';
1215 | }
1216 | }
1217 | }
1218 |
1219 | self._execAction('_prepTargets', 1);
1220 | },
1221 |
1222 | /**
1223 | * Animate Targets
1224 | * @since 2.0.0
1225 | */
1226 |
1227 | _animateTargets: function(){
1228 | var self = this;
1229 |
1230 | self._execAction('_animateTargets', 0);
1231 |
1232 | self._targetsDone = 0;
1233 | self._targetsBound = 0;
1234 |
1235 | self._$parent
1236 | .css(self._getPrefixedCSS('perspective', self.animation.perspectiveDistance+'px'))
1237 | .css(self._getPrefixedCSS('perspective-origin', self.animation.perspectiveOrigin));
1238 |
1239 | if(self.animation.animateResizeContainer){
1240 | self._$parent
1241 | .css(self._getPrefixedCSS('transition','height '+self.animation.duration+'ms ease'))
1242 | .css('height',self._newHeight+'px');
1243 | }
1244 |
1245 | for(var i = 0; i < self._$toShow.length; i++){
1246 | var el = self._$toShow[i],
1247 | $el = $(el),
1248 | translate = {
1249 | x: el.dataset.finalPosX - el.dataset.interPosX,
1250 | y: el.dataset.finalPosY - el.dataset.interPosY
1251 | },
1252 | delay = self._getDelay(i),
1253 | toShowCSS = {};
1254 |
1255 | el.style.opacity = '';
1256 |
1257 | for(var j = 0; j < 2; j++){
1258 | var a = j === 0 ? a = self._prefix : '';
1259 |
1260 | if(self._ff && self._ff <= 20){
1261 | toShowCSS[a+'transition-property'] = 'all';
1262 | toShowCSS[a+'transition-timing-function'] = self.animation.easing+'ms';
1263 | toShowCSS[a+'transition-duration'] = self.animation.duration+'ms';
1264 | }
1265 |
1266 | toShowCSS[a+'transition-delay'] = delay+'ms';
1267 | toShowCSS[a+'transform'] = 'translate('+translate.x+'px,'+translate.y+'px)';
1268 | }
1269 |
1270 | if(self.effects.transform || self.effects.opacity){
1271 | self._bindTargetDone($el);
1272 | }
1273 |
1274 | (self._ff && self._ff <= 20) ?
1275 | $el.css(toShowCSS) :
1276 | $el.css(self.effects.transition).css(toShowCSS);
1277 | }
1278 |
1279 | for(var i = 0; i < self._$pre.length; i++){
1280 | var el = self._$pre[i],
1281 | $el = $(el),
1282 | translate = {
1283 | x: el.dataset.finalPosX - el.dataset.interPosX,
1284 | y: el.dataset.finalPosY - el.dataset.interPosY
1285 | },
1286 | delay = self._getDelay(i);
1287 |
1288 | if(!(
1289 | el.dataset.finalPosX === el.dataset.origPosX &&
1290 | el.dataset.finalPosY === el.dataset.origPosY
1291 | )){
1292 | self._bindTargetDone($el);
1293 | }
1294 |
1295 | $el.css(self._getPrefixedCSS('transition', 'all '+self.animation.duration+'ms '+self.animation.easing+' '+delay+'ms'));
1296 | $el.css(self._getPrefixedCSS('transform', 'translate('+translate.x+'px,'+translate.y+'px)'));
1297 |
1298 | if(self.animation.animateResizeTargets){
1299 | if(el.dataset.origWidth - el.dataset.finalWidth && el.dataset.finalWidth * 1){
1300 | el.style.width = el.dataset.finalWidth+'px';
1301 | el.style.marginRight = -(el.dataset.finalWidth - el.dataset.interWidth)+(el.dataset.finalMarginRight * 1)+'px';
1302 | }
1303 |
1304 | if(el.dataset.origHeight - el.dataset.finalHeight && el.dataset.finalHeight * 1){
1305 | el.style.height = el.dataset.finalHeight+'px';
1306 | el.style.marginBottom = -(el.dataset.finalHeight - el.dataset.interHeight)+(el.dataset.finalMarginBottom * 1) +'px';
1307 | }
1308 | }
1309 | }
1310 |
1311 | if(self._changingClass){
1312 | self._$container
1313 | .removeClass(self.layout.containerClass)
1314 | .addClass(self._newClass);
1315 | }
1316 |
1317 | for(var i = 0; i < self._$toHide.length; i++){
1318 | var el = self._$toHide[i],
1319 | $el = $(el),
1320 | delay = self._getDelay(i),
1321 | toHideCSS = {};
1322 |
1323 | for(var j = 0; j<2; j++){
1324 | var a = j === 0 ? a = self._prefix : '';
1325 |
1326 | toHideCSS[a+'transition-delay'] = delay+'ms';
1327 | toHideCSS[a+'transform'] = self.effects.transformOut;
1328 | toHideCSS.opacity = self.effects.opacity;
1329 | }
1330 |
1331 | $el.css(self.effects.transition).css(toHideCSS);
1332 |
1333 | if(self.effects.transform || self.effects.opacity){
1334 | self._bindTargetDone($el);
1335 | };
1336 | }
1337 |
1338 | self._execAction('_animateTargets', 1);
1339 |
1340 | },
1341 |
1342 | /**
1343 | * Bind Targets TransitionEnd
1344 | * @since 2.0.0
1345 | * @param {object} $el
1346 | */
1347 |
1348 | _bindTargetDone: function($el){
1349 | var self = this,
1350 | el = $el[0];
1351 |
1352 | self._execAction('_bindTargetDone', 0, arguments);
1353 |
1354 | if(!el.dataset.bound){
1355 |
1356 | el.dataset.bound = true;
1357 | self._targetsBound++;
1358 |
1359 | $el.on('webkitTransitionEnd.mixItUp transitionend.mixItUp',function(e){
1360 | if(
1361 | (e.originalEvent.propertyName.indexOf('transform') > -1 ||
1362 | e.originalEvent.propertyName.indexOf('opacity') > -1) &&
1363 | $(e.originalEvent.target).is(self.selectors.target)
1364 | ){
1365 | $el.off('.mixItUp');
1366 | delete el.dataset.bound;
1367 | self._targetDone();
1368 | }
1369 | });
1370 | }
1371 |
1372 | self._execAction('_bindTargetDone', 1, arguments);
1373 | },
1374 |
1375 | /**
1376 | * Target Done
1377 | * @since 2.0.0
1378 | */
1379 |
1380 | _targetDone: function(){
1381 | var self = this;
1382 |
1383 | self._execAction('_targetDone', 0);
1384 |
1385 | self._targetsDone++;
1386 |
1387 | (self._targetsDone === self._targetsBound) && self._cleanUp();
1388 |
1389 | self._execAction('_targetDone', 1);
1390 | },
1391 |
1392 | /**
1393 | * Clean Up
1394 | * @since 2.0.0
1395 | */
1396 |
1397 | _cleanUp: function(){
1398 | var self = this,
1399 | targetStyles = self.animation.animateResizeTargets ?
1400 | 'transform opacity width height margin-bottom margin-right' :
1401 | 'transform opacity',
1402 | unBrake = function(){
1403 | self._$targets.removeStyle('transition', self._prefix);
1404 | };
1405 |
1406 | self._execAction('_cleanUp', 0);
1407 |
1408 | !self._changingLayout ?
1409 | self._$show.css('display',self.layout.display) :
1410 | self._$show.css('display',self._newDisplay);
1411 |
1412 | self._$targets.css(self._brake);
1413 |
1414 | self._$targets
1415 | .removeStyle(targetStyles, self._prefix)
1416 | .removeAttr('data-inter-pos-x data-inter-pos-y data-final-pos-x data-final-pos-y data-orig-pos-x data-orig-pos-y data-orig-height data-orig-width data-final-height data-final-width data-inter-width data-inter-height data-orig-margin-right data-orig-margin-bottom data-inter-margin-right data-inter-margin-bottom data-final-margin-right data-final-margin-bottom');
1417 |
1418 | self._$hide.removeStyle('display');
1419 |
1420 | self._$parent.removeStyle('height transition perspective-distance perspective perspective-origin-x perspective-origin-y perspective-origin perspectiveOrigin', self._prefix);
1421 |
1422 | if(self._sorting){
1423 | self._printSort();
1424 | self._activeSort = self._newSortString;
1425 | self._sorting = false;
1426 | }
1427 |
1428 | if(self._changingLayout){
1429 | if(self._changingDisplay){
1430 | self.layout.display = self._newDisplay;
1431 | self._changingDisplay = false;
1432 | }
1433 |
1434 | if(self._changingClass){
1435 | self._$parent.removeClass(self.layout.containerClass).addClass(self._newClass);
1436 | self.layout.containerClass = self._newClass;
1437 | self._changingClass = false;
1438 | }
1439 |
1440 | self._changingLayout = false;
1441 | }
1442 |
1443 | self._refresh();
1444 |
1445 | self._buildState();
1446 |
1447 | if(self._state.fail){
1448 | self._$container.addClass(self.layout.containerClassFail);
1449 | }
1450 |
1451 | self._$show = $();
1452 | self._$hide = $();
1453 |
1454 | if(window.requestAnimationFrame){
1455 | requestAnimationFrame(unBrake);
1456 | }
1457 |
1458 | self._mixing = false;
1459 |
1460 | if(typeof self.callbacks._user === 'function'){
1461 | self.callbacks._user.call(self._domNode, self._state, self);
1462 | }
1463 |
1464 | if(typeof self.callbacks.onMixEnd === 'function'){
1465 | self.callbacks.onMixEnd.call(self._domNode, self._state, self);
1466 | }
1467 |
1468 | self._$container.trigger('mixEnd', [self._state, self]);
1469 |
1470 | if(self._state.fail){
1471 | (typeof self.callbacks.onMixFail === 'function') && self.callbacks.onMixFail.call(self._domNode, self._state, self);
1472 | self._$container.trigger('mixFail', [self._state, self]);
1473 | }
1474 |
1475 | if(self._loading){
1476 | (typeof self.callbacks.onMixLoad === 'function') && self.callbacks.onMixLoad.call(self._domNode, self._state, self);
1477 | self._$container.trigger('mixLoad', [self._state, self]);
1478 | }
1479 |
1480 | if(self._queue.length){
1481 | self._execAction('_queue', 0);
1482 |
1483 | self.multiMix(self._queue[0][0],self._queue[0][1],self._queue[0][2]);
1484 | self._queue.splice(0, 1);
1485 | }
1486 |
1487 | self._execAction('_cleanUp', 1);
1488 |
1489 | self._loading = false;
1490 | },
1491 |
1492 | /**
1493 | * Get Prefixed CSS
1494 | * @since 2.0.0
1495 | * @param {string} property
1496 | * @param {string} value
1497 | * @param {boolean} prefixValue
1498 | * @return {object} styles
1499 | */
1500 |
1501 | _getPrefixedCSS: function(property, value, prefixValue){
1502 | var self = this,
1503 | styles = {},
1504 | prefix = '',
1505 | i = -1;
1506 |
1507 | for(i = 0; i < 2; i++){
1508 | prefix = i === 0 ? self._prefix : '';
1509 | prefixValue ? styles[prefix+property] = prefix+value : styles[prefix+property] = value;
1510 | }
1511 |
1512 | return self._execFilter('_getPrefixedCSS', styles, arguments);
1513 | },
1514 |
1515 | /**
1516 | * Get Delay
1517 | * @since 2.0.0
1518 | * @param {number} i
1519 | * @return {number} delay
1520 | */
1521 |
1522 | _getDelay: function(i){
1523 | var self = this,
1524 | n = typeof self.animation.staggerSequence === 'function' ? self.animation.staggerSequence.call(self._domNode, i, self._state) : i,
1525 | delay = self.animation.stagger ? n * self.animation.staggerDuration : 0;
1526 |
1527 | return self._execFilter('_getDelay', delay, arguments);
1528 | },
1529 |
1530 | /**
1531 | * Parse MultiMix Arguments
1532 | * @since 2.0.0
1533 | * @param {array} args
1534 | * @return {object} output
1535 | */
1536 |
1537 | _parseMultiMixArgs: function(args){
1538 | var self = this,
1539 | output = {
1540 | command: null,
1541 | animate: self.animation.enable,
1542 | callback: null
1543 | };
1544 |
1545 | for(var i = 0; i < args.length; i++){
1546 | var arg = args[i];
1547 |
1548 | if(arg !== null){
1549 | if(typeof arg === 'object' || typeof arg === 'string'){
1550 | output.command = arg;
1551 | } else if(typeof arg === 'boolean'){
1552 | output.animate = arg;
1553 | } else if(typeof arg === 'function'){
1554 | output.callback = arg;
1555 | }
1556 | }
1557 | }
1558 |
1559 | return self._execFilter('_parseMultiMixArgs', output, arguments);
1560 | },
1561 |
1562 | /**
1563 | * Parse Insert Arguments
1564 | * @since 2.0.0
1565 | * @param {array} args
1566 | * @return {object} output
1567 | */
1568 |
1569 | _parseInsertArgs: function(args){
1570 | var self = this,
1571 | output = {
1572 | index: 0,
1573 | $object: $(),
1574 | multiMix: {filter: self._state.activeFilter},
1575 | callback: null
1576 | };
1577 |
1578 | for(var i = 0; i < args.length; i++){
1579 | var arg = args[i];
1580 |
1581 | if(typeof arg === 'number'){
1582 | output.index = arg;
1583 | } else if(typeof arg === 'object' && arg instanceof $){
1584 | output.$object = arg;
1585 | } else if(typeof arg === 'object' && self._helpers._isElement(arg)){
1586 | output.$object = $(arg);
1587 | } else if(typeof arg === 'object' && arg !== null){
1588 | output.multiMix = arg;
1589 | } else if(typeof arg === 'boolean' && !arg){
1590 | output.multiMix = false;
1591 | } else if(typeof arg === 'function'){
1592 | output.callback = arg;
1593 | }
1594 | }
1595 |
1596 | return self._execFilter('_parseInsertArgs', output, arguments);
1597 | },
1598 |
1599 | /**
1600 | * Execute Action
1601 | * @since 2.0.0
1602 | * @param {string} methodName
1603 | * @param {boolean} isPost
1604 | * @param {array} args
1605 | */
1606 |
1607 | _execAction: function(methodName, isPost, args){
1608 | var self = this,
1609 | context = isPost ? 'post' : 'pre';
1610 |
1611 | if(!self._actions.isEmptyObject && self._actions.hasOwnProperty(methodName)){
1612 | for(var key in self._actions[methodName][context]){
1613 | self._actions[methodName][context][key].call(self, args);
1614 | }
1615 | }
1616 | },
1617 |
1618 | /**
1619 | * Execute Filter
1620 | * @since 2.0.0
1621 | * @param {string} methodName
1622 | * @param {mixed} value
1623 | * @return {mixed} value
1624 | */
1625 |
1626 | _execFilter: function(methodName, value, args){
1627 | var self = this;
1628 |
1629 | if(!self._filters.isEmptyObject && self._filters.hasOwnProperty(methodName)){
1630 | for(var key in self._filters[methodName]){
1631 | return self._filters[methodName][key].call(self, args);
1632 | }
1633 | } else {
1634 | return value;
1635 | }
1636 | },
1637 |
1638 | /* Helpers
1639 | ---------------------------------------------------------------------- */
1640 |
1641 | _helpers: {
1642 |
1643 | /**
1644 | * CamelCase
1645 | * @since 2.0.0
1646 | * @param {string}
1647 | * @return {string}
1648 | */
1649 |
1650 | _camelCase: function(string){
1651 | return string.replace(/-([a-z])/g, function(g){
1652 | return g[1].toUpperCase();
1653 | });
1654 | },
1655 |
1656 | /**
1657 | * Is Element
1658 | * @since 2.1.3
1659 | * @param {object} element to test
1660 | * @return {boolean}
1661 | */
1662 |
1663 | _isElement: function(el){
1664 | if(window.HTMLElement){
1665 | return el instanceof HTMLElement;
1666 | } else {
1667 | return (
1668 | el !== null &&
1669 | el.nodeType === 1 &&
1670 | el.nodeName === 'string'
1671 | );
1672 | }
1673 | }
1674 | },
1675 |
1676 | /* Public Methods
1677 | ---------------------------------------------------------------------- */
1678 |
1679 | /**
1680 | * Is Mixing
1681 | * @since 2.0.0
1682 | * @return {boolean}
1683 | */
1684 |
1685 | isMixing: function(){
1686 | var self = this;
1687 |
1688 | return self._execFilter('isMixing', self._mixing);
1689 | },
1690 |
1691 | /**
1692 | * Filter (public)
1693 | * @since 2.0.0
1694 | * @param {array} arguments
1695 | */
1696 |
1697 | filter: function(){
1698 | var self = this,
1699 | args = self._parseMultiMixArgs(arguments);
1700 |
1701 | self._clicking && (self._toggleString = '');
1702 |
1703 | self.multiMix({filter: args.command}, args.animate, args.callback);
1704 | },
1705 |
1706 | /**
1707 | * Sort (public)
1708 | * @since 2.0.0
1709 | * @param {array} arguments
1710 | */
1711 |
1712 | sort: function(){
1713 | var self = this,
1714 | args = self._parseMultiMixArgs(arguments);
1715 |
1716 | self.multiMix({sort: args.command}, args.animate, args.callback);
1717 | },
1718 |
1719 | /**
1720 | * Change Layout (public)
1721 | * @since 2.0.0
1722 | * @param {array} arguments
1723 | */
1724 |
1725 | changeLayout: function(){
1726 | var self = this,
1727 | args = self._parseMultiMixArgs(arguments);
1728 |
1729 | self.multiMix({changeLayout: args.command}, args.animate, args.callback);
1730 | },
1731 |
1732 | /**
1733 | * MultiMix
1734 | * @since 2.0.0
1735 | * @param {array} arguments
1736 | */
1737 |
1738 | multiMix: function(){
1739 | var self = this,
1740 | args = self._parseMultiMixArgs(arguments);
1741 |
1742 | self._execAction('multiMix', 0, arguments);
1743 |
1744 | if(!self._mixing){
1745 | if(self.controls.enable && !self._clicking){
1746 | self.controls.toggleFilterButtons && self._buildToggleArray();
1747 | self._updateControls(args.command, self.controls.toggleFilterButtons);
1748 | }
1749 |
1750 | (self._queue.length < 2) && (self._clicking = false);
1751 |
1752 | delete self.callbacks._user;
1753 | if(args.callback) self.callbacks._user = args.callback;
1754 |
1755 | var sort = args.command.sort,
1756 | filter = args.command.filter,
1757 | changeLayout = args.command.changeLayout;
1758 |
1759 | self._refresh();
1760 |
1761 | if(sort){
1762 | self._newSort = self._parseSort(sort);
1763 | self._newSortString = sort;
1764 |
1765 | self._sorting = true;
1766 | self._sort();
1767 | }
1768 |
1769 | if(filter !== undf){
1770 | filter = (filter === 'all') ? self.selectors.target : filter;
1771 |
1772 | self._activeFilter = filter;
1773 | }
1774 |
1775 | self._filter();
1776 |
1777 | if(changeLayout){
1778 | self._newDisplay = (typeof changeLayout === 'string') ? changeLayout : changeLayout.display || self.layout.display;
1779 | self._newClass = changeLayout.containerClass || '';
1780 |
1781 | if(
1782 | self._newDisplay !== self.layout.display ||
1783 | self._newClass !== self.layout.containerClass
1784 | ){
1785 | self._changingLayout = true;
1786 |
1787 | self._changingClass = (self._newClass !== self.layout.containerClass);
1788 | self._changingDisplay = (self._newDisplay !== self.layout.display);
1789 | }
1790 | }
1791 |
1792 | self._$targets.css(self._brake);
1793 |
1794 | self._goMix(args.animate ^ self.animation.enable ? args.animate : self.animation.enable);
1795 |
1796 | self._execAction('multiMix', 1, arguments);
1797 |
1798 | } else {
1799 | if(self.animation.queue && self._queue.length < self.animation.queueLimit){
1800 | self._queue.push(arguments);
1801 |
1802 | (self.controls.enable && !self._clicking) && self._updateControls(args.command);
1803 |
1804 | self._execAction('multiMixQueue', 1, arguments);
1805 |
1806 | } else {
1807 | if(typeof self.callbacks.onMixBusy === 'function'){
1808 | self.callbacks.onMixBusy.call(self._domNode, self._state, self);
1809 | }
1810 | self._$container.trigger('mixBusy', [self._state, self]);
1811 |
1812 | self._execAction('multiMixBusy', 1, arguments);
1813 | }
1814 | }
1815 | },
1816 |
1817 | /**
1818 | * Insert
1819 | * @since 2.0.0
1820 | * @param {array} arguments
1821 | */
1822 |
1823 | insert: function(){
1824 | var self = this,
1825 | args = self._parseInsertArgs(arguments),
1826 | callback = (typeof args.callback === 'function') ? args.callback : null,
1827 | frag = document.createDocumentFragment(),
1828 | target = (function(){
1829 | self._refresh();
1830 |
1831 | if(self._$targets.length){
1832 | return (args.index < self._$targets.length || !self._$targets.length) ?
1833 | self._$targets[args.index] :
1834 | self._$targets[self._$targets.length-1].nextElementSibling;
1835 | } else {
1836 | return self._$parent[0].children[0];
1837 | }
1838 | })();
1839 |
1840 | self._execAction('insert', 0, arguments);
1841 |
1842 | if(args.$object){
1843 | for(var i = 0; i < args.$object.length; i++){
1844 | var el = args.$object[i];
1845 |
1846 | frag.appendChild(el);
1847 | frag.appendChild(document.createTextNode(' '));
1848 | }
1849 |
1850 | self._$parent[0].insertBefore(frag, target);
1851 | }
1852 |
1853 | self._execAction('insert', 1, arguments);
1854 |
1855 | if(typeof args.multiMix === 'object'){
1856 | self.multiMix(args.multiMix, callback);
1857 | }
1858 | },
1859 |
1860 | /**
1861 | * Prepend
1862 | * @since 2.0.0
1863 | * @param {array} arguments
1864 | */
1865 |
1866 | prepend: function(){
1867 | var self = this,
1868 | args = self._parseInsertArgs(arguments);
1869 |
1870 | self.insert(0, args.$object, args.multiMix, args.callback);
1871 | },
1872 |
1873 | /**
1874 | * Append
1875 | * @since 2.0.0
1876 | * @param {array} arguments
1877 | */
1878 |
1879 | append: function(){
1880 | var self = this,
1881 | args = self._parseInsertArgs(arguments);
1882 |
1883 | self.insert(self._state.totalTargets, args.$object, args.multiMix, args.callback);
1884 | },
1885 |
1886 | /**
1887 | * Get Option
1888 | * @since 2.0.0
1889 | * @param {string} string
1890 | * @return {mixed} value
1891 | */
1892 |
1893 | getOption: function(string){
1894 | var self = this,
1895 | getProperty = function(obj, prop){
1896 | var parts = prop.split('.'),
1897 | last = parts.pop(),
1898 | l = parts.length,
1899 | i = 1,
1900 | current = parts[0] || prop;
1901 |
1902 | while((obj = obj[current]) && i < l){
1903 | current = parts[i];
1904 | i++;
1905 | }
1906 |
1907 | if(obj !== undf){
1908 | return obj[last] !== undf ? obj[last] : obj;
1909 | }
1910 | };
1911 |
1912 | return string ? self._execFilter('getOption', getProperty(self, string), arguments) : self;
1913 | },
1914 |
1915 | /**
1916 | * Set Options
1917 | * @since 2.0.0
1918 | * @param {object} config
1919 | */
1920 |
1921 | setOptions: function(config){
1922 | var self = this;
1923 |
1924 | self._execAction('setOptions', 0, arguments);
1925 |
1926 | typeof config === 'object' && $.extend(true, self, config);
1927 |
1928 | self._execAction('setOptions', 1, arguments);
1929 | },
1930 |
1931 | /**
1932 | * Get State
1933 | * @since 2.0.0
1934 | * @return {object} state
1935 | */
1936 |
1937 | getState: function(){
1938 | var self = this;
1939 |
1940 | return self._execFilter('getState', self._state, self);
1941 | },
1942 |
1943 | /**
1944 | * Force Refresh
1945 | * @since 2.1.2
1946 | */
1947 |
1948 | forceRefresh: function(){
1949 | var self = this;
1950 |
1951 | self._refresh(false, true);
1952 | },
1953 |
1954 | /**
1955 | * Destroy
1956 | * @since 2.0.0
1957 | * @param {boolean} hideAll
1958 | */
1959 |
1960 | destroy: function(hideAll){
1961 | var self = this,
1962 | filters = $.MixItUp.prototype._bound._filter,
1963 | sorts = $.MixItUp.prototype._bound._sort;
1964 |
1965 | self._execAction('destroy', 0, arguments);
1966 |
1967 | self._$body
1968 | .add($(self.selectors.sort))
1969 | .add($(self.selectors.filter))
1970 | .off('.mixItUp');
1971 |
1972 | for(var i = 0; i < self._$targets.length; i++){
1973 | var target = self._$targets[i];
1974 |
1975 | hideAll && (target.style.display = '');
1976 |
1977 | delete target.mixParent;
1978 | }
1979 |
1980 | self._execAction('destroy', 1, arguments);
1981 |
1982 | if(filters[self.selectors.filter] && filters[self.selectors.filter] > 1) {
1983 | filters[self.selectors.filter]--;
1984 | } else if(filters[self.selectors.filter] === 1) {
1985 | delete filters[self.selectors.filter];
1986 | }
1987 |
1988 | if(sorts[self.selectors.sort] && sorts[self.selectors.sort] > 1) {
1989 | sorts[self.selectors.sort]--;
1990 | } else if(sorts[self.selectors.sort] === 1) {
1991 | delete sorts[self.selectors.sort];
1992 | }
1993 |
1994 | delete $.MixItUp.prototype._instances[self._id];
1995 | }
1996 |
1997 | };
1998 |
1999 | /* jQuery Methods
2000 | ---------------------------------------------------------------------- */
2001 |
2002 | /**
2003 | * jQuery .mixItUp() method
2004 | * @since 2.0.0
2005 | * @extends $.fn
2006 | */
2007 |
2008 | $.fn.mixItUp = function(){
2009 | var args = arguments,
2010 | dataReturn = [],
2011 | eachReturn,
2012 | _instantiate = function(domNode, settings){
2013 | var instance = new $.MixItUp(),
2014 | rand = function(){
2015 | return ('00000'+(Math.random()*16777216<<0).toString(16)).substr(-6).toUpperCase();
2016 | };
2017 |
2018 | instance._execAction('_instantiate', 0, arguments);
2019 |
2020 | domNode.id = !domNode.id ? 'MixItUp'+rand() : domNode.id;
2021 |
2022 | if(!instance._instances[domNode.id]){
2023 | instance._instances[domNode.id] = instance;
2024 | instance._init(domNode, settings);
2025 | }
2026 |
2027 | instance._execAction('_instantiate', 1, arguments);
2028 | };
2029 |
2030 | eachReturn = this.each(function(){
2031 | if(args && typeof args[0] === 'string'){
2032 | var instance = $.MixItUp.prototype._instances[this.id];
2033 | if(args[0] === 'isLoaded'){
2034 | dataReturn.push(instance ? true : false);
2035 | } else {
2036 | var data = instance[args[0]](args[1], args[2], args[3]);
2037 | if(data !== undf)dataReturn.push(data);
2038 | }
2039 | } else {
2040 | _instantiate(this, args[0]);
2041 | }
2042 | });
2043 |
2044 | if(dataReturn.length){
2045 | return dataReturn.length > 1 ? dataReturn : dataReturn[0];
2046 | } else {
2047 | return eachReturn;
2048 | }
2049 | };
2050 |
2051 | /**
2052 | * jQuery .removeStyle() method
2053 | * @since 2.0.0
2054 | * @extends $.fn
2055 | */
2056 |
2057 | $.fn.removeStyle = function(style, prefix){
2058 | prefix = prefix ? prefix : '';
2059 |
2060 | return this.each(function(){
2061 | var el = this,
2062 | styles = style.split(' ');
2063 |
2064 | for(var i = 0; i < styles.length; i++){
2065 | for(var j = 0; j < 4; j++){
2066 | switch (j) {
2067 | case 0:
2068 | var prop = styles[i];
2069 | break;
2070 | case 1:
2071 | var prop = $.MixItUp.prototype._helpers._camelCase(prop);
2072 | break;
2073 | case 2:
2074 | var prop = prefix+styles[i];
2075 | break;
2076 | case 3:
2077 | var prop = $.MixItUp.prototype._helpers._camelCase(prefix+styles[i]);
2078 | }
2079 |
2080 | if(
2081 | el.style[prop] !== undf &&
2082 | typeof el.style[prop] !== 'unknown' &&
2083 | el.style[prop].length > 0
2084 | ){
2085 | el.style[prop] = '';
2086 | }
2087 |
2088 | if(!prefix && j === 1)break;
2089 | }
2090 | }
2091 |
2092 | if(el.attributes && el.attributes.style && el.attributes.style !== undf && el.attributes.style.value === ''){
2093 | el.attributes.removeNamedItem('style');
2094 | }
2095 | });
2096 | };
2097 |
2098 | })(jQuery);
--------------------------------------------------------------------------------
/js/jquery.nicescroll.min.js:
--------------------------------------------------------------------------------
1 | /* jquery.nicescroll 3.2.0 InuYaksa*2013 MIT http://areaaperta.com/nicescroll */(function(e){var y=!1,D=!1,J=5E3,K=2E3,x=0,L=function(){var e=document.getElementsByTagName("script"),e=e[e.length-1].src.split("?")[0];return 0f){if(b.getScrollTop()>=b.page.maxh)return!0}else if(0>=b.getScrollTop())return!0;b.scrollmom&&b.scrollmom.stop();
12 | b.lastdeltay+=f;b.debounced("mousewheely",function(){var d=b.lastdeltay;b.lastdeltay=0;b.rail.drag||b.doScrollBy(d)},120)}d.stopImmediatePropagation();return d.preventDefault()}var b=this;this.version="3.4.0";this.name="nicescroll";this.me=c;this.opt={doc:e("body"),win:!1};e.extend(this.opt,F);this.opt.snapbackspeed=80;if(k)for(var q in b.opt)"undefined"!=typeof k[q]&&(b.opt[q]=k[q]);this.iddoc=(this.doc=b.opt.doc)&&this.doc[0]?this.doc[0].id||"":"";this.ispage=/BODY|HTML/.test(b.opt.win?b.opt.win[0].nodeName:
13 | this.doc[0].nodeName);this.haswrapper=!1!==b.opt.win;this.win=b.opt.win||(this.ispage?e(window):this.doc);this.docscroll=this.ispage&&!this.haswrapper?e(window):this.win;this.body=e("body");this.iframe=this.isfixed=this.viewport=!1;this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName;this.istextarea="TEXTAREA"==this.win[0].nodeName;this.forcescreen=!1;this.canshowonmouseevent="scroll"!=b.opt.autohidemode;this.page=this.view=this.onzoomout=this.onzoomin=this.onscrollcancel=
14 | this.onscrollend=this.onscrollstart=this.onclick=this.ongesturezoom=this.onkeypress=this.onmousewheel=this.onmousemove=this.onmouseup=this.onmousedown=!1;this.scroll={x:0,y:0};this.scrollratio={x:0,y:0};this.cursorheight=20;this.scrollvaluemax=0;this.observerremover=this.observer=this.scrollmom=this.scrollrunning=this.checkrtlmode=!1;do this.id="ascrail"+K++;while(document.getElementById(this.id));this.hasmousefocus=this.hasfocus=this.zoomactive=this.zoom=this.selectiondrag=this.cursorfreezed=this.cursor=
15 | this.rail=!1;this.visibility=!0;this.hidden=this.locked=!1;this.cursoractive=!0;this.overflowx=b.opt.overflowx;this.overflowy=b.opt.overflowy;this.nativescrollingarea=!1;this.checkarea=0;this.events=[];this.saved={};this.delaylist={};this.synclist={};this.lastdeltay=this.lastdeltax=0;this.detected=M();var f=e.extend({},this.detected);this.ishwscroll=(this.canhwscroll=f.hastransform&&b.opt.hwacceleration)&&b.haswrapper;this.istouchcapable=!1;f.cantouch&&(f.ischrome&&!f.isios&&!f.isandroid)&&(this.istouchcapable=
16 | !0,f.cantouch=!1);f.cantouch&&(f.ismozilla&&!f.isios)&&(this.istouchcapable=!0,f.cantouch=!1);b.opt.enablemouselockapi||(f.hasmousecapture=!1,f.haspointerlock=!1);this.delayed=function(d,c,g,e){var f=b.delaylist[d],h=(new Date).getTime();if(!e&&f&&f.tt)return!1;f&&f.tt&&clearTimeout(f.tt);if(f&&f.last+g>h&&!f.tt)b.delaylist[d]={last:h+g,tt:setTimeout(function(){b.delaylist[d].tt=0;c.call()},g)};else if(!f||!f.tt)b.delaylist[d]={last:h,tt:0},setTimeout(function(){c.call()},0)};this.debounced=function(d,
17 | c,g){var f=b.delaylist[d];(new Date).getTime();b.delaylist[d]=c;f||setTimeout(function(){var c=b.delaylist[d];b.delaylist[d]=!1;c.call()},g)};this.synched=function(d,c){b.synclist[d]=c;(function(){b.onsync||(v(function(){b.onsync=!1;for(d in b.synclist){var c=b.synclist[d];c&&c.call(b);b.synclist[d]=!1}}),b.onsync=!0)})();return d};this.unsynched=function(d){b.synclist[d]&&(b.synclist[d]=!1)};this.css=function(d,c){for(var g in c)b.saved.css.push([d,g,d.css(g)]),d.css(g,c[g])};this.scrollTop=function(d){return"undefined"==
18 | typeof d?b.getScrollTop():b.setScrollTop(d)};this.scrollLeft=function(d){return"undefined"==typeof d?b.getScrollLeft():b.setScrollLeft(d)};BezierClass=function(b,c,g,f,e,h,l){this.st=b;this.ed=c;this.spd=g;this.p1=f||0;this.p2=e||1;this.p3=h||0;this.p4=l||1;this.ts=(new Date).getTime();this.df=this.ed-this.st};BezierClass.prototype={B2:function(b){return 3*b*b*(1-b)},B3:function(b){return 3*b*(1-b)*(1-b)},B4:function(b){return(1-b)*(1-b)*(1-b)},getNow:function(){var b=1-((new Date).getTime()-this.ts)/
19 | this.spd,c=this.B2(b)+this.B3(b)+this.B4(b);return 0>b?this.ed:this.st+Math.round(this.df*c)},update:function(b,c){this.st=this.getNow();this.ed=b;this.spd=c;this.ts=(new Date).getTime();this.df=this.ed-this.st;return this}};if(this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"};f.hastranslate3d&&f.isios&&this.doc.css("-webkit-backface-visibility","hidden");var r=function(){var d=b.doc.css(f.trstyle);return d&&"matrix"==d.substr(0,6)?d.replace(/^.*\((.*)\)$/g,"$1").replace(/px/g,"").split(/, +/):
20 | !1};this.getScrollTop=function(d){if(!d){if(d=r())return 16==d.length?-d[13]:-d[5];if(b.timerscroll&&b.timerscroll.bz)return b.timerscroll.bz.getNow()}return b.doc.translate.y};this.getScrollLeft=function(d){if(!d){if(d=r())return 16==d.length?-d[12]:-d[4];if(b.timerscroll&&b.timerscroll.bh)return b.timerscroll.bh.getNow()}return b.doc.translate.x};this.notifyScrollEvent=document.createEvent?function(b){var c=document.createEvent("UIEvents");c.initUIEvent("scroll",!1,!0,window,1);b.dispatchEvent(c)}:
21 | document.fireEvent?function(b){var c=document.createEventObject();b.fireEvent("onscroll");c.cancelBubble=!0}:function(b,c){};f.hastranslate3d&&b.opt.enabletranslate3d?(this.setScrollTop=function(d,c){b.doc.translate.y=d;b.doc.translate.ty=-1*d+"px";b.doc.css(f.trstyle,"translate3d("+b.doc.translate.tx+","+b.doc.translate.ty+",0px)");c||b.notifyScrollEvent(b.win[0])},this.setScrollLeft=function(d,c){b.doc.translate.x=d;b.doc.translate.tx=-1*d+"px";b.doc.css(f.trstyle,"translate3d("+b.doc.translate.tx+
22 | ","+b.doc.translate.ty+",0px)");c||b.notifyScrollEvent(b.win[0])}):(this.setScrollTop=function(d,c){b.doc.translate.y=d;b.doc.translate.ty=-1*d+"px";b.doc.css(f.trstyle,"translate("+b.doc.translate.tx+","+b.doc.translate.ty+")");c||b.notifyScrollEvent(b.win[0])},this.setScrollLeft=function(d,c){b.doc.translate.x=d;b.doc.translate.tx=-1*d+"px";b.doc.css(f.trstyle,"translate("+b.doc.translate.tx+","+b.doc.translate.ty+")");c||b.notifyScrollEvent(b.win[0])})}else this.getScrollTop=function(){return b.docscroll.scrollTop()},
23 | this.setScrollTop=function(d){return b.docscroll.scrollTop(d)},this.getScrollLeft=function(){return b.docscroll.scrollLeft()},this.setScrollLeft=function(d){return b.docscroll.scrollLeft(d)};this.getTarget=function(b){return!b?!1:b.target?b.target:b.srcElement?b.srcElement:!1};this.hasParent=function(b,c){if(!b)return!1;for(var g=b.target||b.srcElement||b||!1;g&&g.id!=c;)g=g.parentNode||!1;return!1!==g};var u={thin:1,medium:3,thick:5};this.getOffset=function(){if(b.isfixed)return{top:parseFloat(b.win.css("top")),
24 | left:parseFloat(b.win.css("left"))};if(!b.viewport)return b.win.offset();var d=b.win.offset(),c=b.viewport.offset();return{top:d.top-c.top+b.viewport.scrollTop(),left:d.left-c.left+b.viewport.scrollLeft()}};this.updateScrollBar=function(d){if(b.ishwscroll)b.rail.css({height:b.win.innerHeight()}),b.railh&&b.railh.css({width:b.win.innerWidth()});else{var c=b.getOffset(),g=c.top,f=c.left,g=g+l(b.win,"border-top-width",!0);b.win.outerWidth();b.win.innerWidth();var f=f+(b.rail.align?b.win.outerWidth()-
25 | l(b.win,"border-right-width")-b.rail.width:l(b.win,"border-left-width")),e=b.opt.railoffset;e&&(e.top&&(g+=e.top),b.rail.align&&e.left&&(f+=e.left));b.locked||b.rail.css({top:g,left:f,height:d?d.h:b.win.innerHeight()});b.zoom&&b.zoom.css({top:g+1,left:1==b.rail.align?f-20:f+b.rail.width+4});b.railh&&!b.locked&&(g=c.top,f=c.left,d=b.railh.align?g+l(b.win,"border-top-width",!0)+b.win.innerHeight()-b.railh.height:g+l(b.win,"border-top-width",!0),f+=l(b.win,"border-left-width"),b.railh.css({top:d,left:f,
26 | width:b.railh.width}))}};this.doRailClick=function(d,c,g){var f;b.locked||(b.cancelEvent(d),c?(c=g?b.doScrollLeft:b.doScrollTop,f=g?(d.pageX-b.railh.offset().left-b.cursorwidth/2)*b.scrollratio.x:(d.pageY-b.rail.offset().top-b.cursorheight/2)*b.scrollratio.y,c(f)):(c=g?b.doScrollLeftBy:b.doScrollBy,f=g?b.scroll.x:b.scroll.y,d=g?d.pageX-b.railh.offset().left:d.pageY-b.rail.offset().top,g=g?b.view.w:b.view.h,f>=d?c(g):c(-g)))};b.hasanimationframe=v;b.hascancelanimationframe=w;b.hasanimationframe?b.hascancelanimationframe||
27 | (w=function(){b.cancelAnimationFrame=!0}):(v=function(b){return setTimeout(b,15-Math.floor(+new Date/1E3)%16)},w=clearInterval);this.init=function(){b.saved.css=[];if(f.isie7mobile)return!0;f.hasmstouch&&b.css(b.ispage?e("html"):b.win,{"-ms-touch-action":"none"});b.zindex="auto";b.zindex=!b.ispage&&"auto"==b.opt.zindex?h()||"auto":b.opt.zindex;!b.ispage&&"auto"!=b.zindex&&b.zindex>x&&(x=b.zindex);b.isie&&(0==b.zindex&&"auto"==b.opt.zindex)&&(b.zindex="auto");if(!b.ispage||!f.cantouch&&!f.isieold&&
28 | !f.isie9mobile){var d=b.docscroll;b.ispage&&(d=b.haswrapper?b.win:b.doc);f.isie9mobile||b.css(d,{"overflow-y":"hidden"});b.ispage&&f.isie7&&("BODY"==b.doc[0].nodeName?b.css(e("html"),{"overflow-y":"hidden"}):"HTML"==b.doc[0].nodeName&&b.css(e("body"),{"overflow-y":"hidden"}));f.isios&&(!b.ispage&&!b.haswrapper)&&b.css(e("body"),{"-webkit-overflow-scrolling":"touch"});var c=e(document.createElement("div"));c.css({position:"relative",top:0,"float":"right",width:b.opt.cursorwidth,height:"0px","background-color":b.opt.cursorcolor,
29 | border:b.opt.cursorborder,"background-clip":"padding-box","-webkit-border-radius":b.opt.cursorborderradius,"-moz-border-radius":b.opt.cursorborderradius,"border-radius":b.opt.cursorborderradius});c.hborder=parseFloat(c.outerHeight()-c.innerHeight());b.cursor=c;var g=e(document.createElement("div"));g.attr("id",b.id);g.addClass("nicescroll-rails");var l,k,n=["left","right"],G;for(G in n)k=n[G],(l=b.opt.railpadding[k])?g.css("padding-"+k,l+"px"):b.opt.railpadding[k]=0;g.append(c);g.width=Math.max(parseFloat(b.opt.cursorwidth),
30 | c.outerWidth())+b.opt.railpadding.left+b.opt.railpadding.right;g.css({width:g.width+"px",zIndex:b.zindex,background:b.opt.background,cursor:"default"});g.visibility=!0;g.scrollable=!0;g.align="left"==b.opt.railalign?0:1;b.rail=g;c=b.rail.drag=!1;b.opt.boxzoom&&(!b.ispage&&!f.isieold)&&(c=document.createElement("div"),b.bind(c,"click",b.doZoom),b.zoom=e(c),b.zoom.css({cursor:"pointer","z-index":b.zindex,backgroundImage:"url("+L+"zoomico.png)",height:18,width:18,backgroundPosition:"0px 0px"}),b.opt.dblclickzoom&&
31 | b.bind(b.win,"dblclick",b.doZoom),f.cantouch&&b.opt.gesturezoom&&(b.ongesturezoom=function(d){1.5d.scale&&b.doZoomOut(d);return b.cancelEvent(d)},b.bind(b.win,"gestureend",b.ongesturezoom)));b.railh=!1;if(b.opt.horizrailenabled){b.css(d,{"overflow-x":"hidden"});c=e(document.createElement("div"));c.css({position:"relative",top:0,height:b.opt.cursorwidth,width:"0px","background-color":b.opt.cursorcolor,border:b.opt.cursorborder,"background-clip":"padding-box","-webkit-border-radius":b.opt.cursorborderradius,
32 | "-moz-border-radius":b.opt.cursorborderradius,"border-radius":b.opt.cursorborderradius});c.wborder=parseFloat(c.outerWidth()-c.innerWidth());b.cursorh=c;var m=e(document.createElement("div"));m.attr("id",b.id+"-hr");m.addClass("nicescroll-rails");m.height=Math.max(parseFloat(b.opt.cursorwidth),c.outerHeight());m.css({height:m.height+"px",zIndex:b.zindex,background:b.opt.background});m.append(c);m.visibility=!0;m.scrollable=!0;m.align="top"==b.opt.railvalign?0:1;b.railh=m;b.railh.drag=!1}b.ispage?
33 | (g.css({position:"fixed",top:"0px",height:"100%"}),g.align?g.css({right:"0px"}):g.css({left:"0px"}),b.body.append(g),b.railh&&(m.css({position:"fixed",left:"0px",width:"100%"}),m.align?m.css({bottom:"0px"}):m.css({top:"0px"}),b.body.append(m))):(b.ishwscroll?("static"==b.win.css("position")&&b.css(b.win,{position:"relative"}),d="HTML"==b.win[0].nodeName?b.body:b.win,b.zoom&&(b.zoom.css({position:"absolute",top:1,right:0,"margin-right":g.width+4}),d.append(b.zoom)),g.css({position:"absolute",top:0}),
34 | g.align?g.css({right:0}):g.css({left:0}),d.append(g),m&&(m.css({position:"absolute",left:0,bottom:0}),m.align?m.css({bottom:0}):m.css({top:0}),d.append(m))):(b.isfixed="fixed"==b.win.css("position"),d=b.isfixed?"fixed":"absolute",b.isfixed||(b.viewport=b.getViewport(b.win[0])),b.viewport&&(b.body=b.viewport,!1==/relative|absolute/.test(b.viewport.css("position"))&&b.css(b.viewport,{position:"relative"})),g.css({position:d}),b.zoom&&b.zoom.css({position:d}),b.updateScrollBar(),b.body.append(g),b.zoom&&
35 | b.body.append(b.zoom),b.railh&&(m.css({position:d}),b.body.append(m))),f.isios&&b.css(b.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),f.isie&&b.opt.disableoutline&&b.win.attr("hideFocus","true"),f.iswebkit&&b.opt.disableoutline&&b.win.css({outline:"none"}));!1===b.opt.autohidemode?(b.autohidedom=!1,b.rail.css({opacity:b.opt.cursoropacitymax}),b.railh&&b.railh.css({opacity:b.opt.cursoropacitymax})):!0===b.opt.autohidemode?(b.autohidedom=e().add(b.rail),f.isie8&&
36 | (b.autohidedom=b.autohidedom.add(b.cursor)),b.railh&&(b.autohidedom=b.autohidedom.add(b.railh)),b.railh&&f.isie8&&(b.autohidedom=b.autohidedom.add(b.cursorh))):"scroll"==b.opt.autohidemode?(b.autohidedom=e().add(b.rail),b.railh&&(b.autohidedom=b.autohidedom.add(b.railh))):"cursor"==b.opt.autohidemode?(b.autohidedom=e().add(b.cursor),b.railh&&(b.autohidedom=b.autohidedom.add(b.cursorh))):"hidden"==b.opt.autohidemode&&(b.autohidedom=!1,b.hide(),b.locked=!1);if(f.isie9mobile)b.scrollmom=new H(b),b.onmangotouch=
37 | function(d){d=b.getScrollTop();var c=b.getScrollLeft();if(d==b.scrollmom.lastscrolly&&c==b.scrollmom.lastscrollx)return!0;var g=d-b.mangotouch.sy,f=c-b.mangotouch.sx;if(0!=Math.round(Math.sqrt(Math.pow(f,2)+Math.pow(g,2)))){var p=0>g?-1:1,e=0>f?-1:1,h=+new Date;b.mangotouch.lazy&&clearTimeout(b.mangotouch.lazy);80s?s=Math.round(s/2):s>b.page.maxh&&(s=b.page.maxh+Math.round((s-b.page.maxh)/2)):(0>s&&(h=s=0),s>b.page.maxh&&(s=b.page.maxh,h=0));if(b.railh&&b.railh.scrollable){var m=b.rail.drag.sl-k;b.ishwscroll&&b.opt.bouncescroll?0>m?m=Math.round(m/2):m>b.page.maxw&&(m=b.page.maxw+
45 | Math.round((m-b.page.maxw)/2)):(0>m&&(l=m=0),m>b.page.maxw&&(m=b.page.maxw,l=0))}g=!1;if(b.rail.drag.dl)g=!0,"v"==b.rail.drag.dl?m=b.rail.drag.sl:"h"==b.rail.drag.dl&&(s=b.rail.drag.st);else{var p=Math.abs(p),k=Math.abs(k),n=b.opt.directionlockdeadzone;if("v"==b.rail.drag.ck){if(p>n&&k<=0.3*p)return b.rail.drag=!1,!0;k>n&&(b.rail.drag.dl="f",e("body").scrollTop(e("body").scrollTop()))}else if("h"==b.rail.drag.ck){if(k>n&&p<=0.3*az)return b.rail.drag=!1,!0;p>n&&(b.rail.drag.dl="f",e("body").scrollLeft(e("body").scrollLeft()))}}b.synched("touchmove",
46 | function(){b.rail.drag&&2==b.rail.drag.pt&&(b.prepareTransition&&b.prepareTransition(0),b.rail.scrollable&&b.setScrollTop(s),b.scrollmom.update(l,h),b.railh&&b.railh.scrollable?(b.setScrollLeft(m),b.showCursor(s,m)):b.showCursor(s),f.isie10&&document.selection.clear())});f.ischrome&&b.istouchcapable&&(g=!1);if(g)return b.cancelEvent(d)}}}b.onmousedown=function(d,c){if(!(b.rail.drag&&1!=b.rail.drag.pt)){if(b.locked)return b.cancelEvent(d);b.cancelScroll();b.rail.drag={x:d.clientX,y:d.clientY,sx:b.scroll.x,
47 | sy:b.scroll.y,pt:1,hr:!!c};var g=b.getTarget(d);!b.ispage&&f.hasmousecapture&&g.setCapture();b.isiframe&&!f.hasmousecapture&&(b.saved.csspointerevents=b.doc.css("pointer-events"),b.css(b.doc,{"pointer-events":"none"}));return b.cancelEvent(d)}};b.onmouseup=function(d){if(b.rail.drag&&(f.hasmousecapture&&document.releaseCapture(),b.isiframe&&!f.hasmousecapture&&b.doc.css("pointer-events",b.saved.csspointerevents),1==b.rail.drag.pt))return b.rail.drag=!1,b.cancelEvent(d)};b.onmousemove=function(d){if(b.rail.drag&&
48 | 1==b.rail.drag.pt){if(f.ischrome&&0==d.which)return b.onmouseup(d);b.cursorfreezed=!0;if(b.rail.drag.hr){b.scroll.x=b.rail.drag.sx+(d.clientX-b.rail.drag.x);0>b.scroll.x&&(b.scroll.x=0);var c=b.scrollvaluemaxw;b.scroll.x>c&&(b.scroll.x=c)}else b.scroll.y=b.rail.drag.sy+(d.clientY-b.rail.drag.y),0>b.scroll.y&&(b.scroll.y=0),c=b.scrollvaluemax,b.scroll.y>c&&(b.scroll.y=c);b.synched("mousemove",function(){b.rail.drag&&1==b.rail.drag.pt&&(b.showCursor(),b.rail.drag.hr?b.doScrollLeft(Math.round(b.scroll.x*
49 | b.scrollratio.x),b.opt.cursordragspeed):b.doScrollTop(Math.round(b.scroll.y*b.scrollratio.y),b.opt.cursordragspeed))});return b.cancelEvent(d)}};if(f.cantouch||b.opt.touchbehavior)b.onpreventclick=function(d){if(b.preventclick)return b.preventclick.tg.onclick=b.preventclick.click,b.preventclick=!1,b.cancelEvent(d)},b.bind(b.win,"mousedown",b.ontouchstart),b.onclick=f.isios?!1:function(d){return b.lastmouseup?(b.lastmouseup=!1,b.cancelEvent(d)):!0},b.opt.grabcursorenabled&&f.cursorgrabvalue&&(b.css(b.ispage?
50 | b.doc:b.win,{cursor:f.cursorgrabvalue}),b.css(b.rail,{cursor:f.cursorgrabvalue}));else{var r=function(d){if(b.selectiondrag){if(d){var c=b.win.outerHeight();d=d.pageY-b.selectiondrag.top;0=c&&(d-=c);b.selectiondrag.df=d}0!=b.selectiondrag.df&&(b.doScrollBy(2*-Math.floor(b.selectiondrag.df/6)),b.debounced("doselectionscroll",function(){r()},50))}};b.hasTextSelected="getSelection"in document?function(){return 0b.page.maxh?b.doScrollTop(b.page.maxh):(b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y)),
74 | b.scroll.x=Math.round(b.getScrollLeft()*(1/b.scrollratio.x)),b.cursoractive&&b.noticeCursor());b.scroll.y&&0==b.getScrollTop()&&b.doScrollTo(Math.floor(b.scroll.y*b.scrollratio.y));return b};this.resize=b.onResize;this.lazyResize=function(d){d=isNaN(d)?30:d;b.delayed("resize",b.resize,d);return b};this._bind=function(d,c,g,f){b.events.push({e:d,n:c,f:g,b:f,q:!1});d.addEventListener?d.addEventListener(c,g,f||!1):d.attachEvent?d.attachEvent("on"+c,g):d["on"+c]=g};this.jqbind=function(d,c,g){b.events.push({e:d,
75 | n:c,f:g,q:!0});e(d).bind(c,g)};this.bind=function(d,c,g,e){var h="jquery"in d?d[0]:d;"mousewheel"==c?"onwheel"in b.win?b._bind(h,"wheel",g,e||!1):(d="undefined"!=typeof document.onmousewheel?"mousewheel":"DOMMouseScroll",n(h,d,g,e||!1),"DOMMouseScroll"==d&&n(h,"MozMousePixelScroll",g,e||!1)):h.addEventListener?(f.cantouch&&/mouseup|mousedown|mousemove/.test(c)&&b._bind(h,"mousedown"==c?"touchstart":"mouseup"==c?"touchend":"touchmove",function(b){if(b.touches){if(2>b.touches.length){var d=b.touches.length?
76 | b.touches[0]:b;d.original=b;g.call(this,d)}}else b.changedTouches&&(d=b.changedTouches[0],d.original=b,g.call(this,d))},e||!1),b._bind(h,c,g,e||!1),f.cantouch&&"mouseup"==c&&b._bind(h,"touchcancel",g,e||!1)):b._bind(h,c,function(d){if((d=d||window.event||!1)&&d.srcElement)d.target=d.srcElement;"pageY"in d||(d.pageX=d.clientX+document.documentElement.scrollLeft,d.pageY=d.clientY+document.documentElement.scrollTop);return!1===g.call(h,d)||!1===e?b.cancelEvent(d):!0})};this._unbind=function(b,c,g,f){b.removeEventListener?
77 | b.removeEventListener(c,g,f):b.detachEvent?b.detachEvent("on"+c,g):b["on"+c]=!1};this.unbindAll=function(){for(var d=0;d
86 | (b.newscrolly-h)*(e-h)||0>(b.newscrollx-l)*(c-l))&&b.cancelScroll();!1==b.opt.bouncescroll&&(0>e?e=0:e>b.page.maxh&&(e=b.page.maxh),0>c?c=0:c>b.page.maxw&&(c=b.page.maxw));if(b.scrollrunning&&c==b.newscrollx&&e==b.newscrolly)return!1;b.newscrolly=e;b.newscrollx=c;b.newscrollspeed=g||!1;if(b.timer)return!1;b.timer=setTimeout(function(){var g=b.getScrollTop(),h=b.getScrollLeft(),l,k;l=c-h;k=e-g;l=Math.round(Math.sqrt(Math.pow(l,2)+Math.pow(k,2)));l=b.newscrollspeed&&1=b.newscrollspeed&&(l*=b.newscrollspeed);b.prepareTransition(l,!0);b.timerscroll&&b.timerscroll.tm&&clearInterval(b.timerscroll.tm);0c?c=0:c>b.page.maxh&&(c=b.page.maxh);0>e?e=0:e>b.page.maxw&&(e=b.page.maxw);if(c!=b.newscrolly||e!=b.newscrollx)return b.doScrollPos(e,c,b.opt.snapbackspeed);b.onscrollend&&b.scrollrunning&&b.onscrollend.call(b,{type:"scrollend",current:{x:e,y:c},end:{x:b.newscrollx,y:b.newscrolly}});b.scrollrunning=
91 | !1}):(this.doScrollLeft=function(c,f){var g=b.scrollrunning?b.newscrolly:b.getScrollTop();b.doScrollPos(c,g,f)},this.doScrollTop=function(c,f){var g=b.scrollrunning?b.newscrollx:b.getScrollLeft();b.doScrollPos(g,c,f)},this.doScrollPos=function(c,f,g){function e(){if(b.cancelAnimationFrame)return!0;b.scrollrunning=!0;if(r=1-r)return b.timer=v(e)||1;var c=0,d=sy=b.getScrollTop();if(b.dst.ay){var d=b.bzscroll?b.dst.py+b.bzscroll.getNow()*b.dst.ay:b.newscrolly,g=d-sy;if(0>g&&db.newscrolly)d=
92 | b.newscrolly;b.setScrollTop(d);d==b.newscrolly&&(c=1)}else c=1;var f=sx=b.getScrollLeft();if(b.dst.ax){f=b.bzscroll?b.dst.px+b.bzscroll.getNow()*b.dst.ax:b.newscrollx;g=f-sx;if(0>g&&fb.newscrollx)f=b.newscrollx;b.setScrollLeft(f);f==b.newscrollx&&(c+=1)}else c+=1;2==c?(b.timer=0,b.cursorfreezed=!1,b.bzscroll=!1,b.scrollrunning=!1,0>d?d=0:d>b.page.maxh&&(d=b.page.maxh),0>f?f=0:f>b.page.maxw&&(f=b.page.maxw),f!=b.newscrollx||d!=b.newscrolly?b.doScrollPos(f,d):b.onscrollend&&b.onscrollend.call(b,
93 | {type:"scrollend",current:{x:sx,y:sy},end:{x:b.newscrollx,y:b.newscrolly}})):b.timer=v(e)||1}f="undefined"==typeof f||!1===f?b.getScrollTop(!0):f;if(b.timer&&b.newscrolly==f&&b.newscrollx==c)return!0;b.timer&&w(b.timer);b.timer=0;var h=b.getScrollTop(),l=b.getScrollLeft();(0>(b.newscrolly-h)*(f-h)||0>(b.newscrollx-l)*(c-l))&&b.cancelScroll();b.newscrolly=f;b.newscrollx=c;if(!b.bouncescroll||!b.rail.visibility)0>b.newscrolly?b.newscrolly=0:b.newscrolly>b.page.maxh&&(b.newscrolly=b.page.maxh);if(!b.bouncescroll||
94 | !b.railh.visibility)0>b.newscrollx?b.newscrollx=0:b.newscrollx>b.page.maxw&&(b.newscrollx=b.page.maxw);b.dst={};b.dst.x=c-l;b.dst.y=f-h;b.dst.px=l;b.dst.py=h;var k=Math.round(Math.sqrt(Math.pow(b.dst.x,2)+Math.pow(b.dst.y,2)));b.dst.ax=b.dst.x/k;b.dst.ay=b.dst.y/k;var n=0,q=k;0==b.dst.x?(n=h,q=f,b.dst.ay=1,b.dst.py=0):0==b.dst.y&&(n=l,q=c,b.dst.ax=1,b.dst.px=0);k=b.getTransitionSpeed(k);g&&1>=g&&(k*=g);b.bzscroll=0=b.page.maxh||l==b.page.maxw&&c>=b.page.maxw)&&b.checkContentSize();var r=1;b.cancelAnimationFrame=!1;b.timer=1;b.onscrollstart&&!b.scrollrunning&&b.onscrollstart.call(b,{type:"scrollstart",current:{x:l,y:h},request:{x:c,y:f},end:{x:b.newscrollx,y:b.newscrolly},speed:k});e();(h==b.page.maxh&&f>=h||l==b.page.maxw&&c>=l)&&b.checkContentSize();b.noticeCursor()}},this.cancelScroll=function(){b.timer&&w(b.timer);b.timer=0;b.bzscroll=!1;b.scrollrunning=!1;return b}):(this.doScrollLeft=function(c,
96 | f){var g=b.getScrollTop();b.doScrollPos(c,g,f)},this.doScrollTop=function(c,f){var g=b.getScrollLeft();b.doScrollPos(g,c,f)},this.doScrollPos=function(c,f,g){var e=c>b.page.maxw?b.page.maxw:c;0>e&&(e=0);var h=f>b.page.maxh?b.page.maxh:f;0>h&&(h=0);b.synched("scroll",function(){b.setScrollTop(h);b.setScrollLeft(e)})},this.cancelScroll=function(){});this.doScrollBy=function(c,f){var g=0,g=f?Math.floor((b.scroll.y-c)*b.scrollratio.y):(b.timer?b.newscrolly:b.getScrollTop(!0))-c;if(b.bouncescroll){var e=
97 | Math.round(b.view.h/2);g<-e?g=-e:g>b.page.maxh+e&&(g=b.page.maxh+e)}b.cursorfreezed=!1;py=b.getScrollTop(!0);if(0>g&&0>=py)return b.noticeCursor();if(g>b.page.maxh&&py>=b.page.maxh)return b.checkContentSize(),b.noticeCursor();b.doScrollTop(g)};this.doScrollLeftBy=function(c,f){var g=0,g=f?Math.floor((b.scroll.x-c)*b.scrollratio.x):(b.timer?b.newscrollx:b.getScrollLeft(!0))-c;if(b.bouncescroll){var e=Math.round(b.view.w/2);g<-e?g=-e:g>b.page.maxw+e&&(g=b.page.maxw+e)}b.cursorfreezed=!1;px=b.getScrollLeft(!0);
98 | if(0>g&&0>=px||g>b.page.maxw&&px>=b.page.maxw)return b.noticeCursor();b.doScrollLeft(g)};this.doScrollTo=function(c,f){f&&Math.round(c*b.scrollratio.y);b.cursorfreezed=!1;b.doScrollTop(c)};this.checkContentSize=function(){var c=b.getContentSize();(c.h!=b.page.h||c.w!=b.page.w)&&b.resize(!1,c)};b.onscroll=function(c){b.rail.drag||b.cursorfreezed||b.synched("scroll",function(){b.scroll.y=Math.round(b.getScrollTop()*(1/b.scrollratio.y));b.railh&&(b.scroll.x=Math.round(b.getScrollLeft()*(1/b.scrollratio.x)));
99 | b.noticeCursor()})};b.bind(b.docscroll,"scroll",b.onscroll);this.doZoomIn=function(c){if(!b.zoomactive){b.zoomactive=!0;b.zoomrestore={style:{}};var h="position top left zIndex backgroundColor marginTop marginBottom marginLeft marginRight".split(" "),g=b.win[0].style,l;for(l in h){var k=h[l];b.zoomrestore.style[k]="undefined"!=typeof g[k]?g[k]:""}b.zoomrestore.style.width=b.win.css("width");b.zoomrestore.style.height=b.win.css("height");b.zoomrestore.padding={w:b.win.outerWidth()-b.win.width(),h:b.win.outerHeight()-
100 | b.win.height()};f.isios4&&(b.zoomrestore.scrollTop=e(window).scrollTop(),e(window).scrollTop(0));b.win.css({position:f.isios4?"absolute":"fixed",top:0,left:0,"z-index":x+100,margin:"0px"});h=b.win.css("backgroundColor");(""==h||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(h))&&b.win.css("backgroundColor","#fff");b.rail.css({"z-index":x+101});b.zoom.css({"z-index":x+102});b.zoom.css("backgroundPosition","0px -18px");b.resizeZoom();b.onzoomin&&b.onzoomin.call(b);return b.cancelEvent(c)}};this.doZoomOut=
101 | function(c){if(b.zoomactive)return b.zoomactive=!1,b.win.css("margin",""),b.win.css(b.zoomrestore.style),f.isios4&&e(window).scrollTop(b.zoomrestore.scrollTop),b.rail.css({"z-index":b.zindex}),b.zoom.css({"z-index":b.zindex}),b.zoomrestore=!1,b.zoom.css("backgroundPosition","0px 0px"),b.onResize(),b.onzoomout&&b.onzoomout.call(b),b.cancelEvent(c)};this.doZoom=function(c){return b.zoomactive?b.doZoomOut(c):b.doZoomIn(c)};this.resizeZoom=function(){if(b.zoomactive){var c=b.getScrollTop();b.win.css({width:e(window).width()-
102 | b.zoomrestore.padding.w+"px",height:e(window).height()-b.zoomrestore.padding.h+"px"});b.onResize();b.setScrollTop(Math.min(b.page.maxh,c))}};this.init();e.nicescroll.push(this)},H=function(e){var c=this;this.nc=e;this.steptime=this.lasttime=this.speedy=this.speedx=this.lasty=this.lastx=0;this.snapy=this.snapx=!1;this.demuly=this.demulx=0;this.lastscrolly=this.lastscrollx=-1;this.timer=this.chky=this.chkx=0;this.time=function(){return+new Date};this.reset=function(e,l){c.stop();var k=c.time();c.steptime=
103 | 0;c.lasttime=k;c.speedx=0;c.speedy=0;c.lastx=e;c.lasty=l;c.lastscrollx=-1;c.lastscrolly=-1};this.update=function(e,l){var k=c.time();c.steptime=k-c.lasttime;c.lasttime=k;var k=l-c.lasty,t=e-c.lastx,b=c.nc.getScrollTop(),q=c.nc.getScrollLeft(),b=b+k,q=q+t;c.snapx=0>q||q>c.nc.page.maxw;c.snapy=0>b||b>c.nc.page.maxh;c.speedx=t;c.speedy=k;c.lastx=e;c.lasty=l};this.stop=function(){c.nc.unsynched("domomentum2d");c.timer&&clearTimeout(c.timer);c.timer=0;c.lastscrollx=-1;c.lastscrolly=-1};this.doSnapy=function(e,
104 | l){var k=!1;0>l?(l=0,k=!0):l>c.nc.page.maxh&&(l=c.nc.page.maxh,k=!0);0>e?(e=0,k=!0):e>c.nc.page.maxw&&(e=c.nc.page.maxw,k=!0);k&&c.nc.doScrollPos(e,l,c.nc.opt.snapbackspeed)};this.doMomentum=function(e){var l=c.time(),k=e?l+e:c.lasttime;e=c.nc.getScrollLeft();var t=c.nc.getScrollTop(),b=c.nc.page.maxh,q=c.nc.page.maxw;c.speedx=0=l-k;if(0>t||t>b||0>e||e>q)k=!1;e=c.speedx&&k?c.speedx:!1;if(c.speedy&&k&&c.speedy||e){var f=Math.max(16,
105 | c.steptime);50r||r>q))e=0.1;if(c.speedy&&(u=Math.floor(c.lastscrolly-c.speedy*(1-c.demulxy)),c.lastscrolly=u,0>u||u>b))e=0.1;c.demulxy=Math.min(1,c.demulxy+e);c.nc.synched("domomentum2d",
106 | function(){c.speedx&&(c.nc.getScrollLeft()!=c.chkx&&c.stop(),c.chkx=r,c.nc.setScrollLeft(r));c.speedy&&(c.nc.getScrollTop()!=c.chky&&c.stop(),c.chky=u,c.nc.setScrollTop(u));c.timer||(c.nc.hideCursor(),c.doSnapy(r,u))});1>c.demulxy?c.timer=setTimeout(d,f):(c.stop(),c.nc.hideCursor(),c.doSnapy(r,u))};d()}else c.doSnapy(c.nc.getScrollLeft(),c.nc.getScrollTop())}},A=e.fn.scrollTop;e.cssHooks.pageYOffset={get:function(k,c,h){return(c=e.data(k,"__nicescroll")||!1)&&c.ishwscroll?c.getScrollTop():A.call(k)},
107 | set:function(k,c){var h=e.data(k,"__nicescroll")||!1;h&&h.ishwscroll?h.setScrollTop(parseInt(c)):A.call(k,c);return this}};e.fn.scrollTop=function(k){if("undefined"==typeof k){var c=this[0]?e.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollTop():A.call(this)}return this.each(function(){var c=e.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollTop(parseInt(k)):A.call(e(this),k)})};var B=e.fn.scrollLeft;e.cssHooks.pageXOffset={get:function(k,c,h){return(c=e.data(k,"__nicescroll")||
108 | !1)&&c.ishwscroll?c.getScrollLeft():B.call(k)},set:function(k,c){var h=e.data(k,"__nicescroll")||!1;h&&h.ishwscroll?h.setScrollLeft(parseInt(c)):B.call(k,c);return this}};e.fn.scrollLeft=function(k){if("undefined"==typeof k){var c=this[0]?e.data(this[0],"__nicescroll")||!1:!1;return c&&c.ishwscroll?c.getScrollLeft():B.call(this)}return this.each(function(){var c=e.data(this,"__nicescroll")||!1;c&&c.ishwscroll?c.setScrollLeft(parseInt(k)):B.call(e(this),k)})};var C=function(k){var c=this;this.length=
109 | 0;this.name="nicescrollarray";this.each=function(e){for(var h=0;h