first commit
1
public/assets/js/aos/aos.css
Normal file
448
public/assets/js/aos/aos.js
Normal file
@ -0,0 +1,448 @@
|
||||
! function (e, t) {
|
||||
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.AOS = t()
|
||||
}(this, function () {
|
||||
"use strict";
|
||||
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {},
|
||||
t = "Expected a function",
|
||||
n = NaN,
|
||||
o = "[object Symbol]",
|
||||
i = /^\s+|\s+$/g,
|
||||
a = /^[-+]0x[0-9a-f]+$/i,
|
||||
r = /^0b[01]+$/i,
|
||||
c = /^0o[0-7]+$/i,
|
||||
s = parseInt,
|
||||
u = "object" == typeof e && e && e.Object === Object && e,
|
||||
d = "object" == typeof self && self && self.Object === Object && self,
|
||||
l = u || d || Function("return this")(),
|
||||
f = Object.prototype.toString,
|
||||
m = Math.max,
|
||||
p = Math.min,
|
||||
b = function () {
|
||||
return l.Date.now()
|
||||
};
|
||||
|
||||
function v(e, n, o) {
|
||||
var i, a, r, c, s, u, d = 0,
|
||||
l = !1,
|
||||
f = !1,
|
||||
v = !0;
|
||||
if ("function" != typeof e) throw new TypeError(t);
|
||||
|
||||
function y(t) {
|
||||
var n = i,
|
||||
o = a;
|
||||
return i = a = void 0, d = t, c = e.apply(o, n)
|
||||
}
|
||||
|
||||
function h(e) {
|
||||
var t = e - u;
|
||||
return void 0 === u || t >= n || t < 0 || f && e - d >= r
|
||||
}
|
||||
|
||||
function k() {
|
||||
var e = b();
|
||||
if (h(e)) return x(e);
|
||||
s = setTimeout(k, function (e) {
|
||||
var t = n - (e - u);
|
||||
return f ? p(t, r - (e - d)) : t
|
||||
}(e))
|
||||
}
|
||||
|
||||
function x(e) {
|
||||
return s = void 0, v && i ? y(e) : (i = a = void 0, c)
|
||||
}
|
||||
|
||||
function O() {
|
||||
var e = b(),
|
||||
t = h(e);
|
||||
if (i = arguments, a = this, u = e, t) {
|
||||
if (void 0 === s) return function (e) {
|
||||
return d = e, s = setTimeout(k, n), l ? y(e) : c
|
||||
}(u);
|
||||
if (f) return s = setTimeout(k, n), y(u)
|
||||
}
|
||||
return void 0 === s && (s = setTimeout(k, n)), c
|
||||
}
|
||||
return n = w(n) || 0, g(o) && (l = !!o.leading, r = (f = "maxWait" in o) ? m(w(o.maxWait) || 0, n) : r, v = "trailing" in o ? !!o.trailing : v), O.cancel = function () {
|
||||
void 0 !== s && clearTimeout(s), d = 0, i = u = a = s = void 0
|
||||
}, O.flush = function () {
|
||||
return void 0 === s ? c : x(b())
|
||||
}, O
|
||||
}
|
||||
|
||||
function g(e) {
|
||||
var t = typeof e;
|
||||
return !!e && ("object" == t || "function" == t)
|
||||
}
|
||||
|
||||
function w(e) {
|
||||
if ("number" == typeof e) return e;
|
||||
if (function (e) {
|
||||
return "symbol" == typeof e || function (e) {
|
||||
return !!e && "object" == typeof e
|
||||
}(e) && f.call(e) == o
|
||||
}(e)) return n;
|
||||
if (g(e)) {
|
||||
var t = "function" == typeof e.valueOf ? e.valueOf() : e;
|
||||
e = g(t) ? t + "" : t
|
||||
}
|
||||
if ("string" != typeof e) return 0 === e ? e : +e;
|
||||
e = e.replace(i, "");
|
||||
var u = r.test(e);
|
||||
return u || c.test(e) ? s(e.slice(2), u ? 2 : 8) : a.test(e) ? n : +e
|
||||
}
|
||||
var y = function (e, n, o) {
|
||||
var i = !0,
|
||||
a = !0;
|
||||
if ("function" != typeof e) throw new TypeError(t);
|
||||
return g(o) && (i = "leading" in o ? !!o.leading : i, a = "trailing" in o ? !!o.trailing : a), v(e, n, {
|
||||
leading: i,
|
||||
maxWait: n,
|
||||
trailing: a
|
||||
})
|
||||
},
|
||||
h = "Expected a function",
|
||||
k = NaN,
|
||||
x = "[object Symbol]",
|
||||
O = /^\s+|\s+$/g,
|
||||
j = /^[-+]0x[0-9a-f]+$/i,
|
||||
E = /^0b[01]+$/i,
|
||||
N = /^0o[0-7]+$/i,
|
||||
z = parseInt,
|
||||
C = "object" == typeof e && e && e.Object === Object && e,
|
||||
A = "object" == typeof self && self && self.Object === Object && self,
|
||||
q = C || A || Function("return this")(),
|
||||
L = Object.prototype.toString,
|
||||
T = Math.max,
|
||||
M = Math.min,
|
||||
S = function () {
|
||||
return q.Date.now()
|
||||
};
|
||||
|
||||
function D(e) {
|
||||
var t = typeof e;
|
||||
return !!e && ("object" == t || "function" == t)
|
||||
}
|
||||
|
||||
function H(e) {
|
||||
if ("number" == typeof e) return e;
|
||||
if (function (e) {
|
||||
return "symbol" == typeof e || function (e) {
|
||||
return !!e && "object" == typeof e
|
||||
}(e) && L.call(e) == x
|
||||
}(e)) return k;
|
||||
if (D(e)) {
|
||||
var t = "function" == typeof e.valueOf ? e.valueOf() : e;
|
||||
e = D(t) ? t + "" : t
|
||||
}
|
||||
if ("string" != typeof e) return 0 === e ? e : +e;
|
||||
e = e.replace(O, "");
|
||||
var n = E.test(e);
|
||||
return n || N.test(e) ? z(e.slice(2), n ? 2 : 8) : j.test(e) ? k : +e
|
||||
}
|
||||
var $ = function (e, t, n) {
|
||||
var o, i, a, r, c, s, u = 0,
|
||||
d = !1,
|
||||
l = !1,
|
||||
f = !0;
|
||||
if ("function" != typeof e) throw new TypeError(h);
|
||||
|
||||
function m(t) {
|
||||
var n = o,
|
||||
a = i;
|
||||
return o = i = void 0, u = t, r = e.apply(a, n)
|
||||
}
|
||||
|
||||
function p(e) {
|
||||
var n = e - s;
|
||||
return void 0 === s || n >= t || n < 0 || l && e - u >= a
|
||||
}
|
||||
|
||||
function b() {
|
||||
var e = S();
|
||||
if (p(e)) return v(e);
|
||||
c = setTimeout(b, function (e) {
|
||||
var n = t - (e - s);
|
||||
return l ? M(n, a - (e - u)) : n
|
||||
}(e))
|
||||
}
|
||||
|
||||
function v(e) {
|
||||
return c = void 0, f && o ? m(e) : (o = i = void 0, r)
|
||||
}
|
||||
|
||||
function g() {
|
||||
var e = S(),
|
||||
n = p(e);
|
||||
if (o = arguments, i = this, s = e, n) {
|
||||
if (void 0 === c) return function (e) {
|
||||
return u = e, c = setTimeout(b, t), d ? m(e) : r
|
||||
}(s);
|
||||
if (l) return c = setTimeout(b, t), m(s)
|
||||
}
|
||||
return void 0 === c && (c = setTimeout(b, t)), r
|
||||
}
|
||||
return t = H(t) || 0, D(n) && (d = !!n.leading, a = (l = "maxWait" in n) ? T(H(n.maxWait) || 0, t) : a, f = "trailing" in n ? !!n.trailing : f), g.cancel = function () {
|
||||
void 0 !== c && clearTimeout(c), u = 0, o = s = i = c = void 0
|
||||
}, g.flush = function () {
|
||||
return void 0 === c ? r : v(S())
|
||||
}, g
|
||||
},
|
||||
W = function () {};
|
||||
|
||||
function P(e) {
|
||||
e && e.forEach(function (e) {
|
||||
var t = Array.prototype.slice.call(e.addedNodes),
|
||||
n = Array.prototype.slice.call(e.removedNodes);
|
||||
if (function e(t) {
|
||||
var n = void 0,
|
||||
o = void 0;
|
||||
for (n = 0; n < t.length; n += 1) {
|
||||
if ((o = t[n]).dataset && o.dataset.aos) return !0;
|
||||
if (o.children && e(o.children)) return !0
|
||||
}
|
||||
return !1
|
||||
}(t.concat(n))) return W()
|
||||
})
|
||||
}
|
||||
|
||||
function Y() {
|
||||
return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver
|
||||
}
|
||||
var _ = {
|
||||
isSupported: function () {
|
||||
return !!Y()
|
||||
},
|
||||
ready: function (e, t) {
|
||||
var n = window.document,
|
||||
o = new(Y())(P);
|
||||
W = t, o.observe(n.documentElement, {
|
||||
childList: !0,
|
||||
subtree: !0,
|
||||
removedNodes: !0
|
||||
})
|
||||
}
|
||||
},
|
||||
B = function (e, t) {
|
||||
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
|
||||
},
|
||||
F = function () {
|
||||
function e(e, t) {
|
||||
for (var n = 0; n < t.length; n++) {
|
||||
var o = t[n];
|
||||
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o)
|
||||
}
|
||||
}
|
||||
return function (t, n, o) {
|
||||
return n && e(t.prototype, n), o && e(t, o), t
|
||||
}
|
||||
}(),
|
||||
I = Object.assign || function (e) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var n = arguments[t];
|
||||
for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o])
|
||||
}
|
||||
return e
|
||||
},
|
||||
K = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,
|
||||
G = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,
|
||||
J = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,
|
||||
Q = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;
|
||||
|
||||
function R() {
|
||||
return navigator.userAgent || navigator.vendor || window.opera || ""
|
||||
}
|
||||
var U = new(function () {
|
||||
function e() {
|
||||
B(this, e)
|
||||
}
|
||||
return F(e, [{
|
||||
key: "phone",
|
||||
value: function () {
|
||||
var e = R();
|
||||
return !(!K.test(e) && !G.test(e.substr(0, 4)))
|
||||
}
|
||||
}, {
|
||||
key: "mobile",
|
||||
value: function () {
|
||||
var e = R();
|
||||
return !(!J.test(e) && !Q.test(e.substr(0, 4)))
|
||||
}
|
||||
}, {
|
||||
key: "tablet",
|
||||
value: function () {
|
||||
return this.mobile() && !this.phone()
|
||||
}
|
||||
}, {
|
||||
key: "ie11",
|
||||
value: function () {
|
||||
return "-ms-scroll-limit" in document.documentElement.style && "-ms-ime-align" in document.documentElement.style
|
||||
}
|
||||
}]), e
|
||||
}()),
|
||||
V = function (e, t) {
|
||||
var n = void 0;
|
||||
return U.ie11() ? (n = document.createEvent("CustomEvent")).initCustomEvent(e, !0, !0, {
|
||||
detail: t
|
||||
}) : n = new CustomEvent(e, {
|
||||
detail: t
|
||||
}), document.dispatchEvent(n)
|
||||
},
|
||||
X = function (e) {
|
||||
return e.forEach(function (e, t) {
|
||||
return function (e, t) {
|
||||
var n = e.options,
|
||||
o = e.position,
|
||||
i = e.node,
|
||||
a = (e.data, function () {
|
||||
e.animated && (function (e, t) {
|
||||
t && t.forEach(function (t) {
|
||||
return e.classList.remove(t)
|
||||
})
|
||||
}(i, n.animatedClassNames), V("aos:out", i), e.options.id && V("aos:in:" + e.options.id, i), e.animated = !1)
|
||||
});
|
||||
n.mirror && t >= o.out && !n.once ? a() : t >= o.in ? e.animated || (function (e, t) {
|
||||
t && t.forEach(function (t) {
|
||||
return e.classList.add(t)
|
||||
})
|
||||
}(i, n.animatedClassNames), V("aos:in", i), e.options.id && V("aos:in:" + e.options.id, i), e.animated = !0) : e.animated && !n.once && a()
|
||||
}(e, window.pageYOffset)
|
||||
})
|
||||
},
|
||||
Z = function (e) {
|
||||
for (var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);) t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
|
||||
return {
|
||||
top: n,
|
||||
left: t
|
||||
}
|
||||
},
|
||||
ee = function (e, t, n) {
|
||||
var o = e.getAttribute("data-aos-" + t);
|
||||
if (void 0 !== o) {
|
||||
if ("true" === o) return !0;
|
||||
if ("false" === o) return !1
|
||||
}
|
||||
return o || n
|
||||
},
|
||||
te = function (e, t) {
|
||||
return e.forEach(function (e, n) {
|
||||
var o = ee(e.node, "mirror", t.mirror),
|
||||
i = ee(e.node, "once", t.once),
|
||||
a = ee(e.node, "id"),
|
||||
r = t.useClassNames && e.node.getAttribute("data-aos"),
|
||||
c = [t.animatedClassName].concat(r ? r.split(" ") : []).filter(function (e) {
|
||||
return "string" == typeof e
|
||||
});
|
||||
t.initClassName && e.node.classList.add(t.initClassName), e.position = {
|
||||
in: function (e, t, n) {
|
||||
var o = window.innerHeight,
|
||||
i = ee(e, "anchor"),
|
||||
a = ee(e, "anchor-placement"),
|
||||
r = Number(ee(e, "offset", a ? 0 : t)),
|
||||
c = a || n,
|
||||
s = e;
|
||||
i && document.querySelectorAll(i) && (s = document.querySelectorAll(i)[0]);
|
||||
var u = Z(s).top - o;
|
||||
switch (c) {
|
||||
case "top-bottom":
|
||||
break;
|
||||
case "center-bottom":
|
||||
u += s.offsetHeight / 2;
|
||||
break;
|
||||
case "bottom-bottom":
|
||||
u += s.offsetHeight;
|
||||
break;
|
||||
case "top-center":
|
||||
u += o / 2;
|
||||
break;
|
||||
case "center-center":
|
||||
u += o / 2 + s.offsetHeight / 2;
|
||||
break;
|
||||
case "bottom-center":
|
||||
u += o / 2 + s.offsetHeight;
|
||||
break;
|
||||
case "top-top":
|
||||
u += o;
|
||||
break;
|
||||
case "bottom-top":
|
||||
u += o + s.offsetHeight;
|
||||
break;
|
||||
case "center-top":
|
||||
u += o + s.offsetHeight / 2
|
||||
}
|
||||
return u + r
|
||||
}(e.node, t.offset, t.anchorPlacement),
|
||||
out: o && function (e, t) {
|
||||
window.innerHeight;
|
||||
var n = ee(e, "anchor"),
|
||||
o = ee(e, "offset", t),
|
||||
i = e;
|
||||
return n && document.querySelectorAll(n) && (i = document.querySelectorAll(n)[0]), Z(i).top + i.offsetHeight - o
|
||||
}(e.node, t.offset)
|
||||
}, e.options = {
|
||||
once: i,
|
||||
mirror: o,
|
||||
animatedClassNames: c,
|
||||
id: a
|
||||
}
|
||||
}), e
|
||||
},
|
||||
ne = function () {
|
||||
var e = document.querySelectorAll("[data-aos]");
|
||||
return Array.prototype.map.call(e, function (e) {
|
||||
return {
|
||||
node: e
|
||||
}
|
||||
})
|
||||
},
|
||||
oe = [],
|
||||
ie = !1,
|
||||
ae = {
|
||||
offset: 120,
|
||||
delay: 0,
|
||||
easing: "ease",
|
||||
duration: 800,
|
||||
disable: !1,
|
||||
once: !0,
|
||||
mirror: !1,
|
||||
anchorPlacement: "top-bottom",
|
||||
startEvent: "DOMContentLoaded",
|
||||
animatedClassName: "aos-animate",
|
||||
initClassName: "aos-init",
|
||||
useClassNames: !1,
|
||||
disableMutationObserver: !1,
|
||||
throttleDelay: 99,
|
||||
debounceDelay: 50
|
||||
},
|
||||
re = function () {
|
||||
return document.all && !window.atob
|
||||
},
|
||||
ce = function () {
|
||||
arguments.length > 0 && void 0 !== arguments[0] && arguments[0] && (ie = !0), ie && (oe = te(oe, ae), X(oe), window.addEventListener("scroll", y(function () {
|
||||
X(oe, ae.once)
|
||||
}, ae.throttleDelay)))
|
||||
},
|
||||
se = function () {
|
||||
if (oe = ne(), de(ae.disable) || re()) return ue();
|
||||
ce()
|
||||
},
|
||||
ue = function () {
|
||||
oe.forEach(function (e, t) {
|
||||
e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay"), ae.initClassName && e.node.classList.remove(ae.initClassName), ae.animatedClassName && e.node.classList.remove(ae.animatedClassName)
|
||||
})
|
||||
},
|
||||
de = function (e) {
|
||||
return !0 === e || "mobile" === e && U.mobile() || "phone" === e && U.phone() || "tablet" === e && U.tablet() || "function" == typeof e && !0 === e()
|
||||
};
|
||||
return {
|
||||
init: function (e) {
|
||||
return ae = I(ae, e), oe = ne(), ae.disableMutationObserver || _.isSupported() || (console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '), ae.disableMutationObserver = !0), ae.disableMutationObserver || _.ready("[data-aos]", se), de(ae.disable) || re() ? ue() : (document.querySelector("body").setAttribute("data-aos-easing", ae.easing), document.querySelector("body").setAttribute("data-aos-duration", ae.duration), document.querySelector("body").setAttribute("data-aos-delay", ae.delay), -1 === ["DOMContentLoaded", "load"].indexOf(ae.startEvent) ? document.addEventListener(ae.startEvent, function () {
|
||||
ce(!0)
|
||||
}) : window.addEventListener("load", function () {
|
||||
ce(!0)
|
||||
}), "DOMContentLoaded" === ae.startEvent && ["complete", "interactive"].indexOf(document.readyState) > -1 && ce(!0), window.addEventListener("resize", $(ce, ae.debounceDelay, !0)), window.addEventListener("orientationchange", $(ce, ae.debounceDelay, !0)), oe)
|
||||
},
|
||||
refresh: ce,
|
||||
refreshHard: se
|
||||
}
|
||||
});
|
7
public/assets/js/bootstrap/bootstrap.min.js
vendored
Normal file
1
public/assets/js/bootstrap/bootstrap.min.js.map
Normal file
5
public/assets/js/bootstrap/popper.min.js
vendored
Normal file
1
public/assets/js/bootstrap/popper.min.js.map
Normal file
1
public/assets/js/fancybox/jquery.fancybox.min.css
vendored
Normal file
1550
public/assets/js/fancybox/jquery.fancybox.min.js
vendored
Normal file
316
public/assets/js/fullpage/examples.css
Normal file
@ -0,0 +1,316 @@
|
||||
@CHARSET "ISO-8859-1";
|
||||
/* Reset CSS
|
||||
* --------------------------------------- */
|
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
|
||||
form,fieldset,input,textarea,p,blockquote,th,td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
a{
|
||||
text-decoration:none;
|
||||
}
|
||||
table {
|
||||
border-spacing: 0;
|
||||
}
|
||||
fieldset,img {
|
||||
border: 0;
|
||||
}
|
||||
address,caption,cite,code,dfn,em,strong,th,var {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
strong{
|
||||
font-weight: bold;
|
||||
}
|
||||
ol,ul {
|
||||
list-style: none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
caption,th {
|
||||
text-align: left;
|
||||
|
||||
}
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-weight: normal;
|
||||
font-size: 100%;
|
||||
margin:0;
|
||||
padding:0;
|
||||
color:#444;
|
||||
}
|
||||
q:before,q:after {
|
||||
content:'';
|
||||
}
|
||||
abbr,acronym { border: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Custom CSS
|
||||
* --------------------------------------- */
|
||||
body{
|
||||
font-family: arial,helvetica;
|
||||
color: #333;
|
||||
color: rgba(0,0,0,0.5);
|
||||
}
|
||||
.wrap{
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 960px;
|
||||
position: relative;
|
||||
}
|
||||
h1{
|
||||
font-size: 6em;
|
||||
}
|
||||
p{
|
||||
font-size: 2em;
|
||||
}
|
||||
.intro p{
|
||||
width: 50%;
|
||||
margin: 0 auto;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.section{
|
||||
text-align:center;
|
||||
}
|
||||
#menu li {
|
||||
display:inline-block;
|
||||
margin: 10px;
|
||||
color: #000;
|
||||
background:#fff;
|
||||
background: rgba(255,255,255, 0.5);
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
#menu li.active{
|
||||
background:#666;
|
||||
background: rgba(0,0,0, 0.5);
|
||||
color: #fff;
|
||||
}
|
||||
#menu li a{
|
||||
text-decoration:none;
|
||||
color: #000;
|
||||
}
|
||||
#menu li.active a:hover{
|
||||
color: #000;
|
||||
}
|
||||
#menu li:hover{
|
||||
background: rgba(255,255,255, 0.8);
|
||||
}
|
||||
#menu li a,
|
||||
#menu li.active a{
|
||||
padding: 9px 18px;
|
||||
display:block;
|
||||
}
|
||||
#menu li.active a{
|
||||
color: #fff;
|
||||
}
|
||||
#menu{
|
||||
position:fixed;
|
||||
top:0;
|
||||
left:0;
|
||||
height: 40px;
|
||||
z-index: 70;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin:0;
|
||||
}
|
||||
.twitter-share-button{
|
||||
position: fixed !important;
|
||||
z-index: 99;
|
||||
right: 149px;
|
||||
top: 9px;
|
||||
}
|
||||
#infoMenu{
|
||||
height: 20px;
|
||||
color: #f2f2f2;
|
||||
position:fixed;
|
||||
z-index:70;
|
||||
bottom:0;
|
||||
width:100%;
|
||||
text-align:right;
|
||||
font-size:0.9em;
|
||||
padding:8px 0 8px 0;
|
||||
}
|
||||
#infoMenu ul{
|
||||
padding: 0 40px;
|
||||
}
|
||||
#infoMenu li a{
|
||||
display: block;
|
||||
margin: 0 22px 0 0;
|
||||
color: #333;
|
||||
}
|
||||
#infoMenu li a:hover{
|
||||
text-decoration:underline;
|
||||
}
|
||||
#infoMenu li{
|
||||
display:inline-block;
|
||||
position:relative;
|
||||
}
|
||||
#examplesList{
|
||||
display:none;
|
||||
background: #282828;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
padding: 20px;
|
||||
float: left;
|
||||
position: absolute;
|
||||
bottom: 29px;
|
||||
right: 0;
|
||||
width:822px;
|
||||
text-align:left;
|
||||
}
|
||||
#examplesList ul{
|
||||
padding:0;
|
||||
}
|
||||
#examplesList ul li{
|
||||
display:block;
|
||||
margin: 5px 0;
|
||||
}
|
||||
#examplesList ul li a{
|
||||
color: #BDBDBD;
|
||||
margin:0;
|
||||
}
|
||||
#examplesList ul li a:hover{
|
||||
color: #f2f2f2;
|
||||
}
|
||||
#examplesList .column{
|
||||
float: left;
|
||||
margin: 0 20px 0 0;
|
||||
}
|
||||
#examplesList h3{
|
||||
color: #f2f2f2;
|
||||
font-size: 1.2em;
|
||||
margin: 0 0 15px 0;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.4);
|
||||
-webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
-moz-box-shadow: 0 1px 0 rgba(255,255,255,0.1);
|
||||
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
padding: 0 0 5px 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Demos Menu
|
||||
* --------------------------------------- */
|
||||
#demosMenu{
|
||||
position:fixed;
|
||||
top: 20px;
|
||||
right:20px;
|
||||
z-index: 999;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
/* Buttons
|
||||
* --------------------------------------- */
|
||||
#download a{
|
||||
text-decoration: none
|
||||
}
|
||||
#download,
|
||||
#download:hover {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25)
|
||||
}
|
||||
.button {
|
||||
margin: 20px 0 0 0;
|
||||
vertical-align: middle;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.button a {
|
||||
color: #fff;
|
||||
background: rgba(0,0,0,0.4);
|
||||
padding: 15px 30px;
|
||||
border-radius: 5px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.button a:hover {
|
||||
color: #316f68;
|
||||
background-color: #fff
|
||||
}
|
||||
|
||||
|
||||
/* Extensions preview menu
|
||||
* --------------------------------------- */
|
||||
.preview-extensions-menu{
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 99;
|
||||
border-top: 0;
|
||||
box-shadow: 1px 0px 3px rgba(0,0,0,0.8);
|
||||
}
|
||||
.preview-extensions-menu li{
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
}
|
||||
.preview-extensions-menu li a{
|
||||
padding: 15px 25px;
|
||||
display: block;
|
||||
}
|
||||
.preview-buy-extension{
|
||||
background: #3cc63c;
|
||||
}
|
||||
.preview-more-extensions{
|
||||
background: #fff;
|
||||
}
|
||||
.preview-buy-extension a{
|
||||
color: #fff;
|
||||
}
|
||||
.preview-buy-extension:hover{
|
||||
background-color: #1a961a;
|
||||
}
|
||||
.preview-more-extensions a{
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.code{
|
||||
background: rgba(255,255,255,0.7);
|
||||
padding: 0px 5px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
|
||||
/* Style for our header texts
|
||||
* --------------------------------------- */
|
||||
h1{
|
||||
font-size: 5em;
|
||||
font-family: arial,helvetica;
|
||||
color: #fff;
|
||||
margin:0;
|
||||
}
|
||||
.section p,
|
||||
.intro p{
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* Centered texts in each section
|
||||
* --------------------------------------- */
|
||||
.section{
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
|
||||
/* Bottom menu
|
||||
* --------------------------------------- */
|
||||
#infoMenu li a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* Sections backgrounds
|
||||
* --------------------------------------- */
|
||||
#section0{
|
||||
background-image: linear-gradient(128deg,#40afff,#3f61ff);
|
||||
}
|
||||
|
||||
#section1{
|
||||
background-image: linear-gradient(128deg,#ff9a3f,#ff4b40);
|
||||
}
|
||||
|
||||
#section2{
|
||||
background-image: linear-gradient(128deg,#fc40ff,#543fff);
|
||||
}
|
||||
|
||||
#section3{
|
||||
background-image: linear-gradient(128deg,#40fff2,#3fbcff);
|
||||
}
|
4
public/assets/js/fullpage/examples.js
Normal file
@ -0,0 +1,4 @@
|
||||
document.getElementById('demosMenu').addEventListener('change', function(e){
|
||||
var dropdown = document.getElementById('demosMenu');
|
||||
window.location.href = dropdown.options[dropdown.selectedIndex].getAttribute('id') + '.html';
|
||||
});
|
310
public/assets/js/fullpage/fullpage.css
Normal file
@ -0,0 +1,310 @@
|
||||
/*!
|
||||
* fullPage 4.0.20
|
||||
* https://github.com/alvarotrigo/fullPage.js
|
||||
*
|
||||
* @license GPLv3 for open source use only
|
||||
* or Fullpage Commercial License for commercial use
|
||||
* http://alvarotrigo.com/fullPage/pricing/
|
||||
*
|
||||
* Copyright (C) 2021 http://alvarotrigo.com/fullPage - A project by Alvaro Trigo
|
||||
*/
|
||||
html.fp-enabled,
|
||||
.fp-enabled body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow:hidden;
|
||||
|
||||
/*Avoid flicker on slides transitions for mobile phones #336 */
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
}
|
||||
.fp-section {
|
||||
position: relative;
|
||||
-webkit-box-sizing: border-box; /* Safari<=5 Android<=3 */
|
||||
-moz-box-sizing: border-box; /* <=28 */
|
||||
box-sizing: border-box;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
.fp-slide {
|
||||
float: left;
|
||||
}
|
||||
.fp-slide, .fp-slidesContainer {
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
.fp-slides {
|
||||
z-index:1;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
-webkit-transition: all 0.3s ease-out; /* Safari<=6 Android<=4.3 */
|
||||
transition: all 0.3s ease-out;
|
||||
}
|
||||
.fp-table{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
}
|
||||
.fp-slidesContainer {
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
.fp-controlArrow {
|
||||
-webkit-user-select: none; /* webkit (safari, chrome) browsers */
|
||||
-moz-user-select: none; /* mozilla browsers */
|
||||
-khtml-user-select: none; /* webkit (konqueror) browsers */
|
||||
-ms-user-select: none; /* IE10+ */
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
top: 50%;
|
||||
cursor: pointer;
|
||||
margin-top: -38px;
|
||||
-webkit-transform: translate3d(0,0,0);
|
||||
-ms-transform: translate3d(0,0,0);
|
||||
transform: translate3d(0,0,0);
|
||||
}
|
||||
.fp-prev{
|
||||
left: 15px;
|
||||
}
|
||||
.fp-next{
|
||||
right: 15px;
|
||||
}
|
||||
.fp-arrow{
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-style: solid;
|
||||
}
|
||||
.fp-arrow.fp-prev {
|
||||
border-width: 38.5px 34px 38.5px 0;
|
||||
border-color: transparent #fff transparent transparent;
|
||||
}
|
||||
.fp-arrow.fp-next {
|
||||
border-width: 38.5px 0 38.5px 34px;
|
||||
border-color: transparent transparent transparent #fff;
|
||||
}
|
||||
.fp-notransition {
|
||||
-webkit-transition: none !important;
|
||||
transition: none !important;
|
||||
}
|
||||
#fp-nav {
|
||||
position: fixed;
|
||||
z-index: 100;
|
||||
top: 50%;
|
||||
opacity: 1;
|
||||
transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
-webkit-transform: translate3d(0,-50%,0);
|
||||
}
|
||||
#fp-nav.fp-right {
|
||||
right: 17px;
|
||||
}
|
||||
#fp-nav.fp-left {
|
||||
left: 17px;
|
||||
}
|
||||
.fp-slidesNav{
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
opacity: 1;
|
||||
-webkit-transform: translate3d(0,0,0);
|
||||
-ms-transform: translate3d(0,0,0);
|
||||
transform: translate3d(0,0,0);
|
||||
left: 0 !important;
|
||||
right: 0;
|
||||
margin: 0 auto !important;
|
||||
}
|
||||
.fp-slidesNav.fp-bottom {
|
||||
bottom: 17px;
|
||||
}
|
||||
.fp-slidesNav.fp-top {
|
||||
top: 17px;
|
||||
}
|
||||
#fp-nav ul,
|
||||
.fp-slidesNav ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#fp-nav ul li,
|
||||
.fp-slidesNav ul li {
|
||||
display: block;
|
||||
width: 14px;
|
||||
height: 13px;
|
||||
margin: 7px;
|
||||
position:relative;
|
||||
}
|
||||
.fp-slidesNav ul li {
|
||||
display: inline-block;
|
||||
}
|
||||
#fp-nav ul li a,
|
||||
.fp-slidesNav ul li a {
|
||||
display: block;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
#fp-nav ul li a.active span,
|
||||
.fp-slidesNav ul li a.active span,
|
||||
#fp-nav ul li:hover a.active span,
|
||||
.fp-slidesNav ul li:hover a.active span{
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
margin: -6px 0 0 -6px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
#fp-nav ul li a span,
|
||||
.fp-slidesNav ul li a span {
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
height: 4px;
|
||||
width: 4px;
|
||||
border: 0;
|
||||
background: #333;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin: -2px 0 0 -2px;
|
||||
-webkit-transition: all 0.1s ease-in-out;
|
||||
-moz-transition: all 0.1s ease-in-out;
|
||||
-o-transition: all 0.1s ease-in-out;
|
||||
transition: all 0.1s ease-in-out;
|
||||
}
|
||||
#fp-nav ul li:hover a span,
|
||||
.fp-slidesNav ul li:hover a span{
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: -5px 0px 0px -5px;
|
||||
}
|
||||
#fp-nav ul li .fp-tooltip {
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
font-family: arial, helvetica, sans-serif;
|
||||
white-space: nowrap;
|
||||
max-width: 220px;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
#fp-nav ul li:hover .fp-tooltip,
|
||||
#fp-nav.fp-show-active a.active + .fp-tooltip {
|
||||
-webkit-transition: opacity 0.2s ease-in;
|
||||
transition: opacity 0.2s ease-in;
|
||||
width: auto;
|
||||
opacity: 1;
|
||||
}
|
||||
#fp-nav ul li .fp-tooltip.fp-right {
|
||||
right: 20px;
|
||||
}
|
||||
#fp-nav ul li .fp-tooltip.fp-left {
|
||||
left: 20px;
|
||||
}
|
||||
.fp-auto-height.fp-section,
|
||||
.fp-auto-height .fp-slide{
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
.fp-responsive .fp-is-overflow.fp-section{
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
/* Used with autoScrolling: false */
|
||||
.fp-scrollable.fp-responsive .fp-is-overflow.fp-section,
|
||||
.fp-scrollable .fp-section,
|
||||
.fp-scrollable .fp-slide{
|
||||
/* Fallback for browsers that do not support Custom Properties */
|
||||
height: 100vh;
|
||||
height: calc(var(--vh, 1vh) * 100);
|
||||
}
|
||||
|
||||
.fp-scrollable.fp-responsive .fp-is-overflow.fp-section:not(.fp-auto-height):not([data-percentage]),
|
||||
.fp-scrollable .fp-section:not(.fp-auto-height):not([data-percentage]),
|
||||
.fp-scrollable .fp-slide:not(.fp-auto-height):not([data-percentage]){
|
||||
/* Fallback for browsers that do not support Custom Properties */
|
||||
min-height: 100vh;
|
||||
min-height: calc(var(--vh, 1vh) * 100);
|
||||
}
|
||||
|
||||
/* Disabling vertical centering on scrollable elements */
|
||||
.fp-overflow{
|
||||
justify-content: flex-start;
|
||||
max-height: 100vh;
|
||||
}
|
||||
|
||||
/* No scrollable when using auto-height */
|
||||
.fp-scrollable .fp-auto-height .fp-overflow{
|
||||
max-height: none;
|
||||
}
|
||||
|
||||
.fp-is-overflow .fp-overflow.fp-auto-height-responsive,
|
||||
.fp-is-overflow .fp-overflow.fp-auto-height,
|
||||
.fp-is-overflow > .fp-overflow{
|
||||
overflow-y: auto;
|
||||
}
|
||||
.fp-overflow{
|
||||
outline:none;
|
||||
}
|
||||
|
||||
.fp-overflow.fp-table{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.fp-responsive .fp-auto-height-responsive.fp-section,
|
||||
.fp-responsive .fp-auto-height-responsive .fp-slide{
|
||||
height: auto !important;
|
||||
min-height: auto !important;
|
||||
}
|
||||
|
||||
/*Only display content to screen readers*/
|
||||
.fp-sr-only{
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* Customize website's scrollbar like Mac OS
|
||||
Not supports in Firefox and IE */
|
||||
.fp-scroll-mac .fp-overflow::-webkit-scrollbar {
|
||||
background-color: transparent;
|
||||
width: 9px;
|
||||
}
|
||||
.fp-scroll-mac .fp-overflow::-webkit-scrollbar-track {
|
||||
background-color: transparent;
|
||||
}
|
||||
.fp-scroll-mac .fp-overflow::-webkit-scrollbar-thumb {
|
||||
background-color: rgba(0,0,0,.4);
|
||||
border-radius: 16px;
|
||||
border: 4px solid transparent;
|
||||
}
|
||||
.fp-warning,
|
||||
.fp-watermark{
|
||||
z-index: 9999999;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
display: none;
|
||||
}
|
||||
.fp-warning,
|
||||
.fp-watermark a{
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
background: rgba(255,255,255,0.6);
|
||||
padding: 5px 8px;
|
||||
font-size: 14px;
|
||||
font-family: arial;
|
||||
display: inline-block;
|
||||
border-radius: 3px;
|
||||
margin: 12px;
|
||||
}
|
||||
.fp-noscroll .fp-overflow{
|
||||
overflow: hidden;
|
||||
}
|
5991
public/assets/js/fullpage/fullpage.js
Normal file
10
public/assets/js/include.js
Normal file
@ -0,0 +1,10 @@
|
||||
include("/assets/js/bootstrap/popper.min.js"); //bootstrap使用的js
|
||||
include("/assets/js/bootstrap/bootstrap.min.js"); //bootstrap使用的js
|
||||
include("/assets/js/scrollUp/jquery.scrollUp.js"); //置頂
|
||||
include("/assets/js/slick/slick.min.js"); //小圖輸播
|
||||
include("/assets/js/aos/aos.js"); //動畫效果
|
||||
include("/assets/js/lazyload.min.js"); //延遲效果
|
||||
|
||||
function include(url) {
|
||||
document.write('<script src="' + url + '"></script>');
|
||||
}
|
2
public/assets/js/jquery.min.js
vendored
Normal file
2
public/assets/js/lazyload.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/*! Lazy Load 2.0.0-rc.2 - MIT license - Copyright 2007-2019 Mika Tuupola */
|
||||
!function(t,e){"object"==typeof exports?module.exports=e(t):"function"==typeof define&&define.amd?define([],e):t.LazyLoad=e(t)}("undefined"!=typeof global?global:this.window||this.global,function(t){"use strict";function e(t,e){this.settings=s(r,e||{}),this.images=t||document.querySelectorAll(this.settings.selector),this.observer=null,this.init()}"function"==typeof define&&define.amd&&(t=window);const r={src:"data-src",srcset:"data-srcset",selector:".lazyload",root:null,rootMargin:"0px",threshold:0},s=function(){let t={},e=!1,r=0,o=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],r++);for(;r<o;r++)!function(r){for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e&&"[object Object]"===Object.prototype.toString.call(r[o])?t[o]=s(!0,t[o],r[o]):t[o]=r[o])}(arguments[r]);return t};if(e.prototype={init:function(){if(!t.IntersectionObserver)return void this.loadImages();let e=this,r={root:this.settings.root,rootMargin:this.settings.rootMargin,threshold:[this.settings.threshold]};this.observer=new IntersectionObserver(function(t){Array.prototype.forEach.call(t,function(t){if(t.isIntersecting){e.observer.unobserve(t.target);let r=t.target.getAttribute(e.settings.src),s=t.target.getAttribute(e.settings.srcset);"img"===t.target.tagName.toLowerCase()?(r&&(t.target.src=r),s&&(t.target.srcset=s)):t.target.style.backgroundImage="url("+r+")"}})},r),Array.prototype.forEach.call(this.images,function(t){e.observer.observe(t)})},loadAndDestroy:function(){this.settings&&(this.loadImages(),this.destroy())},loadImages:function(){if(!this.settings)return;let t=this;Array.prototype.forEach.call(this.images,function(e){let r=e.getAttribute(t.settings.src),s=e.getAttribute(t.settings.srcset);"img"===e.tagName.toLowerCase()?(r&&(e.src=r),s&&(e.srcset=s)):e.style.backgroundImage="url('"+r+"')"})},destroy:function(){this.settings&&(this.observer.disconnect(),this.settings=null)}},t.lazyload=function(t,r){return new e(t,r)},t.jQuery){const r=t.jQuery;r.fn.lazyload=function(t){return t=t||{},t.attribute=t.attribute||"data-src",new e(r.makeArray(this),t),this}}return e});
|
1004
public/assets/js/rd-navbar/jquery.rd-navbar.css
Normal file
717
public/assets/js/rd-navbar/jquery.rd-navbar.js
Normal file
@ -0,0 +1,717 @@
|
||||
/**
|
||||
* @module RD Navbar
|
||||
* @author Evgeniy Gusarov
|
||||
* @version 2.2.5
|
||||
*/
|
||||
(function() {
|
||||
var isTouch;
|
||||
|
||||
isTouch = "ontouchstart" in window;
|
||||
|
||||
(function($, document, window) {
|
||||
|
||||
/**
|
||||
* Creates a RDNavbar.
|
||||
* @class RDNavbar.
|
||||
* @public
|
||||
* @param {HTMLElement} element - The element to create the RDNavbar for.
|
||||
* @param {Object} [options] - The options
|
||||
*/
|
||||
var RDNavbar;
|
||||
RDNavbar = (function() {
|
||||
|
||||
/**
|
||||
* Default options for RDNavbar.
|
||||
* @protected
|
||||
*/
|
||||
RDNavbar.prototype.Defaults = {
|
||||
layout: 'rd-navbar-static',
|
||||
deviceLayout: 'rd-navbar-fixed',
|
||||
focusOnHover: true,
|
||||
focusOnHoverTimeout: 800,
|
||||
linkedElements: ["html"],
|
||||
domAppend: true,
|
||||
stickUp: true,
|
||||
stickUpClone: true,
|
||||
stickUpOffset: '100%',
|
||||
anchorNav: true,
|
||||
anchorNavSpeed: 400,
|
||||
anchorNavOffset: 0,
|
||||
anchorNavEasing: 'swing',
|
||||
autoHeight: true,
|
||||
responsive: {
|
||||
0: {
|
||||
layout: "rd-navbar-fixed",
|
||||
deviceLayout: "rd-navbar-fixed",
|
||||
focusOnHover: false,
|
||||
stickUp: false
|
||||
},
|
||||
1200: {
|
||||
layout: "rd-navbar-static",
|
||||
deviceLayout: "rd-navbar-static",
|
||||
focusOnHover: true,
|
||||
stickUp: true
|
||||
}
|
||||
},
|
||||
callbacks: {
|
||||
onToggleSwitch: false,
|
||||
onToggleClose: false,
|
||||
onDomAppend: false,
|
||||
onDropdownOver: false,
|
||||
onDropdownOut: false,
|
||||
onDropdownToggle: false,
|
||||
onDropdownClose: false,
|
||||
onStuck: false,
|
||||
onUnstuck: false,
|
||||
onAnchorChange: false
|
||||
}
|
||||
};
|
||||
|
||||
function RDNavbar(element, options) {
|
||||
|
||||
/**
|
||||
* Current options set
|
||||
* @public
|
||||
*/
|
||||
this.options = $.extend(true, {}, this.Defaults, options);
|
||||
|
||||
/**
|
||||
* Plugin element
|
||||
* @public
|
||||
*/
|
||||
this.$element = $(element);
|
||||
|
||||
/**
|
||||
* Plugin element clone
|
||||
* @public
|
||||
*/
|
||||
this.$clone = null;
|
||||
|
||||
/**
|
||||
* Additional references
|
||||
* @public
|
||||
*/
|
||||
this.$win = $(window);
|
||||
this.$doc = $(document);
|
||||
this.currentLayout = this.options.layout;
|
||||
this.loaded = false;
|
||||
this.focusOnHover = this.options.focusOnHover;
|
||||
this.focusTimer = false;
|
||||
this.cloneTimer = false;
|
||||
this.isStuck = false;
|
||||
this.initialize();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes the RDNavbar.
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.initialize = function() {
|
||||
var ctx;
|
||||
ctx = this;
|
||||
ctx.$element.addClass("rd-navbar").addClass(ctx.options.layout);
|
||||
if (isTouch) {
|
||||
ctx.$element.addClass("rd-navbar--is-touch");
|
||||
}
|
||||
if (ctx.options.domAppend) {
|
||||
ctx.createNav(ctx);
|
||||
}
|
||||
if (ctx.options.stickUpClone) {
|
||||
ctx.createClone(ctx);
|
||||
}
|
||||
ctx.$element.addClass('rd-navbar-original');
|
||||
ctx.addAdditionalClassToToggles('.rd-navbar-original', 'toggle-original', 'toggle-original-elements');
|
||||
ctx.applyHandlers(ctx);
|
||||
ctx.offset = ctx.$element.offset().top;
|
||||
ctx.height = ctx.$element.outerHeight();
|
||||
ctx.loaded = true;
|
||||
return ctx;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Changes {ctx.$element} layout basing on screen resolution
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.resize = function(ctx, e) {
|
||||
var targetElement, targetLayout;
|
||||
targetLayout = isTouch ? ctx.getOption('deviceLayout') : ctx.getOption('layout');
|
||||
targetElement = ctx.$element.add(ctx.$clone);
|
||||
if (targetLayout !== ctx.currentLayout || !ctx.loaded) {
|
||||
ctx.switchClass(targetElement, ctx.currentLayout, targetLayout);
|
||||
if (ctx.options.linkedElements != null) {
|
||||
$.grep(ctx.options.linkedElements, function(link, index) {
|
||||
return ctx.switchClass(link, ctx.currentLayout + '-linked', targetLayout + '-linked');
|
||||
});
|
||||
}
|
||||
ctx.currentLayout = targetLayout;
|
||||
}
|
||||
ctx.focusOnHover = ctx.getOption('focusOnHover');
|
||||
return ctx;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Toggles bar stickup on scroll
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.stickUp = function(ctx, e) {
|
||||
var scrollTop, stickUp, stickUpOffset, targetElement, threshold;
|
||||
stickUp = ctx.getOption("stickUp");
|
||||
if ($('html').hasClass('ios') || ctx.$element.hasClass('rd-navbar-fixed')) {
|
||||
stickUp = false;
|
||||
}
|
||||
scrollTop = ctx.$doc.scrollTop();
|
||||
targetElement = ctx.$clone != null ? ctx.$clone : ctx.$element;
|
||||
stickUpOffset = ctx.getOption('stickUpOffset');
|
||||
threshold = (typeof stickUpOffset === 'string' ? (stickUpOffset.indexOf('%') > 0 ? parseFloat(stickUpOffset) * ctx.height / 100 : parseFloat(stickUpOffset)) : stickUpOffset);
|
||||
if (stickUp) {
|
||||
if ((scrollTop >= threshold && !ctx.isStuck) || (scrollTop < threshold && ctx.isStuck)) {
|
||||
ctx.$element.add(ctx.$clone).find('[data-rd-navbar-toggle]').each(function() {
|
||||
$.proxy(ctx.closeToggle, this)(ctx, false);
|
||||
}).end().find('.rd-navbar-submenu').removeClass('opened').removeClass('focus');
|
||||
if (scrollTop >= threshold && !ctx.isStuck && !ctx.$element.hasClass('rd-navbar-fixed')) {
|
||||
if (ctx.options.callbacks.onStuck) {
|
||||
ctx.options.callbacks.onStuck.call(ctx);
|
||||
}
|
||||
|
||||
|
||||
setTimeout(function(){
|
||||
if (e.type === 'resize') {
|
||||
ctx.switchClass(targetElement, '', 'rd-navbar--is-stuck');
|
||||
} else {
|
||||
targetElement.addClass('rd-navbar--is-stuck');
|
||||
}
|
||||
ctx.isStuck = true;
|
||||
}, navigator.platform.match(/(Mac)/i) ? 10 : 0);
|
||||
|
||||
} else {
|
||||
if (e.type === 'resize') {
|
||||
ctx.switchClass(targetElement, 'rd-navbar--is-stuck', '');
|
||||
} else {
|
||||
targetElement.removeClass('rd-navbar--is-stuck').one('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', $.proxy(ctx.resizeWrap, ctx, e));
|
||||
}
|
||||
ctx.isStuck = false;
|
||||
if (ctx.options.callbacks.onUnstuck) {
|
||||
ctx.options.callbacks.onUnstuck.call(ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ctx.$element.find('.rd-navbar-submenu').removeClass('opened').removeClass('focus');
|
||||
if (ctx.isStuck) {
|
||||
ctx.switchClass(targetElement, 'rd-navbar--is-stuck', '');
|
||||
ctx.isStuck = false;
|
||||
ctx.resizeWrap(e);
|
||||
}
|
||||
}
|
||||
return ctx;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Resizes an external wrap of navbar
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.resizeWrap = function(e) {
|
||||
var $wrap, ctx;
|
||||
ctx = this;
|
||||
if ((ctx.$clone == null) && !ctx.isStuck) {
|
||||
$wrap = ctx.$element.parent();
|
||||
if (!ctx.getOption('autoHeight')) {
|
||||
$wrap.css('height', 'auto');
|
||||
return;
|
||||
}
|
||||
ctx.height = ctx.$element.outerHeight();
|
||||
if (e.type === 'resize') {
|
||||
$wrap.addClass('rd-navbar--no-transition').css('height', ctx.height);
|
||||
$wrap[0].offsetHeight;
|
||||
return $wrap.removeClass('rd-navbar--no-transition');
|
||||
} else {
|
||||
return $wrap.css('height', ctx.height);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Creates additional DOM for navigation functionality
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.createNav = function(ctx) {
|
||||
ctx.$element.find('.rd-navbar-dropdown, .rd-navbar-megamenu').each(function() {
|
||||
var $this, rect;
|
||||
$this = $(this);
|
||||
rect = this.getBoundingClientRect();
|
||||
if ($this.hasClass('rd-navbar-megamenu')) {
|
||||
return $this.parent().addClass('rd-navbar--has-megamenu');
|
||||
} else {
|
||||
return $this.parent().addClass('rd-navbar--has-dropdown');
|
||||
}
|
||||
}).parents("li").addClass("rd-navbar-submenu");
|
||||
$('<span class="rd-navbar-submenu-toggle"></span>').insertAfter('.rd-navbar-nav li.rd-navbar-submenu > a');
|
||||
if (ctx.options.callbacks.onDomAppend) {
|
||||
ctx.options.callbacks.onDomAppend.call(this);
|
||||
}
|
||||
return ctx;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Creates navbar clone to stick up
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.createClone = function(ctx) {
|
||||
ctx.$clone = ctx.$element.clone().insertAfter(ctx.$element).addClass('rd-navbar--is-clone');
|
||||
ctx.addAdditionalClassToToggles('.rd-navbar--is-clone', 'toggle-cloned', 'toggle-cloned-elements');
|
||||
return ctx;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Closes all toggles on outside click of each item
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.closeToggle = function(ctx, e) {
|
||||
var $items, $target, additionalToggleElClass, additionalToogleClass, collapse, linkedElements, needClose;
|
||||
$target = $(e.target);
|
||||
collapse = false;
|
||||
linkedElements = this.getAttribute('data-rd-navbar-toggle');
|
||||
if (ctx.options.stickUpClone && ctx.isStuck) {
|
||||
additionalToogleClass = '.toggle-cloned';
|
||||
additionalToggleElClass = '.toggle-cloned-elements';
|
||||
needClose = !$target.hasClass('toggle-cloned');
|
||||
} else {
|
||||
additionalToogleClass = '.toggle-original';
|
||||
additionalToggleElClass = '.toggle-original-elements';
|
||||
needClose = !$target.hasClass('toggle-original');
|
||||
}
|
||||
if (e.target !== this && !$target.parents(additionalToogleClass + '[data-rd-navbar-toggle]').length && !$target.parents(additionalToggleElClass).length && linkedElements && needClose) {
|
||||
$items = $(this).parents('body').find(linkedElements).add($(this).parents('.rd-navbar')[0]);
|
||||
$items.each(function() {
|
||||
if (!collapse) {
|
||||
return collapse = (e.target === this || $.contains(this, e.target)) === true;
|
||||
}
|
||||
});
|
||||
if (!collapse) {
|
||||
$items.add(this).removeClass('active');
|
||||
if (ctx.options.callbacks.onToggleClose) {
|
||||
ctx.options.callbacks.onToggleClose.call(this, ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Switches toggle
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.switchToggle = function(ctx, e) {
|
||||
var additionalToggleElClass, linkedElements, navbarClass;
|
||||
e.preventDefault();
|
||||
if ($(this).hasClass('toggle-cloned')) {
|
||||
navbarClass = '.rd-navbar--is-clone';
|
||||
additionalToggleElClass = '.toggle-cloned-elements';
|
||||
} else {
|
||||
navbarClass = '.rd-navbar-original';
|
||||
additionalToggleElClass = '.toggle-original-elements';
|
||||
}
|
||||
if (linkedElements = this.getAttribute('data-rd-navbar-toggle')) {
|
||||
$(navbarClass + ' [data-rd-navbar-toggle]').not(this).each(function() {
|
||||
var deactivateElements;
|
||||
if (deactivateElements = this.getAttribute('data-rd-navbar-toggle')) {
|
||||
return $(this).parents('body').find(navbarClass + ' ' + deactivateElements + additionalToggleElClass).add(this).add($.inArray('.rd-navbar', deactivateElements.split(/\s*,\s*/i)) > -1 ? $(this).parents('body')[0] : false).removeClass('active');
|
||||
}
|
||||
});
|
||||
$(this).parents('body').find(navbarClass + ' ' + linkedElements + additionalToggleElClass).add(this).add($.inArray('.rd-navbar', linkedElements.split(/\s*,\s*/i)) > -1 ? $(this).parents('.rd-navbar')[0] : false).toggleClass('active');
|
||||
}
|
||||
if (ctx.options.callbacks.onToggleSwitch) {
|
||||
ctx.options.callbacks.onToggleSwitch.call(this, ctx);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Triggers submenu popup to be shown on mouseover
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.dropdownOver = function(ctx, timer) {
|
||||
var $this;
|
||||
if (ctx.focusOnHover) {
|
||||
$this = $(this);
|
||||
clearTimeout(timer);
|
||||
if (ctx.options.callbacks.onDropdownOver) {
|
||||
if (!ctx.options.callbacks.onDropdownOver.call(this, ctx)){
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
$this.addClass('focus').siblings().removeClass('opened').each(ctx.dropdownUnfocus);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Triggers submenu popup to be shown on mouseover
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.dropdownTouch = function(ctx, timer) {
|
||||
var $this, hasFocus;
|
||||
$this = $(this);
|
||||
clearTimeout(timer);
|
||||
if (ctx.focusOnHover) {
|
||||
hasFocus = false;
|
||||
if ($this.hasClass('focus')) {
|
||||
hasFocus = true;
|
||||
}
|
||||
if (!hasFocus) {
|
||||
$this.addClass('focus').siblings().removeClass('opened').each(ctx.dropdownUnfocus);
|
||||
return false;
|
||||
}
|
||||
if (ctx.options.callbacks.onDropdownOver) {
|
||||
ctx.options.callbacks.onDropdownOver.call(this, ctx);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Triggers submenu popop to be hidden on mouseout
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.dropdownOut = function(ctx, timer) {
|
||||
var $this;
|
||||
if (ctx.focusOnHover) {
|
||||
$this = $(this);
|
||||
$this.one('mouseenter.navbar', function() {
|
||||
return clearTimeout(timer);
|
||||
});
|
||||
|
||||
if (ctx.options.callbacks.onDropdownOut) {
|
||||
ctx.options.callbacks.onDropdownOut.call(this, ctx);
|
||||
}
|
||||
clearTimeout(timer);
|
||||
|
||||
timer = setTimeout($.proxy(ctx.dropdownUnfocus, this, ctx), ctx.options.focusOnHoverTimeout);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Removes a focus from submenu
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.dropdownUnfocus = function(ctx) {
|
||||
var $this;
|
||||
$this = $(this);
|
||||
$this.find('li.focus').add(this).removeClass('focus');
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Closes submenu
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.dropdownClose = function(ctx, e) {
|
||||
var $this;
|
||||
if (e.target !== this && !$(e.target).parents('.rd-navbar-submenu').length) {
|
||||
$this = $(this);
|
||||
$this.find('li.focus').add(this).removeClass('focus').removeClass('opened');
|
||||
if (ctx.options.callbacks.onDropdownClose) {
|
||||
ctx.options.callbacks.onDropdownClose.call(this, ctx);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Toggles submenu popup to be shown on trigger click
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.dropdownToggle = function(ctx) {
|
||||
$(this).toggleClass('opened').siblings().removeClass('opened');
|
||||
if (ctx.options.callbacks.onDropdownToggle) {
|
||||
ctx.options.callbacks.onDropdownToggle.call(this, ctx);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Scrolls the page to triggered anchor
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.goToAnchor = function(ctx, e) {
|
||||
var $anchor, hash;
|
||||
hash = this.hash;
|
||||
$anchor = $(hash);
|
||||
|
||||
if (!ctx.getOption('anchorNav')){
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($anchor.length) {
|
||||
e.preventDefault();
|
||||
$('html, body').stop().animate({
|
||||
'scrollTop': $anchor.offset().top + ctx.getOption('anchorNavOffset') + 1
|
||||
}, ctx.getOption('anchorNavSpeed'), ctx.getOption('anchorNavEasing'), function() {
|
||||
return ctx.changeAnchor(hash);
|
||||
});
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Highlight an active anchor
|
||||
* @protected
|
||||
*/
|
||||
|
||||
/* RDNavbar.prototype.activateAnchor = function(e) {
|
||||
var $anchor, $item, $link, ctx, docHeight, hash, i, link, links, navOffset, scrollTop, winHeight;
|
||||
ctx = this;
|
||||
scrollTop = ctx.$doc.scrollTop();
|
||||
winHeight = ctx.$win.height();
|
||||
docHeight = ctx.$doc.height();
|
||||
navOffset = ctx.getOption('anchorNavOffset');
|
||||
|
||||
if (!ctx.options.anchorNav){
|
||||
return false;
|
||||
}
|
||||
|
||||
if (scrollTop + winHeight > docHeight - 50) {
|
||||
$anchor = $('[data-type="anchor"]').last();
|
||||
if ($anchor.length) {
|
||||
if ($anchor.offset().top >= scrollTop) {
|
||||
hash = '#' + $anchor.attr("id");
|
||||
$item = $('.rd-navbar-nav a[href^="' + hash + '"]').parent();
|
||||
if (!$item.hasClass('active')) {
|
||||
$item.addClass('active').siblings().removeClass('active');
|
||||
if (ctx.options.callbacks.onAnchorChange) {
|
||||
ctx.options.callbacks.onAnchorChange.call($anchor[0], ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $anchor;
|
||||
} else {
|
||||
links = $('.rd-navbar-nav a[href^="#"]').get();
|
||||
for (i in links) {
|
||||
link = links[i];
|
||||
$link = $(link);
|
||||
hash = $link.attr('href');
|
||||
$anchor = $(hash);
|
||||
if ($anchor.length) {
|
||||
if ($anchor.offset().top + navOffset <= scrollTop && $anchor.offset().top + $anchor.outerHeight() > scrollTop) {
|
||||
$link.parent().addClass('active').siblings().removeClass('active');
|
||||
if (ctx.options.callbacks.onAnchorChange) {
|
||||
ctx.options.callbacks.onAnchorChange.call($anchor[0], ctx);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
*/
|
||||
|
||||
/**
|
||||
* Returns current anchor
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.getAnchor = function() {
|
||||
if (history) {
|
||||
if (history.state) {
|
||||
return history.state.id;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Changes current page anchor
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.changeAnchor = function(hash) {
|
||||
if (history) {
|
||||
if (history.state) {
|
||||
if (history.state.id !== hash) {
|
||||
history.replaceState({
|
||||
'anchorId': hash
|
||||
}, null, hash);
|
||||
} else {
|
||||
history.pushState({
|
||||
'anchorId': hash
|
||||
}, null, hash);
|
||||
}
|
||||
} else {
|
||||
history.pushState({
|
||||
'anchorId': hash
|
||||
}, null, hash);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Applies all JS event handlers
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.applyHandlers = function(ctx) {
|
||||
if (ctx.options.responsive != null) {
|
||||
ctx.$win.on('resize.navbar', $.proxy(ctx.resize, ctx.$win[0], ctx)).on('resize.navbar', $.proxy(ctx.resizeWrap, ctx)).on('resize.navbar', $.proxy(ctx.stickUp, (ctx.$clone != null ? ctx.$clone : ctx.$element), ctx)).on('orientationchange.navbar', $.proxy(ctx.resize, ctx.$win[0], ctx)).trigger('resize.navbar');
|
||||
}
|
||||
ctx.$doc.on('scroll.navbar', $.proxy(ctx.stickUp, (ctx.$clone != null ? ctx.$clone : ctx.$element), ctx)).on('scroll.navbar', $.proxy(ctx.activateAnchor, ctx));
|
||||
ctx.$element.add(ctx.$clone).find('[data-rd-navbar-toggle]').each(function() {
|
||||
var $this;
|
||||
$this = $(this);
|
||||
$this.on('click', $.proxy(ctx.switchToggle, this, ctx));
|
||||
return $this.parents('body').on('click', $.proxy(ctx.closeToggle, this, ctx));
|
||||
});
|
||||
ctx.$element.add(ctx.$clone).find('.rd-navbar-submenu').each(function() {
|
||||
var $this, timer;
|
||||
$this = $(this);
|
||||
timer = $this.parents(".rd-navbar--is-clone").length ? ctx.cloneTimer : ctx.focusTimer;
|
||||
$this.on('mouseleave.navbar', $.proxy(ctx.dropdownOut, this, ctx, timer));
|
||||
$this.find('> a').on('mouseenter.navbar', $.proxy(ctx.dropdownOver, this, ctx, timer));
|
||||
$this.find('> a').on('touchstart.navbar', $.proxy(ctx.dropdownTouch, this, ctx, timer));
|
||||
$this.find('> .rd-navbar-submenu-toggle').on('click', $.proxy(ctx.dropdownToggle, this, ctx));
|
||||
return $this.parents('body').on('click', $.proxy(ctx.dropdownClose, this, ctx));
|
||||
});
|
||||
ctx.$element.add(ctx.$clone).find('.rd-navbar-nav a[href^="#"]').each(function() {
|
||||
return $(this).on('click', $.proxy(ctx.goToAnchor, this, ctx));
|
||||
});
|
||||
|
||||
ctx.$element.find('.rd-navbar-dropdown, .rd-navbar-megamenu').each(function() {
|
||||
var $this, rect;
|
||||
$this = $(this);
|
||||
rect = this.getBoundingClientRect();
|
||||
if ((rect.left + $this.outerWidth()) >= window.innerWidth - 10) {
|
||||
this.className += ' rd-navbar-open-left';
|
||||
} else if ((rect.left - $this.outerWidth()) <= 10) {
|
||||
this.className += ' rd-navbar-open-right';
|
||||
}
|
||||
});
|
||||
|
||||
return ctx;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Switches classes of elements without transition
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.switchClass = function(element, before, after) {
|
||||
var obj;
|
||||
obj = element instanceof jQuery ? element : $(element);
|
||||
obj.addClass('rd-navbar--no-transition').removeClass(before).addClass(after);
|
||||
obj[0].offsetHeight;
|
||||
return obj.removeClass('rd-navbar--no-transition');
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Gets specific option of plugin
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.getOption = function(key) {
|
||||
var point, targetPoint;
|
||||
for (point in this.options.responsive) {
|
||||
if (point <= window.innerWidth) {
|
||||
targetPoint = point;
|
||||
}
|
||||
}
|
||||
if ((this.options.responsive != null) && (this.options.responsive[targetPoint][key] != null)) {
|
||||
return this.options.responsive[targetPoint][key];
|
||||
} else {
|
||||
return this.options[key];
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Add additional class to navbar toggles to identify it when navbar is cloned
|
||||
* @protected
|
||||
*/
|
||||
|
||||
RDNavbar.prototype.addAdditionalClassToToggles = function(navbarClass, toggleAdditionalClass, toggleElAdditionalClass) {
|
||||
return $(navbarClass).find('[data-rd-navbar-toggle]').each(function() {
|
||||
var toggleElement;
|
||||
$(this).addClass(toggleAdditionalClass);
|
||||
toggleElement = this.getAttribute('data-rd-navbar-toggle');
|
||||
return $(this).parents('body').find(navbarClass).find(toggleElement).addClass(toggleElAdditionalClass);
|
||||
});
|
||||
};
|
||||
|
||||
return RDNavbar;
|
||||
|
||||
})();
|
||||
|
||||
/**
|
||||
* The jQuery Plugin for the RD Navbar
|
||||
* @public
|
||||
*/
|
||||
$.fn.extend({
|
||||
RDNavbar: function(options) {
|
||||
var $this;
|
||||
$this = $(this);
|
||||
if (!$this.data('RDNavbar')) {
|
||||
return $this.data('RDNavbar', new RDNavbar(this, options));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* RD Navbar window export
|
||||
* @public
|
||||
*/
|
||||
});
|
||||
return window.RDNavbar = RDNavbar;
|
||||
})(window.jQuery, document, window);
|
||||
|
||||
|
||||
/**
|
||||
* The Plugin AMD export
|
||||
* @public
|
||||
*/
|
||||
|
||||
if (typeof module !== "undefined" && module !== null) {
|
||||
module.exports = window.RDNavbar;
|
||||
} else if (typeof define === 'function' && define.amd) {
|
||||
define(["jquery"], function() {
|
||||
'use strict';
|
||||
return window.RDNavbar;
|
||||
});
|
||||
}
|
||||
|
||||
}).call(this);
|
28
public/assets/js/rd-navbar/jquery.rd-navbar.min.js
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
/**
|
||||
* @module RD Navbar
|
||||
* @author Evgeniy Gusarov
|
||||
* @version 2.2.5
|
||||
*/
|
||||
(function(){var l="ontouchstart"in window;(function(c,n,h){var m=function(){function b(a,e){this.options=c.extend(!0,{},this.Defaults,e);this.$element=c(a);this.$clone=null;this.$win=c(h);this.$doc=c(n);this.currentLayout=this.options.layout;this.loaded=!1;this.focusOnHover=this.options.focusOnHover;this.isStuck=this.cloneTimer=this.focusTimer=!1;this.initialize()}b.prototype.Defaults={layout:"rd-navbar-static",deviceLayout:"rd-navbar-fixed",focusOnHover:!0,focusOnHoverTimeout:800,linkedElements:["html"],
|
||||
domAppend:!0,stickUp:!0,stickUpClone:!0,stickUpOffset:"100%",anchorNav:!0,anchorNavSpeed:400,anchorNavOffset:0,anchorNavEasing:"swing",autoHeight:!0,responsive:{0:{layout:"rd-navbar-fixed",deviceLayout:"rd-navbar-fixed",focusOnHover:!1,stickUp:!1},992:{layout:"rd-navbar-static",deviceLayout:"rd-navbar-static",focusOnHover:!0,stickUp:!0}},callbacks:{onToggleSwitch:!1,onToggleClose:!1,onDomAppend:!1,onDropdownOver:!1,onDropdownOut:!1,onDropdownToggle:!1,onDropdownClose:!1,onStuck:!1,onUnstuck:!1,onAnchorChange:!1}};
|
||||
b.prototype.initialize=function(){this.$element.addClass("rd-navbar").addClass(this.options.layout);l&&this.$element.addClass("rd-navbar--is-touch");this.options.domAppend&&this.createNav(this);this.options.stickUpClone&&this.createClone(this);this.$element.addClass("rd-navbar-original");this.addAdditionalClassToToggles(".rd-navbar-original","toggle-original","toggle-original-elements");this.applyHandlers(this);this.offset=this.$element.offset().top;this.height=this.$element.outerHeight();this.loaded=
|
||||
!0;return this};b.prototype.resize=function(a,e){var d=l?a.getOption("deviceLayout"):a.getOption("layout");var g=a.$element.add(a.$clone);d===a.currentLayout&&a.loaded||(a.switchClass(g,a.currentLayout,d),null!=a.options.linkedElements&&c.grep(a.options.linkedElements,function(e,c){return a.switchClass(e,a.currentLayout+"-linked",d+"-linked")}),a.currentLayout=d);a.focusOnHover=a.getOption("focusOnHover");return a};b.prototype.stickUp=function(a,e){var d=a.getOption("stickUp");if(c("html").hasClass("ios")||
|
||||
a.$element.hasClass("rd-navbar-fixed"))d=!1;var g=a.$doc.scrollTop();var b=null!=a.$clone?a.$clone:a.$element;var f=a.getOption("stickUpOffset");f="string"===typeof f?0<f.indexOf("%")?parseFloat(f)*a.height/100:parseFloat(f):f;if(d){if(g>=f&&!a.isStuck||g<f&&a.isStuck)if(a.$element.add(a.$clone).find("[data-rd-navbar-toggle]").each(function(){c.proxy(a.closeToggle,this)(a,!1)}).end().find(".rd-navbar-submenu").removeClass("opened").removeClass("focus"),g>=f&&!a.isStuck&&!a.$element.hasClass("rd-navbar-fixed"))a.options.callbacks.onStuck&&
|
||||
a.options.callbacks.onStuck.call(a),setTimeout(function(){"resize"===e.type?a.switchClass(b,"","rd-navbar--is-stuck"):b.addClass("rd-navbar--is-stuck");a.isStuck=!0},navigator.platform.match(/(Mac)/i)?10:0);else{if("resize"===e.type)a.switchClass(b,"rd-navbar--is-stuck","");else b.removeClass("rd-navbar--is-stuck").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",c.proxy(a.resizeWrap,a,e));a.isStuck=!1;a.options.callbacks.onUnstuck&&a.options.callbacks.onUnstuck.call(a)}}else a.$element.find(".rd-navbar-submenu").removeClass("opened").removeClass("focus"),
|
||||
a.isStuck&&(a.switchClass(b,"rd-navbar--is-stuck",""),a.isStuck=!1,a.resizeWrap(e));return a};b.prototype.resizeWrap=function(a){if(null==this.$clone&&!this.isStuck){var e=this.$element.parent();if(this.getOption("autoHeight"))return this.height=this.$element.outerHeight(),"resize"===a.type?(e.addClass("rd-navbar--no-transition").css("height",this.height),e[0].offsetHeight,e.removeClass("rd-navbar--no-transition")):e.css("height",this.height);e.css("height","auto")}};b.prototype.createNav=function(a){a.$element.find(".rd-navbar-dropdown, .rd-navbar-megamenu").each(function(){var a=
|
||||
c(this);this.getBoundingClientRect();return a.hasClass("rd-navbar-megamenu")?a.parent().addClass("rd-navbar--has-megamenu"):a.parent().addClass("rd-navbar--has-dropdown")}).parents("li").addClass("rd-navbar-submenu");c('<span class="rd-navbar-submenu-toggle"></span>').insertAfter(".rd-navbar-nav li.rd-navbar-submenu > a");a.options.callbacks.onDomAppend&&a.options.callbacks.onDomAppend.call(this);return a};b.prototype.createClone=function(a){a.$clone=a.$element.clone().insertAfter(a.$element).addClass("rd-navbar--is-clone");
|
||||
a.addAdditionalClassToToggles(".rd-navbar--is-clone","toggle-cloned","toggle-cloned-elements");return a};b.prototype.closeToggle=function(a,e){var d=c(e.target);var g=!1;var b=this.getAttribute("data-rd-navbar-toggle");if(a.options.stickUpClone&&a.isStuck){var f=".toggle-cloned";var k=".toggle-cloned-elements";var h=!d.hasClass("toggle-cloned")}else f=".toggle-original",k=".toggle-original-elements",h=!d.hasClass("toggle-original");e.target!==this&&!d.parents(f+"[data-rd-navbar-toggle]").length&&
|
||||
!d.parents(k).length&&b&&h&&(d=c(this).parents("body").find(b).add(c(this).parents(".rd-navbar")[0]),d.each(function(){if(!g)return g=!0===(e.target===this||c.contains(this,e.target))}),g||(d.add(this).removeClass("active"),a.options.callbacks.onToggleClose&&a.options.callbacks.onToggleClose.call(this,a)));return this};b.prototype.switchToggle=function(a,e){var d;e.preventDefault();if(c(this).hasClass("toggle-cloned")){var g=".rd-navbar--is-clone";var b=".toggle-cloned-elements"}else g=".rd-navbar-original",
|
||||
b=".toggle-original-elements";if(d=this.getAttribute("data-rd-navbar-toggle"))c(g+" [data-rd-navbar-toggle]").not(this).each(function(){var a;if(a=this.getAttribute("data-rd-navbar-toggle"))return c(this).parents("body").find(g+" "+a+b).add(this).add(-1<c.inArray(".rd-navbar",a.split(/\s*,\s*/i))?c(this).parents("body")[0]:!1).removeClass("active")}),c(this).parents("body").find(g+" "+d+b).add(this).add(-1<c.inArray(".rd-navbar",d.split(/\s*,\s*/i))?c(this).parents(".rd-navbar")[0]:!1).toggleClass("active");
|
||||
a.options.callbacks.onToggleSwitch&&a.options.callbacks.onToggleSwitch.call(this,a);return this};b.prototype.dropdownOver=function(a,e){if(a.focusOnHover){var d=c(this);clearTimeout(e);if(a.options.callbacks.onDropdownOver&&!a.options.callbacks.onDropdownOver.call(this,a))return this;d.addClass("focus").siblings().removeClass("opened").each(a.dropdownUnfocus)}return this};b.prototype.dropdownTouch=function(a,e){var d=c(this);clearTimeout(e);if(a.focusOnHover){var b=!1;d.hasClass("focus")&&(b=!0);
|
||||
if(!b)return d.addClass("focus").siblings().removeClass("opened").each(a.dropdownUnfocus),!1;a.options.callbacks.onDropdownOver&&a.options.callbacks.onDropdownOver.call(this,a)}return this};b.prototype.dropdownOut=function(a,e){if(a.focusOnHover){var d=c(this);d.one("mouseenter.navbar",function(){return clearTimeout(e)});a.options.callbacks.onDropdownOut&&a.options.callbacks.onDropdownOut.call(this,a);clearTimeout(e);e=setTimeout(c.proxy(a.dropdownUnfocus,this,a),a.options.focusOnHoverTimeout)}return this};
|
||||
b.prototype.dropdownUnfocus=function(a){c(this).find("li.focus").add(this).removeClass("focus");return this};b.prototype.dropdownClose=function(a,e){if(e.target!==this&&!c(e.target).parents(".rd-navbar-submenu").length){var d=c(this);d.find("li.focus").add(this).removeClass("focus").removeClass("opened");a.options.callbacks.onDropdownClose&&a.options.callbacks.onDropdownClose.call(this,a)}return this};b.prototype.dropdownToggle=function(a){c(this).toggleClass("opened").siblings().removeClass("opened");
|
||||
a.options.callbacks.onDropdownToggle&&a.options.callbacks.onDropdownToggle.call(this,a);return this};b.prototype.goToAnchor=function(a,e){var d=this.hash;var b=c(d);if(!a.getOption("anchorNav"))return!1;b.length&&(e.preventDefault(),c("html, body").stop().animate({scrollTop:b.offset().top+a.getOption("anchorNavOffset")+1},a.getOption("anchorNavSpeed"),a.getOption("anchorNavEasing"),function(){return a.changeAnchor(d)}));return this};b.prototype.activateAnchor=function(a){var e=this.$doc.scrollTop();
|
||||
var d=this.$win.height();var b=this.$doc.height();a=this.getOption("anchorNavOffset");if(!this.options.anchorNav)return!1;if(e+d>b-50){b=c('[data-type="anchor"]').last();if(b.length&&b.offset().top>=e){var h="#"+b.attr("id");var f=c('.rd-navbar-nav a[href^="'+h+'"]').parent();f.hasClass("active")||(f.addClass("active").siblings().removeClass("active"),this.options.callbacks.onAnchorChange&&this.options.callbacks.onAnchorChange.call(b[0],this))}return b}d=c('.rd-navbar-nav a[href^="#"]').get();for(f in d){b=
|
||||
d[f];var k=c(b);h=k.attr("href");b=c(h);b.length&&b.offset().top+a<=e&&b.offset().top+b.outerHeight()>e&&(k.parent().addClass("active").siblings().removeClass("active"),this.options.callbacks.onAnchorChange&&this.options.callbacks.onAnchorChange.call(b[0],this))}return null};b.prototype.getAnchor=function(){return history&&history.state?history.state.id:null};b.prototype.changeAnchor=function(a){history&&(history.state?history.state.id!==a?history.replaceState({anchorId:a},null,a):history.pushState({anchorId:a},
|
||||
null,a):history.pushState({anchorId:a},null,a));return this};b.prototype.applyHandlers=function(a){null!=a.options.responsive&&a.$win.on("resize.navbar",c.proxy(a.resize,a.$win[0],a)).on("resize.navbar",c.proxy(a.resizeWrap,a)).on("resize.navbar",c.proxy(a.stickUp,null!=a.$clone?a.$clone:a.$element,a)).on("orientationchange.navbar",c.proxy(a.resize,a.$win[0],a)).trigger("resize.navbar");a.$doc.on("scroll.navbar",c.proxy(a.stickUp,null!=a.$clone?a.$clone:a.$element,a)).on("scroll.navbar",c.proxy(a.activateAnchor,
|
||||
a));a.$element.add(a.$clone).find("[data-rd-navbar-toggle]").each(function(){var b=c(this);b.on("click",c.proxy(a.switchToggle,this,a));return b.parents("body").on("click",c.proxy(a.closeToggle,this,a))});a.$element.add(a.$clone).find(".rd-navbar-submenu").each(function(){var b=c(this);var d=b.parents(".rd-navbar--is-clone").length?a.cloneTimer:a.focusTimer;b.on("mouseleave.navbar",c.proxy(a.dropdownOut,this,a,d));b.find("> a").on("mouseenter.navbar",c.proxy(a.dropdownOver,this,a,d));b.find("> a").on("touchstart.navbar",
|
||||
c.proxy(a.dropdownTouch,this,a,d));b.find("> .rd-navbar-submenu-toggle").on("click",c.proxy(a.dropdownToggle,this,a));return b.parents("body").on("click",c.proxy(a.dropdownClose,this,a))});a.$element.add(a.$clone).find('.rd-navbar-nav a[href^="#"]').each(function(){return c(this).on("click",c.proxy(a.goToAnchor,this,a))});a.$element.find(".rd-navbar-dropdown, .rd-navbar-megamenu").each(function(){var a=c(this);var b=this.getBoundingClientRect();b.left+a.outerWidth()>=h.innerWidth-10?this.className+=
|
||||
" rd-navbar-open-left":10>=b.left-a.outerWidth()&&(this.className+=" rd-navbar-open-right")});return a};b.prototype.switchClass=function(a,b,d){a=a instanceof jQuery?a:c(a);a.addClass("rd-navbar--no-transition").removeClass(b).addClass(d);a[0].offsetHeight;return a.removeClass("rd-navbar--no-transition")};b.prototype.getOption=function(a){var b,c;for(b in this.options.responsive)b<=h.innerWidth&&(c=b);return null!=this.options.responsive&&null!=this.options.responsive[c][a]?this.options.responsive[c][a]:
|
||||
this.options[a]};b.prototype.addAdditionalClassToToggles=function(a,b,d){return c(a).find("[data-rd-navbar-toggle]").each(function(){c(this).addClass(b);var e=this.getAttribute("data-rd-navbar-toggle");return c(this).parents("body").find(a).find(e).addClass(d)})};return b}();c.fn.extend({RDNavbar:function(b){var a=c(this);if(!a.data("RDNavbar"))return a.data("RDNavbar",new m(this,b))}});return h.RDNavbar=m})(window.jQuery,document,window);"undefined"!==typeof module&&null!==module?module.exports=
|
||||
window.RDNavbar:"function"===typeof define&&define.amd&&define(["jquery"],function(){return window.RDNavbar})}).call(this);
|
176
public/assets/js/rd-navbar/rd-navbar.js
Normal file
@ -0,0 +1,176 @@
|
||||
/**
|
||||
* @module RD Navbar
|
||||
* @author Evgeniy Gusarov
|
||||
* @see https://ua.linkedin.com/pub/evgeniy-gusarov/8a/a40/54a
|
||||
* @version 2.2.5
|
||||
*/
|
||||
(function () {
|
||||
var t;
|
||||
t = "ontouchstart" in window,
|
||||
function (n, o, e) {
|
||||
var a;
|
||||
a = function () {
|
||||
function a(t, a) {
|
||||
this.options = n.extend(!0, {}, this.Defaults, a), this.$element = n(t), this.$clone = null, this.$win = n(e), this.$doc = n(o), this.currentLayout = this.options.layout, this.loaded = !1, this.focusOnHover = this.options.focusOnHover, this.focusTimer = !1, this.cloneTimer = !1, this.isStuck = !1, this.initialize()
|
||||
}
|
||||
return a.prototype.Defaults = {
|
||||
layout: "rd-navbar-static",
|
||||
deviceLayout: "rd-navbar-fixed",
|
||||
focusOnHover: !0,
|
||||
focusOnHoverTimeout: 800,
|
||||
linkedElements: ["html"],
|
||||
domAppend: !0,
|
||||
stickUp: !0,
|
||||
stickUpClone: !0,
|
||||
stickUpOffset: "100%",
|
||||
anchorNav: !0,
|
||||
anchorNavSpeed: 400,
|
||||
anchorNavOffset: 0,
|
||||
anchorNavEasing: "swing",
|
||||
autoHeight: !0,
|
||||
responsive: {
|
||||
0: {
|
||||
layout: "rd-navbar-fixed",
|
||||
deviceLayout: "rd-navbar-fixed",
|
||||
focusOnHover: !1,
|
||||
stickUp: !1
|
||||
},
|
||||
1200: {
|
||||
layout: "rd-navbar-static",
|
||||
deviceLayout: "rd-navbar-static",
|
||||
focusOnHover: !0,
|
||||
stickUp: !0
|
||||
}
|
||||
},
|
||||
callbacks: {
|
||||
onToggleSwitch: !1,
|
||||
onToggleClose: !1,
|
||||
onDomAppend: !1,
|
||||
onDropdownOver: !1,
|
||||
onDropdownOut: !1,
|
||||
onDropdownToggle: !1,
|
||||
onDropdownClose: !1,
|
||||
onStuck: !1,
|
||||
onUnstuck: !1,
|
||||
onAnchorChange: !1
|
||||
}
|
||||
}, a.prototype.initialize = function () {
|
||||
var n;
|
||||
return (n = this).$element.addClass("rd-navbar").addClass(n.options.layout), t && n.$element.addClass("rd-navbar--is-touch"), n.options.domAppend && n.createNav(n), n.options.stickUpClone && n.createClone(n), n.$element.addClass("rd-navbar-original"), n.addAdditionalClassToToggles(".rd-navbar-original", "toggle-original", "toggle-original-elements"), n.applyHandlers(n), n.offset = n.$element.offset().top, n.height = n.$element.outerHeight(), n.loaded = !0, n
|
||||
}, a.prototype.resize = function (o, e) {
|
||||
var a, s;
|
||||
return s = t ? o.getOption("deviceLayout") : o.getOption("layout"), a = o.$element.add(o.$clone), s === o.currentLayout && o.loaded || (o.switchClass(a, o.currentLayout, s), null != o.options.linkedElements && n.grep(o.options.linkedElements, function (t, n) {
|
||||
return o.switchClass(t, o.currentLayout + "-linked", s + "-linked")
|
||||
}), o.currentLayout = s), o.focusOnHover = o.getOption("focusOnHover"), o
|
||||
}, a.prototype.stickUp = function (t, o) {
|
||||
function e() {
|
||||
"resize" === o.type ? t.switchClass(i, "", "rd-navbar--is-stuck") : i.addClass("rd-navbar--is-stuck"), t.isStuck = !0
|
||||
}
|
||||
var a, s, r, i, l;
|
||||
return s = t.getOption("stickUp"), (n("html").hasClass("ios") || t.$element.hasClass("rd-navbar-fixed")) && (s = !1), a = t.$doc.scrollTop(), i = null != t.$clone ? t.$clone : t.$element, r = t.getOption("stickUpOffset"), l = "string" == typeof r ? r.indexOf("%") > 0 ? parseFloat(r) * t.height / 100 : parseFloat(r) : r, s ? (a >= l && !t.isStuck || a < l && t.isStuck) && (t.$element.add(t.$clone).find("[data-rd-navbar-toggle]").each(function () {
|
||||
n.proxy(t.closeToggle, this)(t, !1)
|
||||
}).end().find(".rd-navbar-submenu").removeClass("opened").removeClass("focus"), a >= l && !t.isStuck && !t.$element.hasClass("rd-navbar-fixed") ? (t.options.callbacks.onStuck && t.options.callbacks.onStuck.call(t), navigator.platform.match(/(Mac)/i) ? setTimeout(e, 10) : e()) : ("resize" === o.type ? t.switchClass(i, "rd-navbar--is-stuck", "") : i.removeClass("rd-navbar--is-stuck").one("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", n.proxy(t.resizeWrap, t, o)), t.isStuck = !1, t.options.callbacks.onUnstuck && t.options.callbacks.onUnstuck.call(t))) : (t.$element.find(".rd-navbar-submenu").removeClass("opened").removeClass("focus"), t.isStuck && (t.switchClass(i, "rd-navbar--is-stuck", ""), t.isStuck = !1, t.resizeWrap(o))), t
|
||||
}, a.prototype.resizeWrap = function (t) {
|
||||
var n, o;
|
||||
if (null == (o = this).$clone && !o.isStuck) return n = o.$element.parent(), o.getOption("autoHeight") ? (o.height = o.$element.outerHeight(), "resize" === t.type ? (n.addClass("rd-navbar--no-transition").css("height", o.height), n[0].offsetHeight, n.removeClass("rd-navbar--no-transition")) : n.css("height", o.height)) : void n.css("height", "auto")
|
||||
}, a.prototype.createNav = function (t) {
|
||||
return t.$element.find(".rd-navbar-dropdown, .rd-navbar-megamenu").each(function () {
|
||||
var t;
|
||||
return t = n(this), this.getBoundingClientRect(), t.hasClass("rd-navbar-megamenu") ? t.parent().addClass("rd-navbar--has-megamenu") : t.parent().addClass("rd-navbar--has-dropdown")
|
||||
}).parents("li").addClass("rd-navbar-submenu"), n('<span class="rd-navbar-submenu-toggle"></span>').insertAfter(".rd-navbar-nav li.rd-navbar-submenu > a"), t.options.callbacks.onDomAppend && t.options.callbacks.onDomAppend.call(this), t
|
||||
}, a.prototype.createClone = function (t) {
|
||||
return t.$clone = t.$element.clone().insertAfter(t.$element).addClass("rd-navbar--is-clone"), t.addAdditionalClassToToggles(".rd-navbar--is-clone", "toggle-cloned", "toggle-cloned-elements"), t
|
||||
}, a.prototype.closeToggle = function (t, o) {
|
||||
var e, a, s, r, i, l, c;
|
||||
return a = n(o.target), i = !1, l = this.getAttribute("data-rd-navbar-toggle"), t.options.stickUpClone && t.isStuck ? (r = ".toggle-cloned", s = ".toggle-cloned-elements", c = !a.hasClass("toggle-cloned")) : (r = ".toggle-original", s = ".toggle-original-elements", c = !a.hasClass("toggle-original")), o.target !== this && !a.parents(r + "[data-rd-navbar-toggle]").length && !a.parents(s).length && l && c && ((e = n(this).parents("body").find(l).add(n(this).parents(".rd-navbar")[0])).each(function () {
|
||||
if (!i) return i = !0 === (o.target === this || n.contains(this, o.target))
|
||||
}), i || (e.add(this).removeClass("active"), t.options.callbacks.onToggleClose && t.options.callbacks.onToggleClose.call(this, t))), this
|
||||
}, a.prototype.switchToggle = function (t, o) {
|
||||
var e, a, s;
|
||||
return o.preventDefault(), n(this).hasClass("toggle-cloned") ? (s = ".rd-navbar--is-clone", e = ".toggle-cloned-elements") : (s = ".rd-navbar-original", e = ".toggle-original-elements"), (a = this.getAttribute("data-rd-navbar-toggle")) && (n(s + " [data-rd-navbar-toggle]").not(this).each(function () {
|
||||
var t;
|
||||
if (t = this.getAttribute("data-rd-navbar-toggle")) return n(this).parents("body").find(s + " " + t + e).add(this).add(n.inArray(".rd-navbar", t.split(/\s*,\s*/i)) > -1 && n(this).parents("body")[0]).removeClass("active")
|
||||
}), n(this).parents("body").find(s + " " + a + e).add(this).add(n.inArray(".rd-navbar", a.split(/\s*,\s*/i)) > -1 && n(this).parents(".rd-navbar")[0]).toggleClass("active")), t.options.callbacks.onToggleSwitch && t.options.callbacks.onToggleSwitch.call(this, t), this
|
||||
}, a.prototype.dropdownOver = function (t, o) {
|
||||
var e;
|
||||
if (t.focusOnHover) {
|
||||
if (e = n(this), clearTimeout(o), t.options.callbacks.onDropdownOver && !t.options.callbacks.onDropdownOver.call(this, t)) return this;
|
||||
e.addClass("focus").siblings().removeClass("opened").each(t.dropdownUnfocus)
|
||||
}
|
||||
return this
|
||||
}, a.prototype.dropdownTouch = function (t, o) {
|
||||
var e, a;
|
||||
if (e = n(this), clearTimeout(o), t.focusOnHover) {
|
||||
if (a = !1, e.hasClass("focus") && (a = !0), !a) return e.addClass("focus").siblings().removeClass("opened").each(t.dropdownUnfocus), !1;
|
||||
t.options.callbacks.onDropdownOver && t.options.callbacks.onDropdownOver.call(this, t)
|
||||
}
|
||||
return this
|
||||
}, a.prototype.dropdownOut = function (t, o) {
|
||||
return t.focusOnHover && (n(this).one("mouseenter.navbar", function () {
|
||||
return clearTimeout(o)
|
||||
}), t.options.callbacks.onDropdownOut && t.options.callbacks.onDropdownOut.call(this, t), clearTimeout(o), o = setTimeout(n.proxy(t.dropdownUnfocus, this, t), t.options.focusOnHoverTimeout)), this
|
||||
}, a.prototype.dropdownUnfocus = function (t) {
|
||||
return n(this).find("li.focus").add(this).removeClass("focus"), this
|
||||
}, a.prototype.dropdownClose = function (t, o) {
|
||||
return o.target === this || n(o.target).parents(".rd-navbar-submenu").length || (n(this).find("li.focus").add(this).removeClass("focus").removeClass("opened"), t.options.callbacks.onDropdownClose && t.options.callbacks.onDropdownClose.call(this, t)), this
|
||||
}, a.prototype.dropdownToggle = function (t) {
|
||||
return n(this).toggleClass("opened").siblings().removeClass("opened"), t.options.callbacks.onDropdownToggle && t.options.callbacks.onDropdownToggle.call(this, t), this
|
||||
}, a.prototype.goToAnchor = function (t, o) {
|
||||
var e, a;
|
||||
return a = this.hash, e = n(a), !!t.getOption("anchorNav") && (e.length && (o.preventDefault(), n("html, body").stop().animate({
|
||||
scrollTop: e.offset().top + t.getOption("anchorNavOffset") + 1
|
||||
}, t.getOption("anchorNavSpeed"), t.getOption("anchorNavEasing"), function () {
|
||||
return t.changeAnchor(a)
|
||||
})), this)
|
||||
}, a.prototype.activateAnchor = function (t) {
|
||||
var o, e, a, s, r, i, l, c, d, p, u, h;
|
||||
if (s = this, u = s.$doc.scrollTop(), h = s.$win.height(), r = s.$doc.height(), p = s.getOption("anchorNavOffset"), !s.options.anchorNav) return !1;
|
||||
if (u + h > r - 50) return (o = n('[data-type="anchor"]').last()).length && o.offset().top >= u && (i = "#" + o.attr("id"), (e = n('.rd-navbar-nav a[href^="' + i + '"]').parent()).hasClass("active") || (e.addClass("active").siblings().removeClass("active"), s.options.callbacks.onAnchorChange && s.options.callbacks.onAnchorChange.call(o[0], s))), o;
|
||||
d = n('.rd-navbar-nav a[href^="#"]').get();
|
||||
for (l in d) c = d[l], i = (a = n(c)).attr("href"), (o = n(i)).length && o.offset().top + p <= u && o.offset().top + o.outerHeight() > u && (a.parent().addClass("active").siblings().removeClass("active"), s.options.callbacks.onAnchorChange && s.options.callbacks.onAnchorChange.call(o[0], s));
|
||||
return null
|
||||
}, a.prototype.getAnchor = function () {
|
||||
return history && history.state ? history.state.id : null
|
||||
}, a.prototype.changeAnchor = function (t) {
|
||||
return history && (history.state && history.state.id !== t ? history.replaceState({
|
||||
anchorId: t
|
||||
}, null, t) : history.pushState({
|
||||
anchorId: t
|
||||
}, null, t)), this
|
||||
}, a.prototype.applyHandlers = function (t) {
|
||||
return null != t.options.responsive && t.$win.on("resize.navbar", n.proxy(t.resize, t.$win[0], t)).on("resize.navbar", n.proxy(t.resizeWrap, t)).on("resize.navbar", n.proxy(t.stickUp, null != t.$clone ? t.$clone : t.$element, t)).on("orientationchange.navbar", n.proxy(t.resize, t.$win[0], t)).trigger("resize.navbar"), t.$doc.on("scroll.navbar", n.proxy(t.stickUp, null != t.$clone ? t.$clone : t.$element, t)).on("scroll.navbar", n.proxy(t.activateAnchor, t)), t.$element.add(t.$clone).find("[data-rd-navbar-toggle]").each(function () {
|
||||
var o;
|
||||
return (o = n(this)).on("click", n.proxy(t.switchToggle, this, t)), o.parents("body").on("click", n.proxy(t.closeToggle, this, t))
|
||||
}), t.$element.add(t.$clone).find(".rd-navbar-submenu").each(function () {
|
||||
var o, e;
|
||||
return o = n(this), e = o.parents(".rd-navbar--is-clone").length ? t.cloneTimer : t.focusTimer, o.on("mouseleave.navbar", n.proxy(t.dropdownOut, this, t, e)), o.find("> a").on("mouseenter.navbar", n.proxy(t.dropdownOver, this, t, e)), o.find("> a").on("touchstart.navbar", n.proxy(t.dropdownTouch, this, t, e)), o.find("> .rd-navbar-submenu-toggle").on("click", n.proxy(t.dropdownToggle, this, t)), o.parents("body").on("click", n.proxy(t.dropdownClose, this, t))
|
||||
}), t.$element.add(t.$clone).find('.rd-navbar-nav a[href^="#"]').each(function () {
|
||||
return n(this).on("click", n.proxy(t.goToAnchor, this, t))
|
||||
}), t.$element.find(".rd-navbar-dropdown, .rd-navbar-megamenu").each(function () {
|
||||
var t, o;
|
||||
t = n(this), (o = this.getBoundingClientRect()).left + t.outerWidth() >= e.innerWidth - 10 ? this.className += " rd-navbar-open-left" : o.left - t.outerWidth() <= 10 && (this.className += " rd-navbar-open-right")
|
||||
}), t
|
||||
}, a.prototype.switchClass = function (t, o, e) {
|
||||
var a;
|
||||
return (a = t instanceof jQuery ? t : n(t)).addClass("rd-navbar--no-transition").removeClass(o).addClass(e), a[0].offsetHeight, a.removeClass("rd-navbar--no-transition")
|
||||
}, a.prototype.getOption = function (t) {
|
||||
var n, o;
|
||||
for (n in this.options.responsive) n <= e.innerWidth && (o = n);
|
||||
return null != this.options.responsive && null != this.options.responsive[o][t] ? this.options.responsive[o][t] : this.options[t]
|
||||
}, a.prototype.addAdditionalClassToToggles = function (t, o, e) {
|
||||
return n(t).find("[data-rd-navbar-toggle]").each(function () {
|
||||
var a;
|
||||
return n(this).addClass(o), a = this.getAttribute("data-rd-navbar-toggle"), n(this).parents("body").find(t).find(a).addClass(e)
|
||||
})
|
||||
}, a
|
||||
}(), n.fn.extend({
|
||||
RDNavbar: function (t) {
|
||||
var o;
|
||||
if (!(o = n(this)).data("RDNavbar")) return o.data("RDNavbar", new a(this, t))
|
||||
}
|
||||
}), e.RDNavbar = a
|
||||
}(window.jQuery, document, window), "undefined" != typeof module && null !== module ? module.exports = window.RDNavbar : "function" == typeof define && define.amd && define(["jquery"], function () {
|
||||
"use strict";
|
||||
return window.RDNavbar
|
||||
})
|
||||
}).call(this);
|
89
public/assets/js/script.js
Normal file
@ -0,0 +1,89 @@
|
||||
|
||||
/* 插入JS套件
|
||||
========================================================*/
|
||||
function include(scriptUrl) {
|
||||
document.write('<script src="' + scriptUrl + '"></script>');
|
||||
}
|
||||
|
||||
/* 下拉選單select設定
|
||||
========================================================*/
|
||||
function MM_jumpMenu(targ,selObj,restore){ //v3.0
|
||||
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
|
||||
if (restore) selObj.selectedIndex=0;
|
||||
}
|
||||
|
||||
|
||||
/* RD Navbar 主選單設定
|
||||
========================================================*/
|
||||
(function ($) {
|
||||
var o = $('.rd-navbar');
|
||||
if (o.length > 0) {
|
||||
include('/assets/js/rd-navbar/jquery.rd-navbar.js');
|
||||
|
||||
$(document).ready(function () {
|
||||
o.RDNavbar({
|
||||
stickUpClone: false,
|
||||
stickUpOffset: 170
|
||||
});
|
||||
});
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
|
||||
/* 各套件設定
|
||||
========================================================*/
|
||||
$(function(){
|
||||
|
||||
//置頂設定
|
||||
$.scrollUp();
|
||||
|
||||
//圖片延遲效果設定
|
||||
$("img.lazyload").lazyload();
|
||||
|
||||
// 次選單滑動效果
|
||||
$('a[href*="#anchor"]:not([href="#anchor"])').click(function () {
|
||||
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') ||
|
||||
location.hostname == this.hostname) {
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
if (target.length) {
|
||||
$('html,body').animate({
|
||||
scrollTop: target.offset().top - 120
|
||||
}, 1000);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//wow動畫
|
||||
AOS.init();
|
||||
|
||||
|
||||
//文字動畫
|
||||
// $('.bannerText1').textillate({
|
||||
// in: {
|
||||
// effect: 'fadeInUp',
|
||||
// delay: 0,
|
||||
// }
|
||||
// });
|
||||
// $('.bannerText2').textillate({
|
||||
// initialDelay : 600,
|
||||
// in: {
|
||||
// effect: 'fadeInDown',
|
||||
// delay: 30,
|
||||
// }
|
||||
// });
|
||||
|
||||
// 產品選單下拉設定
|
||||
// $("#red").treeview({
|
||||
// animated: "fast",
|
||||
// collapsed: true,
|
||||
// unique: true,
|
||||
// persist: "cookie",
|
||||
// toggle: function() {
|
||||
// window.console && console.log("%o was toggled", this);
|
||||
// }
|
||||
// });
|
||||
});
|
||||
|
||||
|
12
public/assets/js/scrollUp/css/image.css
Normal file
@ -0,0 +1,12 @@
|
||||
/* Image style */
|
||||
#scrollUp {
|
||||
background-image: url("../top.png");
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
width: 38px; /* Width of image */
|
||||
height: 38px; /* Height of image */
|
||||
white-space: nowrap;
|
||||
text-indent: 100%;
|
||||
overflow: hidden;
|
||||
*text-indent: -9999px;
|
||||
}
|
5
public/assets/js/scrollUp/css/link.css
Normal file
@ -0,0 +1,5 @@
|
||||
/* Text link style */
|
||||
#scrollUp {
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
}
|
24
public/assets/js/scrollUp/css/pill.css
Normal file
@ -0,0 +1,24 @@
|
||||
/* Pill style */
|
||||
#scrollUp {
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
background-color: #555;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
font-family: sans-serif;
|
||||
text-decoration: none;
|
||||
opacity: .9;
|
||||
padding: 10px 20px;
|
||||
-webkit-border-radius: 16px;
|
||||
-moz-border-radius: 16px;
|
||||
border-radius: 16px;
|
||||
-webkit-transition: background 200ms linear;
|
||||
-moz-transition: background 200ms linear;
|
||||
-o-transition: background 200ms linear;
|
||||
transition: background 200ms linear;
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
|
||||
#scrollUp:hover {
|
||||
background-color: #000;
|
||||
}
|
32
public/assets/js/scrollUp/css/tab.css
Normal file
@ -0,0 +1,32 @@
|
||||
/* Tab style */
|
||||
#scrollUp {
|
||||
bottom: 0;
|
||||
right: 30px;
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
margin-bottom: -10px;
|
||||
padding: 10px 5px;
|
||||
font: 14px/20px sans-serif;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
color: #828282;
|
||||
-webkit-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
|
||||
background-color: #E6E6E6;
|
||||
background-image: -moz-linear-gradient(top, #EBEBEB, #DEDEDE);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#EBEBEB), to(#DEDEDE));
|
||||
background-image: -webkit-linear-gradient(top, #EBEBEB, #DEDEDE);
|
||||
background-image: -o-linear-gradient(top, #EBEBEB, #DEDEDE);
|
||||
background-image: linear-gradient(to bottom, #EBEBEB, #DEDEDE);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-transition: margin-bottom 150ms linear;
|
||||
-moz-transition: margin-bottom 150ms linear;
|
||||
-o-transition: margin-bottom 150ms linear;
|
||||
transition: margin-bottom 150ms linear;
|
||||
}
|
||||
|
||||
#scrollUp:hover {
|
||||
margin-bottom: 0;
|
||||
}
|
162
public/assets/js/scrollUp/jquery.scrollUp.js
Normal file
@ -0,0 +1,162 @@
|
||||
(function ($, window, document) {
|
||||
'use strict';
|
||||
|
||||
// Main function
|
||||
$.fn.scrollUp = function (options) {
|
||||
|
||||
// Ensure that only one scrollUp exists
|
||||
if (!$.data(document.body, 'scrollUp')) {
|
||||
$.data(document.body, 'scrollUp', true);
|
||||
$.fn.scrollUp.init(options);
|
||||
}
|
||||
};
|
||||
|
||||
// Init
|
||||
$.fn.scrollUp.init = function (options) {
|
||||
|
||||
// Define vars
|
||||
var o = $.fn.scrollUp.settings = $.extend({}, $.fn.scrollUp.defaults, options),
|
||||
triggerVisible = false,
|
||||
animIn, animOut, animSpeed, scrollDis, scrollEvent, scrollTarget, $self;
|
||||
|
||||
// Create element
|
||||
if (o.scrollTrigger) {
|
||||
$self = $(o.scrollTrigger);
|
||||
} else {
|
||||
$self = $('<a/>', {
|
||||
id: o.scrollName,
|
||||
href: '#top'
|
||||
});
|
||||
}
|
||||
|
||||
// Set scrollTitle if there is one
|
||||
if (o.scrollTitle) {
|
||||
$self.attr('title', o.scrollTitle);
|
||||
}
|
||||
|
||||
$self.appendTo('body');
|
||||
|
||||
// If not using an image display text
|
||||
if (!(o.scrollImg || o.scrollTrigger)) {
|
||||
$self.html(o.scrollText);
|
||||
}
|
||||
|
||||
// Minimum CSS to make the magic happen
|
||||
$self.css({
|
||||
display: 'none',
|
||||
position: 'fixed',
|
||||
zIndex: o.zIndex
|
||||
});
|
||||
|
||||
// Active point overlay
|
||||
if (o.activeOverlay) {
|
||||
$('<div/>', {
|
||||
id: o.scrollName + '-active'
|
||||
}).css({
|
||||
position: 'absolute',
|
||||
'top': o.scrollDistance + 'px',
|
||||
width: '100%',
|
||||
borderTop: '1px dotted' + o.activeOverlay,
|
||||
zIndex: o.zIndex
|
||||
}).appendTo('body');
|
||||
}
|
||||
|
||||
// Switch animation type
|
||||
switch (o.animation) {
|
||||
case 'fade':
|
||||
animIn = 'fadeIn';
|
||||
animOut = 'fadeOut';
|
||||
animSpeed = o.animationSpeed;
|
||||
break;
|
||||
|
||||
case 'slide':
|
||||
animIn = 'slideDown';
|
||||
animOut = 'slideUp';
|
||||
animSpeed = o.animationSpeed;
|
||||
break;
|
||||
|
||||
default:
|
||||
animIn = 'show';
|
||||
animOut = 'hide';
|
||||
animSpeed = 0;
|
||||
}
|
||||
|
||||
// If from top or bottom
|
||||
if (o.scrollFrom === 'top') {
|
||||
scrollDis = o.scrollDistance;
|
||||
} else {
|
||||
scrollDis = $(document).height() - $(window).height() - o.scrollDistance;
|
||||
}
|
||||
|
||||
// Scroll function
|
||||
scrollEvent = $(window).scroll(function () {
|
||||
if ($(window).scrollTop() > scrollDis) {
|
||||
if (!triggerVisible) {
|
||||
$self[animIn](animSpeed);
|
||||
triggerVisible = true;
|
||||
}
|
||||
} else {
|
||||
if (triggerVisible) {
|
||||
$self[animOut](animSpeed);
|
||||
triggerVisible = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (o.scrollTarget) {
|
||||
if (typeof o.scrollTarget === 'number') {
|
||||
scrollTarget = o.scrollTarget;
|
||||
} else if (typeof o.scrollTarget === 'string') {
|
||||
scrollTarget = Math.floor($(o.scrollTarget).offset().top);
|
||||
}
|
||||
} else {
|
||||
scrollTarget = 0;
|
||||
}
|
||||
|
||||
// To the top
|
||||
$self.click(function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
$('html, body').animate({
|
||||
scrollTop: scrollTarget
|
||||
}, o.scrollSpeed, o.easingType);
|
||||
});
|
||||
};
|
||||
|
||||
// Defaults
|
||||
$.fn.scrollUp.defaults = {
|
||||
scrollName: 'scrollUp', // Element ID
|
||||
scrollDistance: 300, // Distance from top/bottom before showing element (px)
|
||||
scrollFrom: 'top', // 'top' or 'bottom'
|
||||
scrollSpeed: 300, // Speed back to top (ms)
|
||||
easingType: 'linear', // Scroll to top easing (see http://easings.net/)
|
||||
animation: 'fade', // Fade, slide, none
|
||||
animationSpeed: 200, // Animation in speed (ms)
|
||||
scrollTrigger: false, // Set a custom triggering element. Can be an HTML string or jQuery object
|
||||
scrollTarget: false, // Set a custom target element for scrolling to. Can be element or number
|
||||
scrollText: '', // Text for element, can contain HTML
|
||||
scrollTitle: '回頁面頂端', // Set a custom <a> title if required. Defaults to scrollText
|
||||
scrollImg: false, // Set true to use image
|
||||
activeOverlay: false, // Set CSS color to display scrollUp active point, e.g '#00FFFF'
|
||||
zIndex: 2147483647 // Z-Index for the overlay
|
||||
};
|
||||
|
||||
// Destroy scrollUp plugin and clean all modifications to the DOM
|
||||
$.fn.scrollUp.destroy = function (scrollEvent) {
|
||||
$.removeData(document.body, 'scrollUp');
|
||||
$('#' + $.fn.scrollUp.settings.scrollName).remove();
|
||||
$('#' + $.fn.scrollUp.settings.scrollName + '-active').remove();
|
||||
|
||||
// If 1.7 or above use the new .off()
|
||||
if ($.fn.jquery.split('.')[1] >= 7) {
|
||||
$(window).off('scroll', scrollEvent);
|
||||
|
||||
// Else use the old .unbind()
|
||||
} else {
|
||||
$(window).unbind('scroll', scrollEvent);
|
||||
}
|
||||
};
|
||||
|
||||
$.scrollUp = $.fn.scrollUp;
|
||||
|
||||
})(jQuery, window, document);
|
BIN
public/assets/js/scrollUp/top.png
Normal file
After Width: | Height: | Size: 698 B |
BIN
public/assets/js/slick/ajax-loader.gif
Normal file
After Width: | Height: | Size: 4.1 KiB |
10
public/assets/js/slick/config.rb
Normal file
@ -0,0 +1,10 @@
|
||||
css_dir = "."
|
||||
sass_dir = "."
|
||||
images_dir = "."
|
||||
fonts_dir = "fonts"
|
||||
relative_assets = true
|
||||
|
||||
output_style = :compact
|
||||
line_comments = false
|
||||
|
||||
preferred_syntax = :scss
|
BIN
public/assets/js/slick/fonts/slick.eot
Normal file
14
public/assets/js/slick/fonts/slick.svg
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by Fontastic.me</metadata>
|
||||
<defs>
|
||||
<font id="slick" horiz-adv-x="512">
|
||||
<font-face font-family="slick" units-per-em="512" ascent="480" descent="-32"/>
|
||||
<missing-glyph horiz-adv-x="512" />
|
||||
|
||||
<glyph unicode="→" d="M241 113l130 130c4 4 6 8 6 13 0 5-2 9-6 13l-130 130c-3 3-7 5-12 5-5 0-10-2-13-5l-29-30c-4-3-6-7-6-12 0-5 2-10 6-13l87-88-87-88c-4-3-6-8-6-13 0-5 2-9 6-12l29-30c3-3 8-5 13-5 5 0 9 2 12 5z m234 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
|
||||
<glyph unicode="←" d="M296 113l29 30c4 3 6 7 6 12 0 5-2 10-6 13l-87 88 87 88c4 3 6 8 6 13 0 5-2 9-6 12l-29 30c-3 3-8 5-13 5-5 0-9-2-12-5l-130-130c-4-4-6-8-6-13 0-5 2-9 6-13l130-130c3-3 7-5 12-5 5 0 10 2 13 5z m179 143c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
|
||||
<glyph unicode="•" d="M475 256c0-40-9-77-29-110-20-34-46-60-80-80-33-20-70-29-110-29-40 0-77 9-110 29-34 20-60 46-80 80-20 33-29 70-29 110 0 40 9 77 29 110 20 34 46 60 80 80 33 20 70 29 110 29 40 0 77-9 110-29 34-20 60-46 80-80 20-33 29-70 29-110z"/>
|
||||
<glyph unicode="a" d="M475 439l0-128c0-5-1-9-5-13-4-4-8-5-13-5l-128 0c-8 0-13 3-17 11-3 7-2 14 4 20l40 39c-28 26-62 39-100 39-20 0-39-4-57-11-18-8-33-18-46-32-14-13-24-28-32-46-7-18-11-37-11-57 0-20 4-39 11-57 8-18 18-33 32-46 13-14 28-24 46-32 18-7 37-11 57-11 23 0 44 5 64 15 20 9 38 23 51 42 2 1 4 3 7 3 3 0 5-1 7-3l39-39c2-2 3-3 3-6 0-2-1-4-2-6-21-25-46-45-76-59-29-14-60-20-93-20-30 0-58 5-85 17-27 12-51 27-70 47-20 19-35 43-47 70-12 27-17 55-17 85 0 30 5 58 17 85 12 27 27 51 47 70 19 20 43 35 70 47 27 12 55 17 85 17 28 0 55-5 81-15 26-11 50-26 70-45l37 37c6 6 12 7 20 4 8-4 11-9 11-17z"/>
|
||||
</font></defs></svg>
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/assets/js/slick/fonts/slick.ttf
Normal file
BIN
public/assets/js/slick/fonts/slick.woff
Normal file
BIN
public/assets/js/slick/next.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
public/assets/js/slick/next1.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
public/assets/js/slick/next2.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
public/assets/js/slick/next3.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
public/assets/js/slick/next4.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
public/assets/js/slick/prev.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
public/assets/js/slick/prev1.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
public/assets/js/slick/prev2.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
public/assets/js/slick/prev3.png
Normal file
After Width: | Height: | Size: 1023 B |
BIN
public/assets/js/slick/prev4.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
455
public/assets/js/slick/slick-theme.css
Normal file
@ -0,0 +1,455 @@
|
||||
@charset 'UTF-8';
|
||||
/* Slider */
|
||||
.slick-loading .slick-list
|
||||
{
|
||||
background: #fff url('./ajax-loader.gif') center center no-repeat;
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
/*@font-face
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
src: url('./fonts/slick.eot');
|
||||
src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
|
||||
}*/
|
||||
/* Arrows */
|
||||
.slick-prev,
|
||||
.slick-next {
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
display: block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
margin-top: -10px\9; /*lte IE 8*/
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
border: none;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.slick-prev:hover,
|
||||
.slick-prev:focus,
|
||||
.slick-next:hover,
|
||||
.slick-next:focus
|
||||
{
|
||||
color: transparent;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
.slick-prev:hover:before,
|
||||
.slick-prev:focus:before,
|
||||
.slick-next:hover:before,
|
||||
.slick-next:focus:before
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
.slick-prev.slick-disabled:before,
|
||||
.slick-next.slick-disabled:before
|
||||
{
|
||||
opacity: .25;
|
||||
}
|
||||
|
||||
.slick-prev:before,
|
||||
.slick-next:before
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
|
||||
opacity: .75;
|
||||
color: white;
|
||||
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.slick-prev
|
||||
{
|
||||
left: -80px;
|
||||
}
|
||||
[dir='rtl'] .slick-prev
|
||||
{
|
||||
right: -80px;
|
||||
left: auto;
|
||||
}
|
||||
.slick-prev:before
|
||||
{
|
||||
content: '←';
|
||||
}
|
||||
[dir='rtl'] .slick-prev:before
|
||||
{
|
||||
content: '→';
|
||||
}
|
||||
|
||||
.slick-next
|
||||
{
|
||||
right: -80px;
|
||||
}
|
||||
[dir='rtl'] .slick-next
|
||||
{
|
||||
right: auto;
|
||||
left: -80px;
|
||||
}
|
||||
.slick-next:before
|
||||
{
|
||||
content: '→';
|
||||
}
|
||||
[dir='rtl'] .slick-next:before
|
||||
{
|
||||
content: '←';
|
||||
}
|
||||
|
||||
/* Dots */
|
||||
.slick-slider
|
||||
{
|
||||
/* margin-bottom: 20px;*/
|
||||
}
|
||||
|
||||
.slick-dots {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 9;
|
||||
bottom: -80px;
|
||||
display: block;
|
||||
width: 96%;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
}
|
||||
.slick-dots li
|
||||
{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0 5px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.slick-dots li button
|
||||
{
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
display: block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
border: 0;
|
||||
outline: none;
|
||||
background: #fff;
|
||||
border-radius: 50px;
|
||||
}
|
||||
.slick-dots li button:hover,
|
||||
.slick-dots li button:focus
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
.slick-dots li button:hover:before,
|
||||
.slick-dots li button:focus:before
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
.slick-dots li button:before
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-size: 6px;
|
||||
line-height: 20px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
content: '•';
|
||||
text-align: center;
|
||||
opacity: .25;
|
||||
color: #fff;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.slick-dots li.slick-active button:before
|
||||
{
|
||||
opacity: 1.00;
|
||||
color: #ec651a;
|
||||
background: #ec651a;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* 尺寸設定 */
|
||||
.slick-prev {
|
||||
left: -30px;
|
||||
}
|
||||
.slick-next {
|
||||
right: -30px;
|
||||
}
|
||||
.slick-prev, .slick-next {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background-color: #000;
|
||||
line-height: 30px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.slick-prev:hover,
|
||||
.slick-prev:focus,
|
||||
.slick-next:hover,
|
||||
.slick-next:focus {
|
||||
background: #14ac81;
|
||||
}
|
||||
.slick-prev:before, [dir='rtl'] .slick-prev:before,
|
||||
.slick-next:before, [dir='rtl'] .slick-next:before {
|
||||
content: '';
|
||||
display: block;
|
||||
font-family: 'Font Awesome 5 free';
|
||||
font-weight: 900;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
z-index: 9;
|
||||
color: #fff;
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
.slick-prev:hover:before,
|
||||
.slick-prev:focus:before,
|
||||
.slick-next:hover:before,
|
||||
.slick-next:focus:before {
|
||||
color: #fff;
|
||||
}
|
||||
.slick-prev:before, [dir='rtl'] .slick-prev:before,
|
||||
.slick-prev:hover:before, [dir='rtl'] .slick-prev:before,
|
||||
.slick-prev:focus:before, [dir='rtl'] .slick-prev:before {
|
||||
content: "\f053";
|
||||
}
|
||||
.slick-next:before, [dir='rtl'] .slick-next:before,
|
||||
.slick-next:hover:before, [dir='rtl'] .slick-next:before,
|
||||
.slick-next:focus:before, [dir='rtl'] .slick-next:before {
|
||||
content: "\f054";
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
/* .slick-prev {
|
||||
left: -50px;
|
||||
}
|
||||
.slick-next {
|
||||
right: -50px;
|
||||
}
|
||||
.slick-prev, .slick-next {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
}
|
||||
.slick-prev:before, [dir='rtl'] .slick-prev:before,
|
||||
.slick-next:before, [dir='rtl'] .slick-next:before {
|
||||
font-size: 2rem;
|
||||
}*/
|
||||
|
||||
/* 下方小圖箭頭設定 */
|
||||
/* .slider-nav .slick-prev:before, [dir='rtl'] .slider-nav .slick-prev:before {
|
||||
background: url(prev.png) no-repeat center center;
|
||||
}
|
||||
.slider-nav .slick-next:before, [dir='rtl'] .slider-nav .slick-next:before {
|
||||
background: url(next.png) no-repeat center center;
|
||||
}
|
||||
.slider-nav .slick-prev:before, [dir='rtl'] .slider-nav .slick-prev:before, .slider-nav .slick-next:before, [dir='rtl'] .slider-nav .slick-next:before {
|
||||
border: 1px solid #8f8f8f;
|
||||
}
|
||||
.slider-nav .slick-prev:hover,
|
||||
.slider-nav .slick-prev:focus,
|
||||
.slider-nav .slick-next:hover,
|
||||
.slider-nav .slick-next:focus {
|
||||
background: #bc751f;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
/*========================================================
|
||||
首頁-最新訊息-設定
|
||||
=========================================================*/
|
||||
|
||||
.news-wrap .slick-dots {
|
||||
bottom: 0px;
|
||||
}
|
||||
.news-wrap .slick-dots li button {
|
||||
background: #0870c9;
|
||||
}
|
||||
.news-wrap .slick-dots li button:before {
|
||||
color: #0870c9;
|
||||
}
|
||||
.news-wrap .slick-dots li.slick-active button:before {
|
||||
color: #fff;
|
||||
background: #fff;
|
||||
border: 4px solid #0870c9;
|
||||
}
|
||||
|
||||
.responsive-news .slick-prev {
|
||||
left: -3%;
|
||||
}
|
||||
.responsive-news .slick-next {
|
||||
right: -3%;
|
||||
}
|
||||
.responsive-news .slick-prev,
|
||||
.responsive-news .slick-next {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
background-color: transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.responsive-news .slick-prev:hover,
|
||||
.responsive-news .slick-prev:focus,
|
||||
.responsive-news .slick-next:hover,
|
||||
.responsive-news .slick-next:focus {
|
||||
background: transparent;
|
||||
}
|
||||
.responsive-news .slick-prev:before,
|
||||
[dir='rtl'] .responsive-news .slick-prev:before,
|
||||
.responsive-news .slick-next:before,
|
||||
[dir='rtl'] .responsive-news .slick-next:before {
|
||||
content: '';
|
||||
display: block;
|
||||
font-family: 'Font Awesome 5 free';
|
||||
font-weight: 900;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
z-index: 9;
|
||||
font-size: 1.2rem;
|
||||
color: #e5b35c;
|
||||
|
||||
}
|
||||
.responsive-news .slick-prev:hover:before,
|
||||
.responsive-news .slick-prev:focus:before,
|
||||
.responsive-news .slick-next:hover:before,
|
||||
.responsive-news .slick-next:focus:before {
|
||||
color: #111;
|
||||
}
|
||||
.responsive-news .slick-prev:before,
|
||||
[dir='rtl'] .responsive-news .slick-prev:before,
|
||||
.responsive-news .slick-prev:hover:before,
|
||||
[dir='rtl'] .responsive-news .slick-prev:before,
|
||||
.responsive-news .slick-prev:focus:before,
|
||||
[dir='rtl'] .responsive-news .slick-prev:before {
|
||||
content: "\f053";
|
||||
}
|
||||
.responsive-news .slick-next:before,
|
||||
[dir='rtl'] .responsive-news .slick-next:before,
|
||||
.responsive-news .slick-next:hover:before,
|
||||
[dir='rtl'] .responsive-news .slick-next:before,
|
||||
.responsive-news .slick-next:focus:before,
|
||||
[dir='rtl'] .responsive-news .slick-next:before {
|
||||
content: "\f054";
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.responsive-news .slick-prev,
|
||||
.responsive-news .slick-next {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
}
|
||||
.responsive-news .slick-prev:before,
|
||||
[dir='rtl'] .responsive-news .slick-prev:before,
|
||||
.responsive-news .slick-next:before,
|
||||
[dir='rtl'] .responsive-news .slick-next:before {
|
||||
font-size: 2rem;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*========================================================
|
||||
內頁-相關產品-設定
|
||||
=========================================================*/
|
||||
|
||||
|
||||
.responsive-related .slick-prev {
|
||||
left: 0%;
|
||||
}
|
||||
.responsive-related .slick-next {
|
||||
right: 0%;
|
||||
}
|
||||
.responsive-related .slick-prev,
|
||||
.responsive-related .slick-next {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
background-color: transparent;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.responsive-related .slick-prev:hover,
|
||||
.responsive-related .slick-prev:focus,
|
||||
.responsive-related .slick-next:hover,
|
||||
.responsive-related .slick-next:focus {
|
||||
background: transparent;
|
||||
}
|
||||
.responsive-related .slick-prev:before,
|
||||
[dir='rtl'] .responsive-related .slick-prev:before,
|
||||
.responsive-related .slick-next:before,
|
||||
[dir='rtl'] .responsive-related .slick-next:before {
|
||||
content: '';
|
||||
display: block;
|
||||
font-family: 'Font Awesome 5 free';
|
||||
font-weight: 900;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
z-index: 9;
|
||||
font-size: 2rem;
|
||||
color: #dc1721;
|
||||
|
||||
}
|
||||
.responsive-related .slick-prev:hover:before,
|
||||
.responsive-related .slick-prev:focus:before,
|
||||
.responsive-related .slick-next:hover:before,
|
||||
.responsive-related .slick-next:focus:before {
|
||||
color: #111;
|
||||
}
|
||||
.responsive-related .slick-prev:before,
|
||||
[dir='rtl'] .responsive-related .slick-prev:before,
|
||||
.responsive-related .slick-prev:hover:before,
|
||||
[dir='rtl'] .responsive-related .slick-prev:before,
|
||||
.responsive-related .slick-prev:focus:before,
|
||||
[dir='rtl'] .responsive-related .slick-prev:before {
|
||||
content: "\f053";
|
||||
}
|
||||
.responsive-related .slick-next:before,
|
||||
[dir='rtl'] .responsive-related .slick-next:before,
|
||||
.responsive-related .slick-next:hover:before,
|
||||
[dir='rtl'] .responsive-related .slick-next:before,
|
||||
.responsive-related .slick-next:focus:before,
|
||||
[dir='rtl'] .responsive-related .slick-next:before {
|
||||
content: "\f054";
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.responsive-related .slick-prev,
|
||||
.responsive-related .slick-next {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
}
|
||||
.responsive-related .slick-prev:before,
|
||||
[dir='rtl'] .responsive-related .slick-prev:before,
|
||||
.responsive-related .slick-next:before,
|
||||
[dir='rtl'] .responsive-related .slick-next:before {
|
||||
font-size: 2rem;
|
||||
|
||||
}
|
||||
}
|
||||
|
168
public/assets/js/slick/slick-theme.less
Normal file
@ -0,0 +1,168 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
// Default Variables
|
||||
|
||||
@slick-font-path: "./fonts/";
|
||||
@slick-font-family: "slick";
|
||||
@slick-loader-path: "./";
|
||||
@slick-arrow-color: white;
|
||||
@slick-dot-color: black;
|
||||
@slick-dot-color-active: @slick-dot-color;
|
||||
@slick-prev-character: "←";
|
||||
@slick-next-character: "→";
|
||||
@slick-dot-character: "•";
|
||||
@slick-dot-size: 6px;
|
||||
@slick-opacity-default: 0.75;
|
||||
@slick-opacity-on-hover: 1;
|
||||
@slick-opacity-not-active: 0.25;
|
||||
|
||||
/* Slider */
|
||||
.slick-loading .slick-list{
|
||||
background: #fff url('./ajax-loader.gif') center center no-repeat;
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
@font-face{
|
||||
font-family: 'slick';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
src: url('./fonts/slick.eot');
|
||||
src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
|
||||
}
|
||||
|
||||
/* Arrows */
|
||||
|
||||
.slick-prev,
|
||||
.slick-next {
|
||||
position: absolute;
|
||||
display: block;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
line-height: 0px;
|
||||
font-size: 0px;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
color: transparent;
|
||||
top: 50%;
|
||||
margin-top: -10px~'\9'; /*lte IE 8*/
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
padding: 0;
|
||||
border: none;
|
||||
outline: none;
|
||||
&:hover, &:focus {
|
||||
outline: none;
|
||||
background: transparent;
|
||||
color: transparent;
|
||||
&:before {
|
||||
opacity: @slick-opacity-on-hover;
|
||||
}
|
||||
}
|
||||
&.slick-disabled:before {
|
||||
opacity: @slick-opacity-not-active;
|
||||
}
|
||||
}
|
||||
|
||||
.slick-prev:before, .slick-next:before {
|
||||
font-family: @slick-font-family;
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
color: @slick-arrow-color;
|
||||
opacity: @slick-opacity-default;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.slick-prev {
|
||||
left: -25px;
|
||||
&[dir="rtl"] {
|
||||
left: auto;
|
||||
right: -25px;
|
||||
}
|
||||
&:before {
|
||||
content: @slick-prev-character;
|
||||
&[dir="rtl"] {
|
||||
content: @slick-next-character;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.slick-next {
|
||||
right: -25px;
|
||||
&[dir="rtl"] {
|
||||
left: -25px;
|
||||
right: auto;
|
||||
}
|
||||
&:before {
|
||||
content: @slick-next-character;
|
||||
&[dir="rtl"] {
|
||||
content: @slick-prev-character;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Dots */
|
||||
|
||||
.slick-slider {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.slick-dots {
|
||||
position: absolute;
|
||||
bottom: -45px;
|
||||
list-style: none;
|
||||
display: block;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
li {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
margin: 0 5px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
button {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
display: block;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
outline: none;
|
||||
line-height: 0px;
|
||||
font-size: 0px;
|
||||
color: transparent;
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
&:hover, &:focus {
|
||||
outline: none;
|
||||
&:before {
|
||||
opacity: @slick-opacity-on-hover;
|
||||
}
|
||||
}
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
content: @slick-dot-character;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-family: @slick-font-family;
|
||||
font-size: @slick-dot-size;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
color: @slick-dot-color;
|
||||
opacity: @slick-opacity-not-active;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
}
|
||||
&.slick-active button:before {
|
||||
color: @slick-dot-color-active;
|
||||
opacity: @slick-opacity-default;
|
||||
}
|
||||
}
|
||||
}
|
190
public/assets/js/slick/slick-theme.scss
Normal file
@ -0,0 +1,190 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
// Default Variables
|
||||
|
||||
$slick-font-path: "./fonts/" !default;
|
||||
$slick-font-family: "slick" !default;
|
||||
$slick-loader-path: "./" !default;
|
||||
$slick-arrow-color: white !default;
|
||||
$slick-dot-color: black !default;
|
||||
$slick-dot-color-active: $slick-dot-color !default;
|
||||
$slick-prev-character: "←" !default;
|
||||
$slick-next-character: "→" !default;
|
||||
$slick-dot-character: "•" !default;
|
||||
$slick-dot-size: 6px !default;
|
||||
$slick-opacity-default: 0.75 !default;
|
||||
$slick-opacity-on-hover: 1 !default;
|
||||
$slick-opacity-not-active: 0.25 !default;
|
||||
|
||||
@function slick-image-url($url) {
|
||||
@if function-exists(image-url) {
|
||||
@return image-url($url);
|
||||
}
|
||||
@else {
|
||||
@return url($slick-loader-path + $url);
|
||||
}
|
||||
}
|
||||
|
||||
@function slick-font-url($url) {
|
||||
@if function-exists(font-url) {
|
||||
@return font-url($url);
|
||||
}
|
||||
@else {
|
||||
@return url($slick-font-path + $url);
|
||||
}
|
||||
}
|
||||
|
||||
/* Slider */
|
||||
|
||||
.slick-list {
|
||||
.slick-loading & {
|
||||
background: #fff slick-image-url("ajax-loader.gif") center center no-repeat;
|
||||
}
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
@if $slick-font-family == "slick" {
|
||||
@font-face {
|
||||
font-family: "slick";
|
||||
src: slick-font-url("slick.eot");
|
||||
src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"), slick-font-url("slick.woff") format("woff"), slick-font-url("slick.ttf") format("truetype"), slick-font-url("slick.svg#slick") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
|
||||
/* Arrows */
|
||||
|
||||
.slick-prev,
|
||||
.slick-next {
|
||||
position: absolute;
|
||||
display: block;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
line-height: 0px;
|
||||
font-size: 0px;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
color: transparent;
|
||||
top: 50%;
|
||||
margin-top: -10px\9; /*lte IE 8*/
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
padding: 0;
|
||||
border: none;
|
||||
outline: none;
|
||||
&:hover, &:focus {
|
||||
outline: none;
|
||||
background: transparent;
|
||||
color: transparent;
|
||||
&:before {
|
||||
opacity: $slick-opacity-on-hover;
|
||||
}
|
||||
}
|
||||
&.slick-disabled:before {
|
||||
opacity: $slick-opacity-not-active;
|
||||
}
|
||||
}
|
||||
|
||||
.slick-prev:before, .slick-next:before {
|
||||
font-family: $slick-font-family;
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
color: $slick-arrow-color;
|
||||
opacity: $slick-opacity-default;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.slick-prev {
|
||||
left: -25px;
|
||||
[dir="rtl"] & {
|
||||
left: auto;
|
||||
right: -25px;
|
||||
}
|
||||
&:before {
|
||||
content: $slick-prev-character;
|
||||
[dir="rtl"] & {
|
||||
content: $slick-next-character;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.slick-next {
|
||||
right: -25px;
|
||||
[dir="rtl"] & {
|
||||
left: -25px;
|
||||
right: auto;
|
||||
}
|
||||
&:before {
|
||||
content: $slick-next-character;
|
||||
[dir="rtl"] & {
|
||||
content: $slick-prev-character;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Dots */
|
||||
|
||||
.slick-slider {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.slick-dots {
|
||||
position: absolute;
|
||||
bottom: -45px;
|
||||
list-style: none;
|
||||
display: block;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
li {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
margin: 0 5px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
button {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
display: block;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
outline: none;
|
||||
line-height: 0px;
|
||||
font-size: 0px;
|
||||
color: transparent;
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
&:hover, &:focus {
|
||||
outline: none;
|
||||
&:before {
|
||||
opacity: $slick-opacity-on-hover;
|
||||
}
|
||||
}
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
content: $slick-dot-character;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-family: $slick-font-family;
|
||||
font-size: $slick-dot-size;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
color: $slick-dot-color;
|
||||
opacity: $slick-opacity-not-active;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
}
|
||||
&.slick-active button:before {
|
||||
color: $slick-dot-color-active;
|
||||
opacity: $slick-opacity-default;
|
||||
}
|
||||
}
|
||||
}
|
187
public/assets/js/slick/slick-theme1.css
Normal file
@ -0,0 +1,187 @@
|
||||
@charset 'UTF-8';
|
||||
/* Slider */
|
||||
.slick-loading .slick-list
|
||||
{
|
||||
background: #fff url('./ajax-loader.gif') center center no-repeat;
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
/*@font-face
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
src: url('./fonts/slick.eot');
|
||||
src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
|
||||
}*/
|
||||
/* Arrows */
|
||||
.slick-prev,
|
||||
.slick-next {
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
display: block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
margin-top: -10px\9; /*lte IE 8*/
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
border: none;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.slick-prev:hover,
|
||||
.slick-prev:focus,
|
||||
.slick-next:hover,
|
||||
.slick-next:focus
|
||||
{
|
||||
color: transparent;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
.slick-prev:hover:before,
|
||||
.slick-prev:focus:before,
|
||||
.slick-next:hover:before,
|
||||
.slick-next:focus:before
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
.slick-prev.slick-disabled:before,
|
||||
.slick-next.slick-disabled:before
|
||||
{
|
||||
opacity: .25;
|
||||
}
|
||||
|
||||
.slick-prev:before,
|
||||
.slick-next:before
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
|
||||
opacity: .75;
|
||||
color: white;
|
||||
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.slick-prev
|
||||
{
|
||||
left: 10px;
|
||||
}
|
||||
[dir='rtl'] .slick-prev
|
||||
{
|
||||
right: 10px;
|
||||
left: auto;
|
||||
}
|
||||
.slick-prev:before
|
||||
{
|
||||
content: '←';
|
||||
}
|
||||
[dir='rtl'] .slick-prev:before
|
||||
{
|
||||
content: '→';
|
||||
}
|
||||
|
||||
.slick-next
|
||||
{
|
||||
right: 10px;
|
||||
}
|
||||
[dir='rtl'] .slick-next
|
||||
{
|
||||
right: auto;
|
||||
left: 10px;
|
||||
}
|
||||
.slick-next:before
|
||||
{
|
||||
content: '→';
|
||||
}
|
||||
[dir='rtl'] .slick-next:before
|
||||
{
|
||||
content: '←';
|
||||
}
|
||||
|
||||
/* Dots */
|
||||
.slick-slider
|
||||
{
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.slick-dots
|
||||
{
|
||||
position: absolute;
|
||||
bottom: -55px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
}
|
||||
.slick-dots li
|
||||
{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0 5px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.slick-dots li button
|
||||
{
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
display: block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
color: transparent;
|
||||
border: 0;
|
||||
outline: none;
|
||||
background: #00525d;
|
||||
border-radius: 50px;
|
||||
}
|
||||
.slick-dots li button:hover,
|
||||
.slick-dots li button:focus
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
.slick-dots li button:hover:before,
|
||||
.slick-dots li button:focus:before
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
.slick-dots li button:before
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-size: 6px;
|
||||
line-height: 20px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
content: '•';
|
||||
text-align: center;
|
||||
opacity: .25;
|
||||
color: #00525d;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.slick-dots li.slick-active button:before
|
||||
{
|
||||
opacity: .75;
|
||||
color: #ff9000;
|
||||
background: #ff9000;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
|
120
public/assets/js/slick/slick.css
Normal file
@ -0,0 +1,120 @@
|
||||
/* Slider */
|
||||
.slick-slider
|
||||
{
|
||||
position: relative;
|
||||
|
||||
display: block;
|
||||
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
-webkit-touch-callout: none;
|
||||
-khtml-user-select: none;
|
||||
-ms-touch-action: pan-y;
|
||||
touch-action: pan-y;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
|
||||
}
|
||||
|
||||
.slick-list
|
||||
{
|
||||
position: relative;
|
||||
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.slick-list:focus
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
.slick-list.dragging
|
||||
{
|
||||
cursor: pointer;
|
||||
cursor: hand;
|
||||
}
|
||||
|
||||
.slick-slider .slick-track,
|
||||
.slick-slider .slick-list
|
||||
{
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.slick-track
|
||||
{
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
}
|
||||
.slick-track:before,
|
||||
.slick-track:after
|
||||
{
|
||||
display: table;
|
||||
|
||||
content: '';
|
||||
}
|
||||
.slick-track:after
|
||||
{
|
||||
clear: both;
|
||||
}
|
||||
.slick-loading .slick-track
|
||||
{
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.slick-slide
|
||||
{
|
||||
display: none;
|
||||
float: left;
|
||||
|
||||
height: 100%;
|
||||
min-height: 1px;
|
||||
cursor: pointer;
|
||||
}
|
||||
[dir='rtl'] .slick-slide
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
.slick-slide img
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
.slick-slide.slick-loading img
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.slick-slide.dragging img
|
||||
{
|
||||
pointer-events: none;
|
||||
}
|
||||
.slick-initialized .slick-slide
|
||||
{
|
||||
display: block;
|
||||
}
|
||||
.slick-loading .slick-slide
|
||||
{
|
||||
visibility: hidden;
|
||||
}
|
||||
.slick-vertical .slick-slide
|
||||
{
|
||||
display: block;
|
||||
|
||||
height: auto;
|
||||
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
.slick-arrow.slick-hidden {
|
||||
display: none;
|
||||
}
|
2670
public/assets/js/slick/slick.js
Normal file
99
public/assets/js/slick/slick.less
Normal file
@ -0,0 +1,99 @@
|
||||
/* Slider */
|
||||
|
||||
.slick-slider {
|
||||
position: relative;
|
||||
display: block;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
-ms-touch-action: pan-y;
|
||||
touch-action: pan-y;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
.slick-list {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
&.dragging {
|
||||
cursor: pointer;
|
||||
cursor: hand;
|
||||
}
|
||||
}
|
||||
.slick-slider .slick-track,
|
||||
.slick-slider .slick-list {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.slick-track {
|
||||
position: relative;
|
||||
left: 0;
|
||||
top: 0;
|
||||
display: block;
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
|
||||
&:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.slick-loading & {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
.slick-slide {
|
||||
float: left;
|
||||
height: 100%;
|
||||
min-height: 1px;
|
||||
[dir="rtl"] & {
|
||||
float: right;
|
||||
}
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
&.slick-loading img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
display: none;
|
||||
|
||||
&.dragging img {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.slick-initialized & {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.slick-loading & {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.slick-vertical & {
|
||||
display: block;
|
||||
height: auto;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
}
|
||||
.slick-arrow.slick-hidden {
|
||||
display: none;
|
||||
}
|
18
public/assets/js/slick/slick.min.js
vendored
Normal file
99
public/assets/js/slick/slick.scss
Normal file
@ -0,0 +1,99 @@
|
||||
/* Slider */
|
||||
|
||||
.slick-slider {
|
||||
position: relative;
|
||||
display: block;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
-ms-touch-action: pan-y;
|
||||
touch-action: pan-y;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
.slick-list {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
&.dragging {
|
||||
cursor: pointer;
|
||||
cursor: hand;
|
||||
}
|
||||
}
|
||||
.slick-slider .slick-track,
|
||||
.slick-slider .slick-list {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0);
|
||||
-o-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
.slick-track {
|
||||
position: relative;
|
||||
left: 0;
|
||||
top: 0;
|
||||
display: block;
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
|
||||
&:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.slick-loading & {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
.slick-slide {
|
||||
float: left;
|
||||
height: 100%;
|
||||
min-height: 1px;
|
||||
[dir="rtl"] & {
|
||||
float: right;
|
||||
}
|
||||
img {
|
||||
display: block;
|
||||
}
|
||||
&.slick-loading img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
display: none;
|
||||
|
||||
&.dragging img {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.slick-initialized & {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.slick-loading & {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.slick-vertical & {
|
||||
display: block;
|
||||
height: auto;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
}
|
||||
.slick-arrow.slick-hidden {
|
||||
display: none;
|
||||
}
|