TL)TMWoD)N
zz;Az-oVazE*~MqO*8Vd?9Ce*iW=u8SI$P=uD@%e0MwZ38MJ)&|;kU|HPIw9F?Y-a4
zUQ(zhxM}h09>(G@(aX^;O&q;H*3*m~jjKj{1{`Hn
z%YEVGCra?ol(^}xkCfI%(yRB!Y)s4L?HU6eB@2gES~1ZaT^b$zZCD92iFx42nvC2k
z&yGSQ!a$cty;w3`#*YBE>OyEr876?c-6BGANnIY9>%;_(a}MT2FhDjNgk#O5b1Zqh
z!+=Q*j%*?LUNQrtO+d^!9wh@W;A!cIMTcdfoN=L5X?2c^-INmut`0?c7TXfGq_@b3
z1Jehdrq4`Q_gt7zcE5e!)A!T6dC4JunlBvSr#$YdMo+Evjh_~VqhxUgy~g6*K#>s`{S$-(Yf}dSkd_j06DIl^n3-)`lLvmcxY4Dka3vD_Pex;OI^N%nM
z1BBTYmNnlk*mZs8IJxu7Tse|4{A8qI`C*4d7v+2)-n>2dY@K>?=#N-Jf3~zkA=mg$
zM`(g3TIm{n~;6%o)MJJfr806p_=7ABM#y0}8`N?R?I=rve=YI6DwI0sCQmG>?mMFb+*U&yY^GNXVeG21h7E~`Ikkn`xo6{D(rB6;2
z-7FebFwlErD182WmmH-YKcP$~j$hb1_4Kjn=&jqC0DOO}*85Hn@bJRg`i=}XR=a>R
z?dF>Exxgi9Ebi%=Mee|UCl$X*Qb3a}asFbT>!A#$FS>K8C9~smiwYxKj}lR>r3L2X
zk@MB*P9I0-S+fkCG^!q%cqPE?+#B0x=L{?{R1Vtv1^_{?U7sffF~66Fo^di5j1o4S
z@VU+GngxG?ME+mMcW=+3b6-E@6?fiqeseID*u#kg
zH|PX6rG>0_!zFn*C#Psfz@AMKli3io4T#V81(2Lv6JG{e0iogUn-d9s-E3H1gdb3x
zs$d`SCRSB@Ga&wD`45Up8Ij$a-5CV3uMe|V)!)48&BpHD!&o9F3E$5Gx>8+$fZD-jK1cktX2M7y929Ko<4i
z`h2Y`LlEP+6!1Y;sI}0#g6ncxChejb2t53=PxgJg805O-#66nyFkc3+t8+vYps6a(
z**T?gH8-wyJPI0@ygF)b^OZ`!s{e>|DEMtJ`~Cwv`X@>Bua=ZCwgI0gOE$$sc}V`(
zkyw?lQ%pHlS|usM4=PUXme&?X<{^jwm9nQf`*QY0MJ>|NsjRDOkR#B*;6QhGuXq2@
zAfdh79t3ud-?-Oz2?)6%Wn<8jb>*3nbPQvm%_qN4M97~pI@dm6PT|me$cRpl*NokR
zEb5|`uidJl(QwL?H0f8Fm%3fFqZ#)f(EZiGOI-Ifc6PVeAwRc_@-Z;Q@qF*=oBZ=7G$1h9U
zR@ZqxQQ6h2BkbuSuC`qo9%+}{9@M!F$PkGAqo2;r9C{Ax*t*f@kojqG(_S$mfV|kG
zLO6ZoF05mVp6YJ}XmpZJImM}94)$|_=bHvW=KL05@opQBU8
zSVakqsYlQB)YkwGMPH`xn$pk=`UFh2BY6x4C3MMdJYF=TZP4e5$xW3
z%0yW&e}ZYBVo3knGqOi7As83xKA|9Wd)+dz@|sN7kUR=aY;iZKGJ9n?N6avKVmNOs
zvk35c2vk3aQy4)wWlb5|^C=lAUCRk?JaU@^$y0db%}lm{@t<%fRdnwM2d}`>6-IoCyRQ+oPE+bE~gx{CdvBcPM?gIoC-f
z%78G?j#DU;g4szDJgO{M5n8^Y%Jg_<<4n!9WuYaE_{LI!dVU2!T?DmbB1pIZ>mJPM
z*0?2$_x4_XO|;SAunf0{#}?I%)Hmm`R_XsS%=lmAN0PGtSt}pQ5Y?pxlIk`~9{#Zp
zb@Nurvtmn-4HCk{SJ#O$l3RsUMAqXRb*)*IRbumQIh*2@>6+0u5lsQQWH357gu*=$
z;LTfrDRuWArPrf$e~9b$%6Q7eBtCF`a3qDe^-Et^&)XmnV%0>d;B{*=S~DT$WE?L@w=g+x-fK=9^U~FC^PfFjtSoNI5484Rrdie*9EjS%Z+fz46M%R$jA7=FjprxCwjWT2O=jsA#5^-w1BXpsV<^I@C+h$q)W{)CS
zN-5djgaPiH7(G21TS?__0vH7nMkZjO3kxd6lqzrq;U2w%m+1_S5@oBFz`>W}o>=e2PDmwF2+%2^2|Na~3O|4!?c8*kNDAYR`98T{oXI
wRm;kR;ccgj<_0bfst{IIqdo5VxUb7Dui~hoCd)pD@Zkk?;Pa1v(EmC98@j*+jsO4v
diff --git a/slick/config.rb b/slick/config.rb
deleted file mode 100644
index 81f5ae3..0000000
--- a/slick/config.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-css_dir = "."
-sass_dir = "."
-images_dir = "."
-fonts_dir = "fonts"
-relative_assets = true
-
-output_style = :compact
-line_comments = false
-
-preferred_syntax = :scss
\ No newline at end of file
diff --git a/slick/fonts/slick.eot b/slick/fonts/slick.eot
deleted file mode 100644
index 2cbab9ca97723bc24c50315a0a9bd155db4e0aa5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2048
zcmcgtO>7%Q6n^9V^B-}NZk*EEVeMi&O%prb7zafaL6A786eTJs%>e;R;y4y|oY<}i
z5)vjt;=&>7feV}}ai#*PAS5oRLOp@#1tg{
z_p`I}$V;?l5Ha!)A0EnC8
zkxFz4m_v0SVOj=KhgO+tv`H3aDNU1*9JB<$9X&!VQfR4Acvv~GM)n(S(uwI
zP>yu)qu{N@7c=(ay}v($(F*wG)vB`<56yoK{s!jjC8x2~>0l=^EXcj3%3JHRA6a>A<{O0ZEn>X&CKUE{OdnKJ}+`Zes`|-FTNT&dzS)k{lDMd
zc?WV5Yl0H2&DvnS^7UXV{5g_#^+EG0^$t}a2F=}nrQC{ZJuTIkhu9uz68^}NcC@rUzlL3$*kyLRbDPqv-Qlsw2;7Lcy_kqz{J1gl7BeDsUk1mm
zBBY9_f+9l|h-1ZLd$G%SSA6tvolk!G^;YxNcGsJbS^LQ5
z?5U$!?eFs}j@Xc?pJ6ECEH5!HsG*xEBz{viuj-VI1c!vTQ=-HKh*wf){!
zK-YYuV>8i6WY7!-0zq>y5{bq~tYbP;m6YO%ojIM$B*#yjGzSLElPAWLnX%OAXu=x|
zurFF(e<0vXrCh5ScZ*P8M1i5=QB$Vrn!MuLhXx`EuPP6AkUo^(3B$b*l(dHoic4Cd
z7%pq~TT-F(v7|K$&{vYyf#2j`w(0}oM}1w|gElZIX@#DlF-fb?*^{(}#&AW_I`D6M
z+eo8QUPU)K)JiTCOP4ARdP+ewlBQVeXf{Q%$QDh-q8ZTp4aw!R=o}Mb+GsqSqe5-7
zS*X=ZMaxc4S~HgLh&7v=$W7RjS*YyqLNcC*G_vJly-}`hTG=$Z+EJ^+H`LMl3H=!L
z^Dqxn=zW^=JN0_)&3d`C(ew$jQe1CBg=^uS#AObu5A!&O1h1eoGTg0QU&6
-
-
-Generated by Fontastic.me
-
-
-
-
-
-
-
-
-
-
diff --git a/slick/fonts/slick.ttf b/slick/fonts/slick.ttf
deleted file mode 100644
index 9d03461b653373f7cda3b4af104c6bca07f9892b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1892
zcmcgtO>7%Q7=7dYvttuC>BcFo9o8<6(=@T2jd4&^kqQzA6;LWbX$}ZjQpdJ%;>2-9
zkdO!w5*H3p4_x3>i8B>Q1tD=k2=xS_7m$ofCB&7VLwiBUyq#S)NmC98iCxXk_rBjZ
z-_FiL0C)h~P;kCfdj6T!@2-CY7*A3gpP!v8p#YtDgxFemE@v;?`RijqEDIs?@EmH#S?j
zPi)rLf1rI1?%Fth|LVxXOVKm85e`rRe7mvr=G{4sv}lVqaS)za#z;-pQ&4s@?Y~s1
zF)-`LxQ;^V&iZa50I>@VLGiR$p>E!vZ{tC{&2B&od7j&{9xM+5=U3(~;w+rxWpS%>
z3t7?bxa@oeU5f6^LH6=?gSl=w;=b<-L~c|ZD)Rvmxk8naW2KV2$;*6K?zInfKK$wD
zo2{E0-D=X#hu|LQwtx$hrMosccZ~;>{}Qmqf4;bv{)elCcX3t3_yW4S=NPy{XGF1(
z6T>G{QK1i*4+%p)W0Q8#G;~8xWrj1ug{k6H(H@Kq{;{L$JDL&H61sljg03gDpz&K`
z$j-l!w}%p4VPi+{rJFXS86kCPNevkkZya!OeYxg)xTL3wkC2S_^eBNCzWf@#%K3CmarCGG5fQmm=C5R~V=S)Qo9*
zAuoFI(Y|;(sQMc_g7^H7Nbp>U_;LUSQogJpi8WtV>GOdvYY5|WU)HI=;eOd_h?*Yu
z*OLS2MZYgAcpRg?tkP%Kmo>z2#g}#Jzs4r&s9_ne0-N>PGN)%zMg^CschDp(S1#2Z
z3MDkittICsJ<70PBa1xeX^y>29-iQzV_XiKJ}yG3vDPXznw7F;XYNfv0h$j(Z%)RImyGEQZL6bS0%B+KcnE;+N~vPeDmw~?!W86Kjv>PckT%Q
diff --git a/slick/fonts/slick.woff b/slick/fonts/slick.woff
deleted file mode 100644
index 8ee99721bb81b59a5e1ceee1d3256b15f907d96b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1380
zcmZWoc~H_>9DiItQdGPuZL>_xgDjCHpv=4wk37&Nx3m(F$RqMd4ZI>#sTnIvS4$mr
zYIRq0kV)NX%VjCA6!RLbG&S?cF0*sBT4Nv8fBW8i=FR8xz30vMSTKtf%;5wBfD-@$
zfCs-1ptSG*j~9z&2>@yZ0O&0cW$QnM8L(KKKmafd=)DGFt!Us*gAdc21vQSALs$X|
zzy|;1M1fiYDb!#MKm#b}&(TnX8WVDD
zJ{!y|8WSx_7DJ5-xq%i~f8a0TiD5phwg&PQI5s%K6CH#a^aW$E#u1#|iQ5VBN0Z^a
z+Wrh7ECB|f#O1CR`r?f}Ogj%bMA#Kog;~-(rbgn@>1o4d$4nYiRyuAWwB_b_E;YM}
zZ@NV6aV$`k?$I^#Wy?FR9QXZfCw>r^*1y-k$0lC+Q7Ne`X`$=sB1Wy`n;#2J7g5fr
zwyHxDSEMClZ`L6n$e70#EAWLIl3&MaoK(k+l#St%Y&(Sx=VqDv(*x+{1v@swNPOd5
z_D&(udjRFH?3%?ol%y>x6(M%zP2C#?oZgpRVvQB6J2<-s
z1XZ2vz<(2aNi{4LTCF&BxGP@+$wvm5GG@1!A5n$t7wEd@)dWbK1t7
zAI3J92@9!?&4dSMUJZ6VPu@Y5=2}-+pk@x!aH)vCoky=Cjr>DnYdb;5B3lEE)C=baaLJ_-dKR1
zWr9+1d0o&|%I}m3VT=Au5?NY}TCUN7+x*?X<*rIq)!7En?lfx*iHingK58Bf7Yt(K
z_X`Li%+9B6@V=(#SWT`XQx%ekcKa;n!7{j@jA|tbPOhjX{3cs;}XV-aNF@z-Qg~t
z^N?v#oy+p0z}5Q)3S^P$>6P=;iqWo=dqdtaskSzCVSy7fDSNx#E>`??q5MPtvepFdF46=ngEMs$@2`LCj^yh_!*S07+8;<}0
diff --git a/slick/slick-theme.css b/slick/slick-theme.css
deleted file mode 100644
index 1232fca..0000000
--- a/slick/slick-theme.css
+++ /dev/null
@@ -1,204 +0,0 @@
-@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;
- -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: -25px;
-}
-[dir='rtl'] .slick-prev
-{
- right: -25px;
- left: auto;
-}
-.slick-prev:before
-{
- content: '←';
-}
-[dir='rtl'] .slick-prev:before
-{
- content: '→';
-}
-
-.slick-next
-{
- right: -25px;
-}
-[dir='rtl'] .slick-next
-{
- right: auto;
- left: -25px;
-}
-.slick-next:before
-{
- content: '→';
-}
-[dir='rtl'] .slick-next:before
-{
- content: '←';
-}
-
-/* Dots */
-.slick-dotted.slick-slider
-{
- margin-bottom: 30px;
-}
-
-.slick-dots
-{
- position: absolute;
- bottom: -25px;
-
- display: block;
-
- width: 100%;
- padding: 0;
- margin: 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: transparent;
-}
-.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: black;
-
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-.slick-dots li.slick-active button:before
-{
- opacity: .75;
- color: black;
-}
diff --git a/slick/slick-theme.less b/slick/slick-theme.less
deleted file mode 100644
index e06fc18..0000000
--- a/slick/slick-theme.less
+++ /dev/null
@@ -1,168 +0,0 @@
-@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('@{slick-loader-path}ajax-loader.gif') center center no-repeat;
-}
-
-/* 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%;
- -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;
-
- & when ( @slick-font-family = 'slick' ) {
- /* Icons */
- @font-face {
- font-family: 'slick';
- font-weight: normal;
- font-style: normal;
- src: url('@{slick-font-path}slick.eot');
- src: url('@{slick-font-path}slick.eot?#iefix') format('embedded-opentype'), url('@{slick-font-path}slick.woff') format('woff'), url('@{slick-font-path}slick.ttf') format('truetype'), url('@{slick-font-path}slick.svg#slick') format('svg');
- }
- }
-}
-
-.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-dotted .slick-slider {
- margin-bottom: 30px;
-}
-
-.slick-dots {
- position: absolute;
- bottom: -25px;
- list-style: none;
- display: block;
- text-align: center;
- padding: 0;
- margin: 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;
- }
- }
-}
diff --git a/slick/slick-theme.scss b/slick/slick-theme.scss
deleted file mode 100644
index 7fe63e1..0000000
--- a/slick/slick-theme.scss
+++ /dev/null
@@ -1,194 +0,0 @@
-@charset "UTF-8";
-
-// Default Variables
-
-// Slick icon entity codes outputs the following
-// "\2190" outputs ascii character "←"
-// "\2192" outputs ascii character "→"
-// "\2022" outputs ascii character "•"
-
-$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: "\2190" !default;
-$slick-next-character: "\2192" !default;
-$slick-dot-character: "\2022" !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%;
- -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;
- }
- &: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-dotted.slick-slider {
- margin-bottom: 30px;
-}
-
-.slick-dots {
- position: absolute;
- bottom: -25px;
- list-style: none;
- display: block;
- text-align: center;
- padding: 0;
- margin: 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;
- }
- }
-}
diff --git a/slick/slick.css b/slick/slick.css
deleted file mode 100644
index 5e912de..0000000
--- a/slick/slick.css
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Slider */
-.slick-slider
-{
- position: relative;
-
- display: block;
- 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;
- margin-left: auto;
- margin-right: auto;
-}
-.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;
-}
-[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;
-}
diff --git a/slick/slick.js b/slick/slick.js
deleted file mode 100644
index 9529989..0000000
--- a/slick/slick.js
+++ /dev/null
@@ -1,3004 +0,0 @@
-/*
- _ _ _ _
- ___| (_) ___| | __ (_)___
-/ __| | |/ __| |/ / | / __|
-\__ \ | | (__| < _ | \__ \
-|___/_|_|\___|_|\_(_)/ |___/
- |__/
-
- Version: 1.8.0
- Author: Ken Wheeler
- Website: http://kenwheeler.github.io
- Docs: http://kenwheeler.github.io/slick
- Repo: http://github.com/kenwheeler/slick
- Issues: http://github.com/kenwheeler/slick/issues
-
- */
-/* global window, document, define, jQuery, setInterval, clearInterval */
-;(function(factory) {
- 'use strict';
- if (typeof define === 'function' && define.amd) {
- define(['jquery'], factory);
- } else if (typeof exports !== 'undefined') {
- module.exports = factory(require('jquery'));
- } else {
- factory(jQuery);
- }
-
-}(function($) {
- 'use strict';
- var Slick = window.Slick || {};
-
- Slick = (function() {
-
- var instanceUid = 0;
-
- function Slick(element, settings) {
-
- var _ = this, dataSettings;
-
- _.defaults = {
- accessibility: true,
- adaptiveHeight: false,
- appendArrows: $(element),
- appendDots: $(element),
- arrows: true,
- asNavFor: null,
- prevArrow: 'Previous ',
- nextArrow: 'Next ',
- autoplay: false,
- autoplaySpeed: 3000,
- centerMode: false,
- centerPadding: '50px',
- cssEase: 'ease',
- customPaging: function(slider, i) {
- return $(' ').text(i + 1);
- },
- dots: false,
- dotsClass: 'slick-dots',
- draggable: true,
- easing: 'linear',
- edgeFriction: 0.35,
- fade: false,
- focusOnSelect: false,
- focusOnChange: false,
- infinite: true,
- initialSlide: 0,
- lazyLoad: 'ondemand',
- mobileFirst: false,
- pauseOnHover: true,
- pauseOnFocus: true,
- pauseOnDotsHover: false,
- respondTo: 'window',
- responsive: null,
- rows: 1,
- rtl: false,
- slide: '',
- slidesPerRow: 1,
- slidesToShow: 1,
- slidesToScroll: 1,
- speed: 500,
- swipe: true,
- swipeToSlide: false,
- touchMove: true,
- touchThreshold: 5,
- useCSS: true,
- useTransform: true,
- variableWidth: false,
- vertical: false,
- verticalSwiping: false,
- waitForAnimate: true,
- zIndex: 1000
- };
-
- _.initials = {
- animating: false,
- dragging: false,
- autoPlayTimer: null,
- currentDirection: 0,
- currentLeft: null,
- currentSlide: 0,
- direction: 1,
- $dots: null,
- listWidth: null,
- listHeight: null,
- loadIndex: 0,
- $nextArrow: null,
- $prevArrow: null,
- scrolling: false,
- slideCount: null,
- slideWidth: null,
- $slideTrack: null,
- $slides: null,
- sliding: false,
- slideOffset: 0,
- swipeLeft: null,
- swiping: false,
- $list: null,
- touchObject: {},
- transformsEnabled: false,
- unslicked: false
- };
-
- $.extend(_, _.initials);
-
- _.activeBreakpoint = null;
- _.animType = null;
- _.animProp = null;
- _.breakpoints = [];
- _.breakpointSettings = [];
- _.cssTransitions = false;
- _.focussed = false;
- _.interrupted = false;
- _.hidden = 'hidden';
- _.paused = true;
- _.positionProp = null;
- _.respondTo = null;
- _.rowCount = 1;
- _.shouldClick = true;
- _.$slider = $(element);
- _.$slidesCache = null;
- _.transformType = null;
- _.transitionType = null;
- _.visibilityChange = 'visibilitychange';
- _.windowWidth = 0;
- _.windowTimer = null;
-
- dataSettings = $(element).data('slick') || {};
-
- _.options = $.extend({}, _.defaults, settings, dataSettings);
-
- _.currentSlide = _.options.initialSlide;
-
- _.originalSettings = _.options;
-
- if (typeof document.mozHidden !== 'undefined') {
- _.hidden = 'mozHidden';
- _.visibilityChange = 'mozvisibilitychange';
- } else if (typeof document.webkitHidden !== 'undefined') {
- _.hidden = 'webkitHidden';
- _.visibilityChange = 'webkitvisibilitychange';
- }
-
- _.autoPlay = $.proxy(_.autoPlay, _);
- _.autoPlayClear = $.proxy(_.autoPlayClear, _);
- _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
- _.changeSlide = $.proxy(_.changeSlide, _);
- _.clickHandler = $.proxy(_.clickHandler, _);
- _.selectHandler = $.proxy(_.selectHandler, _);
- _.setPosition = $.proxy(_.setPosition, _);
- _.swipeHandler = $.proxy(_.swipeHandler, _);
- _.dragHandler = $.proxy(_.dragHandler, _);
- _.keyHandler = $.proxy(_.keyHandler, _);
-
- _.instanceUid = instanceUid++;
-
- // A simple way to check for HTML strings
- // Strict HTML recognition (must start with <)
- // Extracted from jQuery v1.11 source
- _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
-
-
- _.registerBreakpoints();
- _.init(true);
-
- }
-
- return Slick;
-
- }());
-
- Slick.prototype.activateADA = function() {
- var _ = this;
-
- _.$slideTrack.find('.slick-active').attr({
- 'aria-hidden': 'false'
- }).find('a, input, button, select').attr({
- 'tabindex': '0'
- });
-
- };
-
- Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
-
- var _ = this;
-
- if (typeof(index) === 'boolean') {
- addBefore = index;
- index = null;
- } else if (index < 0 || (index >= _.slideCount)) {
- return false;
- }
-
- _.unload();
-
- if (typeof(index) === 'number') {
- if (index === 0 && _.$slides.length === 0) {
- $(markup).appendTo(_.$slideTrack);
- } else if (addBefore) {
- $(markup).insertBefore(_.$slides.eq(index));
- } else {
- $(markup).insertAfter(_.$slides.eq(index));
- }
- } else {
- if (addBefore === true) {
- $(markup).prependTo(_.$slideTrack);
- } else {
- $(markup).appendTo(_.$slideTrack);
- }
- }
-
- _.$slides = _.$slideTrack.children(this.options.slide);
-
- _.$slideTrack.children(this.options.slide).detach();
-
- _.$slideTrack.append(_.$slides);
-
- _.$slides.each(function(index, element) {
- $(element).attr('data-slick-index', index);
- });
-
- _.$slidesCache = _.$slides;
-
- _.reinit();
-
- };
-
- Slick.prototype.animateHeight = function() {
- var _ = this;
- if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
- var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
- _.$list.animate({
- height: targetHeight
- }, _.options.speed);
- }
- };
-
- Slick.prototype.animateSlide = function(targetLeft, callback) {
-
- var animProps = {},
- _ = this;
-
- _.animateHeight();
-
- if (_.options.rtl === true && _.options.vertical === false) {
- targetLeft = -targetLeft;
- }
- if (_.transformsEnabled === false) {
- if (_.options.vertical === false) {
- _.$slideTrack.animate({
- left: targetLeft
- }, _.options.speed, _.options.easing, callback);
- } else {
- _.$slideTrack.animate({
- top: targetLeft
- }, _.options.speed, _.options.easing, callback);
- }
-
- } else {
-
- if (_.cssTransitions === false) {
- if (_.options.rtl === true) {
- _.currentLeft = -(_.currentLeft);
- }
- $({
- animStart: _.currentLeft
- }).animate({
- animStart: targetLeft
- }, {
- duration: _.options.speed,
- easing: _.options.easing,
- step: function(now) {
- now = Math.ceil(now);
- if (_.options.vertical === false) {
- animProps[_.animType] = 'translate(' +
- now + 'px, 0px)';
- _.$slideTrack.css(animProps);
- } else {
- animProps[_.animType] = 'translate(0px,' +
- now + 'px)';
- _.$slideTrack.css(animProps);
- }
- },
- complete: function() {
- if (callback) {
- callback.call();
- }
- }
- });
-
- } else {
-
- _.applyTransition();
- targetLeft = Math.ceil(targetLeft);
-
- if (_.options.vertical === false) {
- animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
- } else {
- animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
- }
- _.$slideTrack.css(animProps);
-
- if (callback) {
- setTimeout(function() {
-
- _.disableTransition();
-
- callback.call();
- }, _.options.speed);
- }
-
- }
-
- }
-
- };
-
- Slick.prototype.getNavTarget = function() {
-
- var _ = this,
- asNavFor = _.options.asNavFor;
-
- if ( asNavFor && asNavFor !== null ) {
- asNavFor = $(asNavFor).not(_.$slider);
- }
-
- return asNavFor;
-
- };
-
- Slick.prototype.asNavFor = function(index) {
-
- var _ = this,
- asNavFor = _.getNavTarget();
-
- if ( asNavFor !== null && typeof asNavFor === 'object' ) {
- asNavFor.each(function() {
- var target = $(this).slick('getSlick');
- if(!target.unslicked) {
- target.slideHandler(index, true);
- }
- });
- }
-
- };
-
- Slick.prototype.applyTransition = function(slide) {
-
- var _ = this,
- transition = {};
-
- if (_.options.fade === false) {
- transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
- } else {
- transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
- }
-
- if (_.options.fade === false) {
- _.$slideTrack.css(transition);
- } else {
- _.$slides.eq(slide).css(transition);
- }
-
- };
-
- Slick.prototype.autoPlay = function() {
-
- var _ = this;
-
- _.autoPlayClear();
-
- if ( _.slideCount > _.options.slidesToShow ) {
- _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
- }
-
- };
-
- Slick.prototype.autoPlayClear = function() {
-
- var _ = this;
-
- if (_.autoPlayTimer) {
- clearInterval(_.autoPlayTimer);
- }
-
- };
-
- Slick.prototype.autoPlayIterator = function() {
-
- var _ = this,
- slideTo = _.currentSlide + _.options.slidesToScroll;
-
- if ( !_.paused && !_.interrupted && !_.focussed ) {
-
- if ( _.options.infinite === false ) {
-
- if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
- _.direction = 0;
- }
-
- else if ( _.direction === 0 ) {
-
- slideTo = _.currentSlide - _.options.slidesToScroll;
-
- if ( _.currentSlide - 1 === 0 ) {
- _.direction = 1;
- }
-
- }
-
- }
-
- _.slideHandler( slideTo );
-
- }
-
- };
-
- Slick.prototype.buildArrows = function() {
-
- var _ = this;
-
- if (_.options.arrows === true ) {
-
- _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
- _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
-
- if( _.slideCount > _.options.slidesToShow ) {
-
- _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
- _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
-
- if (_.htmlExpr.test(_.options.prevArrow)) {
- _.$prevArrow.prependTo(_.options.appendArrows);
- }
-
- if (_.htmlExpr.test(_.options.nextArrow)) {
- _.$nextArrow.appendTo(_.options.appendArrows);
- }
-
- if (_.options.infinite !== true) {
- _.$prevArrow
- .addClass('slick-disabled')
- .attr('aria-disabled', 'true');
- }
-
- } else {
-
- _.$prevArrow.add( _.$nextArrow )
-
- .addClass('slick-hidden')
- .attr({
- 'aria-disabled': 'true',
- 'tabindex': '-1'
- });
-
- }
-
- }
-
- };
-
- Slick.prototype.buildDots = function() {
-
- var _ = this,
- i, dot;
-
- if (_.options.dots === true) {
-
- _.$slider.addClass('slick-dotted');
-
- dot = $('').addClass(_.options.dotsClass);
-
- for (i = 0; i <= _.getDotCount(); i += 1) {
- dot.append($(' ').append(_.options.customPaging.call(this, _, i)));
- }
-
- _.$dots = dot.appendTo(_.options.appendDots);
-
- _.$dots.find('li').first().addClass('slick-active');
-
- }
-
- };
-
- Slick.prototype.buildOut = function() {
-
- var _ = this;
-
- _.$slides =
- _.$slider
- .children( _.options.slide + ':not(.slick-cloned)')
- .addClass('slick-slide');
-
- _.slideCount = _.$slides.length;
-
- _.$slides.each(function(index, element) {
- $(element)
- .attr('data-slick-index', index)
- .data('originalStyling', $(element).attr('style') || '');
- });
-
- _.$slider.addClass('slick-slider');
-
- _.$slideTrack = (_.slideCount === 0) ?
- $('
').appendTo(_.$slider) :
- _.$slides.wrapAll('
').parent();
-
- _.$list = _.$slideTrack.wrap(
- '
').parent();
- _.$slideTrack.css('opacity', 0);
-
- if (_.options.centerMode === true || _.options.swipeToSlide === true) {
- _.options.slidesToScroll = 1;
- }
-
- $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
-
- _.setupInfinite();
-
- _.buildArrows();
-
- _.buildDots();
-
- _.updateDots();
-
-
- _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
-
- if (_.options.draggable === true) {
- _.$list.addClass('draggable');
- }
-
- };
-
- Slick.prototype.buildRows = function() {
-
- var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
-
- newSlides = document.createDocumentFragment();
- originalSlides = _.$slider.children();
-
- if(_.options.rows > 1) {
-
- slidesPerSection = _.options.slidesPerRow * _.options.rows;
- numOfSlides = Math.ceil(
- originalSlides.length / slidesPerSection
- );
-
- for(a = 0; a < numOfSlides; a++){
- var slide = document.createElement('div');
- for(b = 0; b < _.options.rows; b++) {
- var row = document.createElement('div');
- for(c = 0; c < _.options.slidesPerRow; c++) {
- var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
- if (originalSlides.get(target)) {
- row.appendChild(originalSlides.get(target));
- }
- }
- slide.appendChild(row);
- }
- newSlides.appendChild(slide);
- }
-
- _.$slider.empty().append(newSlides);
- _.$slider.children().children().children()
- .css({
- 'width':(100 / _.options.slidesPerRow) + '%',
- 'display': 'inline-block'
- });
-
- }
-
- };
-
- Slick.prototype.checkResponsive = function(initial, forceUpdate) {
-
- var _ = this,
- breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
- var sliderWidth = _.$slider.width();
- var windowWidth = window.innerWidth || $(window).width();
-
- if (_.respondTo === 'window') {
- respondToWidth = windowWidth;
- } else if (_.respondTo === 'slider') {
- respondToWidth = sliderWidth;
- } else if (_.respondTo === 'min') {
- respondToWidth = Math.min(windowWidth, sliderWidth);
- }
-
- if ( _.options.responsive &&
- _.options.responsive.length &&
- _.options.responsive !== null) {
-
- targetBreakpoint = null;
-
- for (breakpoint in _.breakpoints) {
- if (_.breakpoints.hasOwnProperty(breakpoint)) {
- if (_.originalSettings.mobileFirst === false) {
- if (respondToWidth < _.breakpoints[breakpoint]) {
- targetBreakpoint = _.breakpoints[breakpoint];
- }
- } else {
- if (respondToWidth > _.breakpoints[breakpoint]) {
- targetBreakpoint = _.breakpoints[breakpoint];
- }
- }
- }
- }
-
- if (targetBreakpoint !== null) {
- if (_.activeBreakpoint !== null) {
- if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
- _.activeBreakpoint =
- targetBreakpoint;
- if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
- _.unslick(targetBreakpoint);
- } else {
- _.options = $.extend({}, _.originalSettings,
- _.breakpointSettings[
- targetBreakpoint]);
- if (initial === true) {
- _.currentSlide = _.options.initialSlide;
- }
- _.refresh(initial);
- }
- triggerBreakpoint = targetBreakpoint;
- }
- } else {
- _.activeBreakpoint = targetBreakpoint;
- if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
- _.unslick(targetBreakpoint);
- } else {
- _.options = $.extend({}, _.originalSettings,
- _.breakpointSettings[
- targetBreakpoint]);
- if (initial === true) {
- _.currentSlide = _.options.initialSlide;
- }
- _.refresh(initial);
- }
- triggerBreakpoint = targetBreakpoint;
- }
- } else {
- if (_.activeBreakpoint !== null) {
- _.activeBreakpoint = null;
- _.options = _.originalSettings;
- if (initial === true) {
- _.currentSlide = _.options.initialSlide;
- }
- _.refresh(initial);
- triggerBreakpoint = targetBreakpoint;
- }
- }
-
- // only trigger breakpoints during an actual break. not on initialize.
- if( !initial && triggerBreakpoint !== false ) {
- _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
- }
- }
-
- };
-
- Slick.prototype.changeSlide = function(event, dontAnimate) {
-
- var _ = this,
- $target = $(event.currentTarget),
- indexOffset, slideOffset, unevenOffset;
-
- // If target is a link, prevent default action.
- if($target.is('a')) {
- event.preventDefault();
- }
-
- // If target is not the element (ie: a child), find the .
- if(!$target.is('li')) {
- $target = $target.closest('li');
- }
-
- unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
- indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
-
- switch (event.data.message) {
-
- case 'previous':
- slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
- if (_.slideCount > _.options.slidesToShow) {
- _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
- }
- break;
-
- case 'next':
- slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
- if (_.slideCount > _.options.slidesToShow) {
- _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
- }
- break;
-
- case 'index':
- var index = event.data.index === 0 ? 0 :
- event.data.index || $target.index() * _.options.slidesToScroll;
-
- _.slideHandler(_.checkNavigable(index), false, dontAnimate);
- $target.children().trigger('focus');
- break;
-
- default:
- return;
- }
-
- };
-
- Slick.prototype.checkNavigable = function(index) {
-
- var _ = this,
- navigables, prevNavigable;
-
- navigables = _.getNavigableIndexes();
- prevNavigable = 0;
- if (index > navigables[navigables.length - 1]) {
- index = navigables[navigables.length - 1];
- } else {
- for (var n in navigables) {
- if (index < navigables[n]) {
- index = prevNavigable;
- break;
- }
- prevNavigable = navigables[n];
- }
- }
-
- return index;
- };
-
- Slick.prototype.cleanUpEvents = function() {
-
- var _ = this;
-
- if (_.options.dots && _.$dots !== null) {
-
- $('li', _.$dots)
- .off('click.slick', _.changeSlide)
- .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
- .off('mouseleave.slick', $.proxy(_.interrupt, _, false));
-
- if (_.options.accessibility === true) {
- _.$dots.off('keydown.slick', _.keyHandler);
- }
- }
-
- _.$slider.off('focus.slick blur.slick');
-
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
- _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
- _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
-
- if (_.options.accessibility === true) {
- _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler);
- _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler);
- }
- }
-
- _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
- _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
- _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
- _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
-
- _.$list.off('click.slick', _.clickHandler);
-
- $(document).off(_.visibilityChange, _.visibility);
-
- _.cleanUpSlideEvents();
-
- if (_.options.accessibility === true) {
- _.$list.off('keydown.slick', _.keyHandler);
- }
-
- if (_.options.focusOnSelect === true) {
- $(_.$slideTrack).children().off('click.slick', _.selectHandler);
- }
-
- $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
-
- $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
-
- $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
-
- $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
-
- };
-
- Slick.prototype.cleanUpSlideEvents = function() {
-
- var _ = this;
-
- _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
- _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
-
- };
-
- Slick.prototype.cleanUpRows = function() {
-
- var _ = this, originalSlides;
-
- if(_.options.rows > 1) {
- originalSlides = _.$slides.children().children();
- originalSlides.removeAttr('style');
- _.$slider.empty().append(originalSlides);
- }
-
- };
-
- Slick.prototype.clickHandler = function(event) {
-
- var _ = this;
-
- if (_.shouldClick === false) {
- event.stopImmediatePropagation();
- event.stopPropagation();
- event.preventDefault();
- }
-
- };
-
- Slick.prototype.destroy = function(refresh) {
-
- var _ = this;
-
- _.autoPlayClear();
-
- _.touchObject = {};
-
- _.cleanUpEvents();
-
- $('.slick-cloned', _.$slider).detach();
-
- if (_.$dots) {
- _.$dots.remove();
- }
-
- if ( _.$prevArrow && _.$prevArrow.length ) {
-
- _.$prevArrow
- .removeClass('slick-disabled slick-arrow slick-hidden')
- .removeAttr('aria-hidden aria-disabled tabindex')
- .css('display','');
-
- if ( _.htmlExpr.test( _.options.prevArrow )) {
- _.$prevArrow.remove();
- }
- }
-
- if ( _.$nextArrow && _.$nextArrow.length ) {
-
- _.$nextArrow
- .removeClass('slick-disabled slick-arrow slick-hidden')
- .removeAttr('aria-hidden aria-disabled tabindex')
- .css('display','');
-
- if ( _.htmlExpr.test( _.options.nextArrow )) {
- _.$nextArrow.remove();
- }
- }
-
-
- if (_.$slides) {
-
- _.$slides
- .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
- .removeAttr('aria-hidden')
- .removeAttr('data-slick-index')
- .each(function(){
- $(this).attr('style', $(this).data('originalStyling'));
- });
-
- _.$slideTrack.children(this.options.slide).detach();
-
- _.$slideTrack.detach();
-
- _.$list.detach();
-
- _.$slider.append(_.$slides);
- }
-
- _.cleanUpRows();
-
- _.$slider.removeClass('slick-slider');
- _.$slider.removeClass('slick-initialized');
- _.$slider.removeClass('slick-dotted');
-
- _.unslicked = true;
-
- if(!refresh) {
- _.$slider.trigger('destroy', [_]);
- }
-
- };
-
- Slick.prototype.disableTransition = function(slide) {
-
- var _ = this,
- transition = {};
-
- transition[_.transitionType] = '';
-
- if (_.options.fade === false) {
- _.$slideTrack.css(transition);
- } else {
- _.$slides.eq(slide).css(transition);
- }
-
- };
-
- Slick.prototype.fadeSlide = function(slideIndex, callback) {
-
- var _ = this;
-
- if (_.cssTransitions === false) {
-
- _.$slides.eq(slideIndex).css({
- zIndex: _.options.zIndex
- });
-
- _.$slides.eq(slideIndex).animate({
- opacity: 1
- }, _.options.speed, _.options.easing, callback);
-
- } else {
-
- _.applyTransition(slideIndex);
-
- _.$slides.eq(slideIndex).css({
- opacity: 1,
- zIndex: _.options.zIndex
- });
-
- if (callback) {
- setTimeout(function() {
-
- _.disableTransition(slideIndex);
-
- callback.call();
- }, _.options.speed);
- }
-
- }
-
- };
-
- Slick.prototype.fadeSlideOut = function(slideIndex) {
-
- var _ = this;
-
- if (_.cssTransitions === false) {
-
- _.$slides.eq(slideIndex).animate({
- opacity: 0,
- zIndex: _.options.zIndex - 2
- }, _.options.speed, _.options.easing);
-
- } else {
-
- _.applyTransition(slideIndex);
-
- _.$slides.eq(slideIndex).css({
- opacity: 0,
- zIndex: _.options.zIndex - 2
- });
-
- }
-
- };
-
- Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
-
- var _ = this;
-
- if (filter !== null) {
-
- _.$slidesCache = _.$slides;
-
- _.unload();
-
- _.$slideTrack.children(this.options.slide).detach();
-
- _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
-
- _.reinit();
-
- }
-
- };
-
- Slick.prototype.focusHandler = function() {
-
- var _ = this;
-
- _.$slider
- .off('focus.slick blur.slick')
- .on('focus.slick blur.slick', '*', function(event) {
-
- event.stopImmediatePropagation();
- var $sf = $(this);
-
- setTimeout(function() {
-
- if( _.options.pauseOnFocus ) {
- _.focussed = $sf.is(':focus');
- _.autoPlay();
- }
-
- }, 0);
-
- });
- };
-
- Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
-
- var _ = this;
- return _.currentSlide;
-
- };
-
- Slick.prototype.getDotCount = function() {
-
- var _ = this;
-
- var breakPoint = 0;
- var counter = 0;
- var pagerQty = 0;
-
- if (_.options.infinite === true) {
- if (_.slideCount <= _.options.slidesToShow) {
- ++pagerQty;
- } else {
- while (breakPoint < _.slideCount) {
- ++pagerQty;
- breakPoint = counter + _.options.slidesToScroll;
- counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
- }
- }
- } else if (_.options.centerMode === true) {
- pagerQty = _.slideCount;
- } else if(!_.options.asNavFor) {
- pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
- }else {
- while (breakPoint < _.slideCount) {
- ++pagerQty;
- breakPoint = counter + _.options.slidesToScroll;
- counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
- }
- }
-
- return pagerQty - 1;
-
- };
-
- Slick.prototype.getLeft = function(slideIndex) {
-
- var _ = this,
- targetLeft,
- verticalHeight,
- verticalOffset = 0,
- targetSlide,
- coef;
-
- _.slideOffset = 0;
- verticalHeight = _.$slides.first().outerHeight(true);
-
- if (_.options.infinite === true) {
- if (_.slideCount > _.options.slidesToShow) {
- _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
- coef = -1
-
- if (_.options.vertical === true && _.options.centerMode === true) {
- if (_.options.slidesToShow === 2) {
- coef = -1.5;
- } else if (_.options.slidesToShow === 1) {
- coef = -2
- }
- }
- verticalOffset = (verticalHeight * _.options.slidesToShow) * coef;
- }
- if (_.slideCount % _.options.slidesToScroll !== 0) {
- if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
- if (slideIndex > _.slideCount) {
- _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
- verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
- } else {
- _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
- verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
- }
- }
- }
- } else {
- if (slideIndex + _.options.slidesToShow > _.slideCount) {
- _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
- verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
- }
- }
-
- if (_.slideCount <= _.options.slidesToShow) {
- _.slideOffset = 0;
- verticalOffset = 0;
- }
-
- if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) {
- _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);
- } else if (_.options.centerMode === true && _.options.infinite === true) {
- _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
- } else if (_.options.centerMode === true) {
- _.slideOffset = 0;
- _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
- }
-
- if (_.options.vertical === false) {
- targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
- } else {
- targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
- }
-
- if (_.options.variableWidth === true) {
-
- if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
- } else {
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
- }
-
- if (_.options.rtl === true) {
- if (targetSlide[0]) {
- targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
- } else {
- targetLeft = 0;
- }
- } else {
- targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
- }
-
- if (_.options.centerMode === true) {
- if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
- } else {
- targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
- }
-
- if (_.options.rtl === true) {
- if (targetSlide[0]) {
- targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
- } else {
- targetLeft = 0;
- }
- } else {
- targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
- }
-
- targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
- }
- }
-
- return targetLeft;
-
- };
-
- Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
-
- var _ = this;
-
- return _.options[option];
-
- };
-
- Slick.prototype.getNavigableIndexes = function() {
-
- var _ = this,
- breakPoint = 0,
- counter = 0,
- indexes = [],
- max;
-
- if (_.options.infinite === false) {
- max = _.slideCount;
- } else {
- breakPoint = _.options.slidesToScroll * -1;
- counter = _.options.slidesToScroll * -1;
- max = _.slideCount * 2;
- }
-
- while (breakPoint < max) {
- indexes.push(breakPoint);
- breakPoint = counter + _.options.slidesToScroll;
- counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
- }
-
- return indexes;
-
- };
-
- Slick.prototype.getSlick = function() {
-
- return this;
-
- };
-
- Slick.prototype.getSlideCount = function() {
-
- var _ = this,
- slidesTraversed, swipedSlide, centerOffset;
-
- centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;
-
- if (_.options.swipeToSlide === true) {
- _.$slideTrack.find('.slick-slide').each(function(index, slide) {
- if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
- swipedSlide = slide;
- return false;
- }
- });
-
- slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
-
- return slidesTraversed;
-
- } else {
- return _.options.slidesToScroll;
- }
-
- };
-
- Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
-
- var _ = this;
-
- _.changeSlide({
- data: {
- message: 'index',
- index: parseInt(slide)
- }
- }, dontAnimate);
-
- };
-
- Slick.prototype.init = function(creation) {
-
- var _ = this;
-
- if (!$(_.$slider).hasClass('slick-initialized')) {
-
- $(_.$slider).addClass('slick-initialized');
-
- _.buildRows();
- _.buildOut();
- _.setProps();
- _.startLoad();
- _.loadSlider();
- _.initializeEvents();
- _.updateArrows();
- _.updateDots();
- _.checkResponsive(true);
- _.focusHandler();
-
- }
-
- if (creation) {
- _.$slider.trigger('init', [_]);
- }
-
- if (_.options.accessibility === true) {
- _.initADA();
- }
-
- if ( _.options.autoplay ) {
-
- _.paused = false;
- _.autoPlay();
-
- }
-
- };
-
- Slick.prototype.initADA = function() {
- var _ = this,
- numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
- tabControlIndexes = _.getNavigableIndexes().filter(function(val) {
- return (val >= 0) && (val < _.slideCount);
- });
-
- _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
- 'aria-hidden': 'true',
- 'tabindex': '-1'
- }).find('a, input, button, select').attr({
- 'tabindex': '-1'
- });
-
- if (_.$dots !== null) {
- _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
- var slideControlIndex = tabControlIndexes.indexOf(i);
-
- $(this).attr({
- 'role': 'tabpanel',
- 'id': 'slick-slide' + _.instanceUid + i,
- 'tabindex': -1
- });
-
- if (slideControlIndex !== -1) {
- $(this).attr({
- 'aria-describedby': 'slick-slide-control' + _.instanceUid + slideControlIndex
- });
- }
- });
-
- _.$dots.attr('role', 'tablist').find('li').each(function(i) {
- var mappedSlideIndex = tabControlIndexes[i];
-
- $(this).attr({
- 'role': 'presentation'
- });
-
- $(this).find('button').first().attr({
- 'role': 'tab',
- 'id': 'slick-slide-control' + _.instanceUid + i,
- 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
- 'aria-label': (i + 1) + ' of ' + numDotGroups,
- 'aria-selected': null,
- 'tabindex': '-1'
- });
-
- }).eq(_.currentSlide).find('button').attr({
- 'aria-selected': 'true',
- 'tabindex': '0'
- }).end();
- }
-
- for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) {
- _.$slides.eq(i).attr('tabindex', 0);
- }
-
- _.activateADA();
-
- };
-
- Slick.prototype.initArrowEvents = function() {
-
- var _ = this;
-
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
- _.$prevArrow
- .off('click.slick')
- .on('click.slick', {
- message: 'previous'
- }, _.changeSlide);
- _.$nextArrow
- .off('click.slick')
- .on('click.slick', {
- message: 'next'
- }, _.changeSlide);
-
- if (_.options.accessibility === true) {
- _.$prevArrow.on('keydown.slick', _.keyHandler);
- _.$nextArrow.on('keydown.slick', _.keyHandler);
- }
- }
-
- };
-
- Slick.prototype.initDotEvents = function() {
-
- var _ = this;
-
- if (_.options.dots === true) {
- $('li', _.$dots).on('click.slick', {
- message: 'index'
- }, _.changeSlide);
-
- if (_.options.accessibility === true) {
- _.$dots.on('keydown.slick', _.keyHandler);
- }
- }
-
- if ( _.options.dots === true && _.options.pauseOnDotsHover === true ) {
-
- $('li', _.$dots)
- .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
- .on('mouseleave.slick', $.proxy(_.interrupt, _, false));
-
- }
-
- };
-
- Slick.prototype.initSlideEvents = function() {
-
- var _ = this;
-
- if ( _.options.pauseOnHover ) {
-
- _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
- _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
-
- }
-
- };
-
- Slick.prototype.initializeEvents = function() {
-
- var _ = this;
-
- _.initArrowEvents();
-
- _.initDotEvents();
- _.initSlideEvents();
-
- _.$list.on('touchstart.slick mousedown.slick', {
- action: 'start'
- }, _.swipeHandler);
- _.$list.on('touchmove.slick mousemove.slick', {
- action: 'move'
- }, _.swipeHandler);
- _.$list.on('touchend.slick mouseup.slick', {
- action: 'end'
- }, _.swipeHandler);
- _.$list.on('touchcancel.slick mouseleave.slick', {
- action: 'end'
- }, _.swipeHandler);
-
- _.$list.on('click.slick', _.clickHandler);
-
- $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
-
- if (_.options.accessibility === true) {
- _.$list.on('keydown.slick', _.keyHandler);
- }
-
- if (_.options.focusOnSelect === true) {
- $(_.$slideTrack).children().on('click.slick', _.selectHandler);
- }
-
- $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
-
- $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
-
- $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
-
- $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
- $(_.setPosition);
-
- };
-
- Slick.prototype.initUI = function() {
-
- var _ = this;
-
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
-
- _.$prevArrow.show();
- _.$nextArrow.show();
-
- }
-
- if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
-
- _.$dots.show();
-
- }
-
- };
-
- Slick.prototype.keyHandler = function(event) {
-
- var _ = this;
- //Dont slide if the cursor is inside the form fields and arrow keys are pressed
- if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
- if (event.keyCode === 37 && _.options.accessibility === true) {
- _.changeSlide({
- data: {
- message: _.options.rtl === true ? 'next' : 'previous'
- }
- });
- } else if (event.keyCode === 39 && _.options.accessibility === true) {
- _.changeSlide({
- data: {
- message: _.options.rtl === true ? 'previous' : 'next'
- }
- });
- }
- }
-
- };
-
- Slick.prototype.lazyLoad = function() {
-
- var _ = this,
- loadRange, cloneRange, rangeStart, rangeEnd;
-
- function loadImages(imagesScope) {
-
- $('img[data-lazy]', imagesScope).each(function() {
-
- var image = $(this),
- imageSource = $(this).attr('data-lazy'),
- imageSrcSet = $(this).attr('data-srcset'),
- imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'),
- imageToLoad = document.createElement('img');
-
- imageToLoad.onload = function() {
-
- image
- .animate({ opacity: 0 }, 100, function() {
-
- if (imageSrcSet) {
- image
- .attr('srcset', imageSrcSet );
-
- if (imageSizes) {
- image
- .attr('sizes', imageSizes );
- }
- }
-
- image
- .attr('src', imageSource)
- .animate({ opacity: 1 }, 200, function() {
- image
- .removeAttr('data-lazy data-srcset data-sizes')
- .removeClass('slick-loading');
- });
- _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
- });
-
- };
-
- imageToLoad.onerror = function() {
-
- image
- .removeAttr( 'data-lazy' )
- .removeClass( 'slick-loading' )
- .addClass( 'slick-lazyload-error' );
-
- _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
-
- };
-
- imageToLoad.src = imageSource;
-
- });
-
- }
-
- if (_.options.centerMode === true) {
- if (_.options.infinite === true) {
- rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
- rangeEnd = rangeStart + _.options.slidesToShow + 2;
- } else {
- rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
- rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
- }
- } else {
- rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
- rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
- if (_.options.fade === true) {
- if (rangeStart > 0) rangeStart--;
- if (rangeEnd <= _.slideCount) rangeEnd++;
- }
- }
-
- loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
-
- if (_.options.lazyLoad === 'anticipated') {
- var prevSlide = rangeStart - 1,
- nextSlide = rangeEnd,
- $slides = _.$slider.find('.slick-slide');
-
- for (var i = 0; i < _.options.slidesToScroll; i++) {
- if (prevSlide < 0) prevSlide = _.slideCount - 1;
- loadRange = loadRange.add($slides.eq(prevSlide));
- loadRange = loadRange.add($slides.eq(nextSlide));
- prevSlide--;
- nextSlide++;
- }
- }
-
- loadImages(loadRange);
-
- if (_.slideCount <= _.options.slidesToShow) {
- cloneRange = _.$slider.find('.slick-slide');
- loadImages(cloneRange);
- } else
- if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
- cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
- loadImages(cloneRange);
- } else if (_.currentSlide === 0) {
- cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
- loadImages(cloneRange);
- }
-
- };
-
- Slick.prototype.loadSlider = function() {
-
- var _ = this;
-
- _.setPosition();
-
- _.$slideTrack.css({
- opacity: 1
- });
-
- _.$slider.removeClass('slick-loading');
-
- _.initUI();
-
- if (_.options.lazyLoad === 'progressive') {
- _.progressiveLazyLoad();
- }
-
- };
-
- Slick.prototype.next = Slick.prototype.slickNext = function() {
-
- var _ = this;
-
- _.changeSlide({
- data: {
- message: 'next'
- }
- });
-
- };
-
- Slick.prototype.orientationChange = function() {
-
- var _ = this;
-
- _.checkResponsive();
- _.setPosition();
-
- };
-
- Slick.prototype.pause = Slick.prototype.slickPause = function() {
-
- var _ = this;
-
- _.autoPlayClear();
- _.paused = true;
-
- };
-
- Slick.prototype.play = Slick.prototype.slickPlay = function() {
-
- var _ = this;
-
- _.autoPlay();
- _.options.autoplay = true;
- _.paused = false;
- _.focussed = false;
- _.interrupted = false;
-
- };
-
- Slick.prototype.postSlide = function(index) {
-
- var _ = this;
-
- if( !_.unslicked ) {
-
- _.$slider.trigger('afterChange', [_, index]);
-
- _.animating = false;
-
- if (_.slideCount > _.options.slidesToShow) {
- _.setPosition();
- }
-
- _.swipeLeft = null;
-
- if ( _.options.autoplay ) {
- _.autoPlay();
- }
-
- if (_.options.accessibility === true) {
- _.initADA();
-
- if (_.options.focusOnChange) {
- var $currentSlide = $(_.$slides.get(_.currentSlide));
- $currentSlide.attr('tabindex', 0).focus();
- }
- }
-
- }
-
- };
-
- Slick.prototype.prev = Slick.prototype.slickPrev = function() {
-
- var _ = this;
-
- _.changeSlide({
- data: {
- message: 'previous'
- }
- });
-
- };
-
- Slick.prototype.preventDefault = function(event) {
-
- event.preventDefault();
-
- };
-
- Slick.prototype.progressiveLazyLoad = function( tryCount ) {
-
- tryCount = tryCount || 1;
-
- var _ = this,
- $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
- image,
- imageSource,
- imageSrcSet,
- imageSizes,
- imageToLoad;
-
- if ( $imgsToLoad.length ) {
-
- image = $imgsToLoad.first();
- imageSource = image.attr('data-lazy');
- imageSrcSet = image.attr('data-srcset');
- imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes');
- imageToLoad = document.createElement('img');
-
- imageToLoad.onload = function() {
-
- if (imageSrcSet) {
- image
- .attr('srcset', imageSrcSet );
-
- if (imageSizes) {
- image
- .attr('sizes', imageSizes );
- }
- }
-
- image
- .attr( 'src', imageSource )
- .removeAttr('data-lazy data-srcset data-sizes')
- .removeClass('slick-loading');
-
- if ( _.options.adaptiveHeight === true ) {
- _.setPosition();
- }
-
- _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
- _.progressiveLazyLoad();
-
- };
-
- imageToLoad.onerror = function() {
-
- if ( tryCount < 3 ) {
-
- /**
- * try to load the image 3 times,
- * leave a slight delay so we don't get
- * servers blocking the request.
- */
- setTimeout( function() {
- _.progressiveLazyLoad( tryCount + 1 );
- }, 500 );
-
- } else {
-
- image
- .removeAttr( 'data-lazy' )
- .removeClass( 'slick-loading' )
- .addClass( 'slick-lazyload-error' );
-
- _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
-
- _.progressiveLazyLoad();
-
- }
-
- };
-
- imageToLoad.src = imageSource;
-
- } else {
-
- _.$slider.trigger('allImagesLoaded', [ _ ]);
-
- }
-
- };
-
- Slick.prototype.refresh = function( initializing ) {
-
- var _ = this, currentSlide, lastVisibleIndex;
-
- lastVisibleIndex = _.slideCount - _.options.slidesToShow;
-
- // in non-infinite sliders, we don't want to go past the
- // last visible index.
- if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
- _.currentSlide = lastVisibleIndex;
- }
-
- // if less slides than to show, go to start.
- if ( _.slideCount <= _.options.slidesToShow ) {
- _.currentSlide = 0;
-
- }
-
- currentSlide = _.currentSlide;
-
- _.destroy(true);
-
- $.extend(_, _.initials, { currentSlide: currentSlide });
-
- _.init();
-
- if( !initializing ) {
-
- _.changeSlide({
- data: {
- message: 'index',
- index: currentSlide
- }
- }, false);
-
- }
-
- };
-
- Slick.prototype.registerBreakpoints = function() {
-
- var _ = this, breakpoint, currentBreakpoint, l,
- responsiveSettings = _.options.responsive || null;
-
- if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {
-
- _.respondTo = _.options.respondTo || 'window';
-
- for ( breakpoint in responsiveSettings ) {
-
- l = _.breakpoints.length-1;
-
- if (responsiveSettings.hasOwnProperty(breakpoint)) {
- currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
-
- // loop through the breakpoints and cut out any existing
- // ones with the same breakpoint number, we don't want dupes.
- while( l >= 0 ) {
- if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
- _.breakpoints.splice(l,1);
- }
- l--;
- }
-
- _.breakpoints.push(currentBreakpoint);
- _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
-
- }
-
- }
-
- _.breakpoints.sort(function(a, b) {
- return ( _.options.mobileFirst ) ? a-b : b-a;
- });
-
- }
-
- };
-
- Slick.prototype.reinit = function() {
-
- var _ = this;
-
- _.$slides =
- _.$slideTrack
- .children(_.options.slide)
- .addClass('slick-slide');
-
- _.slideCount = _.$slides.length;
-
- if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
- _.currentSlide = _.currentSlide - _.options.slidesToScroll;
- }
-
- if (_.slideCount <= _.options.slidesToShow) {
- _.currentSlide = 0;
- }
-
- _.registerBreakpoints();
-
- _.setProps();
- _.setupInfinite();
- _.buildArrows();
- _.updateArrows();
- _.initArrowEvents();
- _.buildDots();
- _.updateDots();
- _.initDotEvents();
- _.cleanUpSlideEvents();
- _.initSlideEvents();
-
- _.checkResponsive(false, true);
-
- if (_.options.focusOnSelect === true) {
- $(_.$slideTrack).children().on('click.slick', _.selectHandler);
- }
-
- _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
-
- _.setPosition();
- _.focusHandler();
-
- _.paused = !_.options.autoplay;
- _.autoPlay();
-
- _.$slider.trigger('reInit', [_]);
-
- };
-
- Slick.prototype.resize = function() {
-
- var _ = this;
-
- if ($(window).width() !== _.windowWidth) {
- clearTimeout(_.windowDelay);
- _.windowDelay = window.setTimeout(function() {
- _.windowWidth = $(window).width();
- _.checkResponsive();
- if( !_.unslicked ) { _.setPosition(); }
- }, 50);
- }
- };
-
- Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
-
- var _ = this;
-
- if (typeof(index) === 'boolean') {
- removeBefore = index;
- index = removeBefore === true ? 0 : _.slideCount - 1;
- } else {
- index = removeBefore === true ? --index : index;
- }
-
- if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
- return false;
- }
-
- _.unload();
-
- if (removeAll === true) {
- _.$slideTrack.children().remove();
- } else {
- _.$slideTrack.children(this.options.slide).eq(index).remove();
- }
-
- _.$slides = _.$slideTrack.children(this.options.slide);
-
- _.$slideTrack.children(this.options.slide).detach();
-
- _.$slideTrack.append(_.$slides);
-
- _.$slidesCache = _.$slides;
-
- _.reinit();
-
- };
-
- Slick.prototype.setCSS = function(position) {
-
- var _ = this,
- positionProps = {},
- x, y;
-
- if (_.options.rtl === true) {
- position = -position;
- }
- x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
- y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
-
- positionProps[_.positionProp] = position;
-
- if (_.transformsEnabled === false) {
- _.$slideTrack.css(positionProps);
- } else {
- positionProps = {};
- if (_.cssTransitions === false) {
- positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
- _.$slideTrack.css(positionProps);
- } else {
- positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
- _.$slideTrack.css(positionProps);
- }
- }
-
- };
-
- Slick.prototype.setDimensions = function() {
-
- var _ = this;
-
- if (_.options.vertical === false) {
- if (_.options.centerMode === true) {
- _.$list.css({
- padding: ('0px ' + _.options.centerPadding)
- });
- }
- } else {
- _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
- if (_.options.centerMode === true) {
- _.$list.css({
- padding: (_.options.centerPadding + ' 0px')
- });
- }
- }
-
- _.listWidth = _.$list.width();
- _.listHeight = _.$list.height();
-
-
- if (_.options.vertical === false && _.options.variableWidth === false) {
- _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
- _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
-
- } else if (_.options.variableWidth === true) {
- _.$slideTrack.width(5000 * _.slideCount);
- } else {
- _.slideWidth = Math.ceil(_.listWidth);
- _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
- }
-
- var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
- if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
-
- };
-
- Slick.prototype.setFade = function() {
-
- var _ = this,
- targetLeft;
-
- _.$slides.each(function(index, element) {
- targetLeft = (_.slideWidth * index) * -1;
- if (_.options.rtl === true) {
- $(element).css({
- position: 'relative',
- right: targetLeft,
- top: 0,
- zIndex: _.options.zIndex - 2,
- opacity: 0
- });
- } else {
- $(element).css({
- position: 'relative',
- left: targetLeft,
- top: 0,
- zIndex: _.options.zIndex - 2,
- opacity: 0
- });
- }
- });
-
- _.$slides.eq(_.currentSlide).css({
- zIndex: _.options.zIndex - 1,
- opacity: 1
- });
-
- };
-
- Slick.prototype.setHeight = function() {
-
- var _ = this;
-
- if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
- var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
- _.$list.css('height', targetHeight);
- }
-
- };
-
- Slick.prototype.setOption =
- Slick.prototype.slickSetOption = function() {
-
- /**
- * accepts arguments in format of:
- *
- * - for changing a single option's value:
- * .slick("setOption", option, value, refresh )
- *
- * - for changing a set of responsive options:
- * .slick("setOption", 'responsive', [{}, ...], refresh )
- *
- * - for updating multiple values at once (not responsive)
- * .slick("setOption", { 'option': value, ... }, refresh )
- */
-
- var _ = this, l, item, option, value, refresh = false, type;
-
- if( $.type( arguments[0] ) === 'object' ) {
-
- option = arguments[0];
- refresh = arguments[1];
- type = 'multiple';
-
- } else if ( $.type( arguments[0] ) === 'string' ) {
-
- option = arguments[0];
- value = arguments[1];
- refresh = arguments[2];
-
- if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {
-
- type = 'responsive';
-
- } else if ( typeof arguments[1] !== 'undefined' ) {
-
- type = 'single';
-
- }
-
- }
-
- if ( type === 'single' ) {
-
- _.options[option] = value;
-
-
- } else if ( type === 'multiple' ) {
-
- $.each( option , function( opt, val ) {
-
- _.options[opt] = val;
-
- });
-
-
- } else if ( type === 'responsive' ) {
-
- for ( item in value ) {
-
- if( $.type( _.options.responsive ) !== 'array' ) {
-
- _.options.responsive = [ value[item] ];
-
- } else {
-
- l = _.options.responsive.length-1;
-
- // loop through the responsive object and splice out duplicates.
- while( l >= 0 ) {
-
- if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
-
- _.options.responsive.splice(l,1);
-
- }
-
- l--;
-
- }
-
- _.options.responsive.push( value[item] );
-
- }
-
- }
-
- }
-
- if ( refresh ) {
-
- _.unload();
- _.reinit();
-
- }
-
- };
-
- Slick.prototype.setPosition = function() {
-
- var _ = this;
-
- _.setDimensions();
-
- _.setHeight();
-
- if (_.options.fade === false) {
- _.setCSS(_.getLeft(_.currentSlide));
- } else {
- _.setFade();
- }
-
- _.$slider.trigger('setPosition', [_]);
-
- };
-
- Slick.prototype.setProps = function() {
-
- var _ = this,
- bodyStyle = document.body.style;
-
- _.positionProp = _.options.vertical === true ? 'top' : 'left';
-
- if (_.positionProp === 'top') {
- _.$slider.addClass('slick-vertical');
- } else {
- _.$slider.removeClass('slick-vertical');
- }
-
- if (bodyStyle.WebkitTransition !== undefined ||
- bodyStyle.MozTransition !== undefined ||
- bodyStyle.msTransition !== undefined) {
- if (_.options.useCSS === true) {
- _.cssTransitions = true;
- }
- }
-
- if ( _.options.fade ) {
- if ( typeof _.options.zIndex === 'number' ) {
- if( _.options.zIndex < 3 ) {
- _.options.zIndex = 3;
- }
- } else {
- _.options.zIndex = _.defaults.zIndex;
- }
- }
-
- if (bodyStyle.OTransform !== undefined) {
- _.animType = 'OTransform';
- _.transformType = '-o-transform';
- _.transitionType = 'OTransition';
- if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
- }
- if (bodyStyle.MozTransform !== undefined) {
- _.animType = 'MozTransform';
- _.transformType = '-moz-transform';
- _.transitionType = 'MozTransition';
- if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
- }
- if (bodyStyle.webkitTransform !== undefined) {
- _.animType = 'webkitTransform';
- _.transformType = '-webkit-transform';
- _.transitionType = 'webkitTransition';
- if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
- }
- if (bodyStyle.msTransform !== undefined) {
- _.animType = 'msTransform';
- _.transformType = '-ms-transform';
- _.transitionType = 'msTransition';
- if (bodyStyle.msTransform === undefined) _.animType = false;
- }
- if (bodyStyle.transform !== undefined && _.animType !== false) {
- _.animType = 'transform';
- _.transformType = 'transform';
- _.transitionType = 'transition';
- }
- _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
- };
-
-
- Slick.prototype.setSlideClasses = function(index) {
-
- var _ = this,
- centerOffset, allSlides, indexOffset, remainder;
-
- allSlides = _.$slider
- .find('.slick-slide')
- .removeClass('slick-active slick-center slick-current')
- .attr('aria-hidden', 'true');
-
- _.$slides
- .eq(index)
- .addClass('slick-current');
-
- if (_.options.centerMode === true) {
-
- var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;
-
- centerOffset = Math.floor(_.options.slidesToShow / 2);
-
- if (_.options.infinite === true) {
-
- if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
- _.$slides
- .slice(index - centerOffset + evenCoef, index + centerOffset + 1)
- .addClass('slick-active')
- .attr('aria-hidden', 'false');
-
- } else {
-
- indexOffset = _.options.slidesToShow + index;
- allSlides
- .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)
- .addClass('slick-active')
- .attr('aria-hidden', 'false');
-
- }
-
- if (index === 0) {
-
- allSlides
- .eq(allSlides.length - 1 - _.options.slidesToShow)
- .addClass('slick-center');
-
- } else if (index === _.slideCount - 1) {
-
- allSlides
- .eq(_.options.slidesToShow)
- .addClass('slick-center');
-
- }
-
- }
-
- _.$slides
- .eq(index)
- .addClass('slick-center');
-
- } else {
-
- if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
-
- _.$slides
- .slice(index, index + _.options.slidesToShow)
- .addClass('slick-active')
- .attr('aria-hidden', 'false');
-
- } else if (allSlides.length <= _.options.slidesToShow) {
-
- allSlides
- .addClass('slick-active')
- .attr('aria-hidden', 'false');
-
- } else {
-
- remainder = _.slideCount % _.options.slidesToShow;
- indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
-
- if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
-
- allSlides
- .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
- .addClass('slick-active')
- .attr('aria-hidden', 'false');
-
- } else {
-
- allSlides
- .slice(indexOffset, indexOffset + _.options.slidesToShow)
- .addClass('slick-active')
- .attr('aria-hidden', 'false');
-
- }
-
- }
-
- }
-
- if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') {
- _.lazyLoad();
- }
- };
-
- Slick.prototype.setupInfinite = function() {
-
- var _ = this,
- i, slideIndex, infiniteCount;
-
- if (_.options.fade === true) {
- _.options.centerMode = false;
- }
-
- if (_.options.infinite === true && _.options.fade === false) {
-
- slideIndex = null;
-
- if (_.slideCount > _.options.slidesToShow) {
-
- if (_.options.centerMode === true) {
- infiniteCount = _.options.slidesToShow + 1;
- } else {
- infiniteCount = _.options.slidesToShow;
- }
-
- for (i = _.slideCount; i > (_.slideCount -
- infiniteCount); i -= 1) {
- slideIndex = i - 1;
- $(_.$slides[slideIndex]).clone(true).attr('id', '')
- .attr('data-slick-index', slideIndex - _.slideCount)
- .prependTo(_.$slideTrack).addClass('slick-cloned');
- }
- for (i = 0; i < infiniteCount + _.slideCount; i += 1) {
- slideIndex = i;
- $(_.$slides[slideIndex]).clone(true).attr('id', '')
- .attr('data-slick-index', slideIndex + _.slideCount)
- .appendTo(_.$slideTrack).addClass('slick-cloned');
- }
- _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
- $(this).attr('id', '');
- });
-
- }
-
- }
-
- };
-
- Slick.prototype.interrupt = function( toggle ) {
-
- var _ = this;
-
- if( !toggle ) {
- _.autoPlay();
- }
- _.interrupted = toggle;
-
- };
-
- Slick.prototype.selectHandler = function(event) {
-
- var _ = this;
-
- var targetElement =
- $(event.target).is('.slick-slide') ?
- $(event.target) :
- $(event.target).parents('.slick-slide');
-
- var index = parseInt(targetElement.attr('data-slick-index'));
-
- if (!index) index = 0;
-
- if (_.slideCount <= _.options.slidesToShow) {
-
- _.slideHandler(index, false, true);
- return;
-
- }
-
- _.slideHandler(index);
-
- };
-
- Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
-
- var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
- _ = this, navTarget;
-
- sync = sync || false;
-
- if (_.animating === true && _.options.waitForAnimate === true) {
- return;
- }
-
- if (_.options.fade === true && _.currentSlide === index) {
- return;
- }
-
- if (sync === false) {
- _.asNavFor(index);
- }
-
- targetSlide = index;
- targetLeft = _.getLeft(targetSlide);
- slideLeft = _.getLeft(_.currentSlide);
-
- _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
-
- if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
- if (_.options.fade === false) {
- targetSlide = _.currentSlide;
- if (dontAnimate !== true) {
- _.animateSlide(slideLeft, function() {
- _.postSlide(targetSlide);
- });
- } else {
- _.postSlide(targetSlide);
- }
- }
- return;
- } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
- if (_.options.fade === false) {
- targetSlide = _.currentSlide;
- if (dontAnimate !== true) {
- _.animateSlide(slideLeft, function() {
- _.postSlide(targetSlide);
- });
- } else {
- _.postSlide(targetSlide);
- }
- }
- return;
- }
-
- if ( _.options.autoplay ) {
- clearInterval(_.autoPlayTimer);
- }
-
- if (targetSlide < 0) {
- if (_.slideCount % _.options.slidesToScroll !== 0) {
- animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
- } else {
- animSlide = _.slideCount + targetSlide;
- }
- } else if (targetSlide >= _.slideCount) {
- if (_.slideCount % _.options.slidesToScroll !== 0) {
- animSlide = 0;
- } else {
- animSlide = targetSlide - _.slideCount;
- }
- } else {
- animSlide = targetSlide;
- }
-
- _.animating = true;
-
- _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
-
- oldSlide = _.currentSlide;
- _.currentSlide = animSlide;
-
- _.setSlideClasses(_.currentSlide);
-
- if ( _.options.asNavFor ) {
-
- navTarget = _.getNavTarget();
- navTarget = navTarget.slick('getSlick');
-
- if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
- navTarget.setSlideClasses(_.currentSlide);
- }
-
- }
-
- _.updateDots();
- _.updateArrows();
-
- if (_.options.fade === true) {
- if (dontAnimate !== true) {
-
- _.fadeSlideOut(oldSlide);
-
- _.fadeSlide(animSlide, function() {
- _.postSlide(animSlide);
- });
-
- } else {
- _.postSlide(animSlide);
- }
- _.animateHeight();
- return;
- }
-
- if (dontAnimate !== true) {
- _.animateSlide(targetLeft, function() {
- _.postSlide(animSlide);
- });
- } else {
- _.postSlide(animSlide);
- }
-
- };
-
- Slick.prototype.startLoad = function() {
-
- var _ = this;
-
- if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
-
- _.$prevArrow.hide();
- _.$nextArrow.hide();
-
- }
-
- if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
-
- _.$dots.hide();
-
- }
-
- _.$slider.addClass('slick-loading');
-
- };
-
- Slick.prototype.swipeDirection = function() {
-
- var xDist, yDist, r, swipeAngle, _ = this;
-
- xDist = _.touchObject.startX - _.touchObject.curX;
- yDist = _.touchObject.startY - _.touchObject.curY;
- r = Math.atan2(yDist, xDist);
-
- swipeAngle = Math.round(r * 180 / Math.PI);
- if (swipeAngle < 0) {
- swipeAngle = 360 - Math.abs(swipeAngle);
- }
-
- if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
- return (_.options.rtl === false ? 'left' : 'right');
- }
- if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
- return (_.options.rtl === false ? 'left' : 'right');
- }
- if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
- return (_.options.rtl === false ? 'right' : 'left');
- }
- if (_.options.verticalSwiping === true) {
- if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
- return 'down';
- } else {
- return 'up';
- }
- }
-
- return 'vertical';
-
- };
-
- Slick.prototype.swipeEnd = function(event) {
-
- var _ = this,
- slideCount,
- direction;
-
- _.dragging = false;
- _.swiping = false;
-
- if (_.scrolling) {
- _.scrolling = false;
- return false;
- }
-
- _.interrupted = false;
- _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;
-
- if ( _.touchObject.curX === undefined ) {
- return false;
- }
-
- if ( _.touchObject.edgeHit === true ) {
- _.$slider.trigger('edge', [_, _.swipeDirection() ]);
- }
-
- if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {
-
- direction = _.swipeDirection();
-
- switch ( direction ) {
-
- case 'left':
- case 'down':
-
- slideCount =
- _.options.swipeToSlide ?
- _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
- _.currentSlide + _.getSlideCount();
-
- _.currentDirection = 0;
-
- break;
-
- case 'right':
- case 'up':
-
- slideCount =
- _.options.swipeToSlide ?
- _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
- _.currentSlide - _.getSlideCount();
-
- _.currentDirection = 1;
-
- break;
-
- default:
-
-
- }
-
- if( direction != 'vertical' ) {
-
- _.slideHandler( slideCount );
- _.touchObject = {};
- _.$slider.trigger('swipe', [_, direction ]);
-
- }
-
- } else {
-
- if ( _.touchObject.startX !== _.touchObject.curX ) {
-
- _.slideHandler( _.currentSlide );
- _.touchObject = {};
-
- }
-
- }
-
- };
-
- Slick.prototype.swipeHandler = function(event) {
-
- var _ = this;
-
- if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
- return;
- } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
- return;
- }
-
- _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
- event.originalEvent.touches.length : 1;
-
- _.touchObject.minSwipe = _.listWidth / _.options
- .touchThreshold;
-
- if (_.options.verticalSwiping === true) {
- _.touchObject.minSwipe = _.listHeight / _.options
- .touchThreshold;
- }
-
- switch (event.data.action) {
-
- case 'start':
- _.swipeStart(event);
- break;
-
- case 'move':
- _.swipeMove(event);
- break;
-
- case 'end':
- _.swipeEnd(event);
- break;
-
- }
-
- };
-
- Slick.prototype.swipeMove = function(event) {
-
- var _ = this,
- edgeWasHit = false,
- curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;
-
- touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
-
- if (!_.dragging || _.scrolling || touches && touches.length !== 1) {
- return false;
- }
-
- curLeft = _.getLeft(_.currentSlide);
-
- _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
- _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
-
- _.touchObject.swipeLength = Math.round(Math.sqrt(
- Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
-
- verticalSwipeLength = Math.round(Math.sqrt(
- Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
-
- if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {
- _.scrolling = true;
- return false;
- }
-
- if (_.options.verticalSwiping === true) {
- _.touchObject.swipeLength = verticalSwipeLength;
- }
-
- swipeDirection = _.swipeDirection();
-
- if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
- _.swiping = true;
- event.preventDefault();
- }
-
- positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
- if (_.options.verticalSwiping === true) {
- positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
- }
-
-
- swipeLength = _.touchObject.swipeLength;
-
- _.touchObject.edgeHit = false;
-
- if (_.options.infinite === false) {
- if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
- swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
- _.touchObject.edgeHit = true;
- }
- }
-
- if (_.options.vertical === false) {
- _.swipeLeft = curLeft + swipeLength * positionOffset;
- } else {
- _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
- }
- if (_.options.verticalSwiping === true) {
- _.swipeLeft = curLeft + swipeLength * positionOffset;
- }
-
- if (_.options.fade === true || _.options.touchMove === false) {
- return false;
- }
-
- if (_.animating === true) {
- _.swipeLeft = null;
- return false;
- }
-
- _.setCSS(_.swipeLeft);
-
- };
-
- Slick.prototype.swipeStart = function(event) {
-
- var _ = this,
- touches;
-
- _.interrupted = true;
-
- if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
- _.touchObject = {};
- return false;
- }
-
- if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
- touches = event.originalEvent.touches[0];
- }
-
- _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
- _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
-
- _.dragging = true;
-
- };
-
- Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
-
- var _ = this;
-
- if (_.$slidesCache !== null) {
-
- _.unload();
-
- _.$slideTrack.children(this.options.slide).detach();
-
- _.$slidesCache.appendTo(_.$slideTrack);
-
- _.reinit();
-
- }
-
- };
-
- Slick.prototype.unload = function() {
-
- var _ = this;
-
- $('.slick-cloned', _.$slider).remove();
-
- if (_.$dots) {
- _.$dots.remove();
- }
-
- if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
- _.$prevArrow.remove();
- }
-
- if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
- _.$nextArrow.remove();
- }
-
- _.$slides
- .removeClass('slick-slide slick-active slick-visible slick-current')
- .attr('aria-hidden', 'true')
- .css('width', '');
-
- };
-
- Slick.prototype.unslick = function(fromBreakpoint) {
-
- var _ = this;
- _.$slider.trigger('unslick', [_, fromBreakpoint]);
- _.destroy();
-
- };
-
- Slick.prototype.updateArrows = function() {
-
- var _ = this,
- centerOffset;
-
- centerOffset = Math.floor(_.options.slidesToShow / 2);
-
- if ( _.options.arrows === true &&
- _.slideCount > _.options.slidesToShow &&
- !_.options.infinite ) {
-
- _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
- _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
-
- if (_.currentSlide === 0) {
-
- _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
- _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
-
- } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
-
- _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
- _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
-
- } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
-
- _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
- _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
-
- }
-
- }
-
- };
-
- Slick.prototype.updateDots = function() {
-
- var _ = this;
-
- if (_.$dots !== null) {
-
- _.$dots
- .find('li')
- .removeClass('slick-active')
- .end();
-
- _.$dots
- .find('li')
- .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
- .addClass('slick-active');
-
- }
-
- };
-
- Slick.prototype.visibility = function() {
-
- var _ = this;
-
- if ( _.options.autoplay ) {
-
- if ( document[_.hidden] ) {
-
- _.interrupted = true;
-
- } else {
-
- _.interrupted = false;
-
- }
-
- }
-
- };
-
- $.fn.slick = function() {
- var _ = this,
- opt = arguments[0],
- args = Array.prototype.slice.call(arguments, 1),
- l = _.length,
- i,
- ret;
- for (i = 0; i < l; i++) {
- if (typeof opt == 'object' || typeof opt == 'undefined')
- _[i].slick = new Slick(_[i], opt);
- else
- ret = _[i].slick[opt].apply(_[i].slick, args);
- if (typeof ret != 'undefined') return ret;
- }
- return _;
- };
-
-}));
diff --git a/slick/slick.less b/slick/slick.less
deleted file mode 100644
index 8d1fc9f..0000000
--- a/slick/slick.less
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Slider */
-
-.slick-slider {
- position: relative;
- display: block;
- 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;
- margin-left: auto;
- margin-right: auto;
-
- &: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;
-}
diff --git a/slick/slick.min.js b/slick/slick.min.js
deleted file mode 100644
index 42172c2..0000000
--- a/slick/slick.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'Previous ',nextArrow:'Next ',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i(' ').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i(" ").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('
').appendTo(e.$slider):e.$slides.wrapAll('
').parent(),e.$list=e.$slideTrack.wrap('
').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.options.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;ir.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(ie.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;en.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&ii.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"},e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0},100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-is.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;ea.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i* {
- position: relative;
- top: -40px;
-}*/
-
-.container header {
- background-color: var(--header-background);
- padding: 1em;
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
+@charset "UTF-8";
+.center {
+ text-align: center;
+}
+
+html,
+body {
+ margin: 0;
+ padding: 0;
+ font-family: "Source Sans Pro", sans-serif;
+ color: #37474F;
+}
+
+header {
+ background-color: #CFD8DC;
+ padding: 4em 0;
text-align: center;
-}
-
-.container header .logo {
+}
+header .languages {
+ text-align: right;
+}
+header .languages .language {
+ text-transform: uppercase;
+ padding: 0 4px;
+ cursor: pointer;
+}
+header .languages .language.active {
+ font-weight: 600;
+}
+header .logo {
display: inline-block;
- background-color: #fff;
- height: var(--logo-size);
+ background-color: #FFF;
+ height: 10em;
border-radius: 50%;
- border: 4px solid #fff;
- /* position: relative; */
- /* top: -40px; */
- margin-top: -80px;
- -webkit-animation: scale-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
- animation: scale-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
-}
-
-.container header .logo img {
- width: var(--logo-size);
- border-radius: 50%;
-}
-
-.container header h1 {
- font-size: 2.75rem;
- font-family: 'Quicksand', sans-serif;
- -webkit-animation: tracking-in-expand-fwd 0.8s cubic-bezier(0.215, 0.610, 0.355, 1.000) 200ms both;
- animation: tracking-in-expand-fwd 0.8s cubic-bezier(0.215, 0.610, 0.355, 1.000) 200ms both;
-}
-
-.container header h1 img {
- height: 24px;
- border: 4px solid var(--container-background);
-}
-
-.container header .lead {
- font-style: italic;
- font-family: 'Quicksand', sans-serif;
- color: #bbb;
-}
-
-.container .social {
- padding: 1em;
- text-align: center;
-}
-
-.container .social div {
- display: inline-block;
- background-color: #fff;
+ border: 4px solid #FFF;
+}
+header .logo img {
+ border-radius: 50%;
+ width: 10em;
+}
+header h1 {
+ font-size: 3rem;
+}
+
+#projects:hover ~ hr {
+ box-shadow: 0 0 #CFD8DC;
+}
+
+hr {
+ width: 20em;
+ border: 8px solid #90A4AE;
+ border-radius: 8px;
+ box-shadow: 4px 4px #CFD8DC;
+ transition: box-shadow 0.25s ease-in-out;
+}
+hr:hover {
+ box-shadow: 0 0 #CFD8DC;
+}
+
+.projects {
+ margin: 2em 20%;
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr;
+ grid-column-gap: 10px;
+ grid-row-gap: 10px;
+ justify-content: center;
+}
+.projects .loading {
+ grid-column: 1/span 3;
+ text-align: center;
+ font-weight: 600;
+ font-size: 1.3rem;
+}
+.projects .project {
+ display: grid;
+ grid-template-columns: 64px auto;
+ grid-column-gap: 4px;
+ align-items: center;
+ background: linear-gradient(135deg, #CFD8DC, #ECEFF1);
padding: 8px;
+ border-radius: 8px;
+ text-decoration: none;
+ color: #37474F;
+ transition: transform 0.25s ease-in-out;
+}
+.projects .project:hover {
+ transform: scale(1.05);
+}
+.projects .project .icon {
+ width: 64px;
+ height: auto;
+}
+.projects .project .title {
+ margin: 0;
+}
+.projects .project .description {
+ grid-column: 1/span 2;
+ display: block;
+ display: -webkit-box;
+ max-width: 400px;
+ margin: 0;
+ height: 67.2px;
+ /* Fallback for non-webkit */
+ font-size: 16px;
+ line-height: 1.4;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.projects .project .tax {
+ grid-column: 1/span 2;
+ justify-self: right;
+}
+.projects .project .tax .category {
+ background-color: #FFF;
+ padding: 2px 8px;
+ border-radius: 16px;
+}
+
+.contact {
+ margin: 0 20%;
+}
+.contact input,
+.contact textarea {
+ outline: 0;
+ width: 100%;
+ padding: 4px;
+ font-family: "Source Sans Pro", sans-serif;
+ font-size: 1.5rem;
+ box-sizing: border-box;
+ border: none;
+ border-bottom: 2px solid #CFD8DC;
+ transition: border-bottom-color 0.25s ease-in-out;
+}
+.contact input:focus,
+.contact textarea:focus {
+ border-bottom-color: #90A4AE;
+}
+.contact input.half,
+.contact textarea.half {
+ width: calc(50% - 2px);
+}
+.contact input.half:nth-of-type(even),
+.contact textarea.half:nth-of-type(even) {
+ float: right;
+}
+.contact input.half:nth-of-type(odd),
+.contact textarea.half:nth-of-type(odd) {
+ float: left;
+}
+.contact button {
+ background-color: #CFD8DC;
+ border: none;
+ border-radius: 8px;
+ float: right;
+ padding: 12px 18px;
+ font-size: 1.5rem;
+ font-family: "Source Sans Pro", sans-serif;
+ color: #37474F;
+ cursor: pointer;
+ transition: all 0.25s ease-in-out;
+}
+.contact button:hover, .contact button:focus {
+ outline: 0;
+ background-color: #90A4AE;
+ color: #FFF;
+}
+
+.social {
+ text-align: center;
+}
+.social .fab {
+ text-decoration: none;
+ color: transparent;
+ font-size: 0;
+ border: 2px solid black;
border-radius: 50%;
- width: 32px;
+ padding: 8px;
height: 32px;
- -webkit-animation: scale-up-hor-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) 400ms both;
- animation: scale-up-hor-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) 400ms both;
- margin: 0 6px;
-}
-
-.container .social div a {
- color: var(--container-background);
- font-size: 2em;
- vertical-align: top;
+ width: 32px;
+ text-align: center;
+ transition: border-color 0.25s ease-in-out;
+}
+.social .fab:hover {
+ border-color: #90A4AE;
+}
+.social .fab::before {
+ font-size: 2rem;
+ letter-spacing: normal;
+ color: #37474F;
+ transition: color 0.25s ease-in-out;
+}
+.social .fab:hover::before {
+ color: #90A4AE;
+}
+
+.website {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-column-gap: 4px;
+ grid-row-gap: 4px;
+ margin: 0 15% 2em 15%;
+}
+.website a {
+ padding: 8px;
+ border-radius: 8px;
+ height: 6em;
+ display: grid;
+ font-size: 2rem;
+ text-align: center;
+ align-content: center;
+ color: #37474F;
+ text-decoration: none;
+ font-weight: 600;
+ transition: transform 0.25s ease-in-out;
+}
+.website a:hover {
+ transform: scale(1.05);
+}
+.website a:nth-child(1) {
+ background: linear-gradient(135deg, #B6D5EA, #E5F7FF);
+}
+.website a:nth-child(2) {
+ background: linear-gradient(135deg, #C3C3C3, #EEE);
+}
+
+.modal {
+ display: none;
+ position: fixed;
+ z-index: 1;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+ background-color: black;
+ background-color: rgba(0, 0, 0, 0.4);
+}
+.modal .content {
+ position: relative;
+ background-color: #FEFEFE;
+ margin: 4em auto;
+ width: 80%;
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
+ -webkit-animation: zoom-in 0.5s;
+ animation: zoom-in 0.5s;
+}
+.modal .content header,
+.modal .content main,
+.modal .content footer {
+ padding: 1em;
+}
+.modal .content footer .close {
cursor: pointer;
-}
-
-
-.container .content {
- padding: 0 20%;
-}
-
-.container .greeting {
- font-size: 47px;
- font-weight: 300;
- display: inline-block;
- float: left;
- -webkit-animation: fade-in 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) 600ms both;
- animation: fade-in 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) 600ms both;
- margin-right: 8px;
-}
-
-.container p, table {
- -webkit-animation: fade-in 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) 600ms both;
- animation: fade-in 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) 600ms both;
-}
-
-.container hr {
- -webkit-animation: scale-up-hor-center 0.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) 800ms both;
- animation: scale-up-hor-center 0.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) 800ms both;
- margin: 8px;
-}
-
-.container h2 {
- font-family: 'Quicksand', sans-serif;
- text-align: center;
- font-style: italic;
- -webkit-animation: fade-in 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) 1s both;
- animation: fade-in 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) 1s both;
-}
-
-.container h2:nth-child(1) {animation-delay: 1s;}
-.container h2:nth-child(3) {animation-delay: 1.4s;}
-
-input, textarea, button, #email {
- -webkit-animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
- animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
-}
-
-#email {
- text-align: center;
-}
-
-form *:nth-child(1) {animation-delay: 1.6s}
-form *:nth-child(2) {animation-delay: 1.7s}
-form *:nth-child(3) {animation-delay: 1.8s}
-form *:nth-child(6) {animation-delay: 1.9s}
-#email {animation-delay: 2s}
-
-
+}
+.modal .content footer .close::before {
+ content: "❌";
+}
+
footer {
- padding: 4px;
+ background-color: #CFD8DC;
text-align: right;
- opacity: 0.6;
-}
-
-footer .links {
- margin: 0;
-}
-
-footer a {
- padding: 3px;
-}
-
-footer a img {
- height: 10px;
- border: 2px solid var(--container-background);
- margin-right: 2px;
- transition: border-color 0.2s;
-}
-
-footer a:hover img {
- border-color: var(--header-background);
-}
-
-/* mobile */
-@media (max-width: 599px) {
- .links, .container, footer {
- margin-left: 8px;
- margin-right: 8px;
- }
-
- .container .greeting {
- float: none;
- display: block;
- text-align: center;
- padding: 0;
- margin: 0;
- }
-
- .container .content {
- padding: 0 16px;
- }
-
- button {
- width: 100%;
- }
-
- .container .social div {
- padding: 12px;
- height: 36px;
- width: 36px;
- }
-
- .container .social div a {
- font-size: 2em;
- }
-}
-
-/* tablet portrait */
-@media (min-width: 600px) and (max-width: 899px) {
- .links, .container, footer {
- margin-left: 10%;
- margin-right: 10%;
- }
-
- .container .content {
- padding: 0 64px;
- }
-
- button {
- width: 100%;
- }
-
- .container .social div {
-
padding: 16px;
- height: 38px;
- width: 38px;
-
}
-
- .container .social div a {
- font-size: 2.5em;
- }
-}
-
-/* tablet landscape */
-@media (min-width: 900px) and (max-width: 1199px) {
- .links, .container, footer {
- margin-left: 15%;
- margin-right: 15%;
- }
-
- .container .greeting {
- }
-
- .container .content {
- padding: 0 92px;
- }
-}
+ padding: 4px 20%;
+}
+footer p {
+ margin: 0;
+}
+footer .links a {
+ text-decoration: none;
+ color: #37474F;
+}
+footer .links a:not(:last-child)::after {
+ content: " •";
+}
+
+@media (max-width: 991.98px) {
+ .projects {
+ grid-template-columns: 1fr 1fr;
+ }
+ .projects .loading {
+ grid-column: 1/span 2;
+ }
+}
+@media (max-width: 767.98px) {
+ .contact input.half {
+ width: 100%;
+ float: none;
+ }
+
+ .website {
+ grid-template-columns: 1fr;
+ }
+
+ .projects,
+.contact,
+.website {
+ margin-left: 10%;
+ margin-right: 10%;
+ }
+}
+@media (max-width: 575.98px) {
+ .projects {
+ grid-template-columns: 1fr;
+ }
+ .projects .loading {
+ grid-column: 1;
+ }
+
+ .projects,
+.social,
+.website {
+ margin-left: 1em;
+ margin-right: 1em;
+ }
+}
+@-webkit-keyframes zoom-in {
+ from {
+ transform: scale(0);
+ }
+ to {
+ transform: scale(1);
+ }
+}
+@keyframes zoom-in {
+ from {
+ transform: scale(0);
+ }
+ to {
+ transform: scale(1);
+ }
+}
+
+/*# sourceMappingURL=style.css.map */
diff --git a/style.css.map b/style.css.map
new file mode 100644
index 0000000..2fdbbf7
--- /dev/null
+++ b/style.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":";AAOA;EACC;;;AAGD;AAAA;EAEC;EACA;EACA,aAVM;EAWN,OAbY;;;AAgBb;EACC,kBApBU;EAqBV;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAKH;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OA7FW;EA8FX;;AAEA;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EAMA;AAAgD;EAChD,WALY;EAMZ,aALc;EAMd,oBALgB;EAMhB;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;;;AAMJ;EACC;;AAEA;AAAA;EAEC;EACA;EACA;EACA,aApJK;EAqJL;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC,qBAhKa;;AAmKd;AAAA;EACC;;AAGA;AAAA;EACC;;AAID;AAAA;EACC;;AAKH;EACC,kBApLS;EAqLT;EACA;EACA;EACA;EACA;EACA;EACA,OAxLW;EAyLX;EACA;;AAEA;EAEC;EACA,kBAjMa;EAkMb;;;AAKH;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,cAvNa;;AA0Nd;EACC;EACA;EACA,OA3NU;EA4NV;;AAGD;EACC,OAlOa;;;AAuOhB;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OApPW;EAqPX;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGC;;AAGD;EACC;;AAEA;EACC;;;AAMJ;EACC,kBAhTU;EAiTV;EACA;;AAEA;EACC;;AAIA;EACC;EACA,OAxTU;;AA0TV;EACC;;;AAOJ;EACC;IACC;;EAEA;IACC;;;AAMH;EACC;IACC;IACA;;;EAGD;IACC;;;EAGD;AAAA;AAAA;IAGC;IACA;;;AAKF;EACC;IACC;;EAEA;IACC;;;EAIF;AAAA;AAAA;IAGC;IACA;;;AAIF;EACC;IACC;;EAGD;IACC;;;AAIF;EACC;IACC;;EAGD;IACC","file":"style.css"}
\ No newline at end of file
diff --git a/style.min.css b/style.min.css
new file mode 100644
index 0000000..69df581
--- /dev/null
+++ b/style.min.css
@@ -0,0 +1 @@
+.center{text-align:center}html,body{margin:0;padding:0;font-family:"Source Sans Pro",sans-serif;color:#37474f}header{background-color:#cfd8dc;padding:4em 0;text-align:center}header .languages{text-align:right}header .languages .language{text-transform:uppercase;padding:0 4px;cursor:pointer}header .languages .language.active{font-weight:600}header .logo{display:inline-block;background-color:#fff;height:10em;border-radius:50%;border:4px solid #fff}header .logo img{border-radius:50%;width:10em}header h1{font-size:3rem}#projects:hover~hr{box-shadow:0 0 #cfd8dc}hr{width:20em;border:8px solid #90a4ae;border-radius:8px;box-shadow:4px 4px #cfd8dc;transition:box-shadow .25s ease-in-out}hr:hover{box-shadow:0 0 #cfd8dc}.projects{margin:2em 20%;display:grid;grid-template-columns:1fr 1fr 1fr;grid-column-gap:10px;grid-row-gap:10px;justify-content:center}.projects .loading{grid-column:1/span 3;text-align:center;font-weight:600;font-size:1.3rem}.projects .project{display:grid;grid-template-columns:64px auto;grid-column-gap:4px;align-items:center;background:linear-gradient(135deg, #CFD8DC, #ECEFF1);padding:8px;border-radius:8px;text-decoration:none;color:#37474f;transition:transform .25s ease-in-out}.projects .project:hover{transform:scale(1.05)}.projects .project .icon{width:64px;height:auto}.projects .project .title{margin:0}.projects .project .description{grid-column:1/span 2;display:block;display:-webkit-box;max-width:400px;margin:0;height:67.2px;font-size:16px;line-height:1.4;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.projects .project .tax{grid-column:1/span 2;justify-self:right}.projects .project .tax .category{background-color:#fff;padding:2px 8px;border-radius:16px}.contact{margin:0 20%}.contact input,.contact textarea{outline:0;width:100%;padding:4px;font-family:"Source Sans Pro",sans-serif;font-size:1.5rem;box-sizing:border-box;border:none;border-bottom:2px solid #cfd8dc;transition:border-bottom-color .25s ease-in-out}.contact input:focus,.contact textarea:focus{border-bottom-color:#90a4ae}.contact input.half,.contact textarea.half{width:calc(50% - 2px)}.contact input.half:nth-of-type(even),.contact textarea.half:nth-of-type(even){float:right}.contact input.half:nth-of-type(odd),.contact textarea.half:nth-of-type(odd){float:left}.contact button{background-color:#cfd8dc;border:none;border-radius:8px;float:right;padding:12px 18px;font-size:1.5rem;font-family:"Source Sans Pro",sans-serif;color:#37474f;cursor:pointer;transition:all .25s ease-in-out}.contact button:hover,.contact button:focus{outline:0;background-color:#90a4ae;color:#fff}.social{text-align:center}.social .fab{text-decoration:none;color:transparent;font-size:0;border:2px solid #000;border-radius:50%;padding:8px;height:32px;width:32px;text-align:center;transition:border-color .25s ease-in-out}.social .fab:hover{border-color:#90a4ae}.social .fab::before{font-size:2rem;letter-spacing:normal;color:#37474f;transition:color .25s ease-in-out}.social .fab:hover::before{color:#90a4ae}.website{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:4px;grid-row-gap:4px;margin:0 15% 2em 15%}.website a{padding:8px;border-radius:8px;height:6em;display:grid;font-size:2rem;text-align:center;align-content:center;color:#37474f;text-decoration:none;font-weight:600;transition:transform .25s ease-in-out}.website a:hover{transform:scale(1.05)}.website a:nth-child(1){background:linear-gradient(135deg, #B6D5EA, #E5F7FF)}.website a:nth-child(2){background:linear-gradient(135deg, #C3C3C3, #EEE)}.modal{display:none;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal .content{position:relative;background-color:#fefefe;margin:4em auto;width:80%;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);-webkit-animation:zoom-in .5s;animation:zoom-in .5s}.modal .content header,.modal .content main,.modal .content footer{padding:1em}.modal .content footer .close{cursor:pointer}.modal .content footer .close::before{content:"❌"}footer{background-color:#cfd8dc;text-align:right;padding:4px 20%}footer p{margin:0}footer .links a{text-decoration:none;color:#37474f}footer .links a:not(:last-child)::after{content:" •"}@media(max-width: 991.98px){.projects{grid-template-columns:1fr 1fr}.projects .loading{grid-column:1/span 2}}@media(max-width: 767.98px){.contact input.half{width:100%;float:none}.website{grid-template-columns:1fr}.projects,.contact,.website{margin-left:10%;margin-right:10%}}@media(max-width: 575.98px){.projects{grid-template-columns:1fr}.projects .loading{grid-column:1}.projects,.social,.website{margin-left:1em;margin-right:1em}}@-webkit-keyframes zoom-in{from{transform:scale(0)}to{transform:scale(1)}}@keyframes zoom-in{from{transform:scale(0)}to{transform:scale(1)}}
diff --git a/style.scss b/style.scss
new file mode 100644
index 0000000..9e32c0a
--- /dev/null
+++ b/style.scss
@@ -0,0 +1,391 @@
+$bg-color: #CFD8DC;
+$bg-dark-color: #90A4AE;
+$bg-light-color: #ECEFF1;
+$text-color: #37474F;
+
+$font: 'Source Sans Pro', sans-serif;
+
+.center {
+ text-align: center;
+}
+
+html,
+body {
+ margin: 0;
+ padding: 0;
+ font-family: $font;
+ color: $text-color;
+}
+
+header {
+ background-color: $bg-color;
+ padding: 4em 0;
+ text-align: center;
+
+ .languages {
+ text-align: right;
+
+ .language {
+ text-transform: uppercase;
+ padding: 0 4px;
+ cursor: pointer;
+
+ &.active {
+ font-weight: 600;
+ }
+ }
+ }
+
+ .logo {
+ display: inline-block;
+ background-color: #FFF;
+ height: 10em;
+ border-radius: 50%;
+ border: 4px solid #FFF;
+
+ img {
+ border-radius: 50%;
+ width: 10em;
+ }
+ }
+
+ h1 {
+ font-size: 3rem;
+ }
+}
+
+#projects:hover ~ hr {
+ box-shadow: 0 0 $bg-color;
+}
+
+hr {
+ width: 20em;
+ border: 8px solid $bg-dark-color;
+ border-radius: 8px;
+ box-shadow: 4px 4px $bg-color;
+ transition: box-shadow .25s ease-in-out;
+
+ &:hover {
+ box-shadow: 0 0 $bg-color;
+ }
+}
+
+.projects {
+ margin: 2em 20%;
+ display: grid;
+ grid-template-columns: 1fr 1fr 1fr;
+ grid-column-gap: 10px;
+ grid-row-gap: 10px;
+ justify-content: center;
+
+ .loading {
+ grid-column: 1 / span 3;
+ text-align: center;
+ font-weight: 600;
+ font-size: 1.3rem;
+ }
+
+ .project {
+ display: grid;
+ grid-template-columns: 64px auto;
+ grid-column-gap: 4px;
+ align-items: center;
+ background: linear-gradient(135deg, $bg-color, $bg-light-color);
+ padding: 8px;
+ border-radius: 8px;
+ text-decoration: none;
+ color: $text-color;
+ transition: transform .25s ease-in-out;
+
+ &:hover {
+ transform: scale(1.05);
+ }
+
+ .icon {
+ width: 64px;
+ height: auto;
+ }
+
+ .title {
+ margin: 0;
+ }
+
+ .description {
+ grid-column: 1 / span 2;
+ display: block;
+ display: -webkit-box;
+ max-width: 400px;
+ margin: 0;
+
+ $font-size: 16px;
+ $line-height: 1.4;
+ $lines-to-show: 3;
+
+ height: $font-size*$line-height*$lines-to-show; /* Fallback for non-webkit */
+ font-size: $font-size;
+ line-height: $line-height;
+ -webkit-line-clamp: $lines-to-show;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ .tax {
+ grid-column: 1 / span 2;
+ justify-self: right;
+
+ .category {
+ background-color: #FFF;
+ padding: 2px 8px;
+ border-radius: 16px;
+ }
+ }
+ }
+}
+
+.contact {
+ margin: 0 20%;
+
+ input,
+ textarea {
+ outline: 0;
+ width: 100%;
+ padding: 4px;
+ font-family: $font;
+ font-size: 1.5rem;
+ box-sizing: border-box;
+ border: none;
+ border-bottom: 2px solid $bg-color;
+ transition: border-bottom-color .25s ease-in-out;
+
+ &:focus {
+ border-bottom-color: $bg-dark-color;
+ }
+
+ &.half {
+ width: calc(50% - 2px);
+
+ // left
+ &:nth-of-type(even) {
+ float: right;
+ }
+
+ //right
+ &:nth-of-type(odd) {
+ float: left;
+ }
+ }
+ }
+
+ button {
+ background-color: $bg-color;
+ border: none;
+ border-radius: 8px;
+ float: right;
+ padding: 12px 18px;
+ font-size: 1.5rem;
+ font-family: 'Source Sans Pro', sans-serif;
+ color: $text-color;
+ cursor: pointer;
+ transition: all .25s ease-in-out;
+
+ &:hover,
+ &:focus {
+ outline: 0;
+ background-color: $bg-dark-color;
+ color: #FFF;
+ }
+ }
+}
+
+.social {
+ text-align: center;
+
+ .fab {
+ text-decoration: none;
+ color: transparent;
+ font-size: 0;
+ border: 2px solid black;
+ border-radius: 50%;
+ padding: 8px;
+ height: 32px;
+ width: 32px;
+ text-align: center;
+ transition: border-color .25s ease-in-out;
+
+ &:hover {
+ border-color: $bg-dark-color;
+ }
+
+ &::before {
+ font-size: 2rem;
+ letter-spacing: normal;
+ color: $text-color;
+ transition: color .25s ease-in-out;
+ }
+
+ &:hover::before {
+ color: $bg-dark-color;
+ }
+ }
+}
+
+.website {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-column-gap: 4px;
+ grid-row-gap: 4px;
+ margin: 0 15% 2em 15%;
+
+ a {
+ padding: 8px;
+ border-radius: 8px;
+ height: 6em;
+ display: grid;
+ font-size: 2rem;
+ text-align: center;
+ align-content: center;
+ color: $text-color;
+ text-decoration: none;
+ font-weight: 600;
+ transition: transform .25s ease-in-out;
+
+ &:hover {
+ transform: scale(1.05);
+ }
+
+ &:nth-child(1) {
+ background: linear-gradient(135deg, #B6D5EA, #E5F7FF);
+ }
+
+ &:nth-child(2) {
+ background: linear-gradient(135deg, #C3C3C3, #EEE);
+ }
+ }
+}
+
+.modal {
+ display: none;
+ position: fixed;
+ z-index: 1;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+ background-color: rgb(0, 0, 0);
+ background-color: rgba(0, 0, 0, .4);
+
+ .content {
+ position: relative;
+ background-color: #FEFEFE;
+ margin: 4em auto;
+ width: 80%;
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19);
+ -webkit-animation: zoom-in .5s;
+ animation: zoom-in .5s;
+
+ header,
+ main,
+ footer {
+ padding: 1em;
+ }
+
+ footer .close {
+ cursor: pointer;
+
+ &::before {
+ content: "\274C";
+ }
+ }
+ }
+}
+
+footer {
+ background-color: $bg-color;
+ text-align: right;
+ padding: 4px 20%;
+
+ p {
+ margin: 0;
+ }
+
+ .links {
+ a {
+ text-decoration: none;
+ color: $text-color;
+
+ &:not(:last-child)::after {
+ content: " \2022";
+ }
+ }
+ }
+}
+
+// Tablets
+@media (max-width: 991.98px) {
+ .projects {
+ grid-template-columns: 1fr 1fr;
+
+ .loading {
+ grid-column: 1 / span 2;
+ }
+ }
+}
+
+// Landscape phones
+@media (max-width: 767.98px) {
+ .contact input.half {
+ width: 100%;
+ float: none;
+ }
+
+ .website {
+ grid-template-columns: 1fr;
+ }
+
+ .projects,
+ .contact,
+ .website {
+ margin-left: 10%;
+ margin-right: 10%;
+ }
+}
+
+// Portrait phones
+@media (max-width: 575.98px) {
+ .projects {
+ grid-template-columns: 1fr;
+
+ .loading {
+ grid-column: 1;
+ }
+ }
+
+ .projects,
+ .social,
+ .website {
+ margin-left: 1em;
+ margin-right: 1em;
+ }
+}
+
+@-webkit-keyframes zoom-in {
+ from {
+ transform: scale(0);
+ }
+
+ to {
+ transform: scale(1);
+ }
+}
+
+@keyframes zoom-in {
+ from {
+ transform: scale(0);
+ }
+
+ to {
+ transform: scale(1);
+ }
+}
From 5e24771f8338026f4defa6731d7f9adc3be44011 Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Thu, 4 Apr 2019 15:10:32 +0200
Subject: [PATCH 02/16] Added viewport
---
index.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/index.html b/index.html
index c3c74e1..29056d9 100644
--- a/index.html
+++ b/index.html
@@ -2,6 +2,7 @@
+
Silas Meyer
From 74fdb7647caa6ce445a941b7f0ec22ced58b0d7d Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Thu, 4 Apr 2019 16:01:37 +0200
Subject: [PATCH 03/16] Added Cloudflare privacy notice
---
index.html | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/index.html b/index.html
index 29056d9..0f82b45 100644
--- a/index.html
+++ b/index.html
@@ -284,6 +284,13 @@ jsDelivr
Zeitpunkt des Abrufs übertragen werden. Rechtsgrundlage für die Nutzung von jsDelivr ist Art. 6 Abs. 1 S. 1 lit.
f DS-GVO. Datenschutzerklärung: https://www.jsdelivr.com/privacy-policy-jsdelivr-net
+
+ Content-Delivery-Network von Cloudflare
+ Ich setze ein so genanntes "Content Delivery Network" (CDN), angeboten von Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA, ein. Cloudflare ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (https://www.privacyshield.gov/participant?id=a2zt0000000GnZKAA0&status=Active ).
+ Ein CDN ist ein Dienst, mit dessen Hilfe Inhalte unseres Onlineangebotes, insbesondere große Mediendateien, wie Grafiken oder Skripte mit Hilfe regional verteilter und über das Internet verbundener Server, schneller ausgeliefert werden. Die Verarbeitung der Daten der Nutzer erfolgt alleine zu den vorgenannten Zwecken und der Aufrechterhaltung der Sicherheit und Funktionsfähigkeit des CDN.
+ Die Nutzung erfolgt auf Grundlage unserer berechtigten Interessen, d.h. Interesse an einer sicheren und effizienten Bereitstellung, Analyse sowie Optimierung unseres Onlineangebotes gem. Art. 6 Abs. 1 lit. f. DSGVO.
+ Weitere Informationen erhalten Sie in der Datenschutzerklärung von Cloudflare: https://www.cloudflare.com/security-policy .
+
Vom Websiteinhaber angepasst
From f18b319bac81b75a616dd7ab81e5a6fdaa51dc6d Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Thu, 4 Apr 2019 16:03:41 +0200
Subject: [PATCH 04/16] Added more fallback languages
---
main.js | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/main.js b/main.js
index 312af0b..85094c3 100644
--- a/main.js
+++ b/main.js
@@ -2,7 +2,15 @@ i18next
.use(i18nextXHRBackend)
.use(i18nextBrowserLanguageDetector)
.init({
- fallbackLng: ["en", "de"],
+ fallbackLng: {
+ 'de-AT': ['de', 'en'],
+ 'de-DE': ['de', 'en'],
+ 'de-LI': ['de', 'en'],
+ 'de-LU': ['de', 'en'],
+ 'de-CH': ['de', 'en'],
+ 'de': ['de', 'en'],
+ 'default': ['en', 'de']
+ },
debug: false,
backend: {
loadPath: 'https://api.silas229.de/v2/translations/portfolio/{{lng}}',
From 0362fbaa0d9b1574f77081aa0c244f80415914ba Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Thu, 4 Apr 2019 16:39:09 +0200
Subject: [PATCH 05/16] More strictness and security Updated interpolation for
copyright year (not working correctly yet)
---
main.js | 180 +++++++++++++++++++++++++++++---------------------------
1 file changed, 93 insertions(+), 87 deletions(-)
diff --git a/main.js b/main.js
index 85094c3..a2ad092 100644
--- a/main.js
+++ b/main.js
@@ -1,62 +1,67 @@
-i18next
- .use(i18nextXHRBackend)
- .use(i18nextBrowserLanguageDetector)
- .init({
- fallbackLng: {
- 'de-AT': ['de', 'en'],
- 'de-DE': ['de', 'en'],
- 'de-LI': ['de', 'en'],
- 'de-LU': ['de', 'en'],
- 'de-CH': ['de', 'en'],
- 'de': ['de', 'en'],
- 'default': ['en', 'de']
- },
- debug: false,
- backend: {
- loadPath: 'https://api.silas229.de/v2/translations/portfolio/{{lng}}',
- crossDomain: true
- }
- }, function(err, t) {
-
- localize = locI18next.init(i18next);
- updateContent();
-
- i18next.on('languageChanged', () => {
+(function () {
+ i18next
+ .use(i18nextXHRBackend)
+ .use(i18nextBrowserLanguageDetector)
+ .init({
+ fallbackLng: {
+ 'de-AT': ['de', 'en'],
+ 'de-DE': ['de', 'en'],
+ 'de-LI': ['de', 'en'],
+ 'de-LU': ['de', 'en'],
+ 'de-CH': ['de', 'en'],
+ 'de': ['de', 'en'],
+ 'default': ['en', 'de']
+ },
+ debug: false,
+ backend: {
+ loadPath: 'https://api.silas229.de/v2/translations/portfolio/{{lng}}',
+ crossDomain: true
+ },
+ interpolation: {
+ format: function(value, format) {
+ if(value instanceof Date) return moment(value).format(format);
+ return value;
+ }
+ }
+ }, function(err, t) {
+
+ localize = new locI18next.init(i18next);
updateContent();
+
+ i18next.on('languageChanged', () => {
+ updateContent();
+ });
+
});
-
- });
-
-function updateContent() {
- // localize = locI18next.init(i18next);
- localize("body");
- localize("#copyright", { date: new Date().getFullYear() });
- updateSwitch();
- updateProjects();
-}
-
-function updateSwitch() {
- var container = document.getElementsByClassName("languages")[0];
- container.innerHTML = '';
- i18next.languages.forEach(function(lng, i) {
- container.innerHTML += `${ lng } `;
- });
-}
-
-function updateProjects() {
- var wrapper = document.getElementsByClassName("projects")[0];
- document.getElementsByClassName("loading")[0].style.display = "block";
- wrapper.innerHTML = 'Loading...
';
- localize(".loading");
- var request = new XMLHttpRequest();
- request.open('GET', "https://api.silas229.de/v2/projects/" + i18next.language, true);
+ function updateContent() {
+ localize("body");
+ updateSwitch();
+ updateProjects();
+ }
- request.onload = function() {
- if (request.status >= 200 && request.status < 400) {
- var projects = JSON.parse(request.responseText);
- projects.forEach(function(project, i) {
- wrapper.innerHTML += `
+ function updateSwitch() {
+ const container = document.getElementsByClassName("languages")[0];
+ container.innerHTML = '';
+ i18next.languages.forEach(function(lng) {
+ container.innerHTML += `${ lng } `;
+ });
+ }
+
+ function updateProjects() {
+ const wrapper = document.getElementsByClassName("projects")[0];
+ document.getElementsByClassName("loading")[0].style.display = "block";
+ wrapper.innerHTML = 'Loading...
';
+ localize(".loading");
+
+ const request = new XMLHttpRequest();
+ request.open('GET', "https://api.silas229.de/v2/projects/" + i18next.language, true);
+
+ request.onload = function() {
+ if (request.status >= 200 && request.status < 400) {
+ const projects = JSON.parse(request.responseText);
+ projects.forEach(function(project) {
+ wrapper.innerHTML += `
${ project.name }
@@ -64,37 +69,38 @@ function updateProjects() {
`;
- });
- document.getElementsByClassName("loading")[0].style.display = "none"
- } else {
- console.log("Error while loading projects");
- }
- };
+ });
+ document.getElementsByClassName("loading")[0].style.display = "none"
+ } else {
+ console.log("Error while loading projects");
+ }
+ };
+
+ request.send();
+ }
+
+ function openModal(modal) {
+ document.getElementById(modal).style.display = "block";
+ }
+
+ function closeModal(modal) {
+ document.getElementById(modal).style.display = "none";
+ }
+
+ document.getElementById("privacy").addEventListener("click", function(e) {
+ openModal(this.dataset.target);
+ e.preventDefault();
+ });
- request.send();
-}
-
-function openModal(modal) {
- document.getElementById(modal).style.display = "block";
-}
-
-function closeModal(modal) {
- document.getElementById(modal).style.display = "none";
-}
-
-document.getElementById("privacy").addEventListener("click", function(e) {
- openModal(this.dataset.target);
- e.preventDefault();
-});
-
-[].forEach.call(document.getElementsByClassName("close"), function(i) {
- i.addEventListener("click", function(e) {
- closeModal(this.dataset.target);
+ [].forEach.call(document.getElementsByClassName("close"), function(i) {
+ i.addEventListener("click", function() {
+ closeModal(this.dataset.target);
+ });
});
-});
-
-window.onclick = function(event) {
- if (event.target == document.getElementById("privacyModal")) closeModal("privacyModal");
-}
-
-if (window.location.search.match( /privacy/gi )) openModal("privacyModal");
\ No newline at end of file
+
+ window.onclick = function(event) {
+ if (event.target === document.getElementById("privacyModal")) closeModal("privacyModal");
+ };
+
+ if (window.location.search.match( /privacy/gi )) openModal("privacyModal");
+})();
\ No newline at end of file
From 7bb79dc8116d18b0554817844fa0da8cd1ce5b61 Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Thu, 4 Apr 2019 17:05:01 +0200
Subject: [PATCH 06/16] Remove language meta tag
---
index.html | 1 -
1 file changed, 1 deletion(-)
diff --git a/index.html b/index.html
index 0f82b45..b2f762f 100644
--- a/index.html
+++ b/index.html
@@ -21,7 +21,6 @@
-
From a5729b92bfd198c14a16bd285149bbd27b10342b Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Thu, 4 Apr 2019 17:22:42 +0200
Subject: [PATCH 07/16] Fix project icon height and alignment
---
style.css | 5 +++--
style.css.map | 2 +-
style.min.css | 2 +-
style.scss | 5 +++--
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/style.css b/style.css
index 9afc700..55c68d3 100644
--- a/style.css
+++ b/style.css
@@ -87,8 +87,9 @@ hr:hover {
transform: scale(1.05);
}
.projects .project .icon {
- width: 64px;
- height: auto;
+ height: 64px;
+ width: auto;
+ justify-self: center;
}
.projects .project .title {
margin: 0;
diff --git a/style.css.map b/style.css.map
index 2fdbbf7..e95ad06 100644
--- a/style.css.map
+++ b/style.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":";AAOA;EACC;;;AAGD;AAAA;EAEC;EACA;EACA,aAVM;EAWN,OAbY;;;AAgBb;EACC,kBApBU;EAqBV;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAKH;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OA7FW;EA8FX;;AAEA;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EAMA;AAAgD;EAChD,WALY;EAMZ,aALc;EAMd,oBALgB;EAMhB;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;;;AAMJ;EACC;;AAEA;AAAA;EAEC;EACA;EACA;EACA,aApJK;EAqJL;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC,qBAhKa;;AAmKd;AAAA;EACC;;AAGA;AAAA;EACC;;AAID;AAAA;EACC;;AAKH;EACC,kBApLS;EAqLT;EACA;EACA;EACA;EACA;EACA;EACA,OAxLW;EAyLX;EACA;;AAEA;EAEC;EACA,kBAjMa;EAkMb;;;AAKH;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,cAvNa;;AA0Nd;EACC;EACA;EACA,OA3NU;EA4NV;;AAGD;EACC,OAlOa;;;AAuOhB;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OApPW;EAqPX;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGC;;AAGD;EACC;;AAEA;EACC;;;AAMJ;EACC,kBAhTU;EAiTV;EACA;;AAEA;EACC;;AAIA;EACC;EACA,OAxTU;;AA0TV;EACC;;;AAOJ;EACC;IACC;;EAEA;IACC;;;AAMH;EACC;IACC;IACA;;;EAGD;IACC;;;EAGD;AAAA;AAAA;IAGC;IACA;;;AAKF;EACC;IACC;;EAEA;IACC;;;EAIF;AAAA;AAAA;IAGC;IACA;;;AAIF;EACC;IACC;;EAGD;IACC;;;AAIF;EACC;IACC;;EAGD;IACC","file":"style.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":";AAOA;EACC;;;AAGD;AAAA;EAEC;EACA;EACA,aAVM;EAWN,OAbY;;;AAgBb;EACC,kBApBU;EAqBV;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAKH;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OA7FW;EA8FX;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EAMA;AAAgD;EAChD,WALY;EAMZ,aALc;EAMd,oBALgB;EAMhB;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;;;AAMJ;EACC;;AAEA;AAAA;EAEC;EACA;EACA;EACA,aArJK;EAsJL;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC,qBAjKa;;AAoKd;AAAA;EACC;;AAGA;AAAA;EACC;;AAID;AAAA;EACC;;AAKH;EACC,kBArLS;EAsLT;EACA;EACA;EACA;EACA;EACA;EACA,OAzLW;EA0LX;EACA;;AAEA;EAEC;EACA,kBAlMa;EAmMb;;;AAKH;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,cAxNa;;AA2Nd;EACC;EACA;EACA,OA5NU;EA6NV;;AAGD;EACC,OAnOa;;;AAwOhB;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OArPW;EAsPX;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGC;;AAGD;EACC;;AAEA;EACC;;;AAMJ;EACC,kBAjTU;EAkTV;EACA;;AAEA;EACC;;AAIA;EACC;EACA,OAzTU;;AA2TV;EACC;;;AAOJ;EACC;IACC;;EAEA;IACC;;;AAMH;EACC;IACC;IACA;;;EAGD;IACC;;;EAGD;AAAA;AAAA;IAGC;IACA;;;AAKF;EACC;IACC;;EAEA;IACC;;;EAIF;AAAA;AAAA;IAGC;IACA;;;AAIF;EACC;IACC;;EAGD;IACC;;;AAIF;EACC;IACC;;EAGD;IACC","file":"style.css"}
\ No newline at end of file
diff --git a/style.min.css b/style.min.css
index 69df581..7957522 100644
--- a/style.min.css
+++ b/style.min.css
@@ -1 +1 @@
-.center{text-align:center}html,body{margin:0;padding:0;font-family:"Source Sans Pro",sans-serif;color:#37474f}header{background-color:#cfd8dc;padding:4em 0;text-align:center}header .languages{text-align:right}header .languages .language{text-transform:uppercase;padding:0 4px;cursor:pointer}header .languages .language.active{font-weight:600}header .logo{display:inline-block;background-color:#fff;height:10em;border-radius:50%;border:4px solid #fff}header .logo img{border-radius:50%;width:10em}header h1{font-size:3rem}#projects:hover~hr{box-shadow:0 0 #cfd8dc}hr{width:20em;border:8px solid #90a4ae;border-radius:8px;box-shadow:4px 4px #cfd8dc;transition:box-shadow .25s ease-in-out}hr:hover{box-shadow:0 0 #cfd8dc}.projects{margin:2em 20%;display:grid;grid-template-columns:1fr 1fr 1fr;grid-column-gap:10px;grid-row-gap:10px;justify-content:center}.projects .loading{grid-column:1/span 3;text-align:center;font-weight:600;font-size:1.3rem}.projects .project{display:grid;grid-template-columns:64px auto;grid-column-gap:4px;align-items:center;background:linear-gradient(135deg, #CFD8DC, #ECEFF1);padding:8px;border-radius:8px;text-decoration:none;color:#37474f;transition:transform .25s ease-in-out}.projects .project:hover{transform:scale(1.05)}.projects .project .icon{width:64px;height:auto}.projects .project .title{margin:0}.projects .project .description{grid-column:1/span 2;display:block;display:-webkit-box;max-width:400px;margin:0;height:67.2px;font-size:16px;line-height:1.4;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.projects .project .tax{grid-column:1/span 2;justify-self:right}.projects .project .tax .category{background-color:#fff;padding:2px 8px;border-radius:16px}.contact{margin:0 20%}.contact input,.contact textarea{outline:0;width:100%;padding:4px;font-family:"Source Sans Pro",sans-serif;font-size:1.5rem;box-sizing:border-box;border:none;border-bottom:2px solid #cfd8dc;transition:border-bottom-color .25s ease-in-out}.contact input:focus,.contact textarea:focus{border-bottom-color:#90a4ae}.contact input.half,.contact textarea.half{width:calc(50% - 2px)}.contact input.half:nth-of-type(even),.contact textarea.half:nth-of-type(even){float:right}.contact input.half:nth-of-type(odd),.contact textarea.half:nth-of-type(odd){float:left}.contact button{background-color:#cfd8dc;border:none;border-radius:8px;float:right;padding:12px 18px;font-size:1.5rem;font-family:"Source Sans Pro",sans-serif;color:#37474f;cursor:pointer;transition:all .25s ease-in-out}.contact button:hover,.contact button:focus{outline:0;background-color:#90a4ae;color:#fff}.social{text-align:center}.social .fab{text-decoration:none;color:transparent;font-size:0;border:2px solid #000;border-radius:50%;padding:8px;height:32px;width:32px;text-align:center;transition:border-color .25s ease-in-out}.social .fab:hover{border-color:#90a4ae}.social .fab::before{font-size:2rem;letter-spacing:normal;color:#37474f;transition:color .25s ease-in-out}.social .fab:hover::before{color:#90a4ae}.website{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:4px;grid-row-gap:4px;margin:0 15% 2em 15%}.website a{padding:8px;border-radius:8px;height:6em;display:grid;font-size:2rem;text-align:center;align-content:center;color:#37474f;text-decoration:none;font-weight:600;transition:transform .25s ease-in-out}.website a:hover{transform:scale(1.05)}.website a:nth-child(1){background:linear-gradient(135deg, #B6D5EA, #E5F7FF)}.website a:nth-child(2){background:linear-gradient(135deg, #C3C3C3, #EEE)}.modal{display:none;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal .content{position:relative;background-color:#fefefe;margin:4em auto;width:80%;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);-webkit-animation:zoom-in .5s;animation:zoom-in .5s}.modal .content header,.modal .content main,.modal .content footer{padding:1em}.modal .content footer .close{cursor:pointer}.modal .content footer .close::before{content:"❌"}footer{background-color:#cfd8dc;text-align:right;padding:4px 20%}footer p{margin:0}footer .links a{text-decoration:none;color:#37474f}footer .links a:not(:last-child)::after{content:" •"}@media(max-width: 991.98px){.projects{grid-template-columns:1fr 1fr}.projects .loading{grid-column:1/span 2}}@media(max-width: 767.98px){.contact input.half{width:100%;float:none}.website{grid-template-columns:1fr}.projects,.contact,.website{margin-left:10%;margin-right:10%}}@media(max-width: 575.98px){.projects{grid-template-columns:1fr}.projects .loading{grid-column:1}.projects,.social,.website{margin-left:1em;margin-right:1em}}@-webkit-keyframes zoom-in{from{transform:scale(0)}to{transform:scale(1)}}@keyframes zoom-in{from{transform:scale(0)}to{transform:scale(1)}}
+.center{text-align:center}html,body{margin:0;padding:0;font-family:"Source Sans Pro",sans-serif;color:#37474f}header{background-color:#cfd8dc;padding:4em 0;text-align:center}header .languages{text-align:right}header .languages .language{text-transform:uppercase;padding:0 4px;cursor:pointer}header .languages .language.active{font-weight:600}header .logo{display:inline-block;background-color:#fff;height:10em;border-radius:50%;border:4px solid #fff}header .logo img{border-radius:50%;width:10em}header h1{font-size:3rem}#projects:hover~hr{box-shadow:0 0 #cfd8dc}hr{width:20em;border:8px solid #90a4ae;border-radius:8px;box-shadow:4px 4px #cfd8dc;transition:box-shadow .25s ease-in-out}hr:hover{box-shadow:0 0 #cfd8dc}.projects{margin:2em 20%;display:grid;grid-template-columns:1fr 1fr 1fr;grid-column-gap:10px;grid-row-gap:10px;justify-content:center}.projects .loading{grid-column:1/span 3;text-align:center;font-weight:600;font-size:1.3rem}.projects .project{display:grid;grid-template-columns:64px auto;grid-column-gap:4px;align-items:center;background:linear-gradient(135deg, #CFD8DC, #ECEFF1);padding:8px;border-radius:8px;text-decoration:none;color:#37474f;transition:transform .25s ease-in-out}.projects .project:hover{transform:scale(1.05)}.projects .project .icon{height:64px;width:auto;justify-self:center}.projects .project .title{margin:0}.projects .project .description{grid-column:1/span 2;display:block;display:-webkit-box;max-width:400px;margin:0;height:67.2px;font-size:16px;line-height:1.4;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.projects .project .tax{grid-column:1/span 2;justify-self:right}.projects .project .tax .category{background-color:#fff;padding:2px 8px;border-radius:16px}.contact{margin:0 20%}.contact input,.contact textarea{outline:0;width:100%;padding:4px;font-family:"Source Sans Pro",sans-serif;font-size:1.5rem;box-sizing:border-box;border:none;border-bottom:2px solid #cfd8dc;transition:border-bottom-color .25s ease-in-out}.contact input:focus,.contact textarea:focus{border-bottom-color:#90a4ae}.contact input.half,.contact textarea.half{width:calc(50% - 2px)}.contact input.half:nth-of-type(even),.contact textarea.half:nth-of-type(even){float:right}.contact input.half:nth-of-type(odd),.contact textarea.half:nth-of-type(odd){float:left}.contact button{background-color:#cfd8dc;border:none;border-radius:8px;float:right;padding:12px 18px;font-size:1.5rem;font-family:"Source Sans Pro",sans-serif;color:#37474f;cursor:pointer;transition:all .25s ease-in-out}.contact button:hover,.contact button:focus{outline:0;background-color:#90a4ae;color:#fff}.social{text-align:center}.social .fab{text-decoration:none;color:transparent;font-size:0;border:2px solid #000;border-radius:50%;padding:8px;height:32px;width:32px;text-align:center;transition:border-color .25s ease-in-out}.social .fab:hover{border-color:#90a4ae}.social .fab::before{font-size:2rem;letter-spacing:normal;color:#37474f;transition:color .25s ease-in-out}.social .fab:hover::before{color:#90a4ae}.website{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:4px;grid-row-gap:4px;margin:0 15% 2em 15%}.website a{padding:8px;border-radius:8px;height:6em;display:grid;font-size:2rem;text-align:center;align-content:center;color:#37474f;text-decoration:none;font-weight:600;transition:transform .25s ease-in-out}.website a:hover{transform:scale(1.05)}.website a:nth-child(1){background:linear-gradient(135deg, #B6D5EA, #E5F7FF)}.website a:nth-child(2){background:linear-gradient(135deg, #C3C3C3, #EEE)}.modal{display:none;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal .content{position:relative;background-color:#fefefe;margin:4em auto;width:80%;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);-webkit-animation:zoom-in .5s;animation:zoom-in .5s}.modal .content header,.modal .content main,.modal .content footer{padding:1em}.modal .content footer .close{cursor:pointer}.modal .content footer .close::before{content:"❌"}footer{background-color:#cfd8dc;text-align:right;padding:4px 20%}footer p{margin:0}footer .links a{text-decoration:none;color:#37474f}footer .links a:not(:last-child)::after{content:" •"}@media(max-width: 991.98px){.projects{grid-template-columns:1fr 1fr}.projects .loading{grid-column:1/span 2}}@media(max-width: 767.98px){.contact input.half{width:100%;float:none}.website{grid-template-columns:1fr}.projects,.contact,.website{margin-left:10%;margin-right:10%}}@media(max-width: 575.98px){.projects{grid-template-columns:1fr}.projects .loading{grid-column:1}.projects,.social,.website{margin-left:1em;margin-right:1em}}@-webkit-keyframes zoom-in{from{transform:scale(0)}to{transform:scale(1)}}@keyframes zoom-in{from{transform:scale(0)}to{transform:scale(1)}}
diff --git a/style.scss b/style.scss
index 9e32c0a..af84356 100644
--- a/style.scss
+++ b/style.scss
@@ -102,8 +102,9 @@ hr {
}
.icon {
- width: 64px;
- height: auto;
+ height: 64px;
+ width: auto;
+ justify-self: center;
}
.title {
From b1060f356c5e08410cfedc6bb207fe9774132cc5 Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Thu, 4 Apr 2019 17:25:55 +0200
Subject: [PATCH 08/16] Added support for project.newtab in 229_api
---
main.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/main.js b/main.js
index a2ad092..00ca01c 100644
--- a/main.js
+++ b/main.js
@@ -62,7 +62,7 @@
const projects = JSON.parse(request.responseText);
projects.forEach(function(project) {
wrapper.innerHTML += `
-
+
${ project.name }
${ project.description }
From d928965d7fa4926e331e2f3f5ea53faa2a6c17a2 Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Sat, 27 Apr 2019 01:03:14 +0200
Subject: [PATCH 09/16] Added missing jQuery file
---
index.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/index.html b/index.html
index b2f762f..22e1baf 100644
--- a/index.html
+++ b/index.html
@@ -307,6 +307,7 @@ Content-Delivery-Network von Cloudflare
Legal notice (german)
+
From a7702a0b81d0ee67dddd1c3bc735668bde486ccd Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Sat, 27 Apr 2019 01:09:34 +0200
Subject: [PATCH 10/16] Use jsDelivr combined package
---
index.html | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/index.html b/index.html
index 22e1baf..56daa6e 100644
--- a/index.html
+++ b/index.html
@@ -307,11 +307,7 @@ Content-Delivery-Network von Cloudflare
Legal notice (german)
-
-
-
-
-
+
From 6b4f1acb0081090aaea6a9a2ea9b8e41b1585274 Mon Sep 17 00:00:00 2001
From: Silas Meyer
Date: Sat, 27 Apr 2019 01:21:33 +0200
Subject: [PATCH 11/16] Update i18next js file
---
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/index.html b/index.html
index 56daa6e..49fb9e6 100644
--- a/index.html
+++ b/index.html
@@ -307,7 +307,7 @@ Content-Delivery-Network von Cloudflare
Legal notice (german)
-
+