...
` but you could put any other element `div/span/a/img...`
32 |
33 | ### Setup
34 | ```
35 | $('.owl-carousel').owlCarousel({
36 | loop:true,
37 | margin:10,
38 | nav:true,
39 | responsive:{
40 | 0:{
41 | items:1
42 | },
43 | 600:{
44 | items:3
45 | },
46 | 1000:{
47 | items:5
48 | }
49 | }
50 | })
51 | ```
52 | ### html
53 | ```
54 | `.
41 | Class "owl-carousel" is mandatory to apply proper styles that come from owl.carousel.css file. If you want the default nav controls like dots or buttons, you must also include the "owl-theme" class on that same div.
42 |
43 | ```
44 |
45 |
46 |
Your Content
47 |
Your Content
48 |
Your Content
49 |
Your Content
50 |
Your Content
51 |
Your Content
52 |
Your Content
53 |
54 | ```
55 |
56 | ### Call the plugin
57 |
58 | Now call the Owl initializer function and your carousel is ready.
59 |
60 | ```
61 | $(document).ready(function(){
62 | $(".owl-carousel").owlCarousel();
63 | });
64 | ```
65 | > See [demos](/OwlCarousel2/demos/demos.html) for customisation and options usage.
66 |
67 | ### Next Step
68 |
69 | ####[FAQ](started-faq.html)
70 |
71 | {{/markdown }}
72 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/stagepadding.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Stage Padding Demo
3 | subTitle: stagePadding
4 | nav: demos
5 | description: Stage Padding usage demo
6 | sort: 8
7 |
8 | tags:
9 | - demo
10 | - core
11 | ---
12 |
13 |
14 |
1
15 |
2
16 |
3
17 |
4
18 |
5
19 |
6
20 |
7
21 |
8
22 |
9
23 |
10
24 |
11
25 |
12
26 |
27 |
28 | {{#markdown }}
29 | ### Overview
30 |
31 | Stage padding option adds left and right padding style (in pixels) onto stage-wrapper.
32 |
33 | Option:
34 | ```
35 | stagePadding: Number
36 | ```
37 |
38 | ### Setup
39 | ```
40 | $('.owl-carousel').owlCarousel({
41 | stagePadding: 50,
42 | loop:true,
43 | margin:10,
44 | nav:true,
45 | responsive:{
46 | 0:{
47 | items:1
48 | },
49 | 600:{
50 | items:3
51 | },
52 | 1000:{
53 | items:5
54 | }
55 | }
56 | })
57 | ```
58 | ### html
59 | ```
60 |
61 |
1
62 |
2
63 |
3
64 |
4
65 |
5
66 |
6
67 |
7
68 |
8
69 |
9
70 |
10
71 |
11
72 |
12
73 |
74 | ```
75 |
76 | {{/markdown }}
77 |
78 |
--------------------------------------------------------------------------------
/assets/lib/flexslider/fonts/flexslider-icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This is a custom SVG font generated by IcoMoon.
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/src/js/owl.support.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Support Plugin
3 | *
4 | * @version 2.1.0
5 | * @author Vivid Planet Software GmbH
6 | * @author Artus Kolanowski
7 | * @author David Deutsch
8 | * @license The MIT License (MIT)
9 | */
10 | ;(function($, window, document, undefined) {
11 |
12 | var style = $('
').get(0).style,
13 | prefixes = 'Webkit Moz O ms'.split(' '),
14 | events = {
15 | transition: {
16 | end: {
17 | WebkitTransition: 'webkitTransitionEnd',
18 | MozTransition: 'transitionend',
19 | OTransition: 'oTransitionEnd',
20 | transition: 'transitionend'
21 | }
22 | },
23 | animation: {
24 | end: {
25 | WebkitAnimation: 'webkitAnimationEnd',
26 | MozAnimation: 'animationend',
27 | OAnimation: 'oAnimationEnd',
28 | animation: 'animationend'
29 | }
30 | }
31 | },
32 | tests = {
33 | csstransforms: function() {
34 | return !!test('transform');
35 | },
36 | csstransforms3d: function() {
37 | return !!test('perspective');
38 | },
39 | csstransitions: function() {
40 | return !!test('transition');
41 | },
42 | cssanimations: function() {
43 | return !!test('animation');
44 | }
45 | };
46 |
47 | function test(property, prefixed) {
48 | var result = false,
49 | upper = property.charAt(0).toUpperCase() + property.slice(1);
50 |
51 | $.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {
52 | if (style[property] !== undefined) {
53 | result = prefixed ? property : true;
54 | return false;
55 | }
56 | });
57 |
58 | return result;
59 | }
60 |
61 | function prefixed(property) {
62 | return test(property, true);
63 | }
64 |
65 | if (tests.csstransitions()) {
66 | /* jshint -W053 */
67 | $.support.transition = new String(prefixed('transition'))
68 | $.support.transition.end = events.transition.end[ $.support.transition ];
69 | }
70 |
71 | if (tests.cssanimations()) {
72 | /* jshint -W053 */
73 | $.support.animation = new String(prefixed('animation'))
74 | $.support.animation.end = events.animation.end[ $.support.animation ];
75 | }
76 |
77 | if (tests.csstransforms()) {
78 | /* jshint -W053 */
79 | $.support.transform = new String(prefixed('transform'));
80 | $.support.transform3d = tests.csstransforms3d();
81 | }
82 |
83 | })(window.Zepto || window.jQuery, window, document);
84 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/docs/started-welcome.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Welcome
3 | subTitle: Getting Started
4 | nav: docs
5 | description: Owl Carousel Documentation
6 |
7 | sort: 1
8 |
9 | tags:
10 | - Getting Started
11 | ---
12 |
13 | {{#markdown }}
14 | ## Welcome
15 |
16 | > No matter if you are a beginner or an advanced user, starting with Owl is easy.
17 |
18 | ### New Features
19 |
20 | * Infinity Loop
21 | * Center item
22 | * Smart Speed
23 | * Stage Padding
24 | * Item Margin
25 | * Ability to make almost all options responsive
26 | * Various Widths
27 | * Callback Events
28 | * RTL
29 | * YouTube/Vimeo/vzaar support (fetching thumbnails as well)
30 | * Anchors navigation
31 | * Merged Items
32 | * and more...
33 |
34 | ### Compatibility
35 |
36 | Owl Carousel 2.x.x is not compatibile with previous version 1.x.x. The idea stays the same and it has a lot in common with Owl1 but the core code was re-written from scratch and I’m very proud with all the new features.
37 |
38 | Owl Carousel has been tested in following browsers/devices:
39 |
40 | * Chrome
41 | * Firefox
42 | * Opera
43 | * IE7/8/10/11
44 | * iPad Safari
45 | * iPod4 Safari
46 | * Nexus 7 Chrome
47 | * Galaxy S4
48 | * Nokia 8s Windows8
49 |
50 |
51 | ### Library
52 |
53 | Download a version that suits your needs:
54 |
55 | * [Owl Carousel - {{ pkg.version }}](https://github.com/OwlCarousel2/OwlCarousel2/archive/{{ pkg.version }}.zip) - Distributed version - compiled and minified. Javascript, images and CSS included.
56 | * [Owl Carousel Source - {{ pkg.version }}]({{ app.download }}) - Source files including this documentation. All wrapped in Grunt project.
57 |
58 | ### Files included
59 |
60 | Distributed version structure:
61 |
62 | ```
63 | owlcarousel/
64 | ├── assets/
65 | │ ├── owl.carousel.css
66 | │ ├── owl.carousel.min.css
67 | │ ├── owl.theme.default.css
68 | │ ├── owl.theme.default.min.css
69 | │ ├── owl.theme.green.css
70 | │ ├── owl.theme.green.min.css
71 | │ └── owl.video.play.png
72 | │
73 | ├── owl.carousel.js
74 | ├── owl.carousel.min.js
75 | ├── LICENSE-MIT
76 | └── README.md
77 | ```
78 |
79 | ### Dependecies
80 |
81 | Get the latest [jQuery](https://jquery.com/) or [Zepto](http://zeptojs.com/) library.
82 | Minumum compatibile jQuery version is 1.8.3 version.
83 |
84 |
85 | ### Next Step
86 |
87 | ####[Installation](started-installation.html)
88 |
89 |
90 | {{/markdown }}
91 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/mousewheel.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Mousewheel Demo
3 | subTitle: Mousewheel
4 | nav: demos
5 | description: Mousewheel usage demo
6 | sort: 1
7 |
8 | tags:
9 | - demo
10 | - external
11 | ---
12 |
13 |
14 |
1
15 |
2
16 |
3
17 |
4
18 |
5
19 |
6
20 |
7
21 |
8
22 |
9
23 |
10
24 |
11
25 |
12
26 |
27 |
28 | {{#markdown }}
29 | ### Overview
30 |
31 | To add mouswheel scrolling just include the fantastic plugin jquery.mousewheel.js created by Brandon Aaron.
32 | [Link to plugin GitHub page](https://github.com/brandonaaron/jquery-mousewheel)
33 |
34 |
35 |
36 | ### Setup
37 | ```
38 | var owl = $('.owl-carousel');
39 |
40 | owl.owlCarousel({
41 | loop:true,
42 | nav:true,
43 | margin:10,
44 | responsive:{
45 | 0:{
46 | items:1
47 | },
48 | 600:{
49 | items:3
50 | },
51 | 960:{
52 | items:5
53 | },
54 | 1200:{
55 | items:6
56 | }
57 | }
58 | });
59 |
60 | owl.on('mousewheel', '.owl-stage', function (e) {
61 | if (e.deltaY>0) {
62 | owl.trigger('next.owl');
63 | } else {
64 | owl.trigger('prev.owl');
65 | }
66 | e.preventDefault();
67 | });
68 |
69 | ```
70 |
71 | {{/markdown }}
72 |
73 |
74 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/src/js/owl.support.modernizr.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Modernizr Support Plugin
3 | *
4 | * @version 2.1.0
5 | * @author Vivid Planet Software GmbH
6 | * @author Artus Kolanowski
7 | * @author David Deutsch
8 | * @license The MIT License (MIT)
9 | */
10 | ;(function($, Modernizr, window, document, undefined) {
11 |
12 | var events = {
13 | transition: {
14 | end: {
15 | WebkitTransition: 'webkitTransitionEnd',
16 | MozTransition: 'transitionend',
17 | OTransition: 'oTransitionEnd',
18 | transition: 'transitionend'
19 | }
20 | },
21 | animation: {
22 | end: {
23 | WebkitAnimation: 'webkitAnimationEnd',
24 | MozAnimation: 'animationend',
25 | OAnimation: 'oAnimationEnd',
26 | animation: 'animationend'
27 | }
28 | }
29 | };
30 |
31 | if (!Modernizr) {
32 | throw new Error('Modernizr is not loaded.');
33 | }
34 |
35 | $.each([ 'cssanimations', 'csstransitions', 'csstransforms', 'csstransforms3d', 'prefixed' ], function(i, property) {
36 | if (typeof Modernizr[property] == 'undefined') {
37 | throw new Error([ 'Modernizr "', property, '" is not loaded.' ].join(''));
38 | }
39 | });
40 |
41 | if (Modernizr.csstransitions) {
42 | /* jshint -W053 */
43 | $.support.transition = new String(Modernizr.prefixed('transition'))
44 | $.support.transition.end = events.transition.end[ $.support.transition ];
45 | // fix transitionend support detection, which does not work properly for older Android versions,
46 | // as it does not give the prefixed event name. here we use Modernizr to ensure the correct event.
47 | // see:
48 | // https://github.com/Modernizr/Modernizr/issues/897
49 | // https://github.com/niksy/modernizr-detects/commit/05d148fc4f3813b1412c836325a9ca78c7a63f4d
50 | if (/Android 4\.[123]/.test(navigator.userAgent)) {
51 | $.support.transition.end = 'webkitTransitionEnd';
52 | }
53 | }
54 |
55 | if (Modernizr.cssanimations) {
56 | /* jshint -W053 */
57 | $.support.animation = new String(Modernizr.prefixed('animation'))
58 | $.support.animation.end = events.animation.end[ $.support.animation ];
59 | }
60 |
61 | if (Modernizr.csstransforms) {
62 | /* jshint -W053 */
63 | $.support.transform = new String(Modernizr.prefixed('transform'));
64 | $.support.transform3d = Modernizr.csstransforms3d;
65 | }
66 | })(window.Zepto || window.jQuery, window.Modernizr, window, document);
67 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/urlhashnav.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Url Hash Navigation Demo
3 | subTitle: Url Hash Navigation
4 | nav: demos
5 | description: Url Hash Navigation usage demo
6 | sort: 6
7 |
8 | tags:
9 | - demo
10 | - core
11 | ---
12 |
13 |
14 |
0
15 |
1
16 |
2
17 |
3
18 |
4
19 |
5
20 |
6
21 |
7
22 |
8
23 |
9
24 |
10
25 |
11
26 |
12
27 |
13
28 |
14
29 |
15
30 |
31 |
32 | zero
33 | three
34 | five
35 | seven
36 | ten
37 |
38 |
39 | {{#markdown }}
40 | ### Overview
41 |
42 | > URLhashListener option is listening for url hash change and is looking for slide with the same data name e.g. `data-hash="zero"`
43 |
44 | Also `startPosition` option accept string: `'URLHash'`. This will load corresponding items on startup. Browser history back button is also affected.
45 |
46 | ### Setup
47 | ```
48 | $('.owl-carousel').owlCarousel({
49 | items:4,
50 | loop:false,
51 | center:true,
52 | margin:10,
53 | URLhashListener:true,
54 | autoplayHoverPause:true,
55 | startPosition: 'URLHash'
56 | });
57 | ```
58 | {{/markdown }}
59 |
60 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/src/scss/_core.scss:
--------------------------------------------------------------------------------
1 | /*
2 | * Owl Carousel - Core
3 | */
4 | .owl-carousel {
5 | display: none;
6 | width: 100%;
7 | -webkit-tap-highlight-color: transparent;
8 | /* position relative and z-index fix webkit rendering fonts issue */
9 | position: relative;
10 | z-index: 1;
11 |
12 | .owl-stage {
13 | position: relative;
14 | -ms-touch-action: pan-Y;
15 | -moz-backface-visibility: hidden; /* fix firefox animation glitch */
16 | }
17 |
18 | .owl-stage:after {
19 | content: ".";
20 | display: block;
21 | clear: both;
22 | visibility: hidden;
23 | line-height: 0;
24 | height: 0;
25 | }
26 |
27 | .owl-stage-outer {
28 | position: relative;
29 | overflow: hidden;
30 | /* fix for flashing background */
31 | -webkit-transform: translate3d(0px, 0px, 0px);
32 | }
33 |
34 | .owl-wrapper,
35 | .owl-item{
36 | -webkit-backface-visibility: hidden;
37 | -moz-backface-visibility: hidden;
38 | -ms-backface-visibility: hidden;
39 | -webkit-transform: translate3d(0,0,0);
40 | -moz-transform: translate3d(0,0,0);
41 | -ms-transform: translate3d(0,0,0);
42 | }
43 |
44 | .owl-item {
45 | position: relative;
46 | min-height: 1px;
47 | float: left;
48 | -webkit-backface-visibility: hidden;
49 | -webkit-tap-highlight-color: transparent;
50 | -webkit-touch-callout: none;
51 | }
52 | .owl-item img {
53 | display: block;
54 | width: 100%;
55 | }
56 |
57 | .owl-nav.disabled,
58 | .owl-dots.disabled {
59 | display: none;
60 | }
61 |
62 | .owl-nav .owl-prev,
63 | .owl-nav .owl-next,
64 | .owl-dot {
65 | cursor: pointer;
66 | cursor: hand;
67 | -webkit-user-select: none;
68 | -khtml-user-select: none;
69 | -moz-user-select: none;
70 | -ms-user-select: none;
71 | user-select: none;
72 | }
73 |
74 | &.owl-loaded {
75 | display: block;
76 | }
77 |
78 | &.owl-loading {
79 | opacity: 0;
80 | display: block;
81 | }
82 |
83 | &.owl-hidden {
84 | opacity: 0;
85 | }
86 |
87 | &.owl-refresh .owl-item {
88 | visibility: hidden;
89 | }
90 |
91 | &.owl-drag .owl-item {
92 | -webkit-user-select: none;
93 | -moz-user-select: none;
94 | -ms-user-select: none;
95 | user-select: none;
96 | }
97 |
98 | &.owl-grab {
99 | cursor: move;
100 | cursor: grab;
101 | }
102 |
103 | &.owl-rtl {
104 | direction: rtl;
105 | }
106 |
107 | &.owl-rtl .owl-item {
108 | float: right;
109 | }
110 | }
111 |
112 | /* No Js */
113 | .no-js .owl-carousel {
114 | display: block;
115 | }
116 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/assets/scss/highlight.scss:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | github.com style (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | pre {
8 | overflow-y: hidden;
9 | margin-bottom: 2rem;
10 | background: #f8f8f8;
11 | }
12 |
13 | .hljs {
14 | display: block;
15 | color: #333;
16 | background: #f8f8f8;
17 | padding: 2rem;
18 | line-height: 1.4;
19 | overflow-x: scroll;
20 | }
21 |
22 | .hljs-comment,
23 | .hljs-template_comment,
24 | .diff .hljs-header,
25 | .hljs-javadoc {
26 | color: #B9B9B9;
27 | font-style: italic
28 | }
29 |
30 | .hljs-keyword,
31 | .css .rule .hljs-keyword,
32 | .hljs-winutils,
33 | .javascript .hljs-title,
34 | .nginx .hljs-title,
35 | .hljs-subst,
36 | .hljs-request,
37 | .hljs-status {
38 | color: #333;
39 | font-weight: bold
40 | }
41 |
42 | .hljs-number,
43 | .hljs-hexcolor,
44 | .ruby .hljs-constant {
45 | color: #099;
46 | }
47 |
48 | .hljs-string,
49 | .hljs-tag .hljs-value,
50 | .hljs-phpdoc,
51 | .tex .hljs-formula {
52 | color: #bd240d
53 | }
54 |
55 | .hljs-title,
56 | .hljs-id,
57 | .coffeescript .hljs-params,
58 | .scss .hljs-preprocessor {
59 | color: #900;
60 | font-weight: bold
61 | }
62 |
63 | .javascript .hljs-title,
64 | .lisp .hljs-title,
65 | .clojure .hljs-title,
66 | .hljs-subst {
67 | font-weight: normal
68 | }
69 |
70 | .hljs-class .hljs-title,
71 | .haskell .hljs-type,
72 | .vhdl .hljs-literal,
73 | .tex .hljs-command {
74 | color: #458;
75 | font-weight: bold
76 | }
77 |
78 | .hljs-tag,
79 | .hljs-tag .hljs-title,
80 | .hljs-rules .hljs-property,
81 | .django .hljs-tag .hljs-keyword {
82 | color: #000080;
83 | font-weight: normal
84 | }
85 |
86 | .hljs-attribute,
87 | .hljs-variable,
88 | .lisp .hljs-body {
89 | color: #008080
90 | }
91 |
92 | .hljs-regexp {
93 | color: #009926
94 | }
95 |
96 | .hljs-symbol,
97 | .ruby .hljs-symbol .hljs-string,
98 | .lisp .hljs-keyword,
99 | .tex .hljs-special,
100 | .hljs-prompt {
101 | color: #333333
102 | }
103 |
104 | .hljs-built_in,
105 | .lisp .hljs-title,
106 | .clojure .hljs-built_in {
107 | color: #0086b3
108 | }
109 |
110 | .hljs-preprocessor,
111 | .hljs-pragma,
112 | .hljs-pi,
113 | .hljs-doctype,
114 | .hljs-shebang,
115 | .hljs-cdata {
116 | color: #999;
117 | font-weight: bold
118 | }
119 |
120 | .hljs-deletion {
121 | background: #fdd
122 | }
123 |
124 | .hljs-addition {
125 | background: #dfd
126 | }
127 |
128 | .diff .hljs-change {
129 | background: #0086b3
130 | }
131 |
132 | .hljs-chunk {
133 | color: #aaa
134 | }
135 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/autowidth.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Auto Width Demo
3 | subTitle: Auto Width
4 | nav: demos
5 | description: Auto Width
6 | sort: 6
7 |
8 | tags:
9 | - demo
10 | - core
11 | ---
12 |
13 |
14 |
1
15 |
2
16 |
3
17 |
4
18 |
6
19 |
7
20 |
8
21 |
9
22 |
10
23 |
11
24 |
12
25 |
13
26 |
14
27 |
15
28 |
29 |
30 | {{#markdown }}
31 | ### Overview
32 |
33 | Use width style on elements to get the result you want. If using with infinity loop add option 'items' more than 1. It all depends on the width of your content.
34 |
35 | ### Setup
36 | ```
37 | $('.owl-carousel').owlCarousel({
38 | margin:10,
39 | loop:true,
40 | autoWidth:true,
41 | items:4
42 | })
43 | ```
44 | ### html
45 | ```
46 |
47 |
1
48 |
2
49 |
3
50 |
4
51 |
6
52 |
7
53 |
8
54 |
9
55 |
10
56 |
11
57 |
12
58 |
13
59 |
14
60 |
15
61 |
62 | ```
63 |
64 | {{/markdown }}
65 |
66 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/data/classes.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "refreshClass",
4 | "type": "String",
5 | "Default": "owl-refresh",
6 | "desc": "Class during refresh."
7 | },
8 | {
9 | "name": "loadingClass",
10 | "type": "String",
11 | "Default": "owl-loading",
12 | "desc": "Class during load."
13 | },
14 | {
15 | "name": "loadedClass",
16 | "type": "String",
17 | "Default": "owl-loaded",
18 | "desc": "Class after load."
19 | },
20 | {
21 | "name": "rtlClass",
22 | "type": "String",
23 | "Default": "owl-rtl",
24 | "desc": "Class for right to left mode."
25 | },
26 | {
27 | "name": "dragClass",
28 | "type": "String",
29 | "Default": "owl-drag",
30 | "desc": "Class for mouse drag mode."
31 | },
32 | {
33 | "name": "grabClass",
34 | "type": "String",
35 | "Default": "owl-grab",
36 | "desc": "Class during mouse drag."
37 | },
38 | {
39 | "name": "stageClass",
40 | "type": "String",
41 | "Default": "owl-stage",
42 | "desc": "Stage class."
43 | },
44 | {
45 | "name": "stageOuterClass",
46 | "type": "String",
47 | "Default": "owl-stage-outer",
48 | "desc": "Stage outer class."
49 | },
50 | {
51 | "name": "navContainerClass",
52 | "type": "String",
53 | "Default": "owl-nav",
54 | "desc": "Navigation container class."
55 | },
56 | {
57 | "name": "navClass",
58 | "type": "Array",
59 | "Default": "['owl-prev','owl-next']",
60 | "desc": "Navigation buttons classes."
61 | },
62 | {
63 | "name": "controlsClass",
64 | "type": "String",
65 | "Default": "owl-controls",
66 | "desc": "Controls container class - wrapper for navs and dots."
67 | },
68 | {
69 | "name": "dotClass",
70 | "type": "String",
71 | "Default": "owl-dot",
72 | "desc": "Dot Class."
73 | },
74 | {
75 | "name": "dotsClass",
76 | "type": "String",
77 | "Default": "owl-dots",
78 | "desc": "Dots container class."
79 | },
80 | {
81 | "name": "autoHeightClass",
82 | "type": "String",
83 | "Default": "owl-height",
84 | "desc": "Auto height class."
85 | },
86 | {
87 | "name": "responsiveClass",
88 | "type": "String|Boolean",
89 | "Default": "false",
90 | "desc": "Optional helper class. Add '-' class to main element. Can be used to stylize content on given breakpoint."
91 | }
92 | ]
--------------------------------------------------------------------------------
/assets/scss/_typography.scss:
--------------------------------------------------------------------------------
1 | a {
2 | color: #111;
3 | }
4 |
5 | a:hover, a:focus {
6 | text-decoration: none;
7 | color: #aaa;
8 | outline: 0;
9 | }
10 |
11 | .bg-dark a {
12 | color: #aaa;
13 | }
14 |
15 | .bg-dark a:hover, .bg-dark a:focus {
16 | color: #fff;
17 | }
18 |
19 | h1, h2, h3, h4, h5, h6 {
20 | line-height: 1.4;
21 | font-weight: 400;
22 | }
23 |
24 | p, ol, ul, blockquote {
25 | margin: 0 0 20px;
26 | }
27 |
28 | blockquote {
29 | border: 0;
30 | font-style: italic;
31 | font-size: 15px;
32 | padding: 0;
33 | }
34 |
35 | .font-alt {
36 | font-family: "Roboto Condensed", sans-serif;
37 | text-transform: uppercase;
38 | letter-spacing: 2px;
39 | }
40 |
41 | .font-serif {
42 | font-family: Volkhov, "Times New Roman", sans-serif;
43 | font-style: italic;
44 | }
45 |
46 | .large-text {
47 | font-size: 24px !important;
48 | }
49 |
50 | .rotate {
51 | text-shadow: none !important;
52 | }
53 |
54 | .module-title {
55 | position: relative;
56 | letter-spacing: 4px;
57 | text-align: center;
58 | font-weight: 400;
59 | font-size: 30px;
60 | color: #111;
61 | margin: 0 0 70px;
62 | }
63 |
64 | .module-subtitle {
65 | text-align: center;
66 | font-size: 16px;
67 | color: #111;
68 | margin-bottom: 70px;
69 | }
70 |
71 | .module-icon {
72 | text-align: center;
73 | font-size: 32px;
74 | margin-bottom: 20px;
75 | }
76 |
77 | .module-title + .module-subtitle {
78 | margin-top: -35px;
79 | }
80 |
81 | /* Restaurant module header */
82 |
83 | .alt-module-subtitle {
84 | display: table;
85 | }
86 |
87 | .alt-module-subtitle h5 {
88 | display: table-cell;
89 | white-space: pre;
90 | padding: 0 8px;
91 | color: #111;
92 | }
93 |
94 | /* Finance case study header */
95 | .finance-image-content {
96 | border: 1px solid #e5e5e5;
97 | padding: 60px 0px;
98 |
99 | .module-title {
100 | margin-bottom: 20px;
101 | }
102 |
103 | .alt-features-item {
104 | margin-top: 40px;
105 | }
106 | }
107 |
108 | /* Landing Page */
109 |
110 | .landing-reason {
111 | .module-title {
112 | color: #e6af4b;
113 | }
114 | .module-title + .module-subtitle {
115 | margin-top: -60px;
116 | margin-bottom: 40px;
117 | }
118 | }
119 |
120 | .free-trial {
121 | background-color: rgba(88, 20, 158, 0.9);
122 | color: #FFFFFF;
123 |
124 | .color-golden {
125 | color: #e6af4b;
126 | }
127 | }
128 |
129 | /* Special Portfolio Page */
130 |
131 | .special-portfolio-header-title {
132 | border: 1px solid rgba(255, 255, 255, 0.7);
133 | font-size: 50px;
134 | padding: 40px 0px;
135 | letter-spacing: 8px;
136 | }
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/center.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Center Demo
3 | subTitle: Center
4 | nav: demos
5 | description: Center carousel
6 | sort: 3
7 |
8 | tags:
9 | - demo
10 | - core
11 | ---
12 | {{#markdown }}
13 | #### Center with loop
14 | {{/markdown }}
15 |
16 |
17 |
1
18 |
2
19 |
3
20 |
4
21 |
5
22 |
6
23 |
7
24 |
8
25 |
9
26 |
10
27 |
11
28 |
12
29 |
30 |
31 |
32 | {{#markdown }}
33 | #### Center without loop
34 | {{/markdown }}
35 |
36 |
37 |
1
38 |
2
39 |
3
40 |
4
41 |
5
42 |
6
43 |
7
44 |
8
45 |
9
46 |
10
47 |
11
48 |
12
49 |
50 |
51 |
52 | {{#markdown }}
53 | ### Overview
54 |
55 | > Works well with odd and even items on screen. Keep in mind that dots are not working here like a pagination.
56 |
57 | Add center to setup:
58 | ```
59 | center:true
60 | ```
61 |
62 | ### Setup
63 | ```
64 | $('.loop').owlCarousel({
65 | center: true,
66 | items:2,
67 | loop:true,
68 | margin:10,
69 | responsive:{
70 | 600:{
71 | items:4
72 | }
73 | }
74 | });
75 |
76 | $('.nonloop').owlCarousel({
77 | center: true,
78 | items:2,
79 | loop:false,
80 | margin:10,
81 | responsive:{
82 | 600:{
83 | items:4
84 | }
85 | }
86 | });
87 | ```
88 | {{/markdown }}
89 |
117 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/merge.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Merge Demo
3 | subTitle: Merge
4 | nav: demos
5 | description: Merge Items
6 | sort: 5
7 |
8 | tags:
9 | - demo
10 | - core
11 | ---
12 |
13 |
14 |
1
15 |
2
16 |
3
17 |
4
18 |
6
19 |
7
20 |
8
21 |
9
22 |
10
23 |
11
24 |
12
25 |
13
26 |
14
27 |
15
28 |
29 |
30 | {{#markdown }}
31 | ### Overview
32 | Merge option requires `data-merge="number_items_to_merge"` on any child element (can be nested as well). There is a sibling option called `mergeFit` which fits merged elements to screen size.
33 |
34 | See item 6 on breakpoint below and above `1000px` screen width.
35 |
36 | ### Setup
37 | ```
38 | $('.owl-carousel').owlCarousel({
39 | items:5,
40 | loop:true,
41 | margin:10,
42 | merge:true,
43 | responsive:{
44 | 678:{
45 | mergeFit:true
46 | },
47 | 1000:{
48 | mergeFit:false
49 | }
50 | }
51 | });
52 | ```
53 | ### html
54 | ```
55 |
56 |
1
57 |
2
58 |
3
59 |
4
60 |
6
61 |
7
62 |
8
63 |
9
64 |
10
65 |
11
66 |
12
67 |
13
68 |
14
69 |
15
70 |
71 | ```
72 |
73 | {{/markdown }}
74 |
75 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/docs/api-events.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Events
3 | subTitle: API
4 | nav: docs
5 | description: Owl Carousel Documentation
6 |
7 | sort: 3
8 | tags:
9 | - API
10 | ---
11 |
12 | {{#markdown }}
13 | ## Events
14 |
15 | > Events are provided by Owl Carousel in strategic code locations. This gives you the ability to listen for any changes and perform your own actions.
16 |
17 | ```
18 | var owl = $('.owl-carousel');
19 | owl.owlCarousel();
20 |
21 | // Listen to owl events:
22 | owl.on('changed.owl.carousel', function(event) {
23 | ...
24 | })
25 |
26 | ```
27 |
28 | You could also trigger events by yourself to control Owl Carousel:
29 |
30 | ```
31 | var owl = $('.owl-carousel');
32 | owl.owlCarousel();
33 |
34 | // Go to the next item
35 | $('.customNextBtn').click(function() {
36 | owl.trigger('next.owl.carousel');
37 | })
38 |
39 | // Go to the previous item
40 | $('.customPrevBtn').click(function() {
41 | // With optional speed parameter
42 | // Parameters has to be in square bracket '[]'
43 | owl.trigger('prev.owl.carousel', [300]);
44 | })
45 |
46 | ```
47 |
48 | ### Callbacks
49 |
50 | Instead of attaching an event handler you can also just add a callback to the options of Owl Carousel.
51 |
52 | ```
53 | $('.owl-carousel').owlCarousel({
54 | onDragged: callback
55 | });
56 |
57 | function callback(event) {
58 | ...
59 | }
60 | ```
61 |
62 | ### Data
63 |
64 | Each event passes very useful information within the [event object](https://api.jquery.com/category/events/event-object/). Based on the example above:
65 |
66 | ```Javascript
67 | function callback(event) {
68 | // Provided by the core
69 | var element = event.target; // DOM element, in this example .owl-carousel
70 | var name = event.type; // Name of the event, in this example dragged
71 | var namespace = event.namespace; // Namespace of the event, in this example owl.carousel
72 | var items = event.item.count; // Number of items
73 | var item = event.item.index; // Position of the current item
74 | // Provided by the navigation plugin
75 | var pages = event.page.count; // Number of pages
76 | var page = event.page.index; // Position of the current page
77 | var size = event.page.size; // Number of items per page
78 | }
79 | ```
80 |
81 | {{#each events}}
82 | ### {{namespace}}
83 |
84 | {{#each events}}
85 | #### {{name}}
86 |
87 | Type: `{{type}}` {{#isnt callback undefined}}Callback: `{{callback}}` {{/isnt}}{{#isnt param undefined}}Parameter: `{{param}}` {{/isnt}}
88 |
89 | {{desc}}
90 |
91 | ------
92 | {{/each}}
93 |
94 | {{/each}}
95 |
96 | {{/markdown }}
97 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs/assets/vendors/jquery.mousewheel.min.js:
--------------------------------------------------------------------------------
1 | /*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
2 | * Licensed under the MIT License (LICENSE.txt).
3 | *
4 | * Version: 3.1.11
5 | *
6 | * Requires: jQuery 1.2.2+
7 | */
8 | !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.11",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b)["offsetParent"in a.fn?"offsetParent":"parent"]();return c.length||(c=a("body")),parseInt(c.css("fontSize"),10)},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/assets/vendors/jquery.mousewheel.min.js:
--------------------------------------------------------------------------------
1 | /*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
2 | * Licensed under the MIT License (LICENSE.txt).
3 | *
4 | * Version: 3.1.11
5 | *
6 | * Requires: jQuery 1.2.2+
7 | */
8 | !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.11",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b)["offsetParent"in a.fn?"offsetParent":"parent"]();return c.length||(c=a("body")),parseInt(c.css("fontSize"),10)},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/src/js/owl.autoheight.js:
--------------------------------------------------------------------------------
1 | /**
2 | * AutoHeight Plugin
3 | * @version 2.1.0
4 | * @author Bartosz Wojciechowski
5 | * @author David Deutsch
6 | * @license The MIT License (MIT)
7 | */
8 | ;(function($, window, document, undefined) {
9 |
10 | /**
11 | * Creates the auto height plugin.
12 | * @class The Auto Height Plugin
13 | * @param {Owl} carousel - The Owl Carousel
14 | */
15 | var AutoHeight = function(carousel) {
16 | /**
17 | * Reference to the core.
18 | * @protected
19 | * @type {Owl}
20 | */
21 | this._core = carousel;
22 |
23 | /**
24 | * All event handlers.
25 | * @protected
26 | * @type {Object}
27 | */
28 | this._handlers = {
29 | 'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {
30 | if (e.namespace && this._core.settings.autoHeight) {
31 | this.update();
32 | }
33 | }, this),
34 | 'changed.owl.carousel': $.proxy(function(e) {
35 | if (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){
36 | this.update();
37 | }
38 | }, this),
39 | 'loaded.owl.lazy': $.proxy(function(e) {
40 | if (e.namespace && this._core.settings.autoHeight
41 | && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {
42 | this.update();
43 | }
44 | }, this)
45 | };
46 |
47 | // set default options
48 | this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);
49 |
50 | // register event handlers
51 | this._core.$element.on(this._handlers);
52 | };
53 |
54 | /**
55 | * Default options.
56 | * @public
57 | */
58 | AutoHeight.Defaults = {
59 | autoHeight: false,
60 | autoHeightClass: 'owl-height'
61 | };
62 |
63 | /**
64 | * Updates the view.
65 | */
66 | AutoHeight.prototype.update = function() {
67 | var start = this._core._current,
68 | end = start + this._core.settings.items,
69 | visible = this._core.$stage.children().toArray().slice(start, end),
70 | heights = [],
71 | maxheight = 0;
72 |
73 | $.each(visible, function(index, item) {
74 | heights.push($(item).height());
75 | });
76 |
77 | maxheight = Math.max.apply(null, heights);
78 |
79 | this._core.$stage.parent()
80 | .height(maxheight)
81 | .addClass(this._core.settings.autoHeightClass);
82 | };
83 |
84 | AutoHeight.prototype.destroy = function() {
85 | var handler, property;
86 |
87 | for (handler in this._handlers) {
88 | this._core.$element.off(handler, this._handlers[handler]);
89 | }
90 | for (property in Object.getOwnPropertyNames(this)) {
91 | typeof this[property] != 'function' && (this[property] = null);
92 | }
93 | };
94 |
95 | $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;
96 |
97 | })(window.Zepto || window.jQuery, window, document);
98 |
--------------------------------------------------------------------------------
/js/pose.js:
--------------------------------------------------------------------------------
1 | // const videoWidth = 1550;
2 | // const videoHeight = 790;
3 | // const videoHeight = window.screen.height;
4 | // const videoWidth = window.screen.width;
5 | const videoWidth = window.innerWidth;
6 | const videoHeight = window.innerHeight;
7 |
8 | function isAndroid() { return /Android/i.test(navigator.userAgent); }
9 | function isiOS() { return /iPhone|iPad|iPod/i.test(navigator.userAgent); }
10 | function isMobile() { return isAndroid() || isiOS(); }
11 |
12 | async function setupCamera() {
13 | if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
14 | throw new Error(
15 | 'Browser API navigator.mediaDevices.getUserMedia not available');
16 | }
17 |
18 | const video = document.getElementById('video');
19 | video.width = videoWidth;
20 | video.height = videoHeight;
21 |
22 | const mobile = isMobile();
23 | const stream = await navigator.mediaDevices.getUserMedia({
24 | 'audio': false,
25 | 'video': {
26 | facingMode: 'user',
27 | width: mobile ? undefined : videoWidth,
28 | height: mobile ? undefined : videoHeight,
29 | },
30 | });
31 | video.srcObject = stream;
32 |
33 | return new Promise((resolve) => {
34 | video.onloadedmetadata = () => {
35 | resolve(video);
36 | };
37 | });
38 | }
39 |
40 | async function loadVideo() {
41 | const video = await setupCamera();
42 | video.play();
43 | return video;
44 | }
45 |
46 | const guiState = {
47 | input: {
48 | mobileNetArchitecture: isMobile() ? '0.50' : '0.75',
49 | outputStride: 16,
50 | imageScaleFactor: 0.4,
51 | },
52 | minPoseConfidence: 0.1,
53 | minPartConfidence: 0.5,
54 | output: {
55 | showVideo: true,
56 | showSkeleton: true,
57 | showPoints: true,
58 | showBoundingBox: false,
59 | },
60 | net: null,
61 | };
62 |
63 | function setupGui(cameras, net) {
64 | guiState.net = net;
65 |
66 | if (cameras.length > 0) {
67 | guiState.camera = cameras[0].deviceId;
68 | }
69 |
70 | const gui = new dat.GUI({width: 300});
71 | gui.close();
72 | gui.domElement.hidden = true;
73 |
74 | let input = gui.addFolder('Input');
75 | const architectureController = input.add(guiState.input, 'mobileNetArchitecture', ['1.01', '1.00', '0.75', '0.50']);
76 | input.add(guiState.input, 'outputStride', [8, 16, 32]);
77 | input.add(guiState.input, 'imageScaleFactor').min(0.2).max(1.0);
78 | input.open();
79 |
80 | let output = gui.addFolder('Output');
81 | output.add(guiState.output, 'showVideo');
82 | output.add(guiState.output, 'showSkeleton');
83 | output.add(guiState.output, 'showPoints');
84 | output.add(guiState.output, 'showBoundingBox');
85 | output.open();
86 |
87 | architectureController.onChange(function(architecture) {
88 | guiState.changeToArchitecture = architecture;
89 | });
90 | }
91 |
92 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/dist/assets/owl.carousel.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Owl Carousel v2.2.1
3 | * Copyright 2013-2017 David Deutsch
4 | * Licensed under ()
5 | */
6 | .owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs/assets/owlcarousel/assets/owl.carousel.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Owl Carousel v2.2.1
3 | * Copyright 2013-2017 David Deutsch
4 | * Licensed under ()
5 | */
6 | .owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
--------------------------------------------------------------------------------
/assets/scss/_button.scss:
--------------------------------------------------------------------------------
1 | .btn {
2 | border-radius: 0;
3 | font-family: "Roboto Condensed", sans-serif;
4 | text-transform: uppercase;
5 | letter-spacing: 2px;
6 | font-size: 11px;
7 | padding: 8px 37px;
8 | }
9 |
10 | .btn.active.focus,
11 | .btn.active:focus,
12 | .btn.focus,
13 | .btn:active.focus,
14 | .btn:active:focus,
15 | .btn:focus {
16 | outline: 0;
17 | }
18 |
19 | .btn.btn-round {
20 | -webkit-border-radius: 2px;
21 | -moz-border-radius: 2px;
22 | border-radius: 2px;
23 | }
24 |
25 | .btn.btn-circle {
26 | -webkit-border-radius: 30px;
27 | -moz-border-radius: 30px;
28 | border-radius: 30px;
29 | }
30 |
31 | .btn.btn-w {
32 | background: rgba(255, 255, 255, .8);
33 | color: #111;
34 | }
35 |
36 | .btn.btn-w:hover,
37 | .btn.btn-w:focus {
38 | background: rgba(255, 255, 255, 1);
39 | color: #111;
40 | }
41 |
42 | .btn.btn-g {
43 | background: #e5e5e5;
44 | color: #111;
45 | }
46 |
47 | .btn.btn-g:hover,
48 | .btn.btn-g:focus {
49 | background: #d8d8d8;
50 | color: #111;
51 | }
52 |
53 | .btn.btn-border-w {
54 | background: transparent;
55 | border: 1px solid rgba(255, 255, 255, .75);
56 | color: #fff;
57 | }
58 |
59 | .btn.btn-border-w:hover,
60 | .btn.btn-border-w:focus {
61 | background: #fff;
62 | border-color: transparent;
63 | color: #111;
64 | }
65 |
66 | .btn.btn-d {
67 | background: rgba(17, 17, 17, .8);
68 | color: #fff;
69 | }
70 |
71 | .btn.btn-d:hover,
72 | .btn.btn-d:focus {
73 | background: rgba(17, 17, 17, 1);
74 | }
75 |
76 | .btn.btn-b {
77 | background: rgba(17, 17, 17, 1);
78 | color: #fff;
79 | }
80 |
81 | .btn.btn-b:hover,
82 | .btn.btn-b:focus {
83 | background: rgba(17, 17, 17, .8);
84 | }
85 |
86 | .btn-border-d {
87 | background: transparent;
88 | border: 1px solid rgba(17, 17, 17, 1);
89 | color: #111;
90 | }
91 |
92 | .btn.btn-border-d:hover,
93 | .btn.btn-border-d:focus {
94 | background: rgba(17, 17, 17, 1);
95 | color: #fff;
96 | }
97 |
98 |
99 | .btn.btn-font-w {
100 | background: rgba(255, 255, 255, .8);
101 | color: #fff;
102 | }
103 | .btn.btn-font-w:hover {
104 | background: #fff;
105 | color: #111;
106 | }
107 |
108 | /* Buttons size */
109 |
110 | .btn.btn-lg {
111 | padding: 12px 45px;
112 | font-size: 13px;
113 | }
114 |
115 | .btn.btn-sm {
116 | padding: 6px 25px;
117 | font-size: 10px;
118 | letter-spacing: 1px;
119 | }
120 |
121 | .btn.btn-xs {
122 | padding: 4px 19px;
123 | font-size: 10px;
124 | letter-spacing: 0;
125 | }
126 |
127 | .btn-list .btn {
128 | margin: 5px 0;
129 | }
130 |
131 | .search-btn {
132 | position: absolute;
133 | background: transparent;
134 | border: none;
135 | overflow: hidden;
136 | top: 50%;
137 | right: 1px;
138 | width: 42px;
139 | height: 40px;
140 | line-height: 38px;
141 | font-size: 14px;
142 | outline: none;
143 | color: #999;
144 | margin-top: -20px;
145 | }
146 |
147 | .image-button {
148 | margin: 0px 5px;
149 | }
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/src/js/owl.autorefresh.js:
--------------------------------------------------------------------------------
1 | /**
2 | * AutoRefresh Plugin
3 | * @version 2.1.0
4 | * @author Artus Kolanowski
5 | * @author David Deutsch
6 | * @license The MIT License (MIT)
7 | */
8 | ;(function($, window, document, undefined) {
9 |
10 | /**
11 | * Creates the auto refresh plugin.
12 | * @class The Auto Refresh Plugin
13 | * @param {Owl} carousel - The Owl Carousel
14 | */
15 | var AutoRefresh = function(carousel) {
16 | /**
17 | * Reference to the core.
18 | * @protected
19 | * @type {Owl}
20 | */
21 | this._core = carousel;
22 |
23 | /**
24 | * Refresh interval.
25 | * @protected
26 | * @type {number}
27 | */
28 | this._interval = null;
29 |
30 | /**
31 | * Whether the element is currently visible or not.
32 | * @protected
33 | * @type {Boolean}
34 | */
35 | this._visible = null;
36 |
37 | /**
38 | * All event handlers.
39 | * @protected
40 | * @type {Object}
41 | */
42 | this._handlers = {
43 | 'initialized.owl.carousel': $.proxy(function(e) {
44 | if (e.namespace && this._core.settings.autoRefresh) {
45 | this.watch();
46 | }
47 | }, this)
48 | };
49 |
50 | // set default options
51 | this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);
52 |
53 | // register event handlers
54 | this._core.$element.on(this._handlers);
55 | };
56 |
57 | /**
58 | * Default options.
59 | * @public
60 | */
61 | AutoRefresh.Defaults = {
62 | autoRefresh: true,
63 | autoRefreshInterval: 500
64 | };
65 |
66 | /**
67 | * Watches the element.
68 | */
69 | AutoRefresh.prototype.watch = function() {
70 | if (this._interval) {
71 | return;
72 | }
73 |
74 | this._visible = this._core.$element.is(':visible');
75 | this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
76 | };
77 |
78 | /**
79 | * Refreshes the element.
80 | */
81 | AutoRefresh.prototype.refresh = function() {
82 | if (this._core.$element.is(':visible') === this._visible) {
83 | return;
84 | }
85 |
86 | this._visible = !this._visible;
87 |
88 | this._core.$element.toggleClass('owl-hidden', !this._visible);
89 |
90 | this._visible && (this._core.invalidate('width') && this._core.refresh());
91 | };
92 |
93 | /**
94 | * Destroys the plugin.
95 | */
96 | AutoRefresh.prototype.destroy = function() {
97 | var handler, property;
98 |
99 | window.clearInterval(this._interval);
100 |
101 | for (handler in this._handlers) {
102 | this._core.$element.off(handler, this._handlers[handler]);
103 | }
104 | for (property in Object.getOwnPropertyNames(this)) {
105 | typeof this[property] != 'function' && (this[property] = null);
106 | }
107 | };
108 |
109 | $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;
110 |
111 | })(window.Zepto || window.jQuery, window, document);
112 |
--------------------------------------------------------------------------------
/assets/lib/simple-text-rotator/jquery.simple-text-rotator.min.js:
--------------------------------------------------------------------------------
1 | !function(e){var t={animation:"dissolve",separator:",",speed:2e3};e.fx.step.textShadowBlur=function(t){e(t.elem).prop("textShadowBlur",t.now).css({textShadow:"0 0 "+Math.floor(t.now)+"px black"})};e.fn.textrotator=function(n){var r=e.extend({},t,n);return this.each(function(){var t=e(this);var n=[];e.each(t.text().split(r.separator),function(e,t){n.push(t)});t.text(n[0]);var i=function(){switch(r.animation){case"dissolve":t.animate({textShadowBlur:20,opacity:0},500,function(){s=e.inArray(t.text(),n);if(s+1==n.length)s=-1;t.text(n[s+1]).animate({textShadowBlur:0,opacity:1},500)});break;case"flip":if(t.find(".back").length>0){t.html(t.find(".back").html())}var i=t.text();var s=e.inArray(i,n);if(s+1==n.length)s=-1;t.html("");e(""+i+" ").appendTo(t);e(""+n[s+1]+" ").appendTo(t);t.wrapInner(" ").find(".rotating").hide().addClass("flip").show().css({"-webkit-transform":" rotateY(-180deg)","-moz-transform":" rotateY(-180deg)","-o-transform":" rotateY(-180deg)",transform:" rotateY(-180deg)"});break;case"flipUp":if(t.find(".back").length>0){t.html(t.find(".back").html())}var i=t.text();var s=e.inArray(i,n);if(s+1==n.length)s=-1;t.html("");e(""+i+" ").appendTo(t);e(""+n[s+1]+" ").appendTo(t);t.wrapInner(" ").find(".rotating").hide().addClass("flip up").show().css({"-webkit-transform":" rotateX(-180deg)","-moz-transform":" rotateX(-180deg)","-o-transform":" rotateX(-180deg)",transform:" rotateX(-180deg)"});break;case"flipCube":if(t.find(".back").length>0){t.html(t.find(".back").html())}var i=t.text();var s=e.inArray(i,n);if(s+1==n.length)s=-1;t.html("");e(""+i+" ").appendTo(t);e(""+n[s+1]+" ").appendTo(t);t.wrapInner(" ").find(".rotating").hide().addClass("flip cube").show().css({"-webkit-transform":" rotateY(180deg)","-moz-transform":" rotateY(180deg)","-o-transform":" rotateY(180deg)",transform:" rotateY(180deg)"});break;case"flipCubeUp":if(t.find(".back").length>0){t.html(t.find(".back").html())}var i=t.text();var s=e.inArray(i,n);if(s+1==n.length)s=-1;t.html("");e(""+i+" ").appendTo(t);e(""+n[s+1]+" ").appendTo(t);t.wrapInner(" ").find(".rotating").hide().addClass("flip cube up").show().css({"-webkit-transform":" rotateX(180deg)","-moz-transform":" rotateX(180deg)","-o-transform":" rotateX(180deg)",transform:" rotateX(180deg)"});break;case"spin":if(t.find(".rotating").length>0){t.html(t.find(".rotating").html())}s=e.inArray(t.text(),n);if(s+1==n.length)s=-1;t.wrapInner(" ").find(".rotating").hide().text(n[s+1]).show().css({"-webkit-transform":" rotate(0) scale(1)","-moz-transform":"rotate(0) scale(1)","-o-transform":"rotate(0) scale(1)",transform:"rotate(0) scale(1)"});break;case"fade":t.fadeOut(r.speed,function(){s=e.inArray(t.text(),n);if(s+1==n.length)s=-1;t.text(n[s+1]).fadeIn(r.speed)});break}};setInterval(i,r.speed)})}}(window.jQuery)
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/lazyLoad.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Lazy Load Demo
3 | subTitle: Lazy Load
4 | nav: demos
5 | description: Lazy Load carousel
6 | sort: 1
7 |
8 | tags:
9 | - demo
10 | - plugin
11 | ---
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | {{#markdown }}
29 | ### Overview
30 |
31 | Add lazyLoad to plugin setup:
32 | ```
33 | lazyLoad: true
34 | ```
35 | LazyLoad HTML structure requires `class="owl-lazy"` and `data-src="url_to_img"` or/and `data-src-retina="url_to_highres_img"`.
36 | If you set above settings not on ` ` but on other DOM element then Owl will load an image into css inline background style.
37 |
38 |
39 | ### Setup
40 | ```
41 | $('.owl-carousel').owlCarousel({
42 | items:4,
43 | lazyLoad:true,
44 | loop:true,
45 | margin:10
46 | });
47 | ```
48 | ### HTML:
49 |
50 | ```
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | ```
65 |
66 |
67 | {{/markdown }}
68 |
78 |
--------------------------------------------------------------------------------
/assets/scss/_header.scss:
--------------------------------------------------------------------------------
1 | .home-section {
2 | position: relative;
3 | background-color: #fff;
4 | background-repeat: no-repeat;
5 | background-position: center center;
6 | width: 100%;
7 | z-index: 0;
8 | -webkit-background-size: cover;
9 | -moz-background-size: cover;
10 | -o-background-size: cover;
11 | background-size: cover;
12 | }
13 |
14 | .titan-title-size-1 {
15 | letter-spacing: 4px;
16 | font-size: 15px;
17 | }
18 |
19 | .titan-title-size-2 {
20 | line-height: 1.3;
21 | letter-spacing: 3px;
22 | font-size: 18px;
23 | opacity: .8;
24 | }
25 |
26 | .titan-title-size-3 {
27 | letter-spacing: 16px;
28 | font-size: 46px;
29 | }
30 |
31 | .titan-title-size-4 {
32 | letter-spacing: 24px;
33 | font-weight: 400;
34 | font-size: 48px;
35 | }
36 |
37 | /* Agency Page Header */
38 |
39 | .agency-page-header:before {
40 | background: rgba(0, 0, 0, 0);
41 | }
42 |
43 | /* About us Page Header */
44 |
45 | .about-page-header:before {
46 | background: rgba(2, 2, 2, 0.2);
47 | }
48 |
49 | /* Service Page Header */
50 | .service-page-header:before {
51 | background: rgba(2, 2, 2, 0.1);
52 | }
53 |
54 | /* Pricing Page Header */
55 |
56 | .pricing-page-header {
57 | background-position: 40% 14%;
58 | background-repeat: no-repeat;
59 |
60 | &:before {
61 | background: rgba(2, 2, 2, 0.6);
62 | }
63 | }
64 |
65 | /* Gallery Page Header */
66 |
67 | .gallery-page-header {
68 | background-position: 50% 0%;
69 | background-repeat: no-repeat;
70 |
71 | &:before {
72 | background: rgba(2, 2, 2, 0.2);
73 | }
74 | }
75 |
76 | /* Contact Page Header */
77 |
78 | .contact-page-header {
79 | background-position: 13% 45%;
80 | background-repeat: no-repeat;
81 |
82 | &:before {
83 | background: rgba(2, 2, 2, 0.5);
84 | }
85 | }
86 |
87 | /* FAQ Page Header */
88 |
89 | .faq-page-header:before {
90 | background: rgba(2, 2, 2, 0.15);
91 | }
92 |
93 | /* Blog Page Header */
94 |
95 | .blog-page-header {
96 | background-position: 50% 24%;
97 | background-repeat: no-repeat;
98 |
99 | &:before {
100 | background: rgba(2, 2, 2, 0.3);
101 | }
102 | }
103 |
104 | /* Restaurant menu Page Header */
105 |
106 | .restaurant-menu-bg:before {
107 | background: rgba(2, 2, 2, 0.4);
108 | }
109 |
110 | .restaurant-page-header:before {
111 | background: rgba(0, 0, 0, 0.45);
112 | }
113 |
114 | .restaurant-image-overlay:before {
115 | background-color: rgba(2, 2, 2, 0.25);
116 | }
117 |
118 | /* Portfolio Page Header */
119 |
120 | .portfolio-page-header {
121 | background-position: 50% 50%;
122 |
123 | &:before {
124 | background: rgba(45, 45, 45, 0.45);
125 | }
126 | }
127 |
128 | /* Landing Page Header */
129 |
130 | .landing-header:before {
131 | position: absolute;
132 | background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(119, 47, 109, 0.52) 95%, rgba(115, 35, 105, 0.58) 100%);
133 | content: " ";
134 | height: 100%;
135 | width: 100%;
136 | left: 0;
137 | top: 0;
138 | }
139 |
140 | .banner-img {
141 | margin-top: -145px;
142 | }
143 |
144 | .shop-page-header:before {
145 | background: rgba(34, 34, 34, 0.3);
146 | }
--------------------------------------------------------------------------------
/assets/lib/ev-emitter/ev-emitter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * EvEmitter v1.0.3
3 | * Lil' event emitter
4 | * MIT License
5 | */
6 |
7 | /* jshint unused: true, undef: true, strict: true */
8 |
9 | ( function( global, factory ) {
10 | // universal module definition
11 | /* jshint strict: false */ /* globals define, module, window */
12 | if ( typeof define == 'function' && define.amd ) {
13 | // AMD - RequireJS
14 | define( factory );
15 | } else if ( typeof module == 'object' && module.exports ) {
16 | // CommonJS - Browserify, Webpack
17 | module.exports = factory();
18 | } else {
19 | // Browser globals
20 | global.EvEmitter = factory();
21 | }
22 |
23 | }( typeof window != 'undefined' ? window : this, function() {
24 |
25 | "use strict";
26 |
27 | function EvEmitter() {}
28 |
29 | var proto = EvEmitter.prototype;
30 |
31 | proto.on = function( eventName, listener ) {
32 | if ( !eventName || !listener ) {
33 | return;
34 | }
35 | // set events hash
36 | var events = this._events = this._events || {};
37 | // set listeners array
38 | var listeners = events[ eventName ] = events[ eventName ] || [];
39 | // only add once
40 | if ( listeners.indexOf( listener ) == -1 ) {
41 | listeners.push( listener );
42 | }
43 |
44 | return this;
45 | };
46 |
47 | proto.once = function( eventName, listener ) {
48 | if ( !eventName || !listener ) {
49 | return;
50 | }
51 | // add event
52 | this.on( eventName, listener );
53 | // set once flag
54 | // set onceEvents hash
55 | var onceEvents = this._onceEvents = this._onceEvents || {};
56 | // set onceListeners object
57 | var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
58 | // set flag
59 | onceListeners[ listener ] = true;
60 |
61 | return this;
62 | };
63 |
64 | proto.off = function( eventName, listener ) {
65 | var listeners = this._events && this._events[ eventName ];
66 | if ( !listeners || !listeners.length ) {
67 | return;
68 | }
69 | var index = listeners.indexOf( listener );
70 | if ( index != -1 ) {
71 | listeners.splice( index, 1 );
72 | }
73 |
74 | return this;
75 | };
76 |
77 | proto.emitEvent = function( eventName, args ) {
78 | var listeners = this._events && this._events[ eventName ];
79 | if ( !listeners || !listeners.length ) {
80 | return;
81 | }
82 | var i = 0;
83 | var listener = listeners[i];
84 | args = args || [];
85 | // once stuff
86 | var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
87 |
88 | while ( listener ) {
89 | var isOnce = onceListeners && onceListeners[ listener ];
90 | if ( isOnce ) {
91 | // remove listener
92 | // remove before trigger to prevent recursion
93 | this.off( eventName, listener );
94 | // unset once flag
95 | delete onceListeners[ listener ];
96 | }
97 | // trigger listener
98 | listener.apply( this, args );
99 | // get next listener
100 | i += isOnce ? 0 : 1;
101 | listener = listeners[i];
102 | }
103 |
104 | return this;
105 | };
106 |
107 | return EvEmitter;
108 |
109 | }));
110 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/ROADMAP.md:
--------------------------------------------------------------------------------
1 | # OwlCarousel 2 Roadmap
2 |
3 | You can discuss the roadmap here: #1756
4 |
5 | ## 2.2 - current version
6 |
7 | ## 2.3 - bugfixes, repo migration, minor features
8 |
9 | - [ ] clean up contributor guides
10 | - [ ] work through, accept or schedule PRs from current stack
11 | - [ ] [#1602](https://github.com/OwlCarousel2/OwlCarousel2/issues/1602) - CSS transitions fail except for default
12 | - [ ] update progress in [#1538](https://github.com/OwlCarousel2/OwlCarousel2/issues/1538)
13 | - [ ] [#1704](https://github.com/OwlCarousel2/OwlCarousel2/issues/1704) - viewport width detection
14 | - [ ] [#1717](https://github.com/OwlCarousel2/OwlCarousel2/issues/1717) - keyboard control
15 | - [ ] move repo to company account (https://github.com/medienpark)
16 |
17 | ## 2.4 - finish up build pipeline, docs
18 |
19 | - [ ] [#1330](https://github.com/OwlCarousel2/OwlCarousel2/issues/1330) - finish moving to gulp
20 | - [ ] ditto for moving to assemble for docs
21 | - [ ] [#1666](https://github.com/OwlCarousel2/OwlCarousel2/issues/1666) - RTL center mode
22 | - [ ] [#1613](https://github.com/OwlCarousel2/OwlCarousel2/issues/1613) - generic plugin integration
23 |
24 | ## 2.5 - cloning & worker cleanup
25 |
26 | - [ ] worker cleanup
27 | - [ ] clone computation fix (and provide consistent access to slides)
28 | - [ ] [#1575](https://github.com/OwlCarousel2/OwlCarousel2/issues/1575) & [#1621](https://github.com/OwlCarousel2/OwlCarousel2/issues/1621) - AutoHeight fixes
29 | - [ ] [#1511](https://github.com/OwlCarousel2/OwlCarousel2/issues/1511) - do not disable nav when center = true & length == items
30 |
31 | ## 2.6 - cleanup, code style, repo cleanup
32 |
33 | - [ ] clean up code ToDos
34 | - [ ] fix code style
35 | - [ ] check whether we want to support velocity.js (at least optionally)
36 | - [ ] close not-yet-tagged issues older than 8 month
37 | - [ ] [#1518](https://github.com/OwlCarousel2/OwlCarousel2/issues/1518) - slide change event issues (not cancelling events etc.)
38 | - [ ] [#1563](https://github.com/OwlCarousel2/OwlCarousel2/issues/1563) - slide offset on last if loop = false
39 | - [ ] [#1633](https://github.com/OwlCarousel2/OwlCarousel2/issues/1633) & [#1627](https://github.com/OwlCarousel2/OwlCarousel2/issues/1627) - (merged items) swipe/autoplay (mostly testing whether the worker/clone fixes in 2.5 solved this)
40 | - [ ] [#1723](https://github.com/OwlCarousel2/OwlCarousel2/issues/1723) & [#1655](https://github.com/OwlCarousel2/OwlCarousel2/issues/1655) - Autoplay bugs
41 |
42 | ## 2.7 - bugfixes & final, "LTS" 2.x release
43 |
44 | - [ ] [#1647](https://github.com/OwlCarousel2/OwlCarousel2/issues/1647) - 1px from prev. slide on current
45 | - [ ] [#1523](https://github.com/OwlCarousel2/OwlCarousel2/issues/1523) - autoplay vs. video autoplay issue
46 | - [ ] [#1471](https://github.com/OwlCarousel2/OwlCarousel2/issues/1471) - pause autoplay on hover
47 | - [ ] [#1343](https://github.com/OwlCarousel2/OwlCarousel2/issues/1343) - timeout per slide
48 |
49 | ## 3.0 - Typescript, additional plugins, breaking changes
50 |
51 | - [ ] TypeScript refactoring
52 | - [ ] remove css-mimicking settings (such as margins) and use CSS instead
53 | - [ ] overlay plugin (to support overlay transitions etc.)
54 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/src/js/owl.hash.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Hash Plugin
3 | * @version 2.1.0
4 | * @author Artus Kolanowski
5 | * @author David Deutsch
6 | * @license The MIT License (MIT)
7 | */
8 | ;(function($, window, document, undefined) {
9 | 'use strict';
10 |
11 | /**
12 | * Creates the hash plugin.
13 | * @class The Hash Plugin
14 | * @param {Owl} carousel - The Owl Carousel
15 | */
16 | var Hash = function(carousel) {
17 | /**
18 | * Reference to the core.
19 | * @protected
20 | * @type {Owl}
21 | */
22 | this._core = carousel;
23 |
24 | /**
25 | * Hash index for the items.
26 | * @protected
27 | * @type {Object}
28 | */
29 | this._hashes = {};
30 |
31 | /**
32 | * The carousel element.
33 | * @type {jQuery}
34 | */
35 | this.$element = this._core.$element;
36 |
37 | /**
38 | * All event handlers.
39 | * @protected
40 | * @type {Object}
41 | */
42 | this._handlers = {
43 | 'initialized.owl.carousel': $.proxy(function(e) {
44 | if (e.namespace && this._core.settings.startPosition === 'URLHash') {
45 | $(window).trigger('hashchange.owl.navigation');
46 | }
47 | }, this),
48 | 'prepared.owl.carousel': $.proxy(function(e) {
49 | if (e.namespace) {
50 | var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');
51 |
52 | if (!hash) {
53 | return;
54 | }
55 |
56 | this._hashes[hash] = e.content;
57 | }
58 | }, this),
59 | 'changed.owl.carousel': $.proxy(function(e) {
60 | if (e.namespace && e.property.name === 'position') {
61 | var current = this._core.items(this._core.relative(this._core.current())),
62 | hash = $.map(this._hashes, function(item, hash) {
63 | return item === current ? hash : null;
64 | }).join();
65 |
66 | if (!hash || window.location.hash.slice(1) === hash) {
67 | return;
68 | }
69 |
70 | window.location.hash = hash;
71 | }
72 | }, this)
73 | };
74 |
75 | // set default options
76 | this._core.options = $.extend({}, Hash.Defaults, this._core.options);
77 |
78 | // register the event handlers
79 | this.$element.on(this._handlers);
80 |
81 | // register event listener for hash navigation
82 | $(window).on('hashchange.owl.navigation', $.proxy(function(e) {
83 | var hash = window.location.hash.substring(1),
84 | items = this._core.$stage.children(),
85 | position = this._hashes[hash] && items.index(this._hashes[hash]);
86 |
87 | if (position === undefined || position === this._core.current()) {
88 | return;
89 | }
90 |
91 | this._core.to(this._core.relative(position), false, true);
92 | }, this));
93 | };
94 |
95 | /**
96 | * Default options.
97 | * @public
98 | */
99 | Hash.Defaults = {
100 | URLhashListener: false
101 | };
102 |
103 | /**
104 | * Destroys the plugin.
105 | * @public
106 | */
107 | Hash.prototype.destroy = function() {
108 | var handler, property;
109 |
110 | $(window).off('hashchange.owl.navigation');
111 |
112 | for (handler in this._handlers) {
113 | this._core.$element.off(handler, this._handlers[handler]);
114 | }
115 | for (property in Object.getOwnPropertyNames(this)) {
116 | typeof this[property] != 'function' && (this[property] = null);
117 | }
118 | };
119 |
120 | $.fn.owlCarousel.Constructor.Plugins.Hash = Hash;
121 |
122 | })(window.Zepto || window.jQuery, window, document);
123 |
--------------------------------------------------------------------------------
/assets/scss/_navbar.scss:
--------------------------------------------------------------------------------
1 | .navbar-custom {
2 | background-color: rgba(10, 10, 10, .9);
3 | border: 0;
4 | border-radius: 0;
5 | z-index: 1000;
6 | font-family: "Roboto Condensed", sans-serif;
7 | text-transform: uppercase;
8 | letter-spacing: 3px;
9 | font-size: 11px;
10 | -webkit-transition: background, padding 0.4s ease-in-out 0s;
11 | -moz-transition: background, padding 0.4s ease-in-out 0s;
12 | -ms-transition: background, padding 0.4s ease-in-out 0s;
13 | -o-transition: background, padding 0.4s ease-in-out 0s;
14 | transition: background, padding 0.4s ease-in-out 0s;
15 | }
16 |
17 | .navbar a {
18 | -webkit-transition: color 0.125s ease-in-out 0s;
19 | -moz-transition: color 0.125s ease-in-out 0s;
20 | -ms-transition: color 0.125s ease-in-out 0s;
21 | -o-transition: color 0.125s ease-in-out 0s;
22 | transition: color 0.125s ease-in-out 0s;
23 | }
24 |
25 | .navbar-custom .dropdown-menu {
26 | background: rgba(26, 26, 26, .9);
27 | border-radius: 0;
28 | border: 0;
29 | padding: 0;
30 | -webkit-box-shadow: none;
31 | box-shadow: none;
32 | }
33 |
34 | .navbar-custom .navbar-brand {
35 | letter-spacing: 4px;
36 | font-weight: 400;
37 | font-size: 22px;
38 | color: #fff;
39 | }
40 |
41 | .navbar-custom .nav li > a {
42 | position: relative;
43 | color: rgba(255, 255, 255, .7);
44 | }
45 |
46 | .navbar-custom .dropdown-menu > li > a {
47 | border-bottom: 1px solid rgba(73, 71, 71, 0.15) !important;
48 | padding: 11px 15px;
49 | letter-spacing: 2px;
50 | color: #999;
51 | }
52 |
53 | .navbar-custom .dropdown-menu .dropdown-menu {
54 | border-left: 1px solid rgba(73, 71, 71, 0.15);
55 | left: 100%;
56 | right: auto;
57 | top: 0;
58 | margin-top: 0;
59 | }
60 |
61 | .navbar-custom .dropdown-menu.left-side .dropdown-menu {
62 | border: 0;
63 | border-right: 1px solid rgba(73, 71, 71, 0.15);
64 | right: 100%;
65 | left: auto;
66 | }
67 |
68 | .navbar-custom .nav > li > a:focus,
69 | .navbar-custom .nav > li > a:hover,
70 | .navbar-custom .nav .open > a,
71 | .navbar-custom .nav .open > a:focus,
72 | .navbar-custom .nav .open > a:hover,
73 | .navbar-custom .dropdown-menu > li > a:focus,
74 | .navbar-custom .dropdown-menu > li > a:hover {
75 | background: none;
76 | color: #fff;
77 | }
78 |
79 | .navbar-custom .dropdown-menu > li > a:hover {
80 | background: rgba(255, 255, 255, .1) !important;
81 | }
82 |
83 | .navbar-custom .dropdown-toggle:after {
84 | position: absolute;
85 | display: block;
86 | right: 0;
87 | top: 50%;
88 | margin-top: -6px;
89 | font: normal normal normal 14px/1 FontAwesome;
90 | font-size: 9px;
91 | content: "\f107";
92 | text-rendering: auto;
93 | -webkit-font-smoothing: antialiased;
94 | -moz-osx-font-smoothing: grayscale;
95 | }
96 |
97 | .navbar-custom .navbar-toggle .icon-bar {
98 | background: #fff;
99 | }
100 |
101 | .dropdown-menu {
102 | min-width: 180px;
103 | font-size: 11px;
104 | }
105 |
106 | /* Navbar search
107 |
108 | .dropdown-search {
109 | position: relative;
110 | padding: 5px;
111 | }
112 |
113 | .dropdown-search .form-control {
114 | -webkit-border-radius: 0;
115 | -moz-border-radius: 0;
116 | border-radius: 0;
117 | text-transform: uppercase;
118 | letter-spacing: 2px;
119 | font-size: 11px;
120 | }
121 |
122 | .search-btn {
123 | position: absolute;
124 | background: transparent;
125 | border: none;
126 | overflow: hidden;
127 | top: 50%;
128 | right: 1px;
129 | width: 42px;
130 | height: 40px;
131 | line-height: 38px;
132 | font-size: 14px;
133 | outline: none;
134 | color: #999;
135 | margin-top: -20px;
136 | }*/
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/src/js/owl.animate.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Animate Plugin
3 | * @version 2.1.0
4 | * @author Bartosz Wojciechowski
5 | * @author David Deutsch
6 | * @license The MIT License (MIT)
7 | */
8 | ;(function($, window, document, undefined) {
9 |
10 | /**
11 | * Creates the animate plugin.
12 | * @class The Navigation Plugin
13 | * @param {Owl} scope - The Owl Carousel
14 | */
15 | var Animate = function(scope) {
16 | this.core = scope;
17 | this.core.options = $.extend({}, Animate.Defaults, this.core.options);
18 | this.swapping = true;
19 | this.previous = undefined;
20 | this.next = undefined;
21 |
22 | this.handlers = {
23 | 'change.owl.carousel': $.proxy(function(e) {
24 | if (e.namespace && e.property.name == 'position') {
25 | this.previous = this.core.current();
26 | this.next = e.property.value;
27 | }
28 | }, this),
29 | 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {
30 | if (e.namespace) {
31 | this.swapping = e.type == 'translated';
32 | }
33 | }, this),
34 | 'translate.owl.carousel': $.proxy(function(e) {
35 | if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {
36 | this.swap();
37 | }
38 | }, this)
39 | };
40 |
41 | this.core.$element.on(this.handlers);
42 | };
43 |
44 | /**
45 | * Default options.
46 | * @public
47 | */
48 | Animate.Defaults = {
49 | animateOut: false,
50 | animateIn: false
51 | };
52 |
53 | /**
54 | * Toggles the animation classes whenever an translations starts.
55 | * @protected
56 | * @returns {Boolean|undefined}
57 | */
58 | Animate.prototype.swap = function() {
59 |
60 | if (this.core.settings.items !== 1) {
61 | return;
62 | }
63 |
64 | if (!$.support.animation || !$.support.transition) {
65 | return;
66 | }
67 |
68 | this.core.speed(0);
69 |
70 | var left,
71 | clear = $.proxy(this.clear, this),
72 | previous = this.core.$stage.children().eq(this.previous),
73 | next = this.core.$stage.children().eq(this.next),
74 | incoming = this.core.settings.animateIn,
75 | outgoing = this.core.settings.animateOut;
76 |
77 | if (this.core.current() === this.previous) {
78 | return;
79 | }
80 |
81 | if (outgoing) {
82 | left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);
83 | previous.one($.support.animation.end, clear)
84 | .css( { 'left': left + 'px' } )
85 | .addClass('animated owl-animated-out')
86 | .addClass(outgoing);
87 | }
88 |
89 | if (incoming) {
90 | next.one($.support.animation.end, clear)
91 | .addClass('animated owl-animated-in')
92 | .addClass(incoming);
93 | }
94 | };
95 |
96 | Animate.prototype.clear = function(e) {
97 | $(e.target).css( { 'left': '' } )
98 | .removeClass('animated owl-animated-out owl-animated-in')
99 | .removeClass(this.core.settings.animateIn)
100 | .removeClass(this.core.settings.animateOut);
101 | this.core.onTransitionEnd();
102 | };
103 |
104 | /**
105 | * Destroys the plugin.
106 | * @public
107 | */
108 | Animate.prototype.destroy = function() {
109 | var handler, property;
110 |
111 | for (handler in this.handlers) {
112 | this.core.$element.off(handler, this.handlers[handler]);
113 | }
114 | for (property in Object.getOwnPropertyNames(this)) {
115 | typeof this[property] != 'function' && (this[property] = null);
116 | }
117 | };
118 |
119 | $.fn.owlCarousel.Constructor.Plugins.Animate = Animate;
120 |
121 | })(window.Zepto || window.jQuery, window, document);
122 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/events.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Events Demo
3 | subTitle: Events
4 | nav: demos
5 | description: Events usage demo
6 | sort: 7
7 | published: true
8 |
9 | tags:
10 | - demo
11 | - core
12 | ---
13 |
14 |
15 |
1
16 |
2
17 |
3
18 |
4
19 |
5
20 |
6
21 |
7
22 |
8
23 |
9
24 |
10
25 |
11
26 |
12
27 |
28 |
29 |
30 |
on initialize.owl.carousel
31 |
on initialized.owl.carousel
32 |
on resize.owl.carousel
33 |
on resized.owl.carousel
34 |
on refresh.owl.carousel
35 |
on refreshed.owl.carousel
36 |
on update.owl.carousel
37 |
on updated.owl.carousel
38 |
on drag.owl.carousel
39 |
on dragged.owl.carousel
40 |
on translate.owl.carousel
41 |
on translated.owl.carousel
42 |
on to.owl.carousel
43 |
on changed.owl.carousel
44 |
45 |
46 |
47 | {{#markdown }}
48 | ### Overview
49 |
50 | Notice that `initialize.owl.carousel` and `initialized.owl.carousel` events must be attached before Owl Carousel initialization. This is required only for those two.
51 |
52 | `changed.owl.carousel` event is attached to the main Owl Carousel animation method so that every carousel move triggers this callback.
53 |
54 | {{/markdown }}
55 |
56 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/docs_src/templates/pages/demos/video.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Video Demo
3 | subTitle: Video
4 | nav: demos
5 | description: Owl Carousel supports YouTube, Vimeo, and vzaar videos
6 | sort: 2
7 |
8 | tags:
9 | - demo
10 | - plugin
11 | ---
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | {{#markdown }}
25 | ### Overview
26 |
27 | Enable video option:
28 | ```
29 | video:true
30 | ```
31 | To add video into carousel just put ` `.
32 |
33 | A tag is not mandatory, it can be any other tag but "owl-video" and href with url link is required.
34 |
35 |
36 | Additional video options:
37 |
38 | ```
39 | videoWidth: false, // Default false; Type: Boolean/Number
40 | videoHeight: false, // Default false; Type: Boolean/Number
41 | ```
42 |
43 | ### Setup
44 | ```
45 | $('.owl-carousel').owlCarousel({
46 | items:1,
47 | merge:true,
48 | loop:true,
49 | margin:10,
50 | video:true,
51 | lazyLoad:true,
52 | center:true,
53 | responsive:{
54 | 480:{
55 | items:2
56 | },
57 | 600:{
58 | items:4
59 | }
60 | }
61 | })
62 | ```
63 | ### html
64 | ```
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 | ```
76 |
77 | {{/markdown }}
78 |
79 |
100 |
--------------------------------------------------------------------------------
/assets/scss/_portfolio.scss:
--------------------------------------------------------------------------------
1 | /* Portfolio filter */
2 |
3 | .filter {
4 | text-align: center;
5 | list-style: none;
6 | padding: 0;
7 | margin: 0 0 70px;
8 | }
9 |
10 | .filter > li {
11 | display: inline-block;
12 | padding: 0 0 10px;
13 | margin: 0 25px;
14 | }
15 |
16 | /* Portfolio grid */
17 |
18 | .works-grid {
19 | list-style: none;
20 | padding: 0;
21 | margin: 0;
22 | }
23 |
24 | .works-grid.works-grid-gut {
25 | margin: 0 0 0 -10px;
26 | }
27 |
28 | .works-grid.works-grid-gut .work-item {
29 | padding: 0 0 10px 10px;
30 | }
31 |
32 | .work-item {
33 | width: 50%;
34 | float: left;
35 | margin: 0;
36 | }
37 |
38 | .works-grid-3 .work-item {
39 | width: 33.3333%;
40 | }
41 |
42 | .container .works-grid-3 .work-item {
43 | width: 33.2%;
44 | }
45 |
46 | .works-grid-4 .work-item {
47 | width: 25%;
48 | }
49 |
50 | .works-grid-5 .work-item {
51 | width: 20%;
52 | }
53 |
54 | .work-item > a {
55 | position: relative;
56 | display: block;
57 | overflow: hidden;
58 | }
59 |
60 | .work-image {
61 | position: relative;
62 | overflow: hidden;
63 | }
64 |
65 | .work-image img {
66 | display: block;
67 | overflow: hidden;
68 | width: 100%;
69 | }
70 |
71 | .work-image:after {
72 | position: absolute;
73 | display: block;
74 | content: "";
75 | height: 100%;
76 | width: 100%;
77 | top: 0;
78 | left: 0;
79 | }
80 |
81 | .work-caption {
82 | width: 100%;
83 | padding: 0 20px;
84 | opacity: 0;
85 | position: absolute;
86 | bottom: 100%;
87 | left: 0;
88 | text-align: center;
89 | overflow: hidden;
90 | }
91 |
92 | .work-title {
93 | font-size: 14px;
94 | color: #fff;
95 | margin: 0 0 6px;
96 | }
97 |
98 | .work-descr {
99 | color: #aaa;
100 | }
101 |
102 | .work-item:hover .work-image:after {
103 | background: rgba(0, 0, 0, .6);
104 | }
105 |
106 | .work-item:hover .work-image > img {
107 | -webkit-transform: scale(1.1) rotate(2deg);
108 | -moz-transform: scale(1.1) rotate(2deg);
109 | -ms-transform: scale(1.1) rotate(2deg);
110 | -o-transform: scale(1.1) rotate(2deg);
111 | transform: scale(1.1) rotate(2deg);
112 | }
113 |
114 | .work-item:hover .work-caption {
115 | bottom: 50%;
116 | opacity: 1;
117 | z-index: 3;
118 | -webkit-transform: translateY(50%);
119 | -moz-transform: translateY(50%);
120 | transform: translateY(50%);
121 | }
122 |
123 | /* Work item white background*/
124 |
125 | .works-grid.works-hover-w .work-title {
126 | color: #111;
127 | }
128 |
129 | .works-grid.works-hover-w .work-item:hover .work-image:after {
130 | background: rgba(255, 255, 255, .8);
131 | }
132 |
133 | /* Work item gradien background*/
134 |
135 | .works-grid.works-hover-g .work-image:after {
136 | opacity: 0;
137 | }
138 |
139 | .works-grid.works-hover-g .work-descr {
140 | color: #fff;
141 | }
142 |
143 | .works-grid.works-hover-g .work-item:hover .work-image:after {
144 | background: rgb(111,226,158);
145 | background: -moz-linear-gradient(-45deg, rgba(111,226,158,0.8) 0%, rgba(91,218,209,0.8) 100%);
146 | background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(111,226,158,0.8)), color-stop(100%,rgba(91,218,209,0.8)));
147 | background: -webkit-linear-gradient(-45deg, rgba(111,226,158,0.8) 0%,rgba(91,218,209,0.8) 100%);
148 | background: -o-linear-gradient(-45deg, rgba(111,226,158,0.8) 0%,rgba(91,218,209,0.8) 100%);
149 | background: -ms-linear-gradient(-45deg, rgba(111,226,158,0.8) 0%,rgba(91,218,209,0.8) 100%);
150 | background: linear-gradient(135deg, rgba(111,226,158,0.8) 0%,rgba(91,218,209,0.8) 100%);
151 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6fe29e', endColorstr='#5bdad1',GradientType=1 );
152 | opacity: 1;
153 | }
154 |
155 | .sliding-portfolio {
156 | .work-item {
157 | width: 100%;
158 | }
159 | }
--------------------------------------------------------------------------------
/assets/lib/simple-text-rotator/simpletextrotator.css:
--------------------------------------------------------------------------------
1 | .rotating {
2 | display: inline-block;
3 | -webkit-transform-style: preserve-3d;
4 | -moz-transform-style: preserve-3d;
5 | -ms-transform-style: preserve-3d;
6 | -o-transform-style: preserve-3d;
7 | transform-style: preserve-3d;
8 | -webkit-transform: rotateX(0) rotateY(0) rotateZ(0);
9 | -moz-transform: rotateX(0) rotateY(0) rotateZ(0);
10 | -ms-transform: rotateX(0) rotateY(0) rotateZ(0);
11 | -o-transform: rotateX(0) rotateY(0) rotateZ(0);
12 | transform: rotateX(0) rotateY(0) rotateZ(0);
13 | -webkit-transition: 0.5s;
14 | -moz-transition: 0.5s;
15 | -ms-transition: 0.5s;
16 | -o-transition: 0.5s;
17 | transition: 0.5s;
18 | -webkit-transform-origin-x: 50%;
19 | }
20 |
21 | .rotating.flip {
22 | position: relative;
23 | }
24 |
25 | .rotating .front, .rotating .back {
26 | left: 0;
27 | top: 0;
28 | -webkit-backface-visibility: hidden;
29 | -moz-backface-visibility: hidden;
30 | -ms-backface-visibility: hidden;
31 | -o-backface-visibility: hidden;
32 | backface-visibility: hidden;
33 | }
34 |
35 | .rotating .front {
36 | position: absolute;
37 | display: inline-block;
38 | -webkit-transform: translate3d(0,0,1px);
39 | -moz-transform: translate3d(0,0,1px);
40 | -ms-transform: translate3d(0,0,1px);
41 | -o-transform: translate3d(0,0,1px);
42 | transform: translate3d(0,0,1px);
43 | }
44 |
45 | .rotating.flip .front {
46 | z-index: 1;
47 | }
48 |
49 | .rotating .back {
50 | display: block;
51 | opacity: 0;
52 | }
53 |
54 | .rotating.spin {
55 | -webkit-transform: rotate(360deg) scale(0);
56 | -moz-transform: rotate(360deg) scale(0);
57 | -ms-transform: rotate(360deg) scale(0);
58 | -o-transform: rotate(360deg) scale(0);
59 | transform: rotate(360deg) scale(0);
60 | }
61 |
62 |
63 |
64 | .rotating.flip .back {
65 | z-index: 2;
66 | display: block;
67 | opacity: 1;
68 |
69 | -webkit-transform: rotateY(180deg) translate3d(0,0,0);
70 | -moz-transform: rotateY(180deg) translate3d(0,0,0);
71 | -ms-transform: rotateY(180deg) translate3d(0,0,0);
72 | -o-transform: rotateY(180deg) translate3d(0,0,0);
73 | transform: rotateY(180deg) translate3d(0,0,0);
74 | }
75 |
76 | .rotating.flip.up .back {
77 | -webkit-transform: rotateX(180deg) translate3d(0,0,0);
78 | -moz-transform: rotateX(180deg) translate3d(0,0,0);
79 | -ms-transform: rotateX(180deg) translate3d(0,0,0);
80 | -o-transform: rotateX(180deg) translate3d(0,0,0);
81 | transform: rotateX(180deg) translate3d(0,0,0);
82 | }
83 |
84 | .rotating.flip.cube .front {
85 | -webkit-transform: translate3d(0,0,100px) scale(0.9,0.9);
86 | -moz-transform: translate3d(0,0,100px) scale(0.85,0.85);
87 | -ms-transform: translate3d(0,0,100px) scale(0.85,0.85);
88 | -o-transform: translate3d(0,0,100px) scale(0.85,0.85);
89 | transform: translate3d(0,0,100px) scale(0.85,0.85);
90 | }
91 |
92 | .rotating.flip.cube .back {
93 | -webkit-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.9,0.9);
94 | -moz-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85);
95 | -ms-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85);
96 | -o-transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85);
97 | transform: rotateY(180deg) translate3d(0,0,100px) scale(0.85,0.85);
98 | }
99 |
100 | .rotating.flip.cube.up .back {
101 | -webkit-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.9,0.9);
102 | -moz-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85);
103 | -ms-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85);
104 | -o-transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85);
105 | transform: rotateX(180deg) translate3d(0,0,100px) scale(0.85,0.85);
106 | }
--------------------------------------------------------------------------------
/assets/scss/_widgets.scss:
--------------------------------------------------------------------------------
1 | /* Progress bars */
2 |
3 | .progress {
4 | overflow: visible;
5 | height: 4px;
6 | }
7 |
8 | .progress-bar {
9 | position: relative;
10 | }
11 |
12 | .progress-bar.pb-dark {
13 | background: #111;
14 | }
15 |
16 | .progress-bar span {
17 | position: absolute;
18 | display: block;
19 | right: -0px;
20 | top: -24px;
21 | opacity: 0;
22 | line-height: 12px;
23 | font-size: 12px;
24 | color: #111;
25 | padding: 4px 0px;
26 | }
27 |
28 | .progress-bar span:after {
29 | display: inline-block;
30 | content: "%";
31 | }
32 |
33 | /* Tabs */
34 |
35 | .tab-content .tab-pane {
36 | padding: 20px 0;
37 | }
38 |
39 | /* Accordion */
40 |
41 | .panel-title {
42 | font-size: 14px;
43 | }
44 |
45 | .panel-heading a {
46 | position: relative;
47 | display: block;
48 | }
49 |
50 | .panel-heading a:after {
51 | position: absolute;
52 | content: "\f106";
53 | top: 50%;
54 | right: 0px;
55 | font-family: "FontAwesome";
56 | line-height: 1;
57 | font-size: 14px;
58 | margin-top: -7px;
59 | }
60 |
61 | .panel-heading a.collapsed:after {
62 | content: "\f107";
63 | }
64 |
65 | /* Tables */
66 |
67 | .table-border > tbody > tr > td,
68 | .table-border > tbody > tr > th,
69 | .table-border > tfoot > tr > td,
70 | .table-border > tfoot > tr > th,
71 | .table-border > thead > tr > td,
72 | .table-border > thead > tr > th {
73 | border-color: #e5e5e5;
74 | }
75 |
76 | .ds-table > tbody > tr > td,
77 | .ds-table > tbody > tr > th,
78 | .ds-table > tfoot > tr > td,
79 | .ds-table > tfoot > tr > th,
80 | .ds-table > thead > tr > td,
81 | .ds-table > thead > tr > th {
82 | border-top: 0;
83 | }
84 |
85 | .checkout-table {
86 | border: 1px solid #e5e5e5;
87 |
88 | }
89 |
90 |
91 | .checkout-table > tbody > tr > td,
92 | .checkout-table > tbody > tr > th,
93 | .checkout-table > tfoot > tr > td,
94 | .checkout-table > tfoot > tr > th,
95 | .checkout-table > thead > tr > td,
96 | .checkout-table > thead > tr > th {
97 | padding: 12px;
98 | }
99 |
100 | .checkout-table tr td,
101 | .checkout-table tr th {
102 | border-top: 1px solid #e5e5e5;
103 | border-bottom: 1px solid #e5e5e5;
104 | border-right: 1px solid #e5e5e5;
105 | border-left: 1px solid #e5e5e5;
106 | }
107 |
108 | .checkout-table tbody tr td:first-child,
109 | .checkout-table tbody tr th:first-child {
110 | max-width: 36px;
111 | }
112 |
113 | /* Sidebar / Widget common*/
114 |
115 | .sidebar .widget {
116 | margin-bottom: 60px;
117 | }
118 |
119 | .sidebar .widget-title {
120 | color: #111;
121 | }
122 |
123 | .widget .widget-title {
124 | border-bottom: 1px dotted #c2c2c2;
125 | font-size: 14px;
126 | padding: 0 0 10px;
127 | margin: 0 0 15px;
128 | }
129 |
130 | .widget ul {
131 | list-style: none;
132 | padding: 0;
133 | margin: 0;
134 | }
135 |
136 | /* Icon List */
137 |
138 | .widget .icon-list li {
139 | padding: 5px 0;
140 | }
141 |
142 | .widget .icon-list li a:before {
143 | content: "\00BB";
144 | color: #666666;
145 | padding-right: 5px;
146 | }
147 |
148 | /* Posts */
149 |
150 | .widget-posts li {
151 | margin: 0 0 15px;
152 | }
153 |
154 | .widget-posts li:last-child {
155 | margin: 0;
156 | }
157 |
158 | .widget-posts-image {
159 | float: left;
160 | width: 64px;
161 | }
162 |
163 | .widget-posts-body {
164 | margin-left: 74px;
165 | }
166 |
167 | /* Search */
168 |
169 | .search-box {
170 | position: relative;
171 | }
172 |
173 | /* Tags */
174 |
175 | .tags a {
176 | background: #111;
177 | display: inline-block;
178 | font-size: 10px;
179 | color: #fff;
180 | padding: 4px 10px 4px 12px;
181 | margin: 0 1px 4px;
182 | -webkit-border-radius: 2px;
183 | -moz-border-radius: 2px;
184 | border-radius: 2px;
185 | }
186 |
187 | .tags a:hover {
188 | background: rgba(17, 17, 17, .8);
189 | }
190 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/README.md:
--------------------------------------------------------------------------------
1 | # OwlCarousel2 is currently being transferred to a new owner
2 |
3 | Stay tuned while the new owner sorts through some stuff. (Oh, hi, I'm [David](https://github.com/daviddeutsch)!)
4 |
5 | ## Owl Carousel 2
6 |
7 | Touch enabled [jQuery](https://jquery.com/) plugin that lets you create a beautiful, responsive carousel slider. **To get started, check out https://owlcarousel2.github.io/OwlCarousel2/.**
8 |
9 | ## Quick start
10 |
11 | ### Install
12 |
13 | This package can be installed with:
14 |
15 | - [npm](https://www.npmjs.com/package/owl.carousel): `npm install --save owl.carousel`
16 | - [bower](http://bower.io/search/?q=owl.carousel): `bower install --save owl.carousel`
17 |
18 | Or download the [latest release](https://github.com/OwlCarousel2/OwlCarousel2/releases).
19 |
20 | ### Load
21 |
22 | #### Webpack
23 |
24 | Load the required stylesheet and JS:
25 |
26 | ```js
27 | import 'owl.carousel/dist/assets/owl.carousel.css';
28 | import $ from 'jquery';
29 | import 'imports?jQuery=jquery!owl.carousel';
30 | ```
31 |
32 | #### Static HTML
33 |
34 | Put the required stylesheet at the [top](https://developer.yahoo.com/performance/rules.html#css_top) of your markup:
35 |
36 | ```html
37 |
38 | ```
39 |
40 | ```html
41 |
42 | ```
43 |
44 | **NOTE:** If you want to use the default navigation styles, you will also need to include `owl.theme.default.css`.
45 |
46 |
47 | Put the script at the [bottom](https://developer.yahoo.com/performance/rules.html#js_bottom) of your markup right after jQuery:
48 |
49 | ```html
50 |
51 |
52 | ```
53 |
54 | ```html
55 |
56 |
57 | ```
58 |
59 | ### Usage
60 |
61 | Wrap your items (`div`, `a`, `img`, `span`, `li` etc.) with a container element (`div`, `ul` etc.). Only the class `owl-carousel` is mandatory to apply proper styles:
62 |
63 | ```html
64 |
65 |
Your Content
66 |
Your Content
67 |
Your Content
68 |
Your Content
69 |
Your Content
70 |
Your Content
71 |
Your Content
72 |
73 | ```
74 | **NOTE:** The `owl-theme` class is optional, but without it, you will need to style navigation features on your own.
75 |
76 |
77 | Call the [plugin](https://learn.jquery.com/plugins/) function and your carousel is ready.
78 |
79 | ```javascript
80 | $(document).ready(function(){
81 | $('.owl-carousel').owlCarousel();
82 | });
83 | ```
84 |
85 | ## Documentation
86 |
87 | The documentation, included in this repo in the root directory, is built with [Assemble](http://assemble.io/) and publicly available at https://owlcarousel2.github.io/OwlCarousel2/. The documentation may also be run locally.
88 |
89 | ## Building
90 |
91 | This package comes with [Grunt](http://gruntjs.com/) and [Bower](http://bower.io/). The following tasks are available:
92 |
93 | * `default` compiles the CSS and JS into `/dist` and builds the doc.
94 | * `dist` compiles the CSS and JS into `/dist` only.
95 | * `watch` watches source files and builds them automatically whenever you save.
96 | * `test` runs [JSHint](http://www.jshint.com/) and [QUnit](http://qunitjs.com/) tests headlessly in [PhantomJS](http://phantomjs.org/).
97 |
98 | To define which plugins are build into the distribution just edit `/_config.json` to fit your needs.
99 |
100 | ## Contributing
101 |
102 | Please read [CONTRIBUTING.md](CONTRIBUTING.md).
103 |
104 | ## License
105 |
106 | The code and the documentation are released under the [MIT License](LICENSE).
107 |
--------------------------------------------------------------------------------
/assets/lib/owl.carousel/dist/README.md:
--------------------------------------------------------------------------------
1 | # OwlCarousel2 is currently being transferred to a new owner
2 |
3 | Stay tuned while the new owner sorts through some stuff. (Oh, hi, I'm [David](https://github.com/daviddeutsch)!)
4 |
5 | ## Owl Carousel 2
6 |
7 | Touch enabled [jQuery](https://jquery.com/) plugin that lets you create a beautiful, responsive carousel slider. **To get started, check out https://owlcarousel2.github.io/OwlCarousel2/.**
8 |
9 | ## Quick start
10 |
11 | ### Install
12 |
13 | This package can be installed with:
14 |
15 | - [npm](https://www.npmjs.com/package/owl.carousel): `npm install --save owl.carousel`
16 | - [bower](http://bower.io/search/?q=owl.carousel): `bower install --save owl.carousel`
17 |
18 | Or download the [latest release](https://github.com/OwlCarousel2/OwlCarousel2/releases).
19 |
20 | ### Load
21 |
22 | #### Webpack
23 |
24 | Load the required stylesheet and JS:
25 |
26 | ```js
27 | import 'owl.carousel/dist/assets/owl.carousel.css';
28 | import $ from 'jquery';
29 | import 'imports?jQuery=jquery!owl.carousel';
30 | ```
31 |
32 | #### Static HTML
33 |
34 | Put the required stylesheet at the [top](https://developer.yahoo.com/performance/rules.html#css_top) of your markup:
35 |
36 | ```html
37 |
38 | ```
39 |
40 | ```html
41 |
42 | ```
43 |
44 | **NOTE:** If you want to use the default navigation styles, you will also need to include `owl.theme.default.css`.
45 |
46 |
47 | Put the script at the [bottom](https://developer.yahoo.com/performance/rules.html#js_bottom) of your markup right after jQuery:
48 |
49 | ```html
50 |
51 |
52 | ```
53 |
54 | ```html
55 |
56 |
57 | ```
58 |
59 | ### Usage
60 |
61 | Wrap your items (`div`, `a`, `img`, `span`, `li` etc.) with a container element (`div`, `ul` etc.). Only the class `owl-carousel` is mandatory to apply proper styles:
62 |
63 | ```html
64 |
65 |
Your Content
66 |
Your Content
67 |
Your Content
68 |
Your Content
69 |
Your Content
70 |
Your Content
71 |
Your Content
72 |
73 | ```
74 | **NOTE:** The `owl-theme` class is optional, but without it, you will need to style navigation features on your own.
75 |
76 |
77 | Call the [plugin](https://learn.jquery.com/plugins/) function and your carousel is ready.
78 |
79 | ```javascript
80 | $(document).ready(function(){
81 | $('.owl-carousel').owlCarousel();
82 | });
83 | ```
84 |
85 | ## Documentation
86 |
87 | The documentation, included in this repo in the root directory, is built with [Assemble](http://assemble.io/) and publicly available at https://owlcarousel2.github.io/OwlCarousel2/. The documentation may also be run locally.
88 |
89 | ## Building
90 |
91 | This package comes with [Grunt](http://gruntjs.com/) and [Bower](http://bower.io/). The following tasks are available:
92 |
93 | * `default` compiles the CSS and JS into `/dist` and builds the doc.
94 | * `dist` compiles the CSS and JS into `/dist` only.
95 | * `watch` watches source files and builds them automatically whenever you save.
96 | * `test` runs [JSHint](http://www.jshint.com/) and [QUnit](http://qunitjs.com/) tests headlessly in [PhantomJS](http://phantomjs.org/).
97 |
98 | To define which plugins are build into the distribution just edit `/_config.json` to fit your needs.
99 |
100 | ## Contributing
101 |
102 | Please read [CONTRIBUTING.md](CONTRIBUTING.md).
103 |
104 | ## License
105 |
106 | The code and the documentation are released under the [MIT License](LICENSE).
107 |
--------------------------------------------------------------------------------