diff --git a/README.md b/README.md index 2fa2555..c50d06b 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Each client proposal should include: | --- | --- | --- | --- | | Bob Bollweg Plumbing | (630) 393-9444 | _TBD_ | https://bob-bollweg-plumbing-preview.aimloperations.com/ | | Ed's Plumbing & Sewer | (630) 663-1444 | info@thegreatestplumber.com | https://ed-preview.aimloperations.com/ | +| Fix&Fresh | (630) 936-8512 | fixandfreshllc@gmail.com | https://fix-and-fresh-preview.aimloperations.com/ | | Golden Sun Landscaping & Tree Service | (630) 330-0486 | goldensunlandscaping@yahoo.com | https://golden-sun-landscaping-preview.aimloperations.com/ | | Happy Hauling Junk Removal | (224) 622-2526 | _TBD_ | https://happy-hauling-junk-removal-preview.aimloperations.com/ | | Mobile Galaxy Gaming | (773) 817-4239 | _TBD_ | https://mobile-galaxy-gaming-preview.aimloperations.com/ | diff --git a/features.md b/features.md index d96889c..894a5c3 100644 --- a/features.md +++ b/features.md @@ -269,7 +269,7 @@ Fill amounts before client-facing use. Interactive proposal pricing page should | Feature | Type | Build (one-time) | Monthly | |---------|------|------------------|---------| -| Public site | Base | `$300` | `$10` | +| Public site | Base | `$300` | `$30` | | Client portal + UTM | Base | `$300` | `$30` | | Email & SMS | Add-on | `$500` | `$10` | | Direct mail | Add-on | `$500` | `$5` | diff --git a/proposals/fix-and-fresh/mockup/about.html b/proposals/fix-and-fresh/mockup/about.html new file mode 100644 index 0000000..4c6abbb --- /dev/null +++ b/proposals/fix-and-fresh/mockup/about.html @@ -0,0 +1,84 @@ + + + + About Fix&Fresh | Addison, IL Window Cleaning + + + + + + + + + +
UX Concept Preview — Fix&Fresh · Not the live website · Feature gallery · Pricing
+
+
+

Addison, IL · Serving Chicagoland

+

(630) 936-8512

+
+
+ + +
+
+

Our story

+

Local exterior care for Addison and nearby suburbs.

+
+
+ +
+

Fix&Fresh (Fix and Fresh Window Cleaning and Power Washing) is a local service company focused on clear glass and clean exteriors. We work with homeowners and commercial property managers who want reliable scheduling and a finished look that lasts.

+

What we stand for

+

Show up on time. Protect your property. Leave windows, walkways, and walls looking Fix&Fresh. Whether it is a single-family home or a multi-story commercial facade, we match the method to the building.

+

Service area

+

Based in Addison, IL. Typical weekday hours 8 AM–5 PM. Call (630) 936-8512 or email fixandfreshllc@gmail.com to confirm availability for your address.

+

Request a quote   Browse services

+
+ + + + + diff --git a/templates/eds-plumbing-and-sewer/mockup/assets/css/ux-hub.css b/proposals/fix-and-fresh/mockup/assets/css/ux-hub.css similarity index 100% rename from templates/eds-plumbing-and-sewer/mockup/assets/css/ux-hub.css rename to proposals/fix-and-fresh/mockup/assets/css/ux-hub.css diff --git a/proposals/fix-and-fresh/mockup/contact.html b/proposals/fix-and-fresh/mockup/contact.html new file mode 100644 index 0000000..a559e3a --- /dev/null +++ b/proposals/fix-and-fresh/mockup/contact.html @@ -0,0 +1,120 @@ + + + + Contact Fix&Fresh | Addison, IL Estimates + + + + + + + + + + +
UX Concept Preview — Fix&Fresh · Not the live website · Feature gallery · Pricing
+
+
+

Addison, IL · Serving Chicagoland

+

(630) 936-8512

+
+
+ + +
+
+

Contact

+

Request an estimate — we will follow up by phone or email.

+
+
+ +
+
+

Phone: (630) 936-8512
+ Email: fixandfreshllc@gmail.com
+ Location: Addison, IL
+ Hours: Mon–Fri, typically 8 AM–5 PM

+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+ + + + + diff --git a/templates/eds-plumbing-and-sewer/mockup/assets/css/animate.css b/proposals/fix-and-fresh/mockup/css/animate.css old mode 100755 new mode 100644 similarity index 73% rename from templates/eds-plumbing-and-sewer/mockup/assets/css/animate.css rename to proposals/fix-and-fresh/mockup/css/animate.css index 8c3ddd2..10354be --- a/templates/eds-plumbing-and-sewer/mockup/assets/css/animate.css +++ b/proposals/fix-and-fresh/mockup/css/animate.css @@ -1,3479 +1,3125 @@ -@charset "UTF-8"; - -/*! -Animate.css - http://daneden.me/animate -Licensed under the MIT license - http://opensource.org/licenses/MIT - -Copyright (c) 2015 Daniel Eden -*/ - -.animated { - -webkit-animation-duration: 1s; - animation-duration: 1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.animated.infinite { - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -.animated.hinge { - -webkit-animation-duration: 2s; - animation-duration: 2s; -} - -.animated.bounceIn, -.animated.bounceOut { - -webkit-animation-duration: .75s; - animation-duration: .75s; -} - -.animated.flipOutX, -.animated.flipOutY { - -webkit-animation-duration: .75s; - animation-duration: .75s; -} - -@-webkit-keyframes bounce { - 0%, 20%, 53%, 80%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - } - - 40%, 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0,-4px,0); - transform: translate3d(0,-4px,0); - } -} - -@keyframes bounce { - 0%, 20%, 53%, 80%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - -webkit-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - } - - 40%, 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0,-4px,0); - transform: translate3d(0,-4px,0); - } -} - -.bounce { - -webkit-animation-name: bounce; - animation-name: bounce; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} - -@-webkit-keyframes flash { - 0%, 50%, 100% { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -@keyframes flash { - 0%, 50%, 100% { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -.flash { - -webkit-animation-name: flash; - animation-name: flash; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes pulse { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes pulse { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.pulse { - -webkit-animation-name: pulse; - animation-name: pulse; -} - -@-webkit-keyframes rubberBand { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(.95, 1.05, 1); - transform: scale3d(.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, .95, 1); - transform: scale3d(1.05, .95, 1); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes rubberBand { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(.95, 1.05, 1); - transform: scale3d(.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, .95, 1); - transform: scale3d(1.05, .95, 1); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.rubberBand { - -webkit-animation-name: rubberBand; - animation-name: rubberBand; -} - -@-webkit-keyframes shake { - 0%, 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -@keyframes shake { - 0%, 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -.shake { - -webkit-animation-name: shake; - animation-name: shake; -} - -@-webkit-keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - 100% { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -@keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - 100% { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -.swing { - -webkit-transform-origin: top center; - transform-origin: top center; - -webkit-animation-name: swing; - animation-name: swing; -} - -@-webkit-keyframes tada { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, 20% { - -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes tada { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, 20% { - -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.tada { - -webkit-animation-name: tada; - animation-name: tada; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes wobble { - 0% { - -webkit-transform: none; - transform: none; - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes wobble { - 0% { - -webkit-transform: none; - transform: none; - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.wobble { - -webkit-animation-name: wobble; - animation-name: wobble; -} - -@-webkit-keyframes jello { - 11.1% { - -webkit-transform: none; - transform: none - } - - 22.2% { - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg) - } - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg) - } - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg) - } - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg) - } - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg) - } - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg) - } - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg) - } - 100% { - -webkit-transform: none; - transform: none - } -} - -@keyframes jello { - 11.1% { - -webkit-transform: none; - transform: none - } - - 22.2% { - - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg) - } - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg) - } - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg) - } - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg) - } - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg) - } - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg) - } - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg) - } - 100% { - -webkit-transform: none; - transform: none - } -} - - - -.jello{ - -webkit-animation-name:jello; - animation-name:jello; - -webkit-transform-origin: center; - - transform-origin: center -} - -@-webkit-keyframes bounceIn { - 0%, 20%, 40%, 60%, 80%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(.97, .97, .97); - transform: scale3d(.97, .97, .97); - } - - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes bounceIn { - 0%, 20%, 40%, 60%, 80%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(.97, .97, .97); - transform: scale3d(.97, .97, .97); - } - - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.bounceIn { - -webkit-animation-name: bounceIn; - animation-name: bounceIn; -} - -@-webkit-keyframes bounceInDown { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInDown { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.bounceInDown { - -webkit-animation-name: bounceInDown; - animation-name: bounceInDown; -} - -@-webkit-keyframes bounceInLeft { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInLeft { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.bounceInLeft { - -webkit-animation-name: bounceInLeft; - animation-name: bounceInLeft; -} - -@-webkit-keyframes bounceInRight { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes bounceInRight { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -.bounceInRight { - -webkit-animation-name: bounceInRight; - animation-name: bounceInRight; -} - -@-webkit-keyframes bounceInUp { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInUp { - 0%, 60%, 75%, 90%, 100% { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInUp { - -webkit-animation-name: bounceInUp; - animation-name: bounceInUp; -} - -@-webkit-keyframes bounceOut { - 20% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } -} - -@keyframes bounceOut { - 20% { - -webkit-transform: scale3d(.9, .9, .9); - transform: scale3d(.9, .9, .9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } -} - -.bounceOut { - -webkit-animation-name: bounceOut; - animation-name: bounceOut; -} - -@-webkit-keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.bounceOutDown { - -webkit-animation-name: bounceOutDown; - animation-name: bounceOutDown; -} - -@-webkit-keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.bounceOutLeft { - -webkit-animation-name: bounceOutLeft; - animation-name: bounceOutLeft; -} - -@-webkit-keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.bounceOutRight { - -webkit-animation-name: bounceOutRight; - animation-name: bounceOutRight; -} - -@-webkit-keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.bounceOutUp { - -webkit-animation-name: bounceOutUp; - animation-name: bounceOutUp; -} - - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@keyframes fadeIn { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -.fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; -} - -@-webkit-keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translateY(-20px); - transform: translateY(-20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -@keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translateY(-20px); - -ms-transform: translateY(-20px); - transform: translateY(-20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } -} - -.fadeInDown { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; -} - -@-webkit-keyframes fadeInDownBig { - 0% { - opacity: 0; - -webkit-transform: translateY(-2000px); - transform: translateY(-2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -@keyframes fadeInDownBig { - 0% { - opacity: 0; - -webkit-transform: translateY(-2000px); - -ms-transform: translateY(-2000px); - transform: translateY(-2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } -} - -.fadeInDownBig { - -webkit-animation-name: fadeInDownBig; - animation-name: fadeInDownBig; -} - -@-webkit-keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translateX(-20px); - transform: translateX(-20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translateX(-20px); - -ms-transform: translateX(-20px); - transform: translateX(-20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } -} - -.fadeInLeft { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; -} - -@-webkit-keyframes fadeInLeftBig { - 0% { - opacity: 0; - -webkit-transform: translateX(-2000px); - transform: translateX(-2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes fadeInLeftBig { - 0% { - opacity: 0; - -webkit-transform: translateX(-2000px); - -ms-transform: translateX(-2000px); - transform: translateX(-2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } -} - -.fadeInLeftBig { - -webkit-animation-name: fadeInLeftBig; - animation-name: fadeInLeftBig; -} - -@-webkit-keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translateX(20px); - transform: translateX(20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translateX(20px); - -ms-transform: translateX(20px); - transform: translateX(20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } -} - -.fadeInRight { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; -} - -@-webkit-keyframes fadeInRightBig { - 0% { - opacity: 0; - -webkit-transform: translateX(2000px); - transform: translateX(2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes fadeInRightBig { - 0% { - opacity: 0; - -webkit-transform: translateX(2000px); - -ms-transform: translateX(2000px); - transform: translateX(2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } -} - -.fadeInRightBig { - -webkit-animation-name: fadeInRightBig; - animation-name: fadeInRightBig; -} - -@-webkit-keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translateY(20px); - transform: translateY(20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -@keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translateY(20px); - -ms-transform: translateY(20px); - transform: translateY(20px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } -} - -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; -} - -@-webkit-keyframes fadeInUpBig { - 0% { - opacity: 0; - -webkit-transform: translateY(2000px); - transform: translateY(2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } -} - -@keyframes fadeInUpBig { - 0% { - opacity: 0; - -webkit-transform: translateY(2000px); - -ms-transform: translateY(2000px); - transform: translateY(2000px); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } -} - -.fadeInUpBig { - -webkit-animation-name: fadeInUpBig; - animation-name: fadeInUpBig; -} - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@keyframes fadeOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -.fadeOut { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; -} - -@-webkit-keyframes fadeOutDown { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(20px); - transform: translateY(20px); - } -} - -@keyframes fadeOutDown { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(20px); - -ms-transform: translateY(20px); - transform: translateY(20px); - } -} - -.fadeOutDown { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; -} - -@-webkit-keyframes fadeOutDownBig { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(2000px); - transform: translateY(2000px); - } -} - -@keyframes fadeOutDownBig { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(2000px); - -ms-transform: translateY(2000px); - transform: translateY(2000px); - } -} - -.fadeOutDownBig { - -webkit-animation-name: fadeOutDownBig; - animation-name: fadeOutDownBig; -} - -@-webkit-keyframes fadeOutLeft { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(-20px); - transform: translateX(-20px); - } -} - -@keyframes fadeOutLeft { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(-20px); - -ms-transform: translateX(-20px); - transform: translateX(-20px); - } -} - -.fadeOutLeft { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; -} - -@-webkit-keyframes fadeOutLeftBig { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(-2000px); - transform: translateX(-2000px); - } -} - -@keyframes fadeOutLeftBig { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(-2000px); - -ms-transform: translateX(-2000px); - transform: translateX(-2000px); - } -} - -.fadeOutLeftBig { - -webkit-animation-name: fadeOutLeftBig; - animation-name: fadeOutLeftBig; -} - -@-webkit-keyframes fadeOutRight { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(20px); - transform: translateX(20px); - } -} - -@keyframes fadeOutRight { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(20px); - -ms-transform: translateX(20px); - transform: translateX(20px); - } -} - -.fadeOutRight { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; -} - -@-webkit-keyframes fadeOutRightBig { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(2000px); - transform: translateX(2000px); - } -} - -@keyframes fadeOutRightBig { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(2000px); - -ms-transform: translateX(2000px); - transform: translateX(2000px); - } -} - -.fadeOutRightBig { - -webkit-animation-name: fadeOutRightBig; - animation-name: fadeOutRightBig; -} - -@-webkit-keyframes fadeOutUp { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(-20px); - transform: translateY(-20px); - } -} - -@keyframes fadeOutUp { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(-20px); - -ms-transform: translateY(-20px); - transform: translateY(-20px); - } -} - -.fadeOutUp { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; -} - -@-webkit-keyframes fadeOutUpBig { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(-2000px); - transform: translateY(-2000px); - } -} - -@keyframes fadeOutUpBig { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(-2000px); - -ms-transform: translateY(-2000px); - transform: translateY(-2000px); - } -} - -.fadeOutUpBig { - -webkit-animation-name: fadeOutUpBig; - animation-name: fadeOutUpBig; -} - -@-webkit-keyframes flip { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(.95, .95, .95); - transform: perspective(400px) scale3d(.95, .95, .95); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -@keyframes flip { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(.95, .95, .95); - transform: perspective(400px) scale3d(.95, .95, .95); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -.animated.flip { - -webkit-backface-visibility: visible; - backface-visibility: visible; - -webkit-animation-name: flip; - animation-name: flip; -} - -@-webkit-keyframes flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInX { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInX; - animation-name: flipInX; -} - -@-webkit-keyframes flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInY; - animation-name: flipInY; -} - -@-webkit-keyframes flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -.flipOutX { - -webkit-animation-name: flipOutX; - animation-name: flipOutX; - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; -} - -@-webkit-keyframes flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -.flipOutY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipOutY; - animation-name: flipOutY; -} - -@-webkit-keyframes lightSpeedIn { - 0% { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - opacity: 1; - } - - 100% { - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes lightSpeedIn { - 0% { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - opacity: 1; - } - - 100% { - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.lightSpeedIn { - -webkit-animation-name: lightSpeedIn; - animation-name: lightSpeedIn; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; -} - -@-webkit-keyframes lightSpeedOut { - 0% { - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -@keyframes lightSpeedOut { - 0% { - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -.lightSpeedOut { - -webkit-animation-name: lightSpeedOut; - animation-name: lightSpeedOut; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; -} - -@-webkit-keyframes rotateIn { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateIn { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateIn { - -webkit-animation-name: rotateIn; - animation-name: rotateIn; -} - -@-webkit-keyframes rotateInDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInDownLeft { - -webkit-animation-name: rotateInDownLeft; - animation-name: rotateInDownLeft; -} - -@-webkit-keyframes rotateInDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInDownRight { - -webkit-animation-name: rotateInDownRight; - animation-name: rotateInDownRight; -} - -@-webkit-keyframes rotateInUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInUpLeft { - -webkit-animation-name: rotateInUpLeft; - animation-name: rotateInUpLeft; -} - -@-webkit-keyframes rotateInUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -@keyframes rotateInUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: none; - transform: none; - opacity: 1; - } -} - -.rotateInUpRight { - -webkit-animation-name: rotateInUpRight; - animation-name: rotateInUpRight; -} - -@-webkit-keyframes rotateOut { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -@keyframes rotateOut { - 0% { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - 100% { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -.rotateOut { - -webkit-animation-name: rotateOut; - animation-name: rotateOut; -} - -@-webkit-keyframes rotateOutDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -.rotateOutDownLeft { - -webkit-animation-name: rotateOutDownLeft; - animation-name: rotateOutDownLeft; -} - -@-webkit-keyframes rotateOutDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutDownRight { - -webkit-animation-name: rotateOutDownRight; - animation-name: rotateOutDownRight; -} - -@-webkit-keyframes rotateOutUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutUpLeft { - 0% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutUpLeft { - -webkit-animation-name: rotateOutUpLeft; - animation-name: rotateOutUpLeft; -} - -@-webkit-keyframes rotateOutUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -@keyframes rotateOutUpRight { - 0% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - 100% { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -.rotateOutUpRight { - -webkit-animation-name: rotateOutUpRight; - animation-name: rotateOutUpRight; -} - -@-webkit-keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -@keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - 100% { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -.hinge { - -webkit-animation-name: hinge; - animation-name: hinge; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollIn { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@keyframes rollIn { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -.rollIn { - -webkit-animation-name: rollIn; - animation-name: rollIn; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -@keyframes rollOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -.rollOut { - -webkit-animation-name: rollOut; - animation-name: rollOut; -} - -@-webkit-keyframes zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 50% { - opacity: 1; - } -} - -@keyframes zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 50% { - opacity: 1; - } -} - -.zoomIn { - -webkit-animation-name: zoomIn; - animation-name: zoomIn; -} - -@-webkit-keyframes zoomInStable { - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 33.333% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 66.666666% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes zoomInStable { - 0% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 33.333% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 66.666666% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.zoomInStable { - -webkit-animation-name: zoomInStable; - animation-name: zoomInStable; -} - -@-webkit-keyframes zoomInDown { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInDown { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInDown { - -webkit-animation-name: zoomInDown; - animation-name: zoomInDown; -} - -@-webkit-keyframes zoomInLeft { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInLeft { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInLeft { - -webkit-animation-name: zoomInLeft; - animation-name: zoomInLeft; -} - -@-webkit-keyframes zoomInRight { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInRight { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInRight { - -webkit-animation-name: zoomInRight; - animation-name: zoomInRight; -} - -@-webkit-keyframes zoomInUp { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomInUp { - 0% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomInUp { - -webkit-animation-name: zoomInUp; - animation-name: zoomInUp; -} - -@-webkit-keyframes zoomOut { - 0% { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 100% { - opacity: 0; - } -} - -@keyframes zoomOut { - 0% { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3); - } - - 100% { - opacity: 0; - } -} - -.zoomOut { - -webkit-animation-name: zoomOut; - animation-name: zoomOut; -} - -@-webkit-keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomOutDown { - -webkit-animation-name: zoomOutDown; - animation-name: zoomOutDown; -} - -@-webkit-keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); - transform: scale(.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -@keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); - transform: scale(.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -.zoomOutLeft { - -webkit-animation-name: zoomOutLeft; - animation-name: zoomOutLeft; -} - -@-webkit-keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(2000px, 0, 0); - transform: scale(.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -@keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: scale(.1) translate3d(2000px, 0, 0); - transform: scale(.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -.zoomOutRight { - -webkit-animation-name: zoomOutRight; - animation-name: zoomOutRight; -} - -@-webkit-keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -@keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); - } -} - -.zoomOutUp { - -webkit-animation-name: zoomOutUp; - animation-name: zoomOutUp; -} - -@-webkit-keyframes slideInDown { - 0% { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInDown { - 0% { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInDown { - -webkit-animation-name: slideInDown; - animation-name: slideInDown; -} - -@-webkit-keyframes slideInLeft { - 0% { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInLeft { - 0% { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInLeft { - -webkit-animation-name: slideInLeft; - animation-name: slideInLeft; -} - -@-webkit-keyframes slideInRight { - 0% { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInRight { - 0% { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInRight { - -webkit-animation-name: slideInRight; - animation-name: slideInRight; -} - -@-webkit-keyframes slideInUp { - 0% { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInUp { - 0% { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInUp { - -webkit-animation-name: slideInUp; - animation-name: slideInUp; -} - -@-webkit-keyframes slideOutDown { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes slideOutDown { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.slideOutDown { - -webkit-animation-name: slideOutDown; - animation-name: slideOutDown; -} - -@-webkit-keyframes slideOutLeft { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes slideOutLeft { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.slideOutLeft { - -webkit-animation-name: slideOutLeft; - animation-name: slideOutLeft; -} - -@-webkit-keyframes slideOutRight { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes slideOutRight { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.slideOutRight { - -webkit-animation-name: slideOutRight; - animation-name: slideOutRight; -} - -@-webkit-keyframes slideOutUp { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes slideOutUp { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 100% { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.slideOutUp { - -webkit-animation-name: slideOutUp; - animation-name: slideOutUp; -} - -@keyframes anime { -from { - opacity: 0; - transform: scaleY(0); - -webkit-transform: scaleY(0); - -moz-transform: scaleY(0); - -ms-transform: scaleY(0); - -o-transform: scaleY(0); -} -to { - opacity: 1; - transform: scaleY(1); - -webkit-transform: scaleY(1); - -ms-transform: scaleY(1); - -o-transform: scaleY(1); - -moz-transform: scaleY(1); -} -} - -@-webkit-keyframes anime { -from { - opacity: 0; - transform: scaleY(0); - -webkit-transform: scaleY(0); - -moz-transform: scaleY(0); - -ms-transform: scaleY(0); - -o-transform: scaleY(0); -} -to { - opacity: 1; - transform: scaleY(1); - -webkit-transform: scaleY(1); - -ms-transform: scaleY(1); - -o-transform: scaleY(1); - -moz-transform: scaleY(1); -} -} - -@-moz-keyframes anime { -from { - opacity: 0; - transform: scaleY(0); - -webkit-transform: scaleY(0); - -moz-transform: scaleY(0); - -ms-transform: scaleY(0); - -o-transform: scaleY(0); -} -to { - opacity: 1; - transform: scaleY(1); - -webkit-transform: scaleY(1); - -ms-transform: scaleY(1); - -o-transform: scaleY(1); - -moz-transform: scaleY(1); -} - -} - -@-o-keyframes anime { -from { - opacity: 0; - transform: scaleY(0); - -webkit-transform: scaleY(0); - -moz-transform: scaleY(0); - -ms-transform: scaleY(0); - -o-transform: scaleY(0); -} -to { - opacity: 1; - transform: scaleY(1); - -webkit-transform: scaleY(1); - -ms-transform: scaleY(1); - -o-transform: scaleY(1); - -moz-transform: scaleY(1); -} -} - -@-ms-keyframes anime { -from { - opacity: 0; - transform: scaleY(0); - -webkit-transform: scaleY(0); - -moz-transform: scaleY(0); - -ms-transform: scaleY(0); - -o-transform: scaleY(0); -} -to { - opacity: 1; - transform: scaleY(1); - -webkit-transform: scaleY(1); - -ms-transform: scaleY(1); - -o-transform: scaleY(1); - -moz-transform: scaleY(1); -} - -} +@charset "UTF-8"; + +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2014 Daniel Eden +*/ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +@-webkit-keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +@keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + -ms-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + -ms-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + -ms-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + -ms-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + -ms-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + -ms-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + -ms-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + -ms-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + -ms-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + -ms-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + -ms-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + -ms-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + -ms-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + -ms-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + -ms-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + -ms-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + -ms-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + -ms-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + -ms-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes wobble { + 0% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + -ms-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + -ms-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + -ms-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + -ms-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + -ms-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + -ms-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + -ms-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + -ms-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + -ms-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + -ms-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + -ms-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + -ms-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + -ms-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + -ms-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + -ms-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + -ms-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + -ms-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + -ms-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + -ms-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + -ms-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + -ms-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + -ms-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + -ms-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + -ms-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + -ms-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + -ms-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + -ms-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + -ms-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + -ms-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + -ms-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + -ms-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + -ms-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + -ms-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + -ms-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + -ms-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + -ms-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + -ms-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + -ms-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + -ms-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + -ms-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + -ms-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + -ms-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + -ms-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + -ms-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + -ms-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + -ms-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-animation-duration: .75s; + animation-duration: .75s; + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + -ms-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + -ms-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + -ms-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + -ms-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + -ms-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + -ms-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + -ms-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + -ms-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + -ms-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + -ms-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0, 0, 1, 45deg); + transform: rotate(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0, 0, 1, 45deg); + -ms-transform: rotate(0, 0, 1, 45deg); + transform: rotate(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + -ms-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + -ms-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + -ms-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + -ms-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + -ms-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + -ms-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + -ms-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + -ms-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +@keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + -ms-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + -ms-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + -ms-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + -ms-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/css/camera.css b/proposals/fix-and-fresh/mockup/css/camera.css new file mode 100644 index 0000000..c967414 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/camera.css @@ -0,0 +1,264 @@ +/************************** +* +* GENERAL +* +**************************/ +.camera_wrap img, +.camera_wrap ol, .camera_wrap ul, .camera_wrap li, +.camera_wrap table, .camera_wrap tbody, .camera_wrap tfoot, .camera_wrap thead, .camera_wrap tr, .camera_wrap th, .camera_wrap td +.camera_thumbs_wrap a, .camera_thumbs_wrap img, +.camera_thumbs_wrap ol, .camera_thumbs_wrap ul, .camera_thumbs_wrap li, +.camera_thumbs_wrap table, .camera_thumbs_wrap tbody, .camera_thumbs_wrap tfoot, .camera_thumbs_wrap thead, .camera_thumbs_wrap tr, .camera_thumbs_wrap th, .camera_thumbs_wrap td { + background: none; + border: 0; + font: inherit; + font-size: 100%; + margin: 0; + padding: 0; + vertical-align: baseline; + list-style: none +} + +.camera_main_container{ + margin-top: 0px; + height: 674px; +} +.camera_wrap { + display: none; + float: none; + position: relative; + z-index: 1; + margin-bottom: 0px !important; +} +.camera_wrap img { + max-width: none !important; + max-width: 20000px !important; +} +.camera_fakehover { + height: 100%; + min-height: 40px; + position: relative; + width: 100%; + z-index: 1; +} +.camera_wrap { + width: 100%; + height:428px; +} +.camera_src { + display: none; +} +.cameraCont, .cameraContents { + height: 100%; + position: relative; + width: 100%; + z-index: 1; +} +.cameraSlide { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.cameraContent { + bottom: 0; + display: none; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.camera_target { + bottom: 0; + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + text-align: left; + top: 0; + width: 100%; + z-index: 0; +} +.camera_overlayer { + bottom: 0; + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + top: 0; + width: 100%; + z-index: 0; +} +.camera_target_content { + bottom: 0; + left: 0; + overflow: visible; + position: absolute; + right: 0; + top: 0; + z-index: 2; +} +.camera_target_content .camera_link { + display: block; + height: 100%; + text-decoration: none; +} +.camera_loader { + background: #fff url(../images/camera-loader.gif) no-repeat center; + background: rgba(255, 255, 255, 0.9) url(../images/camera-loader.gif) no-repeat center; + border: 1px solid #ffffff; + -webkit-border-radius: 18px; + -moz-border-radius: 18px; + border-radius: 18px; + height: 36px; + left: 50%; + overflow: hidden; + position: absolute; + margin: -18px 0 0 -18px; + top: 50%; + width: 36px; + z-index: 3; +} +.camera_clear { + display: block; + clear: both; +} +.showIt { + display: none; +} +.camera_clear { + clear: both; + display: block; + height: 1px; + margin: 0px; + position: relative; +} + + +.camera_prev{ + background: url(../images/slider_prev_btn.png) left top no-repeat; + width: 38px; + height: 70px; + position: absolute; + z-index: 999; + top: 50%; + margin-top: -35px; + left: 23px; + cursor: pointer; + opacity: 1 !important; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease; +} + +.camera_prev:hover { + background-position: 0 bottom; +} + +.camera_next { + background: url(../images/slider_next_btn.png) right top no-repeat; + width: 38px; + height: 70px; + position: absolute; + z-index: 999; + top: 50%; + margin-top: -35px; + right: 23px; + cursor: pointer; + opacity: 1 !important; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease; +} + +.camera_next:hover { + background-position: right bottom; +} + + +.caption { + position:absolute; + top: 39%; + z-index:15; + width: 100%; +} + +.caption_bg{ + position: relative; + -webkit-box-sizing: border-box; /* Safari */ + -moz-box-sizing: border-box; /*Firefox 1-3*/ + box-sizing: border-box; +} + +.caption span.slider_txt1{ + position: relative; + display:block; + color:#fff; + font:bold 66px/70px "Asap", Arial, Helvetica, sans-serif ; + font-style: italic; + /*margin-top: 44px;*/ + text-align: center; +} + + + +.camera_wrap .camera_pag { + width:100%; + z-index:1000; + position:absolute; + height: 20px; + bottom: -48px; + width: 100%; + text-align: center; +} +.camera_wrap .camera_pag .camera_pag_ul{ + position: relative; + display: inline-block; + margin-left: 18px; +} +.camera_wrap .camera_pag .camera_pag_ul li { + float:left; + margin-right: 16px; +} + +.camera_wrap .camera_pag .camera_pag_ul li span { + text-indent: -999px; + overflow: hidden; + cursor: pointer; + display:block; + width: 14px; + height: 14px; background: #bebebe; + border-radius: 500px; +} +.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent span, .camera_wrap .camera_pag .camera_pag_ul li:hover span{ + background: #666667; +} + + + +/*======================================================== + RESPONSIVE LAYOUTS STYLES +=========================================================*/ +@media only screen and (max-width: 1199px) { + .camera_main_container{height: 450px;} +} +@media only screen and (max-width: 979px) { + .caption span.slider_txt1{font:bold 40px/40px "Asap", Arial, Helvetica, sans-serif;} +} +@media only screen and (max-width: 767px) { + .caption span.slider_txt1{font:bold 26px/30px "Asap", Arial, Helvetica, sans-serif;} + .camera_next, .camera_prev {top: auto; bottom: 20px;} +} +@media only screen and (max-width: 479px) { + +} +@media only screen and (max-width: 320px) { + +} diff --git a/proposals/fix-and-fresh/mockup/css/contact-form.css b/proposals/fix-and-fresh/mockup/css/contact-form.css new file mode 100644 index 0000000..8383603 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/contact-form.css @@ -0,0 +1,395 @@ +/* Contact Form variables +========================================================*/ +/*======================================================== + Main variables +=========================================================*/ +/*hover color*/ +/*hover 2 color*/ +/*color of content*/ +/*color of border*/ +/*======================================================== + Typography +=========================================================*/ +/*color of input fields in contact form*/ +/* Contact Form Basic Styles +========================================================*/ +#contact-form { + position: relative; + margin-top: 83px; +} +#contact-form label.message { + max-width: 100%; + margin-top: 36px; +} +#contact-form label { + position: relative; + display: block; + width: 100%; + max-width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + min-height: 66px; +} +#contact-form label.message { + width: 100%; + position: relative; + top: -1px; +} +#contact-form fieldset { + border: none; +} +/* Contact Form Placeholder Styles +========================================================*/ +#contact-form ._placeholder { + width: 100% !important; + position: absolute; + left: 0; + top: 0; + display: block; + line-height: 34px; + font-size: 18px; + font-family: 'Lato', Arial, sans-serif; + padding: 5px 17px 5px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border-radius: 0; + cursor: text; + color: #545454; + font-weight: 300; + font-style: italic; +} +#contact-form ._placeholder.focused { + opacity: 0.4; + filter: alpha(opacity=40); + /*.box-shadow(0px 0px 7px 0px rgba(0, 0, 0, 0.7));*/ +} +#contact-form ._placeholder.hidden { + display: none; +} +#contact-form .file ._placeholder { + display: none; +} +/* Contact Form Input +========================================================*/ +#contact-form input[type='text'] { + width: 100%; + border-radius: 0; + line-height: 34px; + font-size: 18px; + font-family: 'Lato', Arial, sans-serif; + padding: 5px 17px 5px; + font-weight: 300; + font-style: italic; + outline: none; + color: #545454; + height: 41px; + border: none; + border-bottom: 1px solid #bfbfbf; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + background: none; +} +input, +textarea { + -webkit-appearance: none; +} +/* Contact Form File Input +========================================================*/ +#contact-form .input-group { + position: relative; + display: table; + border-collapse: separate; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +#contact-form input.form-control[disabled] { + cursor: not-allowed; + background-color: #fafafa; + opacity: 1; +} +#contact-form input.form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; + padding: 6px 12px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + -moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} +#contact-form .input-group-btn:first-child > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + margin: 0 -1px 0 0; +} +#contact-form .input-group .form-control:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +#contact-form .input-group-btn:last-child > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +#contact-form .input-group .form-control:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +#contact-form input.form-control, +#contact-form .input-group-btn { + display: table-cell; + border-collapse: separate; + float: none !important; +} +#contact-form .input-group-btn label { + width: auto; + margin-left: -1px; +} +#contact-form .input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; + width: 1%; + vertical-align: middle; +} +#contact-form .btn { + margin-top: 26px; +} +#contact-form .btn + .btn { + margin-left: 5px; +} +#contact-form .btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} +#contact-form .btn-default:hover { + color: #333333; + background-color: #ebebeb; + border-color: #adadad; +} +#contact-form .btn-default:active, +#contact-form .btn-default:focus { + outline-offset: -2px; + outline: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +/* Contact Form Textarea +========================================================*/ +#contact-form textarea { + width: 100%; + border-radius: 0; + line-height: 34px; + font-size: 18px; + font-family: 'Lato', Arial, sans-serif; + padding: 5px 17px 5px; + font-weight: 300; + font-style: italic; + outline: none; + border: none; + border: 1px solid #bfbfbf; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + resize: none; + color: #545454; + height: 166px; + background: none; +} +#contact-form .btns { + text-align: center; +} +#contact-form .btns a { + margin-top: 73px; +} +/* Contact Form Error messages +========================================================*/ +#contact-form .empty-message, +#contact-form .error-message { + position: absolute; + right: 18px; + top: -5px; + color: red; + height: 0; + overflow: hidden; + font-size: 11px; + -webkit-transition: 0.3s ease-in height; + transition: 0.3s ease-in height; + z-index: 99; +} +#contact-form .invalid .error-message, +#contact-form .empty .empty-message { + height: 20px; +} +/* Contact Form Processing Box +========================================================*/ +#contact-form .contact-form-loader { + position: absolute; + z-index: -1; + width: 100%; + height: 100%; + overflow: hidden; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.9); + background-image: url('../images/form-loader.gif'); + background-repeat: no-repeat; + background-position: 50% 50%; + opacity: 0; +} +#contact-form.processing .contact-form-loader { + opacity: 1; + z-index: 99; + -webkit-transition: all 0.3s ease-in; + transition: all 0.3s ease-in; +} +/* Contact Form Modal +========================================================*/ +.modal-open { + overflow: hidden; +} +#contact-form .modal { + display: none; + overflow: auto; + overflow-y: scroll; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; + font-family: 'Lato', Arial, sans-serif; + font-size: 13px; +} +#contact-form .modal h4 { + font-size: 24px; + padding: 0; + margin: 0; +} +#contact-form .modal h4:before { + display: none; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: none; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.42857143px; +} +.modal-header .close { + margin-top: -2px; + position: relative; + z-index: 10; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 20px; +} +.modal-dialog { + width: 600px; + margin: 10px auto; +} +@media only screen and (max-width: 768px) { + .modal-dialog { + position: relative; + width: auto; + margin: 10px; + } +} +/* Contact Form Close icon +========================================================*/ +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +@media only screen and (max-width: 1199px) { + #contact-form { + padding-right: 0; + } +} +@media only screen and (max-width: 979px) { + #contact-form label { + width: 100%; + } + #contact-form .btn { + padding-left: 12px; + padding-right: 12px; + } +} diff --git a/proposals/fix-and-fresh/mockup/css/grid.css b/proposals/fix-and-fresh/mockup/css/grid.css new file mode 100644 index 0000000..1889c02 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/grid.css @@ -0,0 +1,475 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: top; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +.container .alpha { + margin-left: 0px; +} +.container .omega { + margin-right: 0px; +} +.row { + margin-left: -30px; +} +.row:before, +.row:after { + display: table; + content: ""; + line-height: 0; +} +.row:after { + clear: both; +} +[class*="grid_"] { + float: left; + min-height: 1px; + margin-left: 30px; +} +.container { + width: 1170px; +} +.grid_12 { + width: 1170px; +} +.grid_11 { + width: 1070px; +} +.grid_10 { + width: 970px; +} +.grid_9 { + width: 870px; +} +.grid_8 { + width: 770px; +} +.grid_7 { + width: 670px; +} +.grid_6 { + width: 570px; +} +.grid_5 { + width: 470px; +} +.grid_4 { + width: 370px; +} +.grid_3 { + width: 270px; +} +.grid_2 { + width: 170px; +} +.grid_1 { + width: 70px; +} +.preffix_12 { + margin-left: 1230px; +} +.preffix_11 { + margin-left: 1130px; +} +.preffix_10 { + margin-left: 1030px; +} +.preffix_9 { + margin-left: 930px; +} +.preffix_8 { + margin-left: 830px; +} +.preffix_7 { + margin-left: 730px; +} +.preffix_6 { + margin-left: 630px; +} +.preffix_5 { + margin-left: 530px; +} +.preffix_4 { + margin-left: 430px; +} +.preffix_3 { + margin-left: 330px; +} +.preffix_2 { + margin-left: 230px; +} +.preffix_1 { + margin-left: 130px; +} +.container { + margin-right: auto; + margin-left: auto; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.container:before, +.container:after { + display: table; + content: ""; + line-height: 0; +} +.container:after { + clear: both; +} +@media (min-width: 980px) and (max-width: 1199px) { + .row { + margin-left: -20px; + } + .row:before, + .row:after { + display: table; + content: ""; + line-height: 0; + } + .row:after { + clear: both; + } + [class*="grid_"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container { + width: 940px; + } + .grid_12 { + width: 940px; + } + .grid_11 { + width: 860px; + } + .grid_10 { + width: 780px; + } + .grid_9 { + width: 700px; + } + .grid_8 { + width: 620px; + } + .grid_7 { + width: 540px; + } + .grid_6 { + width: 460px; + } + .grid_5 { + width: 380px; + } + .grid_4 { + width: 300px; + } + .grid_3 { + width: 220px; + } + .grid_2 { + width: 140px; + } + .grid_1 { + width: 60px; + } + .preffix_12 { + margin-left: 980px; + } + .preffix_11 { + margin-left: 900px; + } + .preffix_10 { + margin-left: 820px; + } + .preffix_9 { + margin-left: 740px; + } + .preffix_8 { + margin-left: 660px; + } + .preffix_7 { + margin-left: 580px; + } + .preffix_6 { + margin-left: 500px; + } + .preffix_5 { + margin-left: 420px; + } + .preffix_4 { + margin-left: 340px; + } + .preffix_3 { + margin-left: 260px; + } + .preffix_2 { + margin-left: 180px; + } + .preffix_1 { + margin-left: 100px; + } +} +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + } + .row:before, + .row:after { + display: table; + content: ""; + line-height: 0; + } + .row:after { + clear: both; + } + [class*="grid_"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container { + width: 748px; + } + .grid_12 { + width: 748px; + } + .grid_11 { + width: 684px; + } + .grid_10 { + width: 620px; + } + .grid_9 { + width: 556px; + } + .grid_8 { + width: 492px; + } + .grid_7 { + width: 428px; + } + .grid_6 { + width: 364px; + } + .grid_5 { + width: 300px; + } + .grid_4 { + width: 236px; + } + .grid_3 { + width: 172px; + } + .grid_2 { + width: 108px; + } + .grid_1 { + width: 44px; + } + .preffix_12 { + margin-left: 788px; + } + .preffix_11 { + margin-left: 724px; + } + .preffix_10 { + margin-left: 660px; + } + .preffix_9 { + margin-left: 596px; + } + .preffix_8 { + margin-left: 532px; + } + .preffix_7 { + margin-left: 468px; + } + .preffix_6 { + margin-left: 404px; + } + .preffix_5 { + margin-left: 340px; + } + .preffix_4 { + margin-left: 276px; + } + .preffix_3 { + margin-left: 212px; + } + .preffix_2 { + margin-left: 148px; + } + .preffix_1 { + margin-left: 84px; + } +} +.select-menu { + display: none !important; +} +@media (max-width: 767px) { + .container { + width: 420px; + padding: 0 0px; + } + .row { + margin-left: 0; + } + [class*="grid_"] { + float: none; + display: block; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .select-menu { + display: block !important; + } +} +@media (max-width: 479px) { + body { + padding: 0; + } + .container { + width: 300px; + padding: 0 15px; + } + .row { + margin-left: 0; + } +} diff --git a/proposals/fix-and-fresh/mockup/css/ie.css b/proposals/fix-and-fresh/mockup/css/ie.css new file mode 100644 index 0000000..785bc63 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/ie.css @@ -0,0 +1,48 @@ + +.class { behavior:url(js/PIE.htc); position:absolute;} + +#back-top { behavior:url(js/PIE.htc);} + +a.magnifier2:hover .zoom{ + display: block; +} +a.magnifier2 .zoom, .bottom_p{ + display: none; +} + +body { + min-width: 1290px; +} + +#form .invalid .error-message, +#form .empty .empty-message { + display: block; +} + +#form .error-message, +#form .empty-message { + display: none; +} + +#contact-form .contact-form-loader { + display: none; +} + +#contact-form.loading .contact-form-loader { + display: block; +} + + +.sf-menu > li > a strong:before{ + display: none; +} + +.sf-menu > li.current > a strong:before { + display: block; +} +.sf-menu > li.sfHover > a strong:before { + display: block; +} +.sf-menu a:hover strong:before { + display: block; +} \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/css/normalize.css b/proposals/fix-and-fresh/mockup/css/normalize.css new file mode 100644 index 0000000..8f86a7d --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/normalize.css @@ -0,0 +1,128 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: top; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/proposals/fix-and-fresh/mockup/css/owl.carousel.css b/proposals/fix-and-fresh/mockup/css/owl.carousel.css new file mode 100644 index 0000000..47db7f3 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/owl.carousel.css @@ -0,0 +1,252 @@ +#owl { + /*overflow: hidden;*/ + z-index: 1; + position: relative; + top: 0px; + padding: 0px 42px 0px; + margin: 0 -15px; + margin-top: 20px; +} + +#owl p{ + float: left; +} +#owl .more_btn{ + float: right; +} + +#owl .owl-item { + float: left; + width: 100%; + /*margin: 0 15px;*/ +} + +#owl .item { + position: relative; + margin: 0 15px; +} +#owl p{max-width: 100%;} + +.owl-wrapper-outer { + overflow: hidden; + padding-top: 0px; + position: relative; +} + +.owl-wrapper { + overflow: hidden; +} + +.owl-controls{text-align: center;} +.owl-pagination { + position: relative; + display: inline-block; + margin-left: 16px; +} + +.owl-pagination span { + display: block; + width: 14px; + height: 14px; + cursor: pointer; + /*background: url(../images/pagination.png) right 0 no-repeat;*/ + background: #bebebe; + border-radius: 1000px; + margin-right: 16px; +} + +.owl-pagination .active span { + /*background-position: 0 0;*/ + background: #a36217; +} + +.owl-pagination span:hover { + /*background-position: 0 0;*/ + background: #a36217; +} + +.owl-page { + float: left; +} + +.owl-page+.owl-page { + /*margin-left: 4px;*/ +} + + +/* Owl content */ + + + +.owl-carousel .owl-wrapper{ + display: none; + position: relative; + -webkit-transform: translate3d(0px, 0px, 0px); + -webkit-perspective: 1000; +} + + +#owl .owl-wrapper { + overflow: visible; +} + + +#owl .owl-prev, #owl .owl-next { + cursor: pointer; + position: absolute; + background: url(../images/owl_prev_btn.png) 0 0 no-repeat; + display: block; + width: 16px; + height: 30px; + left: 17px; + top: 11px; + overflow: hidden; + text-indent: -999px; + opacity: 0.5; + +} + +#owl .owl-next { + /*right: 0px; + left: auto;*/ + left: auto; + right: 17px; + background: url(../images/owl_next_btn.png) 0 0 no-repeat; + +} +#owl .owl-next:hover { + background-position: 0 bottom; + opacity: 1; +} + +#owl .owl-prev:hover { + background-position: 0 bottom; + opacity: 1; +} + + + + + + + + + + + + + + + + + + + + + + + + + + +#owl2 { + /*overflow: hidden;*/ + z-index: 1; + position: relative; + top: 0px; + padding: 0px 0px 0px; + margin: 0 -15px; + margin-top: 18px; +} + +#owl2 .owl-item { + float: left; + width: 100%; + /*margin: 0 15px;*/ +} + +#owl2 .item { + position: relative; + margin: 0 15px; +} + +/* Owl content */ + + + +.owl-carousel .owl-wrapper{ + display: none; + position: relative; + -webkit-transform: translate3d(0px, 0px, 0px); + -webkit-perspective: 1000; +} + + +#owl2 .owl-wrapper { + overflow: visible; +} + + +#owl2 .owl-prev, #owl2 .owl-next { + cursor: pointer; + position: absolute; + background: url(../images/owl_prev_btn.png) 0 0 no-repeat; + display: block; + height: 25px; + left: 50%; + bottom: -43px; + width: 24px; + overflow: hidden; + text-indent: -999px; + opacity: 0.5; + margin-left: -27px; + +} + +#owl2 .owl-next { + /*right: 0px; + left: auto;*/ + margin-left: 5px; + background: url(../images/owl_next_btn.png) 0 0 no-repeat; + +} +#owl2 .owl-next:hover { + background-position: 0 bottom; + opacity: 1; +} + +#owl2 .owl-prev:hover { + background-position: 0 bottom; + opacity: 1; +} + + +#owl2 .owl-controls{ + position: absolute; + bottom: -69px; + text-align: center; + width: 100%; +} +.owl-pagination { + position: relative; + display: inline-block; +} + +.owl-pagination span { + display: block; + width: 14px; + height: 14px; + cursor: pointer; + /*background: url(../images/pagination.png) right 0 no-repeat;*/ + background: #aca8a2; + border-radius: 1000px; + margin-right: 16px; +} + +.owl-pagination .active span { + background-position: 0 0; +} + +.owl-pagination span:hover { + background-position: 0 0; +} \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/css/stuck-menu.css b/proposals/fix-and-fresh/mockup/css/stuck-menu.css new file mode 100644 index 0000000..c63a19a --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/stuck-menu.css @@ -0,0 +1,27 @@ +/* Stuck menu styles +========================================================*/ +.isStuck { + background: #61ae24; + padding: 0px 0 0px; + z-index: 999; + text-align: center; + top: -20px; +} +.isStuck .search_main, +.isStuck h1 { + /*height: 100px;*/ + display: none; +} +.isStuck nav { + float: none; + display: inline-block; + margin-top: 0; +} +.isStuck .sf-menu { + float: none; +} +@media only screen and (max-width: 979px) { + .isStuck { + display: none !important; + } +} diff --git a/proposals/fix-and-fresh/mockup/css/style.css b/proposals/fix-and-fresh/mockup/css/style.css new file mode 100644 index 0000000..5479cdb --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/style.css @@ -0,0 +1,1157 @@ +@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css); +@import "animate.css"; +@import "touchTouch.css"; +@import url(//fonts.googleapis.com/css?family=Lato:300,400,700&display=swap); +@import url(//fonts.googleapis.com/css?family=Asap:400,700,700italic&display=swap); +@import url(//fonts.googleapis.com/css?family=Roboto:400,700&display=swap); +/*======================================================== + Main variables +=========================================================*/ +/*hover color*/ +/*hover 2 color*/ +/*color of content*/ +/*color of border*/ +/*======================================================== + Typography +=========================================================*/ +/*color of input fields in contact form*/ +/*======================================================== + Main layout styles +=========================================================*/ +html, +body { + margin: 0; + padding: 0; + height: 100%; +} +body { + min-width: 300px; + background: #fff; + color: #666667; + font: 16px/24px 'Lato', Arial, sans-serif; +} +a[href^="tel:"] { + color: inherit; + text-decoration: none; +} +* { + -webkit-text-size-adjust: none; +} +h1 { + position: relative; + display: inline-block; + margin: 0; + float: left; +} +h1 img { + max-width: inherit; +} +h2 { + position: relative; + font: bold 72px/72px 'Asap', Arial, sans-serif; + font-style: italic; + color: #666667; + margin-top: 94px; + padding-bottom: 7px; +} +h2:before { + position: absolute; + display: inline-block; + content: ''; + width: 370px; + max-width: 100%; + height: 1px; + left: 50%; + margin-left: -185px; + bottom: 0; + background: #666667; +} +h3 { + position: relative; + font: bold 30px/30px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 28px; + padding-bottom: 14px; +} +h3:before { + position: absolute; + display: inline-block; + content: ''; + width: 170px; + max-width: 100%; + height: 1px; + left: 50%; + margin-left: -85px; + bottom: 0; + background: #666667; +} +h4 { + position: relative; + font: 24px/30px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 26px; + padding-bottom: 16px; + margin-bottom: -10px; +} +h4:before { + position: absolute; + display: inline-block; + content: ''; + width: 170px; + max-width: 100%; + height: 1px; + left: 50%; + margin-left: -85px; + bottom: 0; + background: #666667; +} +.content-load-spinner { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(../images/gallery-loader-list.gif) #ffffff 50% 50% no-repeat; + z-index: 1000; + overflow: hidden; +} +.top_section { + width: 100%; + overflow: hidden; + background: #ededed; + padding: 10px 0 7px; +} +.left_txt { + float: left; + padding-left: 24px; +} +/*======================================================== + HEADER styles +=========================================================*/ +#header { + background: #e78024; + padding: 0; + position: relative; + z-index: 100; +} +#header:before { + position: absolute; + display: inline-block; + content: ''; + width: 100%; + height: 16px; + left: 0; + bottom: -16px; + z-index: -1; + background: url(../images/shadow1.png) repeat-x 0 0; +} +/* Main menu styles +========================================================*/ +/*======================================================== + menu variables +=========================================================*/ +nav { + margin-top: 0px; + float: right; + margin-right: 14px; +} +.sf-menu { + float: right; +} +.sf-menu > li { + float: left; + position: relative; + margin: 0 0 0 1px; +} +.sf-menu > li > a { + display: inline-block; + padding: 0px 10px; + font: 24px/96px 'Roboto', Arial, sans-serif; + text-transform: uppercase; + color: #ffffff; + /*background: @menu-bg-color;*/ + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; + /* rollover line =============================================*/ +} +.sf-menu > li > a:hover { + color: #e78024; + /*background: @menu-bg-hover-color;*/ + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; +} +.sf-menu > li > a:hover strong { + width: 100%; + opacity: 1; +} +.sf-menu > li > a.sf-with-ul:after { + content: ''; + position: absolute; + width: 5px; + bottom: 10px; + left: 50%; + pointer-events: none; + z-index: 999; + width: 0; + height: 0; + /*border-style: solid; + border-width: 3px 3px 0 3px; + border-color: #333 transparent transparent transparent;*/ +} +.sf-menu > li > a strong { + width: 0%; + position: absolute; + display: inline-block; + left: 0; + top: 0; + bottom: 0; + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; + z-index: -1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: #fff; + opacity: 0; + /* css triangle =============================================*/ + /*&:before { + content: ""; + display: block; + width: 0; + height: 0; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #fa9183; + position: absolute; + top: -5px; + left: 50%; + margin-left: -3px; + }*/ +} +.sf-menu > li.current > a { + color: #e78024; + /*background: @menu-bg-hover-color;*/ +} +.sf-menu > li.current > a strong { + width: 100%; + opacity: 1; +} +.sf-menu > li.sfHover > a { + color: #e78024; + /*background: @menu-bg-hover-color;*/ +} +.sf-menu > li.sfHover > a strong { + width: 100%; + opacity: 1; +} +.sf-menu a { + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; +} +.sf-menu a:hover { + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; +} +/* First level sub-menu styles - submenu +========================================================*/ +.sf-menu ul { + position: absolute; + top: 95px; + left: 0px; + background: #616161; + padding: 25px 0px 25px; + width: 235px; + z-index: 2; + display: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.sf-menu ul li { + position: relative; + text-align: left; + text-indent: 30px; + line-height: 30px; +} +.sf-menu ul li a { + font: 300 14px/40px 'Lato', Arial, sans-serif; + color: #ffffff; + display: block; +} +.sf-menu ul li a:hover { + color: #ffffff; + background: #f18d05; +} +.sf-menu ul li a.sf-with-ul:after { + content: ''; + font-family: 'FontAwesome'; + position: absolute; + width: 5px; + font-size: 14px; + line-height: 14px; + font-weight: normal; + color: #fff; + right: 54px; + bottom: 12px; + pointer-events: none; + z-index: 999; +} +.sf-menu ul li.sfHover > a { + color: #ffffff; +} +/* Second level sub-menu styles - submenu2 +========================================================*/ +.sf-menu ul ul { + position: absolute; + top: -25px; + left: 236px; + width: 130px; + background: #616161; + /*padding: 10px 10px;*/ + z-index: 4; +} +.sf-menu ul ul li { + /*line-height: 30px;*/ +} +.sf-menu ul ul li a { + color: #ffffff; +} +@media only screen and (max-width: 1299px) { + .sf-menu > li > a { + padding: 0px 5px; + font: 22px/70px 'Roboto', Arial, sans-serif; + -webkit-transition-duration: 0s; + transition-duration: 0s; + } + h1 img { + height: 70px; + } + /*nav {margin-right: 0;}*/ +} +@media only screen and (max-width: 979px) { + .sf-menu > li > a { + font: 14px/70px 'Roboto', Arial, sans-serif; + } +} +@media only screen and (max-width: 767px) { + .sf-menu { + display: none; + } + .select-menu { + display: block; + width: 100%; + border-radius: 0px !important; + -moz-border-radius: 0px !important; + -webkit-border-radius: 0px !important; + border: 2px solid #bbb; + position: relative; + outline: none !important; + z-index: 1000; + margin-top: 0px; + margin-bottom: 3px; + } +} +/* Stuck menu styles +========================================================*/ +.isStuck { + background: #e78024; + padding: 0px 0 0px; + z-index: 999; + text-align: center; +} +/*.isStuck h1{ + display: none; +} +.isStuck .sf-menu > li > a {line-height: 25px; font-size: 18px;} +.isStuck .sf-menu > li > a strong {bottom: 0px;} +.isStuck nav{ + float: none; + display: inline-block; + margin-top: 0; +} +.isStuck .sf-menu{float: none;} + +.isStuck .sf-menu ul {top: 26px;} +.isStuck .sf-menu ul ul{top: -25px;} + +*/ +/*.isStuck nav{margin-right: 0;}*/ +.isStuck h1 img { + height: 50px; +} +.isStuck .sf-menu > li > a { + line-height: 50px; +} +@media only screen and (max-width: 979px) { + .isStuck { + display: none !important; + } +} +/*======================================================== + USEFUL styles +=========================================================*/ +a { + text-decoration: none; + cursor: pointer; + color: inherit; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; +} +a:hover { + color: #e78024; + text-decoration: none; +} +a.link1:hover { + color: #000; +} +a.link2 { + color: #de3f18; +} +a.link2:hover { + color: #000; +} +.txt1 { + color: #979797; + font-size: 14px; + margin-top: 6px; + float: left; +} +.txt2 { + font: 18px/24px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 6px; + padding-left: 40px; + float: right; +} +.txt2 i { + font-size: 24px; + margin-top: 3px; + margin-right: 3px; +} +.txt3 { + font: bold 36px/48px 'Asap', Arial, sans-serif; + font-style: italic; + margin-top: 235px; +} +.txt4 { + font: bold 30px/32px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 48px; +} +.color1 { + color: #e47d21; +} +.color2 { + color: #2eb3e0; +} +.color3 { + color: #a0bb46; +} +.color4 { + color: #de3f18; +} +.box { + overflow: hidden; +} +.bold { + font-weight: bold; +} +.fw400 { + font-weight: 400; +} +.fw600 { + font-weight: 600; +} +.fz15 { + font-size: 15px; +} +.circle { + overflow: hidden; + border-radius: 1000px; +} +.fleft { + float: left; +} +.fright { + float: right; +} +.clear { + clear: both; + width: 100%; + font-size: 0; + line-height: 0; +} +.wrapper { + position: relative; + overflow: hidden; + width: 100%; +} +.txt_left { + text-align: left; +} +.txt_right { + text-align: right; +} +.txt_cntr { + text-align: center; +} +.txt_ital { + font-style: italic; +} +.txt_upp { + text-transform: uppercase; +} +.txt_line_through { + text-decoration: line-through; +} +.pos_rel { + position: relative; +} +.txt_und { + text-decoration: underline; +} +.padTop1 { + padding-top: 10px; +} +.padBot1 { + padding-bottom: 10px; +} +.padLeft1 { + padding-left: 10px; +} +.padRight1 { + padding-right: 10px; +} +.icon_section { + margin-top: 97px; +} +.marTop0 { + margin-top: 0px; +} +.marTop1 { + margin-top: 38px; +} +.marTop2 { + margin-top: 14px; +} +.marTop3 { + margin-top: 60px; +} +.marTop4 { + margin-top: 87px; +} +.marTop5 { + margin-top: 65px; +} +.marTop6 { + margin-top: 65px !important; +} +.hline { + margin-top: 75px; + width: 100%; + height: 1px; + background: #dddddd; + overflow: hidden; +} +.hline.v2 { + margin-top: 75px; +} +.hline.v3 { + margin-top: 84px; + margin-bottom: 66px; +} +p { + margin-top: 25px; +} +img { + margin-bottom: 0px; + max-width: 100%; + height: auto; +} +.img_border { + border: 1px solid #efefef; + background: #f8f8f8; + padding: 7px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-top: 10px; +} +.img_rounded { + border-radius: 500px; +} +.img1 { + margin-top: 85px; +} +.img2 { + margin-top: 42px; +} +blockquote { + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + color: #fff; +} +blockquote:before { + position: relative; + content: ''; + font: normal normal 72px/72px 'FontAwesome'; + color: #fff; + text-align: center; +} +.bq_txt1 { + font: 300 24px/36px 'Lato', Arial, sans-serif; + margin-top: 27px; +} +.bq_txt2 { + font: bold 30px/32px 'Asap', Arial, sans-serif; + margin-top: 35px; +} +.bq_txt3 { + font: 14px/20px 'Asap', Arial, sans-serif; + margin-top: 7px; +} +.sign1 { + display: inline-block; + margin: 10px 31px 0 1px; + background: #282827; + width: 4px; + height: 4px; +} +.num_section { + font: 300 52px/52px 'Lato', Arial, sans-serif; + float: left; + color: #fa9183; + width: 52px; + display: block; + margin-top: -10px; +} +.date_section { + position: relative; + width: 100%; + max-width: 100px; + background-color: #eb6654; + float: left; + text-align: center; + margin-top: 43px; + color: #fff; + text-transform: uppercase; +} +.day { + font: bold 37px/37px 'Lato', Arial, sans-serif; + margin-top: 8px; + display: block; +} +.month { + font: 300 10px/12px 'Lato', Arial, sans-serif; + margin-top: 3px; + display: block; +} +/*======================================================== + LISTS +=========================================================*/ +.listWithMarker { + margin: 0; + margin-top: 45px; +} +.listWithMarker li { + display: block; + padding-left: 23px; + background: url(../images/list_marker.png) 0px 4px no-repeat; + margin-bottom: 0; + padding-bottom: 10px; +} +.listWithMarker li a { + color: #e78024; + text-decoration: none; + font: 300 13px/20px "Lato", Arial, sans-serif; + text-transform: uppercase; +} +.listWithMarker li a:hover, +.listWithMarker li.current a { + color: #000; +} +/*======================================================== + BUTTONS +=========================================================*/ +.more_btn { + display: inline-block; + margin-top: 24px; + padding: 13px 32px; + text-decoration: none; + font: 16px/22px "Lato", Arial, sans-serif; + color: #555; + background: #fff; + border: 2px solid #666667; + text-transform: uppercase; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + max-width: 100%; +} +.more_btn.v2 { + margin-top: 93px; + padding: 13px 48px; +} +.more_btn:hover { + color: #fff; + background: #666667; +} +.more_btn2 { + display: inline-block; + margin-top: 24px; + padding: 22px 22px; + text-decoration: none; + font: 16px/22px "Lato", Arial, sans-serif; + color: #fff; + background: #e78024; + width: 300px; + text-align: center; + text-transform: uppercase; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + max-width: 100%; +} +.more_btn2:hover { + color: #fff; + background: #666667; +} +/*********************************start magnifier2*************************************/ +.figure1 { + margin-top: 30px; +} +.magnifier2 { + position: relative; + /* display:block; */ + display: inline-block; +} +.zoom { + position: absolute; + top: 10px; + bottom: 10px; + left: 10px; + right: 10px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(0, 0, 0, 0.33); + -webkit-transition: 0.6s all ease; + transition: 0.6s all ease; + padding: 5px; + text-align: center; +} +a.magnifier2:hover .zoom { + opacity: 1; +} +a.magnifier2:hover .descr_txt { + padding-top: 0; +} +a.magnifier2 .zoom { + opacity: 0; +} +.descr_txt { + position: relative; + margin-top: 130px; + max-width: 255px; + display: inline-block; + font: 300 24px/32px 'Lato', Arial, sans-serif; + color: #fff; + padding-top: 100px; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; +} +/*********************************end magnifier2*************************************/ +/*----------- start social icons ----------------*/ +.soc_icons_top { + position: relative; + display: block; + margin-top: 3px; + white-space: nowrap; + text-align: center; + margin-right: 20px; + float: right; +} +.soc_icons_top > li { + position: relative; + display: inline-block; + margin-left: 2px; +} +.soc_icons_top > li > a { + position: relative; + line-height: 1em; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; + color: #fff; + width: 25px; + height: 25px; + display: inline-block; + background: #666667; + text-align: center; + border-radius: 500px; +} +.soc_icons_top i { + font: normal normal 14px/25px 'FontAwesome'; +} +.soc_icons_top > li > a:hover { + color: #000; + text-decoration: none; + background: #e78024; +} +.soc_icons { + position: relative; + display: block; + margin-top: 24px; + white-space: nowrap; + text-align: center; +} +.soc_icons > li { + position: relative; + display: inline-block; + margin-right: 72px; +} +.soc_icons > li:last-child { + margin-right: 0; +} +.soc_icons > li > a { + position: relative; + line-height: 1em; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; + width: 87px; + height: 87px; + display: inline-block; + color: #fff; + background: #666667; + text-align: center; + border-radius: 500px; +} +.soc_icons i { + font: normal normal 47px/87px 'FontAwesome'; +} +.soc_icons > li > a:hover { + color: #000; + text-decoration: none; + background: #e78024; +} +.icon1 { + font: normal normal 126px/126px 'FontAwesome'; + padding: 2px; + margin-top: 72px; +} +/*----------- end social icons ----------------*/ +.search_main { + float: right; +} +.fw_video_main { + /*border-radius: 10px; + overflow: hidden;*/ + margin-top: 48px; + margin-bottom: -12px; + background: #fff; +} +.fw_video { + width: 100%; + height: 332px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; +} +.fw_video iframe { + position: relative; + display: inline-block; + outline: none; + width: 100%; + height: 100%; + border: none; +} +.player .video-wrapper { + border-radius: 10px; +} +.fw_video iframe html { + border-radius: 10px; +} +/*======================================================== + CONTENT styles +=========================================================*/ +#content { + padding: 0 0 0px 0; + /*background: #fff;*/ + overflow: hidden; +} +.content_pages { + padding-bottom: 150px !important; +} +.box-11 { + width: 100%; + margin-top: 103px; + background: #e9e9e9; + text-align: center; + padding: 67px 0 177px; +} +.col1 { + float: left; + width: 236px; + margin-right: 31px; +} +.col1.last { + margin-right: 0; +} +#about { + padding-bottom: 116px; + background: #eee; +} +#services { + padding-top: 57px; + padding-bottom: 115px; + background: #f8f8f8; +} +#tips { + padding-top: 17px; + padding-bottom: 152px; +} +#contacts { + width: 100%; + padding: 66px 0 101px; + background: #eee; +} +#privacy { + width: 100%; + padding: 6px 0 101px; + background: #eee; +} +.box-1 { + color: #fff; + background: url('../images/bg1.jpg') 0 0; + text-align: center; + padding: 34px 0 70px 0; + min-height: 663px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.box-2 { + color: #fff; + background: url('../images/bg2.jpg') 0 0; + text-align: center; + padding: 88px 0 140px 0; + min-height: 735px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +/**** start Map ****/ +.content_map { + margin-top: 73px; + position: relative; + height: 485px; + margin-bottom: 81px; +} +.google-map-api { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} +#map-canvas { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +#map-canvas img { + max-width: none !important; +} +/**** end Map ****/ +/**** start address section ****/ +.address1 { + padding-top: 23px; + display: block; +} +.address1 dt { + font-size: 15px; + text-transform: uppercase; + margin-bottom: 15px; +} +.address1 dd span { + min-width: 75px; + display: inline-block; + text-align: left; +} +.address1 dd span.col1 { + min-width: 0; +} +/**** end address section ****/ +/*======================================================== + FOOTER styles +=========================================================*/ +#footer { + padding: 56px 0 67px; + color: #666667; + overflow: hidden; + text-align: center; + font-size: 14px; +} +.txt_priv span.priv_bold { + font-weight: 900; +} +/*======================================================== + Widget styles +=========================================================*/ +/* UItoTop styles +========================================================*/ +#toTop { + display: none; + text-decoration: none; + position: fixed; + bottom: 80px; + right: 30px; + overflow: hidden; + border: none; + color: #9a9a9a; + width: 40px; + height: 43px; + font-size: 37px; + line-height: 38px; + z-index: 20; + -webkit-transition: color 0.5s ease; + transition: color 0.5s ease; +} +#toTop:hover { + outline: none; + color: #e78024; +} +@media only screen and (max-width: 1199px) { + #toTop { + display: none !important; + } +} +/*======================================================== + RESPONSIVE LAYOUTS STYLES +=========================================================*/ +@media only screen and (max-width: 1299px) { + .sample { + height: auto; + /*delete this class*/ + } + .txt3 br { + display: none; + margin-top: 200px; + } +} +@media only screen and (max-width: 1199px) { + figure a { + width: 100%; + } +} +@media only screen and (max-width: 979px) { + .map figure, + .map figure iframe, + #form input, + #form textarea, + #form .success { + width: 100% !important; + float: none !important; + } + #form .success { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .map figure { + height: auto !important; + margin-bottom: 15px; + } + .descr_txt { + margin-top: 60px; + } + h2 { + font: bold 42px/42px 'Asap', Arial, sans-serif; + } +} +@media only screen and (max-width: 767px) { + img { + width: 100%; + } + img.no_resize, + h1 img { + width: auto; + } + .map figure iframe { + height: 300px; + } + figure a { + width: 100%; + } + a.link_icon1 { + margin-top: 0px; + } + nav { + float: none; + margin: 5px; + margin-top: 3px; + } + .descr_txt { + margin-top: 150px; + } + h1 { + float: none; + } + .txt3 { + margin-top: 185px; + } + .soc_icons > li { + margin-right: 22px; + } + .soc_icons > li > a { + width: 50px; + height: 50px; + } + .soc_icons i { + font: normal normal 27px/50px 'FontAwesome'; + } +} +@media only screen and (max-width: 479px) { + .sample { + height: auto; + /*delete this class*/ + } + h1 { + width: 100%; + min-height: 70px; + } + h1 img { + width: 100%; + max-width: 389px; + } + .txt2 { + float: none; + padding-left: 0; + } + .descr_txt { + margin-top: 80px; + } + h2:before { + width: 100%; + margin-left: 0; + left: 0; + } + .more_btn2 { + width: 100%; + } + .txt3 { + font: bold 26px/38px 'Asap', Arial, sans-serif; + margin-top: 165px; + } +} +@media only screen and (max-width: 320px) { + .sample { + height: auto; + /*delete this class*/ + } +} +/*Core variables and mixins*/ diff --git a/proposals/fix-and-fresh/mockup/css/touchTouch.css b/proposals/fix-and-fresh/mockup/css/touchTouch.css new file mode 100644 index 0000000..538dcf1 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/css/touchTouch.css @@ -0,0 +1,143 @@ +/* The gallery overlay */ + +#galleryOverlay{ + width:100%; + height:100%; + position:fixed; + top:0; + left:0; + opacity:0; + z-index:100000; + /*background-color:#fff;*/ + background: url("../images/touchtouch/bg_transparent.png"); + /*background-color:rgba(0,0,0,0.8);*/ + overflow:hidden; + display:none; + + -moz-transition:opacity 1s ease; + -webkit-transition:opacity 1s ease; + transition:opacity 1s ease; +} + +/* This class will trigger the animation */ + +#galleryOverlay.visible{ + opacity:1; +} + +#gallerySlider{ + height:100%; + + left:0; + top:0; + + width:100%; + white-space: nowrap; + position:absolute; + + -moz-transition:left 0.4s ease; + -webkit-transition:left 0.4s ease; + transition:left 0.4s ease; +} + +#gallerySlider .placeholder{ + background: url("../images/touchtouch/preloader.gif") no-repeat center center; + height: 100%; + line-height: 1px; + text-align: center; + width:100%; + display:inline-block; +} + +/* The before element moves the + * image halfway from the top */ + +#gallerySlider .placeholder:before{ + content: ""; + display: inline-block; + height: 50%; + width: 1px; + margin-right:-1px; +} + +#gallerySlider .placeholder img{ + display: inline-block; + max-height: 100%; + max-width: 100%; + vertical-align: middle; +} + +#gallerySlider.rightSpring{ + -moz-animation: rightSpring 0.3s; + -webkit-animation: rightSpring 0.3s; +} + +#gallerySlider.leftSpring{ + -moz-animation: leftSpring 0.3s; + -webkit-animation: leftSpring 0.3s; +} + +/* Firefox Keyframe Animations */ + +@-moz-keyframes rightSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:-30px;} + 100%{ margin-left:0px;} +} + +@-moz-keyframes leftSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:30px;} + 100%{ margin-left:0px;} +} + +/* Safari and Chrome Keyframe Animations */ + +@-webkit-keyframes rightSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:-30px;} + 100%{ margin-left:0px;} +} + +@-webkit-keyframes leftSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:30px;} + 100%{ margin-left:0px;} +} + +/* Arrows */ + +#prevArrow,#nextArrow{ + border:none; + text-decoration:none; + background:url('../images/touchtouch/arrows.png') no-repeat; + opacity:0.5; + cursor:pointer; + position:absolute; + width:43px; + height:58px; + + top:50%; + margin-top:-29px; + + -moz-transition:opacity 0.2s ease; + -webkit-transition:opacity 0.2s ease; + transition:opacity 0.2s ease; +} + +#prevArrow:hover, #nextArrow:hover{ + opacity:1; +} + +#prevArrow{ + background-position:left top; + left:40px; +} + +#nextArrow{ + background-position:right top; + right:40px; +} +@media only screen and (min-width: 480px) and (max-width: 767px) { + #gallerySlider .placeholder img {width:400px;} +} \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery.html b/proposals/fix-and-fresh/mockup/gallery.html new file mode 100644 index 0000000..0721c36 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery.html @@ -0,0 +1,89 @@ + + + + Photo Gallery | Fix&Fresh Addison, IL + + + + + + + + + +
UX Concept Preview — Fix&Fresh · Not the live website · Feature gallery · Pricing
+
+
+

Addison, IL · Serving Chicagoland

+

(630) 936-8512

+
+
+ + +
+
+

Gallery

+

Placeholder project photos — replace with approved Fix&Fresh job images before launch.

+
+
+ + + + + + + diff --git a/templates/drivesafe/sources/sass/custom/_font-awesome.scss b/proposals/fix-and-fresh/mockup/gallery/css/font-awesome.css similarity index 70% rename from templates/drivesafe/sources/sass/custom/_font-awesome.scss rename to proposals/fix-and-fresh/mockup/gallery/css/font-awesome.css index a6bdfe6..2f5f9ce 100644 --- a/templates/drivesafe/sources/sass/custom/_font-awesome.scss +++ b/proposals/fix-and-fresh/mockup/gallery/css/font-awesome.css @@ -1,28 +1,28 @@ -// -// Font Awesome Icons -// -------------------------------------------------- +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ @font-face { font-family: 'FontAwesome'; - src: url('#{$icon-font-path}#{$icon-font-awesome}.eot?v=4.5.0'); - src: url('#{$icon-font-path}#{$icon-font-awesome}.eot?#iefix&v=4.5.0') format('embedded-opentype'), - url('#{$icon-font-path}#{$icon-font-awesome}.woff2?v=4.5.0') format('woff2'), - url('#{$icon-font-path}#{$icon-font-awesome}.woff?v=4.5.0') format('woff'), - url('#{$icon-font-path}#{$icon-font-awesome}.ttf?v=4.5.0') format('truetype'), - url('#{$icon-font-path}#{$icon-font-awesome}.svg?v=4.5.0##{$icon-font-awesome-id}') format('svg'); + src: url('../fonts/fontawesome-webfont.eot?v=4.1.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg'); font-weight: normal; font-style: normal; } .fa { display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* makes the font 33% larger relative to the icon container */ .fa-lg { - font-size: 1.33333333em; + font-size: 1.3333333333333333em; line-height: 0.75em; vertical-align: -15%; } @@ -39,12 +39,12 @@ font-size: 5em; } .fa-fw { - width: 1.28571429em; + width: 1.2857142857142858em; text-align: center; } .fa-ul { padding-left: 0; - margin-left: 2.14285714em; + margin-left: 2.142857142857143em; list-style-type: none; } .fa-ul > li { @@ -52,32 +52,19 @@ } .fa-li { position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; + left: -2.142857142857143em; + width: 2.142857142857143em; + top: 0.14285714285714285em; text-align: center; } .fa-li.fa-lg { - left: -1.85714286em; + left: -1.8571428571428572em; } .fa-border { padding: .2em .25em .15em; border: solid 0.08em #eeeeee; border-radius: .1em; } -.fa-pull-left { - float: left; -} -.fa-pull-right { - float: right; -} -.fa.fa-pull-left { - margin-right: .3em; -} -.fa.fa-pull-right { - margin-left: .3em; -} -/* Deprecated as of 4.4.0 */ .pull-right { float: right; } @@ -91,24 +78,36 @@ margin-left: .3em; } .fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; } -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } } -@-webkit-keyframes fa-spin { +@-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); - transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); - transform: rotate(359deg); } } -@keyframes fa-spin { +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); @@ -121,40 +120,43 @@ .fa-rotate-90 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); transform: rotate(90deg); } .fa-rotate-180 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); transform: rotate(180deg); } .fa-rotate-270 { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); transform: rotate(270deg); } .fa-flip-horizontal { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); transform: scale(-1, 1); } .fa-flip-vertical { filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); transform: scale(1, -1); } -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} .fa-stack { position: relative; display: inline-block; @@ -220,8 +222,6 @@ .fa-check:before { content: "\f00c"; } -.fa-remove:before, -.fa-close:before, .fa-times:before { content: "\f00d"; } @@ -551,8 +551,7 @@ .fa-arrows-h:before { content: "\f07e"; } -.fa-bar-chart-o:before, -.fa-bar-chart:before { +.fa-bar-chart-o:before { content: "\f080"; } .fa-twitter-square:before { @@ -628,7 +627,6 @@ .fa-twitter:before { content: "\f099"; } -.fa-facebook-f:before, .fa-facebook:before { content: "\f09a"; } @@ -641,7 +639,6 @@ .fa-credit-card:before { content: "\f09d"; } -.fa-feed:before, .fa-rss:before { content: "\f09e"; } @@ -1279,8 +1276,7 @@ .fa-male:before { content: "\f183"; } -.fa-gittip:before, -.fa-gratipay:before { +.fa-gittip:before { content: "\f184"; } .fa-sun-o:before { @@ -1384,6 +1380,7 @@ .fa-digg:before { content: "\f1a6"; } +.fa-pied-piper-square:before, .fa-pied-piper:before { content: "\f1a7"; } @@ -1500,7 +1497,6 @@ content: "\f1cc"; } .fa-life-bouy:before, -.fa-life-buoy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before { @@ -1523,8 +1519,6 @@ .fa-git:before { content: "\f1d3"; } -.fa-y-combinator-square:before, -.fa-yc-square:before, .fa-hacker-news:before { content: "\f1d4"; } @@ -1570,525 +1564,3 @@ .fa-bomb:before { content: "\f1e2"; } -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\f1e3"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bell-slash-o:before { - content: "\f1f7"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-eyedropper:before { - content: "\f1fb"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-area-chart:before { - content: "\f1fe"; -} -.fa-pie-chart:before { - content: "\f200"; -} -.fa-line-chart:before { - content: "\f201"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-cc:before { - content: "\f20a"; -} -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\f20b"; -} -.fa-meanpath:before { - content: "\f20c"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-diamond:before { - content: "\f219"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-intersex:before, -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-genderless:before { - content: "\f22d"; -} -.fa-facebook-official:before { - content: "\f230"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-server:before { - content: "\f233"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-hotel:before, -.fa-bed:before { - content: "\f236"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-train:before { - content: "\f238"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-medium:before { - content: "\f23a"; -} -.fa-yc:before, -.fa-y-combinator:before { - content: "\f23b"; -} -.fa-optin-monster:before { - content: "\f23c"; -} -.fa-opencart:before { - content: "\f23d"; -} -.fa-expeditedssl:before { - content: "\f23e"; -} -.fa-battery-4:before, -.fa-battery-full:before { - content: "\f240"; -} -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: "\f241"; -} -.fa-battery-2:before, -.fa-battery-half:before { - content: "\f242"; -} -.fa-battery-1:before, -.fa-battery-quarter:before { - content: "\f243"; -} -.fa-battery-0:before, -.fa-battery-empty:before { - content: "\f244"; -} -.fa-mouse-pointer:before { - content: "\f245"; -} -.fa-i-cursor:before { - content: "\f246"; -} -.fa-object-group:before { - content: "\f247"; -} -.fa-object-ungroup:before { - content: "\f248"; -} -.fa-sticky-note:before { - content: "\f249"; -} -.fa-sticky-note-o:before { - content: "\f24a"; -} -.fa-cc-jcb:before { - content: "\f24b"; -} -.fa-cc-diners-club:before { - content: "\f24c"; -} -.fa-clone:before { - content: "\f24d"; -} -.fa-balance-scale:before { - content: "\f24e"; -} -.fa-hourglass-o:before { - content: "\f250"; -} -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: "\f251"; -} -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: "\f252"; -} -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: "\f253"; -} -.fa-hourglass:before { - content: "\f254"; -} -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: "\f255"; -} -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: "\f256"; -} -.fa-hand-scissors-o:before { - content: "\f257"; -} -.fa-hand-lizard-o:before { - content: "\f258"; -} -.fa-hand-spock-o:before { - content: "\f259"; -} -.fa-hand-pointer-o:before { - content: "\f25a"; -} -.fa-hand-peace-o:before { - content: "\f25b"; -} -.fa-trademark:before { - content: "\f25c"; -} -.fa-registered:before { - content: "\f25d"; -} -.fa-creative-commons:before { - content: "\f25e"; -} -.fa-gg:before { - content: "\f260"; -} -.fa-gg-circle:before { - content: "\f261"; -} -.fa-tripadvisor:before { - content: "\f262"; -} -.fa-odnoklassniki:before { - content: "\f263"; -} -.fa-odnoklassniki-square:before { - content: "\f264"; -} -.fa-get-pocket:before { - content: "\f265"; -} -.fa-wikipedia-w:before { - content: "\f266"; -} -.fa-safari:before { - content: "\f267"; -} -.fa-chrome:before { - content: "\f268"; -} -.fa-firefox:before { - content: "\f269"; -} -.fa-opera:before { - content: "\f26a"; -} -.fa-internet-explorer:before { - content: "\f26b"; -} -.fa-tv:before, -.fa-television:before { - content: "\f26c"; -} -.fa-contao:before { - content: "\f26d"; -} -.fa-500px:before { - content: "\f26e"; -} -.fa-amazon:before { - content: "\f270"; -} -.fa-calendar-plus-o:before { - content: "\f271"; -} -.fa-calendar-minus-o:before { - content: "\f272"; -} -.fa-calendar-times-o:before { - content: "\f273"; -} -.fa-calendar-check-o:before { - content: "\f274"; -} -.fa-industry:before { - content: "\f275"; -} -.fa-map-pin:before { - content: "\f276"; -} -.fa-map-signs:before { - content: "\f277"; -} -.fa-map-o:before { - content: "\f278"; -} -.fa-map:before { - content: "\f279"; -} -.fa-commenting:before { - content: "\f27a"; -} -.fa-commenting-o:before { - content: "\f27b"; -} -.fa-houzz:before { - content: "\f27c"; -} -.fa-vimeo:before { - content: "\f27d"; -} -.fa-black-tie:before { - content: "\f27e"; -} -.fa-fonticons:before { - content: "\f280"; -} -.fa-reddit-alien:before { - content: "\f281"; -} -.fa-edge:before { - content: "\f282"; -} -.fa-credit-card-alt:before { - content: "\f283"; -} -.fa-codiepie:before { - content: "\f284"; -} -.fa-modx:before { - content: "\f285"; -} -.fa-fort-awesome:before { - content: "\f286"; -} -.fa-usb:before { - content: "\f287"; -} -.fa-product-hunt:before { - content: "\f288"; -} -.fa-mixcloud:before { - content: "\f289"; -} -.fa-scribd:before { - content: "\f28a"; -} -.fa-pause-circle:before { - content: "\f28b"; -} -.fa-pause-circle-o:before { - content: "\f28c"; -} -.fa-stop-circle:before { - content: "\f28d"; -} -.fa-stop-circle-o:before { - content: "\f28e"; -} -.fa-shopping-bag:before { - content: "\f290"; -} -.fa-shopping-basket:before { - content: "\f291"; -} -.fa-hashtag:before { - content: "\f292"; -} -.fa-bluetooth:before { - content: "\f293"; -} -.fa-bluetooth-b:before { - content: "\f294"; -} -.fa-percent:before { - content: "\f295"; -} - -[class*='fa-'] { - &:before { - font-weight: 400; - font-family: 'FontAwesome'; - } -} \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/css/tmMultimediaGallery.css b/proposals/fix-and-fresh/mockup/gallery/css/tmMultimediaGallery.css new file mode 100644 index 0000000..edcaa8e --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/css/tmMultimediaGallery.css @@ -0,0 +1,725 @@ +@import url(//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css); +/* Pagination thumbs +========================================================*/ +.inner { + margin: 20px 0px; + list-style: none; + overflow: hidden; +} +.inner > div { + margin: 0; + padding: 0; +} +.inner > div .item { + width: 180px; + height: auto; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: #838383; + position: relative; +} +.inner > div .item a { + display: block; +} +.inner > div .item a > img { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + width: 100%; +} +.inner > div .item a span.magnifier-overlay { + position: absolute; + width: 100%; + height: 100%; + background: #fff; + z-index: 2; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + left: 0px; + top: 0px; + font-size: 24px; + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); + opacity: 0.4; + filter: alpha(opacity=40); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.inner > div .item a span.fa { + position: absolute; + width: 100%; + height: 100%; + z-index: 5; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + left: 0px; + top: 0px; + font-size: 24px; + color: #000; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.inner > div .item a span.fa:before { + position: absolute; + top: 50%; + left: 50%; + margin-left: -10px; + margin-top: -12px; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); +} +.inner > div .item > a:hover, +.inner > div .item.active > a { + text-decoration: none; +} +.inner > div .item > a:hover span, +.inner > div .item.active > a span { + text-decoration: none; +} +.inner > div .item > a:hover span.magnifier-overlay, +.inner > div .item.active > a span.magnifier-overlay { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.inner > div .item > a:hover span.fa:before, +.inner > div .item.active > a span.fa:before { + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(1.2, 1.2); + -ms-transform: scale(1.2, 1.2); + transform: scale(1.2, 1.2); +} +/* gallery load spinner +========================================================*/ +.content-load-spinner { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(../images/gallery-loader-list.gif) #f1f1f1 50% 50% no-repeat; + z-index: 1000; + overflow: hidden; +} +/* Inner carousel pagination +========================================================*/ +.galleryContainer .inner .item { + width: auto; + padding: 0; + border: none; +} +.carousel-holder { + overflow: hidden; + z-index: 1; + margin: 0 auto; + padding: 0; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + bottom: -80px; + position: absolute; + width: 100%; + height: 50px; +} +.carousel-holder.show { + bottom: 25px; +} +.carousel.inner { + list-style: none; + overflow: hidden; + margin: 0 50px; +} +.carousel.inner > div { + position: relative; + height: 100%; + white-space: nowrap; + margin: 0 auto; + padding: 0; +} +.carousel.inner > div > div { + display: inline-block; +} +.carousel.inner > div .item { + position: relative; + width: auto; + height: 50px; + border: none; + padding: 0; + margin: 0; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.carousel.inner > div .item a { + display: block; +} +.carousel.inner > div .item a > img { + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + width: auto; + height: 50px; +} +.carousel.inner > div .item a span.magnifier-overlay { + position: absolute; + width: 100%; + height: 100%; + background: #000; + z-index: 2; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + left: 0px; + top: 0px; + font-size: 24px; + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + opacity: 0; + filter: alpha(opacity=0); +} +.carousel.inner > div .item a span.fa { + display: none !important; +} +.carousel.inner > div .item a span.fa:before { + position: absolute; + top: 50%; + left: 50%; + margin-left: -10px; + margin-top: -12px; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); +} +.carousel.inner > div .item > a:hover, +.carousel.inner > div .item.active > a { + text-decoration: none; +} +.carousel.inner > div .item > a:hover span.magnifier-overlay, +.carousel.inner > div .item.active > a span.magnifier-overlay { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + opacity: 0.6; + filter: alpha(opacity=60); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.carousel.inner > div .item > a:hover span.fa:before, +.carousel.inner > div .item.active > a span.fa:before { + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(1.2, 1.2); + -ms-transform: scale(1.2, 1.2); + transform: scale(1.2, 1.2); +} +/* Gallery bg +========================================================*/ +body.galleryOpen { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; +} +body.galleryOpen .galleryContainer { + position: absolute; + z-index: 1000; + width: 100% !important; + height: 100% !important; +} +body.galleryOpen #content { + height: 0 !important; + overflow: hidden; +} +.galleryContainer { + position: relative; + top: 0; + left: 0; + width: 100% !important; + height: 0 !important; + overflow: hidden; + /*.perspective(1000px);*/ +} +.galleryContainer.animationDisable { + -webkit-transition: none; + transition: none; +} +.galleryContainer.animationDisable * { + -webkit-transition: none; + transition: none; +} +.galleryHolder { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + z-index: 0 !important; + background: #191919; +} +.imageHolder { + position: relative; + width: 100%; + height: 100%; + z-index: 0; + cursor: default; + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; +} +.imageHolder .frontImg, +.imageHolder .backImg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1; + overflow: hidden; + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; +} +.imageHolder .frontImg, +.imageHolder .backImg { + z-index: 2; + /*.rotateX(0deg);*/ + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); +} +.imageHolder .backImg { + /*.rotateX(-180deg);*/ + -webkit-transform: scale(2, 2); + -ms-transform: scale(2, 2); + transform: scale(2, 2); + opacity: 0; + filter: alpha(opacity=0); +} +.imageHolder.scale { + -webkit-transform: scale(0.75, ); + -ms-transform: scale(0.75, ); + transform: scale(0.75, ); +} +.imageHolder.flip { + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; + /*.rotateX(180deg);*/ +} +.imageHolder.flip .frontImg { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transform: scale(2, 2); + -ms-transform: scale(2, 2); + transform: scale(2, 2); +} +.imageHolder.flip .backImg { + opacity: 100; + filter: alpha(opacity=10000); + /*.rotateX(-180deg);*/ + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); +} +.imageHolder.ie9 { + -webkit-transform: scale(1, 1) !important; + -ms-transform: scale(1, 1) !important; + transform: scale(1, 1) !important; +} +.imageHolder.ie9 .frontImg, +.imageHolder.ie9 .backImg { + -webkit-transform: scale(1, 1) !important; + -ms-transform: scale(1, 1) !important; + transform: scale(1, 1) !important; +} +.imageHolder.videoInside { + cursor: pointer; +} +.animation { + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; +} +/* Description +========================================================*/ +.galleryDescription { + position: absolute; + left: -500px; + right: 0; + height: 0; + top: 80px; + overflow: hidden; + padding: 0px; + margin: 0px; + list-style: none; + z-index: 10; + width: 500px; + -webkit-transition: left 0.3s ease; + transition: left 0.3s ease; +} +.galleryDescription.show { + left: 0; +} +.galleryDescription ul li { + position: absolute; + bottom: -200%; + width: 100%; + height: auto; + background: rgba(0, 0, 0, 0.5); + padding: 15px 20px; + right: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: left 0.2s ease-in-out; + transition: left 0.2s ease-in-out; +} +.galleryDescription ul li.active { + display: block; + bottom: 0; + -webkit-transition: left 0.7s ease-in-out; + transition: left 0.7s ease-in-out; + -webkit-transition-delay: 0.8s; + transition-delay: 0.8s; +} +.galleryDescription ul li p { + text-align: left; + color: white; + line-height: 1.2em; + margin: 0px 0px 0px 0px; +} +.galleryDescription ul li p:first-child { + font-size: 35px; + line-height: 1em; + padding-right: 40px; +} +.galleryDescription .description_list { + width: 500px; +} +@media only screen and (max-width: 768px) { + .galleryDescription { + width: 300px; + } +} +/* Spinner +========================================================*/ +.imgSpinner { + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + z-index: 99; + background: url(../images/gallery-loader.gif) center no-repeat #191919; + background-size: 30px 30px; + border-radius: 500px; + margin: -24px 0 0 -24px; + -webkit-transition: all 0.4s ease; + transition: all 0.4s ease; + opacity: 0; + filter: alpha(opacity=0); + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); +} +.imgSpinner.spinnerShow { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); +} +/* ======================================================== + Buttons +========================================================*/ +/* Navigation Bar for gallery and carousel +========================================================*/ +/* Prev Button +========================================================*/ +.prevButton { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + background: rgba(0, 0, 0, 0.5); + padding: 1px 12px 1px 8px; + border-radius: 10px; + top: 50%; + margin-top: -30px; +} +.prevButton i { + position: relative; + font-size: 60px; + line-height: 60px; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.prevButton:hover i { + color: #cccccc; +} +.prevButton { + left: -50px; +} +.prevButton.showButton { + left: 10px; +} +@media only screen and (max-width: 480px) { + .prevButton i { + font-size: 40px; + line-height: 40px; + } +} +.prev { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + bottom: 10px; +} +.prev i { + font-size: 30px; + line-height: 32px; + position: relative; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.prev:hover i { + color: #d05252; +} +.prev { + left: 15px; +} +.prev.hide-button { + display: none !important; +} +/* Next Button +========================================================*/ +.nextButton { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + background: rgba(0, 0, 0, 0.5); + padding: 1px 8px 1px 12px; + border-radius: 10px; + top: 50%; + margin-top: -30px; +} +.nextButton i { + position: relative; + font-size: 60px; + line-height: 60px; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.nextButton:hover i { + color: #cccccc; +} +.nextButton { + right: -50px; +} +.nextButton.showButton { + right: 10px; +} +@media only screen and (max-width: 480px) { + .nextButton i { + font-size: 40px; + line-height: 40px; + } +} +.next { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + bottom: 10px; + text-align: right; +} +.next i { + font-size: 30px; + line-height: 32px; + position: relative; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.next:hover i { + color: #d05252; +} +.next { + right: 15px; +} +.next.hide-button { + display: none !important; +} +/* Close Button +========================================================*/ +.close-icon { + background: rgba(0, 0, 0, 0.5); + /* opacity: 0.5; */ + border-radius: 100%; + width: 100px; + height: 100px; + top: -120px; + right: -120px; + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + z-index: 100; +} +.close-icon i { + position: relative; + font-size: 50px; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.close-icon .fa { + top: 63px; + font-size: 20px; + font-weight: 100; + color: #ffffff; + left: 23px; +} +.close-icon:hover { + text-decoration: none; +} +.close-icon:hover i { + color: #d05252; +} +.close-icon.showButton { + top: -54px; + right: -49px; +} +/* Info Button +========================================================*/ +.info-icon { + background: rgba(0, 0, 0, 0.5); + /* opacity: 0.5; */ + border-radius: 100%; + width: 100px; + height: 100px; + top: -120px; + left: -120px; + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + z-index: 100; + color: #fff; +} +.info-icon.showButton { + top: -54px; + left: -49px; +} +.info-icon i { + position: relative; + font-size: 50px; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.info-icon .fa { + top: 63px; + font-size: 20px; + font-weight: 100; + color: #ffffff; + right: -63px; +} +.info-icon:hover { + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.close-info-icon { + position: absolute; + right: 10px; + top: 10px; + left: auto; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.close-info-icon i { + color: #fff !important; + font-size: 30px; +} +.close-info-icon:hover > i { + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +/* Play Button +========================================================*/ +.playButton, +.pauseButton { + left: 50%; + top: -100px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.playButton.showButton, +.pauseButton.showButton { + transition-delay: 0.3s; + top: 50%; +} +.playButton { + margin: -27px -24px 0 0; +} +.pauseButton { + margin: -27px -24px 0 0; +} +/* end gallery bg*/ +/* 3D mixins +========================================================*/ +.flipX { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} +.flipY { + -moz-transform: scaleY(-1); + -o-transform: scaleY(-1); + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + filter: FlipV; + -ms-filter: "FlipV"; +} +.flipXY { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; + -moz-transform: scaleY(-1); + -o-transform: scaleY(-1); + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + filter: FlipV; + -ms-filter: "FlipV"; +} diff --git a/proposals/fix-and-fresh/mockup/gallery/fonts/FontAwesome.otf b/proposals/fix-and-fresh/mockup/gallery/fonts/FontAwesome.otf new file mode 100644 index 0000000..3461e3f Binary files /dev/null and b/proposals/fix-and-fresh/mockup/gallery/fonts/FontAwesome.otf differ diff --git a/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.eot b/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..6cfd566 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.eot differ diff --git a/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.svg b/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..a9f8469 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.woff b/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..9eaecb3 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/gallery/fonts/fontawesome-webfont.woff differ diff --git a/proposals/fix-and-fresh/mockup/gallery/images/_gallery-loader-list.gif b/proposals/fix-and-fresh/mockup/gallery/images/_gallery-loader-list.gif new file mode 100644 index 0000000..c8aef37 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/gallery/images/_gallery-loader-list.gif differ diff --git a/proposals/fix-and-fresh/mockup/gallery/images/gallery-loader-list.gif b/proposals/fix-and-fresh/mockup/gallery/images/gallery-loader-list.gif new file mode 100644 index 0000000..3c329ff Binary files /dev/null and b/proposals/fix-and-fresh/mockup/gallery/images/gallery-loader-list.gif differ diff --git a/proposals/fix-and-fresh/mockup/gallery/images/gallery-loader.gif b/proposals/fix-and-fresh/mockup/gallery/images/gallery-loader.gif new file mode 100644 index 0000000..293ed60 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/gallery/images/gallery-loader.gif differ diff --git a/proposals/fix-and-fresh/mockup/gallery/js/isotope.pkgd.min.js b/proposals/fix-and-fresh/mockup/gallery/js/isotope.pkgd.min.js new file mode 100644 index 0000000..c225f67 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/isotope.pkgd.min.js @@ -0,0 +1,8 @@ +/*! + * Isotope PACKAGED v2.0.0 + * Filter & sort magical layouts + * http://isotope.metafizzy.co + */ + +(function(t){function e(){}function i(t){function i(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function n(e,i){t.fn[e]=function(n){if("string"==typeof n){for(var s=o.call(arguments,1),a=0,u=this.length;u>a;a++){var p=this[a],h=t.data(p,e);if(h)if(t.isFunction(h[n])&&"_"!==n.charAt(0)){var f=h[n].apply(h,s);if(void 0!==f)return f}else r("no such method '"+n+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; "+"attempted to call '"+n+"'")}return this}return this.each(function(){var o=t.data(this,e);o?(o.option(n),o._init()):(o=new i(this,n),t.data(this,e,o))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};return t.bridget=function(t,e){i(e),n(t,e)},t.bridget}}var o=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],i):i(t.jQuery)})(window),function(t){function e(e){var i=t.event;return i.target=i.target||i.srcElement||e,i}var i=document.documentElement,o=function(){};i.addEventListener?o=function(t,e,i){t.addEventListener(e,i,!1)}:i.attachEvent&&(o=function(t,i,o){t[i+o]=o.handleEvent?function(){var i=e(t);o.handleEvent.call(o,i)}:function(){var i=e(t);o.call(t,i)},t.attachEvent("on"+i,t[i+o])});var n=function(){};i.removeEventListener?n=function(t,e,i){t.removeEventListener(e,i,!1)}:i.detachEvent&&(n=function(t,e,i){t.detachEvent("on"+e,t[e+i]);try{delete t[e+i]}catch(o){t[e+i]=void 0}});var r={bind:o,unbind:n};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}(this),function(t){function e(t){"function"==typeof t&&(e.isReady?t():r.push(t))}function i(t){var i="readystatechange"===t.type&&"complete"!==n.readyState;if(!e.isReady&&!i){e.isReady=!0;for(var o=0,s=r.length;s>o;o++){var a=r[o];a()}}}function o(o){return o.bind(n,"DOMContentLoaded",i),o.bind(n,"readystatechange",i),o.bind(t,"load",i),e}var n=t.document,r=[];e.isReady=!1,"function"==typeof define&&define.amd?(e.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],o)):t.docReady=o(t.eventie)}(this),function(){function t(){}function e(t,e){for(var i=t.length;i--;)if(t[i].listener===e)return i;return-1}function i(t){return function(){return this[t].apply(this,arguments)}}var o=t.prototype,n=this,r=n.EventEmitter;o.getListeners=function(t){var e,i,o=this._getEvents();if(t instanceof RegExp){e={};for(i in o)o.hasOwnProperty(i)&&t.test(i)&&(e[i]=o[i])}else e=o[t]||(o[t]=[]);return e},o.flattenListeners=function(t){var e,i=[];for(e=0;t.length>e;e+=1)i.push(t[e].listener);return i},o.getListenersAsObject=function(t){var e,i=this.getListeners(t);return i instanceof Array&&(e={},e[t]=i),e||i},o.addListener=function(t,i){var o,n=this.getListenersAsObject(t),r="object"==typeof i;for(o in n)n.hasOwnProperty(o)&&-1===e(n[o],i)&&n[o].push(r?i:{listener:i,once:!1});return this},o.on=i("addListener"),o.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},o.once=i("addOnceListener"),o.defineEvent=function(t){return this.getListeners(t),this},o.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},o.removeListener=function(t,i){var o,n,r=this.getListenersAsObject(t);for(n in r)r.hasOwnProperty(n)&&(o=e(r[n],i),-1!==o&&r[n].splice(o,1));return this},o.off=i("removeListener"),o.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},o.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},o.manipulateListeners=function(t,e,i){var o,n,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(o=i.length;o--;)r.call(this,e,i[o]);else for(o in e)e.hasOwnProperty(o)&&(n=e[o])&&("function"==typeof n?r.call(this,o,n):s.call(this,o,n));return this},o.removeEvent=function(t){var e,i=typeof t,o=this._getEvents();if("string"===i)delete o[t];else if(t instanceof RegExp)for(e in o)o.hasOwnProperty(e)&&t.test(e)&&delete o[e];else delete this._events;return this},o.removeAllListeners=i("removeEvent"),o.emitEvent=function(t,e){var i,o,n,r,s=this.getListenersAsObject(t);for(n in s)if(s.hasOwnProperty(n))for(o=s[n].length;o--;)i=s[n][o],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);return this},o.trigger=i("emitEvent"),o.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},o.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},o._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},o._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return n.EventEmitter=r,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(t){function e(t){if(t){if("string"==typeof o[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,n=0,r=i.length;r>n;n++)if(e=i[n]+t,"string"==typeof o[e])return e}}var i="Webkit Moz ms Ms O".split(" "),o=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return e}):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}(window),function(t){function e(t){var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);return i&&e}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,i=s.length;i>e;e++){var o=s[e];t[o]=0}return t}function o(t){function o(t){if("string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var o=r(t);if("none"===o.display)return i();var n={};n.width=t.offsetWidth,n.height=t.offsetHeight;for(var h=n.isBorderBox=!(!p||!o[p]||"border-box"!==o[p]),f=0,c=s.length;c>f;f++){var d=s[f],l=o[d];l=a(t,l);var y=parseFloat(l);n[d]=isNaN(y)?0:y}var m=n.paddingLeft+n.paddingRight,g=n.paddingTop+n.paddingBottom,v=n.marginLeft+n.marginRight,_=n.marginTop+n.marginBottom,I=n.borderLeftWidth+n.borderRightWidth,L=n.borderTopWidth+n.borderBottomWidth,z=h&&u,S=e(o.width);S!==!1&&(n.width=S+(z?0:m+I));var b=e(o.height);return b!==!1&&(n.height=b+(z?0:g+L)),n.innerWidth=n.width-(m+I),n.innerHeight=n.height-(g+L),n.outerWidth=n.width+v,n.outerHeight=n.height+_,n}}function a(t,e){if(n||-1===e.indexOf("%"))return e;var i=t.style,o=i.left,r=t.runtimeStyle,s=r&&r.left;return s&&(r.left=t.currentStyle.left),i.left=e,e=i.pixelLeft,i.left=o,s&&(r.left=s),e}var u,p=t("boxSizing");return function(){if(p){var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[p]="border-box";var i=document.body||document.documentElement;i.appendChild(t);var o=r(t);u=200===e(o.width),i.removeChild(t)}}(),o}var n=t.getComputedStyle,r=n?function(t){return n(t,null)}:function(t){return t.currentStyle},s=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],o):"object"==typeof exports?module.exports=o(require("get-style-property")):t.getSize=o(t.getStyleProperty)}(window),function(t,e){function i(t,e){return t[a](e)}function o(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function n(t,e){o(t);for(var i=t.parentNode.querySelectorAll(e),n=0,r=i.length;r>n;n++)if(i[n]===t)return!0;return!1}function r(t,e){return o(t),i(t,e)}var s,a=function(){if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],i=0,o=t.length;o>i;i++){var n=t[i],r=n+"MatchesSelector";if(e[r])return r}}();if(a){var u=document.createElement("div"),p=i(u,"div");s=p?i:r}else s=n;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return s}):window.matchesSelector=s}(this,Element.prototype),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){for(var e in t)return!1;return e=null,!0}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function n(t,n,r){function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var u=r("transition"),p=r("transform"),h=u&&p,f=!!r("perspective"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[u],d=["transform","transition","transitionDuration","transitionProperty"],l=function(){for(var t={},e=0,i=d.length;i>e;e++){var o=d[e],n=r(o);n&&n!==o&&(t[o]=n)}return t}();e(a.prototype,t.prototype),a.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},a.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},a.prototype.getSize=function(){this.size=n(this.element)},a.prototype.css=function(t){var e=this.element.style;for(var i in t){var o=l[i]||i;e[o]=t[i]}},a.prototype.getPosition=function(){var t=s(this.element),e=this.layout.options,i=e.isOriginLeft,o=e.isOriginTop,n=parseInt(t[i?"left":"right"],10),r=parseInt(t[o?"top":"bottom"],10);n=isNaN(n)?0:n,r=isNaN(r)?0:r;var a=this.layout.size;n-=i?a.paddingLeft:a.paddingRight,r-=o?a.paddingTop:a.paddingBottom,this.position.x=n,this.position.y=r},a.prototype.layoutPosition=function(){var t=this.layout.size,e=this.layout.options,i={};e.isOriginLeft?(i.left=this.position.x+t.paddingLeft+"px",i.right=""):(i.right=this.position.x+t.paddingRight+"px",i.left=""),e.isOriginTop?(i.top=this.position.y+t.paddingTop+"px",i.bottom=""):(i.bottom=this.position.y+t.paddingBottom+"px",i.top=""),this.css(i),this.emitEvent("layout",[this])};var y=f?function(t,e){return"translate3d("+t+"px, "+e+"px, 0)"}:function(t,e){return"translate("+t+"px, "+e+"px)"};a.prototype._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=parseInt(t,10),r=parseInt(e,10),s=n===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return this.layoutPosition(),void 0;var a=t-i,u=e-o,p={},h=this.layout.options;a=h.isOriginLeft?a:-a,u=h.isOriginTop?u:-u,p.transform=y(a,u),this.transition({to:p,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},a.prototype.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},a.prototype.moveTo=h?a.prototype._transitionTo:a.prototype.goTo,a.prototype.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},a.prototype._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},a.prototype._transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return this._nonTransition(t),void 0;var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var o=this.element.offsetHeight;o=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var m=p&&o(p)+",opacity";a.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:m,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(c,this,!1))},a.prototype.transition=a.prototype[u?"_transition":"_nonTransition"],a.prototype.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},a.prototype.onotransitionend=function(t){this.ontransitionend(t)};var g={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};a.prototype.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,o=g[t.propertyName]||t.propertyName;if(delete e.ingProperties[o],i(e.ingProperties)&&this.disableTransition(),o in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[o]),o in e.onEnd){var n=e.onEnd[o];n.call(this),delete e.onEnd[o]}this.emitEvent("transitionEnd",[this])}},a.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(c,this,!1),this.isTransitioning=!1},a.prototype._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var v={transitionProperty:"",transitionDuration:""};return a.prototype.removeTransitionStyles=function(){this.css(v)},a.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},a.prototype.remove=function(){if(!u||!parseFloat(this.layout.options.transitionDuration))return this.removeElem(),void 0;var t=this;this.on("transitionEnd",function(){return t.removeElem(),!0}),this.hide()},a.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options;this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0})},a.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options;this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},a.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}var r=t.getComputedStyle,s=r?function(t){return r(t,null)}:function(t){return t.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],n):(t.Outlayer={},t.Outlayer.Item=n(t.EventEmitter,t.getSize,t.getStyleProperty))}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===f.call(t)}function o(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=d(e,t);-1!==i&&e.splice(i,1)}function r(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}function s(i,s,f,d,l,y){function m(t,i){if("string"==typeof t&&(t=a.querySelector(t)),!t||!c(t))return u&&u.error("Bad "+this.constructor.namespace+" element: "+t),void 0;this.element=t,this.options=e({},this.constructor.defaults),this.option(i);var o=++g;this.element.outlayerGUID=o,v[o]=this,this._create(),this.options.isInitLayout&&this.layout()}var g=0,v={};return m.namespace="outlayer",m.Item=y,m.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e(m.prototype,f.prototype),m.prototype.option=function(t){e(this.options,t)},m.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},m.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},m.prototype._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0,r=e.length;r>n;n++){var s=e[n],a=new i(s,this);o.push(a)}return o},m.prototype._filterFindItemElements=function(t){t=o(t);for(var e=this.options.itemSelector,i=[],n=0,r=t.length;r>n;n++){var s=t[n];if(c(s))if(e){l(s,e)&&i.push(s);for(var a=s.querySelectorAll(e),u=0,p=a.length;p>u;u++)i.push(a[u])}else i.push(s)}return i},m.prototype.getItemElements=function(){for(var t=[],e=0,i=this.items.length;i>e;e++)t.push(this.items[e].element);return t},m.prototype.layout=function(){this._resetLayout(),this._manageStamps();var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},m.prototype._init=m.prototype.layout,m.prototype._resetLayout=function(){this.getSize()},m.prototype.getSize=function(){this.size=d(this.element)},m.prototype._getMeasurement=function(t,e){var i,o=this.options[t];o?("string"==typeof o?i=this.element.querySelector(o):c(o)&&(i=o),this[t]=i?d(i)[e]:o):this[t]=0},m.prototype.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},m.prototype._getItemsForLayout=function(t){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i];n.isIgnored||e.push(n)}return e},m.prototype._layoutItems=function(t,e){function i(){o.emitEvent("layoutComplete",[o,t])}var o=this;if(!t||!t.length)return i(),void 0;this._itemsOn(t,"layout",i);for(var n=[],r=0,s=t.length;s>r;r++){var a=t[r],u=this._getItemLayoutPosition(a);u.item=a,u.isInstant=e||a.isLayoutInstant,n.push(u)}this._processLayoutQueue(n)},m.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},m.prototype._processLayoutQueue=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];this._positionItem(o.item,o.x,o.y,o.isInstant)}},m.prototype._positionItem=function(t,e,i,o){o?t.goTo(e,i):t.moveTo(e,i)},m.prototype._postLayout=function(){this.resizeContainer()},m.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},m.prototype._getContainerSize=h,m.prototype._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},m.prototype._itemsOn=function(t,e,i){function o(){return n++,n===r&&i.call(s),!0}for(var n=0,r=t.length,s=this,a=0,u=t.length;u>a;a++){var p=t[a];p.on(e,o)}},m.prototype.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},m.prototype.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},m.prototype.stamp=function(t){if(t=this._find(t)){this.stamps=this.stamps.concat(t);for(var e=0,i=t.length;i>e;e++){var o=t[e];this.ignore(o)}}},m.prototype.unstamp=function(t){if(t=this._find(t))for(var e=0,i=t.length;i>e;e++){var o=t[e];n(o,this.stamps),this.unignore(o)}},m.prototype._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=o(t)):void 0},m.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var t=0,e=this.stamps.length;e>t;t++){var i=this.stamps[t];this._manageStamp(i)}}},m.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},m.prototype._manageStamp=h,m.prototype._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,o=d(t),n={left:e.left-i.left-o.marginLeft,top:e.top-i.top-o.marginTop,right:i.right-e.right-o.marginRight,bottom:i.bottom-e.bottom-o.marginBottom};return n},m.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},m.prototype.bindResize=function(){this.isResizeBound||(i.bind(t,"resize",this),this.isResizeBound=!0)},m.prototype.unbindResize=function(){this.isResizeBound&&i.unbind(t,"resize",this),this.isResizeBound=!1},m.prototype.onresize=function(){function t(){e.resize(),delete e.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var e=this;this.resizeTimeout=setTimeout(t,100)},m.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},m.prototype.needsResizeLayout=function(){var t=d(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},m.prototype.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},m.prototype.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},m.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},m.prototype.reveal=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.reveal()}},m.prototype.hide=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.hide()}},m.prototype.getItem=function(t){for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];if(o.element===t)return o}},m.prototype.getItems=function(t){if(t&&t.length){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i],r=this.getItem(n);r&&e.push(r)}return e}},m.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(e&&e.length){this._itemsOn(e,"remove",function(){this.emitEvent("removeComplete",[this,e])});for(var i=0,r=e.length;r>i;i++){var s=e[i];s.remove(),n(s,this.items)}}},m.prototype.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="";for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];o.destroy()}this.unbindResize(),delete this.element.outlayerGUID,p&&p.removeData(this.element,this.constructor.namespace)},m.data=function(t){var e=t&&t.outlayerGUID;return e&&v[e]},m.create=function(t,i){function o(){m.apply(this,arguments)}return Object.create?o.prototype=Object.create(m.prototype):e(o.prototype,m.prototype),o.prototype.constructor=o,o.defaults=e({},m.defaults),e(o.defaults,i),o.prototype.settings={},o.namespace=t,o.data=m.data,o.Item=function(){y.apply(this,arguments)},o.Item.prototype=new y,s(function(){for(var e=r(t),i=a.querySelectorAll(".js-"+e),n="data-"+e+"-options",s=0,h=i.length;h>s;s++){var f,c=i[s],d=c.getAttribute(n);try{f=d&&JSON.parse(d)}catch(l){u&&u.error("Error parsing "+n+" on "+c.nodeName.toLowerCase()+(c.id?"#"+c.id:"")+": "+l);continue}var y=new o(c,f);p&&p.data(c,t,y)}}),p&&p.bridget&&p.bridget(t,o),o},m.Item=y,m}var a=t.document,u=t.console,p=t.jQuery,h=function(){},f=Object.prototype.toString,c="object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName},d=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],s):t.Outlayer=s(t.eventie,t.docReady,t.EventEmitter,t.getSize,t.matchesSelector,t.Outlayer.Item)}(window),function(t){function e(t){function e(){t.Item.apply(this,arguments)}return e.prototype=new t.Item,e.prototype._create=function(){this.id=this.layout.itemGUID++,t.Item.prototype._create.call(this),this.sortData={}},e.prototype.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}},e}"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window),function(t){function e(t,e){function i(t){this.isotope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}return function(){function t(t){return function(){return e.prototype[t].apply(this.isotope,arguments)}}for(var o=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],n=0,r=o.length;r>n;n++){var s=o[n];i.prototype[s]=t(s)}}(),i.prototype.needsVerticalResizeLayout=function(){var e=t(this.isotope.element),i=this.isotope.size&&e;return i&&e.innerHeight!==this.isotope.size.innerHeight},i.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},i.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},i.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},i.prototype.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},i.prototype.getFirstItemSize=function(){var e=this.isotope.filteredItems[0];return e&&e.element&&t(e.element)},i.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},i.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},i.modes={},i.create=function(t,e){function o(){i.apply(this,arguments)}return o.prototype=new i,e&&(o.options=e),o.prototype.namespace=t,i.modes[t]=o,o},i}"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window),function(t){function e(t,e){var o=t.create("masonry");return o.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0);this.maxY=0},o.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},o.prototype.getContainerWidth=function(){var t=this.options.isFitWidth?this.element.parentNode:this.element,i=e(t);this.containerWidth=i&&i.innerWidth},o.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,o=e&&1>e?"round":"ceil",n=Math[o](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var r=this._getColGroup(n),s=Math.min.apply(Math,r),a=i(r,s),u={x:this.columnWidth*a,y:s},p=s+t.size.outerHeight,h=this.cols+1-r.length,f=0;h>f;f++)this.colYs[a+f]=p;return u},o.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;i>o;o++){var n=this.colYs.slice(o,o+t);e[o]=Math.max.apply(Math,n)}return e},o.prototype._manageStamp=function(t){var i=e(t),o=this._getElementOffset(t),n=this.options.isOriginLeft?o.left:o.right,r=n+i.outerWidth,s=Math.floor(n/this.columnWidth);s=Math.max(0,s);var a=Math.floor(r/this.columnWidth);a-=r%this.columnWidth?0:1,a=Math.min(this.cols-1,a);for(var u=(this.options.isOriginTop?o.top:o.bottom)+i.outerHeight,p=s;a>=p;p++)this.colYs[p]=Math.max(u,this.colYs[p])},o.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this.options.isFitWidth&&(t.width=this._getContainerFitWidth()),t},o.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},o.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!==this.containerWidth},o}var i=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++){var n=t[i];if(n===e)return i}return-1};"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],e):t.Masonry=e(t.Outlayer,t.getSize)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t,i){var o=t.create("masonry"),n=o.prototype._getElementOffset,r=o.prototype.layout,s=o.prototype._getMeasurement;e(o.prototype,i.prototype),o.prototype._getElementOffset=n,o.prototype.layout=r,o.prototype._getMeasurement=s;var a=o.prototype.measureColumns;o.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,a.call(this)};var u=o.prototype._manageStamp;return o.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,u.apply(this,arguments)},o}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],i):i(t.Isotope.LayoutMode,t.Masonry)}(window),function(t){function e(t){var e=t.create("fitRows");return e.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0},e.prototype._getItemLayoutPosition=function(t){t.getSize(),0!==this.x&&t.size.outerWidth+this.x>this.isotope.size.innerWidth&&(this.x=0,this.y=this.maxY);var e={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=t.size.outerWidth,e},e.prototype._getContainerSize=function(){return{height:this.maxY}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t){var e=t.create("vertical",{horizontalAlignment:0});return e.prototype._resetLayout=function(){this.y=0},e.prototype._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},e.prototype._getContainerSize=function(){return{height:this.y}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===h.call(t)}function o(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=f(e,t);-1!==i&&e.splice(i,1)}function r(t,i,r,u,h){function f(t,e){return function(i,o){for(var n=0,r=t.length;r>n;n++){var s=t[n],a=i.sortData[s],u=o.sortData[s];if(a>u||u>a){var p=void 0!==e[s]?e[s]:e,h=p?1:-1;return(a>u?1:-1)*h}}return 0}}var c=t.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});c.Item=u,c.LayoutMode=h,c.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),t.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var e in h.modes)this._initLayoutMode(e)},c.prototype.reloadItems=function(){this.itemGUID=0,t.prototype.reloadItems.call(this)},c.prototype._itemize=function(){for(var e=t.prototype._itemize.apply(this,arguments),i=0,o=e.length;o>i;i++){var n=e[i];n.id=this.itemGUID++}return this._updateItemsSortData(e),e},c.prototype._initLayoutMode=function(t){var i=h.modes[t],o=this.options[t]||{};this.options[t]=i.options?e(i.options,o):o,this.modes[t]=new i(this)},c.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?(this.arrange(),void 0):(this._layout(),void 0)},c.prototype._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},c.prototype.arrange=function(t){this.option(t),this._getIsInstant(),this.filteredItems=this._filter(this.items),this._sort(),this._layout()},c.prototype._init=c.prototype.arrange,c.prototype._getIsInstant=function(){var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=t,t},c.prototype._filter=function(t){function e(){f.reveal(n),f.hide(r)}var i=this.options.filter;i=i||"*";for(var o=[],n=[],r=[],s=this._getFilterTest(i),a=0,u=t.length;u>a;a++){var p=t[a];if(!p.isIgnored){var h=s(p);h&&o.push(p),h&&p.isHidden?n.push(p):h||p.isHidden||r.push(p)}}var f=this;return this._isInstant?this._noTransition(e):e(),o},c.prototype._getFilterTest=function(t){return s&&this.options.isJQueryFiltering?function(e){return s(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return r(e.element,t)}},c.prototype.updateSortData=function(t){this._getSorters(),t=o(t);var e=this.getItems(t);e=e.length?e:this.items,this._updateItemsSortData(e) +},c.prototype._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=d(i)}},c.prototype._updateItemsSortData=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];o.updateSortData()}};var d=function(){function t(t){if("string"!=typeof t)return t;var i=a(t).split(" "),o=i[0],n=o.match(/^\[(.+)\]$/),r=n&&n[1],s=e(r,o),u=c.sortDataParsers[i[1]];return t=u?function(t){return t&&u(s(t))}:function(t){return t&&s(t)}}function e(t,e){var i;return i=t?function(e){return e.getAttribute(t)}:function(t){var i=t.querySelector(e);return i&&p(i)}}return t}();c.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},c.prototype._sort=function(){var t=this.options.sortBy;if(t){var e=[].concat.apply(t,this.sortHistory),i=f(e,this.options.sortAscending);this.filteredItems.sort(i),t!==this.sortHistory[0]&&this.sortHistory.unshift(t)}},c.prototype._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw Error("No layout mode: "+t);return e.options=this.options[t],e},c.prototype._resetLayout=function(){t.prototype._resetLayout.call(this),this._mode()._resetLayout()},c.prototype._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},c.prototype._manageStamp=function(t){this._mode()._manageStamp(t)},c.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},c.prototype.needsResizeLayout=function(){return this._mode().needsResizeLayout()},c.prototype.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},c.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps();var o=this._filterRevealAdded(e);this.layoutItems(i),this.filteredItems=o.concat(this.filteredItems)}},c.prototype._filterRevealAdded=function(t){var e=this._noTransition(function(){return this._filter(t)});return this.layoutItems(e,!0),this.reveal(e),t},c.prototype.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;n>i;i++)o=e[i],this.element.appendChild(o.element);var r=this._filter(e);for(this._noTransition(function(){this.hide(r)}),i=0;n>i;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;n>i;i++)delete e[i].isLayoutInstant;this.reveal(r)}};var l=c.prototype.remove;return c.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(l.call(this,t),e&&e.length)for(var i=0,r=e.length;r>i;i++){var s=e[i];n(s,this.filteredItems)}},c.prototype._noTransition=function(t){var e=this.options.transitionDuration;this.options.transitionDuration=0;var i=t.call(this);return this.options.transitionDuration=e,i},c}var s=t.jQuery,a=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},u=document.documentElement,p=u.textContent?function(t){return t.textContent}:function(t){return t.innerText},h=Object.prototype.toString,f=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],r):t.Isotope=r(t.Outlayer,t.getSize,t.matchesSelector,t.Isotope.Item,t.Isotope.LayoutMode)}(window); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/jquery-ui-1.10.3.custom.min.js b/proposals/fix-and-fresh/mockup/gallery/js/jquery-ui-1.10.3.custom.min.js new file mode 100644 index 0000000..b83b99e --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/jquery-ui-1.10.3.custom.min.js @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.10.3 - 2013-11-05 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.tooltip.js +* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ + +(function(e,t){function i(t,i){var s,n,r,o=t.nodeName.toLowerCase();return"area"===o?(s=t.parentNode,n=s.name,t.href&&n&&"map"===s.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&a(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&a(t)}function a(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,a){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),a&&a.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var a,s,n=e(this[0]);n.length&&n[0]!==document;){if(a=n.css("position"),("absolute"===a||"relative"===a||"fixed"===a)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,a){return!!e.data(t,a[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var a=e.attr(t,"tabindex"),s=isNaN(a);return(s||a>=0)&&i(t,!s)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(i,a){function s(t,i,a,s){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,a&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===a?["Left","Right"]:["Top","Bottom"],r=a.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+a]=function(i){return i===t?o["inner"+a].call(this):this.each(function(){e(this).css(r,s(this,i)+"px")})},e.fn["outer"+a]=function(t,i){return"number"!=typeof t?o["outer"+a].call(this,t):this.each(function(){e(this).css(r,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,a){var s,n=e.ui[t].prototype;for(s in a)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([i,a[s]])},call:function(e,t,i){var a,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(a=0;s.length>a;a++)e.options[s[a][0]]&&s[a][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var a=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[a]>0?!0:(t[a]=1,s=t[a]>0,t[a]=0,s)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,a=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(n){}a(t)},e.widget=function(i,s,a){var n,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],n=u+"-"+i,a||(a=s,s=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:a.version,_proto:e.extend({},a),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(a,function(i,a){return e.isFunction(a)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,n=this._superApply;return this._super=e,this._superApply=t,i=a.apply(this,arguments),this._super=s,this._superApply=n,i}}(),t):(l[i]=a,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:n}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var a,n,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(a in r[o])n=r[o][a],r[o].hasOwnProperty(a)&&n!==t&&(i[a]=e.isPlainObject(n)?e.isPlainObject(i[a])?e.widget.extend({},i[a],n):e.widget.extend({},n):n);return i},e.widget.bridge=function(i,a){var n=a.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,a=e.data(this,n);return a?e.isFunction(a[r])&&"_"!==r.charAt(0)?(s=a[r].apply(a,h),s!==a&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,n);t?t.option(r||{})._init():e.data(this,n,new a(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var a,n,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},a=i.split("."),i=a.shift(),a.length){for(n=o[i]=e.widget.extend({},this.options[i]),r=0;a.length-1>r;r++)n[a[r]]=n[a[r]]||{},n=n[a[r]];if(i=a.pop(),s===t)return n[i]===t?null:n[i];n[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,a){var n,r=this;"boolean"!=typeof i&&(a=s,s=i,i=!1),a?(s=n=e(s),this.bindings=this.bindings.add(s)):(a=s,s=this.element,n=this.widget()),e.each(a,function(a,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=a.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?n.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var a,n,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],n=i.originalEvent)for(a in n)a in i||(i[a]=n[a]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,a,n){"string"==typeof a&&(a={effect:a});var r,o=a?a===!0||"number"==typeof a?i:a.effect||i:t;a=a||{},"number"==typeof a&&(a={duration:a}),r=!e.isEmptyObject(a),a.complete=n,a.delay&&s.delay(a.delay),r&&e.effects&&e.effects.effect[o]?s[t](a):o!==t&&s[o]?s[o](a.duration,a.easing,n):s.queue(function(i){e(this)[t](),n&&n.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,a=1===i.which,n="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return a&&!n&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e,t){function i(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function s(t,i){return parseInt(e.css(t,i),10)||0}function a(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,r=Math.max,o=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(n!==t)return n;var i,s,a=e("
"),r=a.children()[0];return e("body").append(a),i=r.offsetWidth,a.css("overflow","scroll"),s=r.offsetWidth,i===s&&(s=a[0].clientWidth),a.remove(),n=i-s},getScrollInfo:function(t){var i=t.isWindow?"":t.element.css("overflow-x"),s=t.isWindow?"":t.element.css("overflow-y"),a="scroll"===i||"auto"===i&&t.widths?"left":i>0?"right":"center",vertical:0>n?"top":a>0?"bottom":"middle"};c>p&&p>o(i+s)&&(h.horizontal="center"),d>m&&m>o(a+n)&&(h.vertical="middle"),h.important=r(o(i),o(s))>r(o(a),o(n))?"horizontal":"vertical",t.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollLeft:s.offset.left,n=s.width,o=e.left-t.collisionPosition.marginLeft,h=a-o,l=o+t.collisionWidth-n-a;t.collisionWidth>n?h>0&&0>=l?(i=e.left+h+t.collisionWidth-n-a,e.left+=h-i):e.left=l>0&&0>=h?a:h>l?a+n-t.collisionWidth:a:h>0?e.left+=h:l>0?e.left-=l:e.left=r(e.left-o,e.left)},top:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollTop:s.offset.top,n=t.within.height,o=e.top-t.collisionPosition.marginTop,h=a-o,l=o+t.collisionHeight-n-a;t.collisionHeight>n?h>0&&0>=l?(i=e.top+h+t.collisionHeight-n-a,e.top+=h-i):e.top=l>0&&0>=h?a:h>l?a+n-t.collisionHeight:a:h>0?e.top+=h:l>0?e.top-=l:e.top=r(e.top-o,e.top)}},flip:{left:function(e,t){var i,s,a=t.within,n=a.offset.left+a.scrollLeft,r=a.width,h=a.isWindow?a.scrollLeft:a.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,c=l+t.collisionWidth-r-h,d="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+d+p+f+t.collisionWidth-r-n,(0>i||o(u)>i)&&(e.left+=d+p+f)):c>0&&(s=e.left-t.collisionPosition.marginLeft+d+p+f-h,(s>0||c>o(s))&&(e.left+=d+p+f))},top:function(e,t){var i,s,a=t.within,n=a.offset.top+a.scrollTop,r=a.height,h=a.isWindow?a.scrollTop:a.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,c=l+t.collisionHeight-r-h,d="top"===t.my[1],p=d?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-r-n,e.top+p+f+m>u&&(0>s||o(u)>s)&&(e.top+=p+f+m)):c>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,e.top+p+f+m>c&&(i>0||c>o(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,a,n,r=document.getElementsByTagName("body")[0],o=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(n in s)t.style[n]=s[n];t.appendChild(o),i=r||document.documentElement,i.insertBefore(t,i.firstChild),o.style.cssText="position: absolute; left: 10.7432222px;",a=e(o).offset().left,e.support.offsetFractions=a>10&&11>a,t.innerHTML="",i.removeChild(t)}()})(jQuery);(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("
").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var a=this._uiHash();if(this._trigger("drag",t,a)===!1)return this._mouseUp({}),!1;this.position=a.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,a=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(a=e.ui.ddmanager.drop(this,t)),this.dropped&&(a=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!a||"valid"===this.options.revert&&a||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,a)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,a=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return a.parents("body").length||a.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),a[0]===this.element[0]||/(fixed|absolute)/.test(a.css("position"))||a.css("position","absolute"),a},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,a,s=this.options;return s.containment?"window"===s.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===s.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):s.containment.constructor===Array?(this.containment=s.containment,undefined):("parent"===s.containment&&(s.containment=this.helper[0].parentNode),i=e(s.containment),a=i[0],a&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(a.scrollWidth,a.offsetWidth):a.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(a.scrollHeight,a.offsetHeight):a.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var a="absolute"===t?1:-1,s="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:s.scrollTop(),left:s.scrollLeft()}),{top:i.top+this.offset.relative.top*a+this.offset.parent.top*a-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*a,left:i.left+this.offset.relative.left*a+this.offset.parent.left*a-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*a}},_generatePosition:function(t){var i,a,s,n,r=this.options,o="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=t.pageX,h=t.pageY;return this.offset.scroll||(this.offset.scroll={top:o.scrollTop(),left:o.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(a=this.relative_container.offset(),i=[this.containment[0]+a.left,this.containment[1]+a.top,this.containment[2]+a.left,this.containment[3]+a.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(l=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),r.grid&&(s=r.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/r.grid[1])*r.grid[1]:this.originalPageY,h=i?s-this.offset.click.top>=i[1]||s-this.offset.click.top>i[3]?s:s-this.offset.click.top>=i[1]?s-r.grid[1]:s+r.grid[1]:s,n=r.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/r.grid[0])*r.grid[0]:this.originalPageX,l=i?n-this.offset.click.left>=i[0]||n-this.offset.click.left>i[2]?n:n-this.offset.click.left>=i[0]?n-r.grid[0]:n+r.grid[0]:n)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,a){return a=a||this._uiHash(),e.ui.plugin.call(this,t,[i,a]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,a)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var a=e(this).data("ui-draggable"),s=a.options,n=e.extend({},i,{item:a.element});a.sortables=[],e(s.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(a.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i){var a=e(this).data("ui-draggable"),s=e.extend({},i,{item:a.element});e.each(a.sortables,function(){this.instance.isOver?(this.instance.isOver=0,a.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===a.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,s))})},drag:function(t,i){var a=e(this).data("ui-draggable"),s=this;e.each(a.sortables,function(){var n=!1,r=this;this.instance.positionAbs=a.positionAbs,this.instance.helperProportions=a.helperProportions,this.instance.offset.click=a.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(n=!0,e.each(a.sortables,function(){return this.instance.positionAbs=a.positionAbs,this.instance.helperProportions=a.helperProportions,this.instance.offset.click=a.offset.click,this!==r&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(r.instance.element[0],this.instance.element[0])&&(n=!1),n})),n?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(s).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=a.offset.click.top,this.instance.offset.click.left=a.offset.click.left,this.instance.offset.parent.left-=a.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=a.offset.parent.top-this.instance.offset.parent.top,a._trigger("toSortable",t),a.dropped=this.instance.element,a.currentItem=a.element,this.instance.fromOutside=a),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),a._trigger("fromSortable",t),a.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var a=e(i.helper),s=e(this).data("ui-draggable").options;a.css("opacity")&&(s._opacity=a.css("opacity")),a.css("opacity",s.opacity)},stop:function(t,i){var a=e(this).data("ui-draggable").options;a._opacity&&e(i.helper).css("opacity",a._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),a=i.options,s=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(a.axis&&"x"===a.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY=0;d--)o=p.snapElements[d].left,l=o+p.snapElements[d].width,h=p.snapElements[d].top,u=h+p.snapElements[d].height,o-m>v||g>l+m||h-m>b||y>u+m||!e.contains(p.snapElements[d].item.ownerDocument,p.snapElements[d].item)?(p.snapElements[d].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[d].item})),p.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(a=m>=Math.abs(h-b),s=m>=Math.abs(u-y),n=m>=Math.abs(o-v),r=m>=Math.abs(l-g),a&&(i.position.top=p._convertPositionTo("relative",{top:h-p.helperProportions.height,left:0}).top-p.margins.top),s&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),n&&(i.position.left=p._convertPositionTo("relative",{top:0,left:o-p.helperProportions.width}).left-p.margins.left),r&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l}).left-p.margins.left)),c=a||s||n||r,"outer"!==f.snapMode&&(a=m>=Math.abs(h-y),s=m>=Math.abs(u-b),n=m>=Math.abs(o-g),r=m>=Math.abs(l-v),a&&(i.position.top=p._convertPositionTo("relative",{top:h,left:0}).top-p.margins.top),s&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.left=p._convertPositionTo("relative",{top:0,left:o}).left-p.margins.left),r&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[d].snapping&&(a||s||n||r||c)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[d].item})),p.snapElements[d].snapping=a||s||n||r||c)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,a=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});a.length&&(t=parseInt(e(a[0]).css("zIndex"),10)||0,e(a).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+a.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var a=e(i.helper),s=e(this).data("ui-draggable").options;a.css("zIndex")&&(s._zIndex=a.css("zIndex")),a.css("zIndex",s.zIndex)},stop:function(t,i){var a=e(this).data("ui-draggable").options;a._zIndex&&e(i.helper).css("zIndex",a._zIndex)}})})(jQuery);(function(e){function t(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))}function i(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),a=e.inArray(i,s);-1!==a&&s.splice(a,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")}var s=0;e.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var t=e(this).attr("title")||"";return e("
").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var a=e.Event("blur");a.target=a.currentTarget=s[0],t.close(a,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,a=this,n=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){e.data("ui-tooltip-open")&&a._delay(function(){t&&(t.type=n),this._open(t,e,i)})}),i&&this._open(t,e,i),void 0)},_open:function(i,s,a){function n(e){l.of=e,r.is(":hidden")||r.position(l)}var r,o,h,l=e.extend({},this.options.position);if(a){if(r=this._find(s),r.length)return r.find(".ui-tooltip-content").html(a),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),r=this._tooltip(s),t(s,r.attr("id")),r.find(".ui-tooltip-content").html(a),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:n}),n(i)):r.position(e.extend({of:s},this.options.position)),r.hide(),this._show(r,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){r.is(":visible")&&(n(l.of),clearInterval(h))},e.fx.interval)),this._trigger("open",i,{tooltip:r}),o={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var i=e.Event(t);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(r)}},i&&"mouseover"!==i.type||(o.mouseleave="close"),i&&"focusin"!==i.type||(o.focusout="close"),this._on(!0,s,o)}},close:function(t){var s=this,a=e(t?t.currentTarget:this.element),n=this._find(a);this.closing||(clearInterval(this.delayedShow),a.data("ui-tooltip-title")&&a.attr("title",a.data("ui-tooltip-title")),i(a),n.stop(!0),this._hide(n,this.options.hide,function(){s._removeTooltip(e(this))}),a.removeData("ui-tooltip-open"),this._off(a,"mouseleave focusout keyup"),a[0]!==this.element[0]&&this._off(a,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),this.closing=!0,this._trigger("close",t,{tooltip:n}),this.closing=!1)},_tooltip:function(t){var i="ui-tooltip-"+s++,a=e("
").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return e("
").addClass("ui-tooltip-content").appendTo(a),a.appendTo(this.document[0].body),this.tooltips[i]=t,a},_find:function(t){var i=t.data("ui-tooltip-id");return i?e("#"+i):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var a=e.Event("blur");a.target=a.currentTarget=s[0],t.close(a,!0),e("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/jquery.touchSwipe.min.js b/proposals/fix-and-fresh/mockup/gallery/js/jquery.touchSwipe.min.js new file mode 100644 index 0000000..6a94b77 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/jquery.touchSwipe.min.js @@ -0,0 +1,13 @@ +/* +* touchSwipe - jQuery Plugin +* https://github.com/mattbryson/TouchSwipe-Jquery-Plugin +* http://labs.skinkers.com/touchSwipe/ +* http://plugins.jquery.com/project/touchSwipe +* +* Copyright (c) 2010 Matt Bryson (www.skinkers.com) +* Dual licensed under the MIT or GPL Version 2 licenses. +* +* $version: 1.3.3 +*/ + +(function(g){function P(c){if(c&&void 0===c.allowPageScroll&&(void 0!==c.swipe||void 0!==c.swipeStatus))c.allowPageScroll=G;c||(c={});c=g.extend({},g.fn.swipe.defaults,c);return this.each(function(){var b=g(this),f=b.data(w);f||(f=new W(this,c),b.data(w,f))})}function W(c,b){var f,p,r,s;function H(a){var a=a.originalEvent,c,Q=n?a.touches[0]:a;d=R;n?h=a.touches.length:a.preventDefault();i=0;j=null;k=0;!n||h===b.fingers||b.fingers===x?(r=f=Q.pageX,s=p=Q.pageY,y=(new Date).getTime(),b.swipeStatus&&(c=l(a,d))):t(a);if(!1===c)return d=m,l(a,d),c;e.bind(I,J);e.bind(K,L)}function J(a){a=a.originalEvent;if(!(d===q||d===m)){var c,e=n?a.touches[0]:a;f=e.pageX;p=e.pageY;u=(new Date).getTime();j=S();n&&(h=a.touches.length);d=z;var e=a,g=j;if(b.allowPageScroll===G)e.preventDefault();else{var o=b.allowPageScroll===T;switch(g){case v:(b.swipeLeft&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case A:(b.swipeRight&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case B:(b.swipeUp&&o||!o&&b.allowPageScroll!=N)&&e.preventDefault();break;case C:(b.swipeDown&&o||!o&&b.allowPageScroll!=N)&&e.preventDefault()}}h===b.fingers||b.fingers===x||!n?(i=U(),k=u-y,b.swipeStatus&&(c=l(a,d,j,i,k)),b.triggerOnTouchEnd||(e=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1),!0===D()?(d=q,c=l(a,d)):e&&(d=m,l(a,d)))):(d=m,l(a,d));!1===c&&(d=m,l(a,d))}}function L(a){a=a.originalEvent;u=(new Date).getTime();i=U();j=S();k=u-y;if(b.triggerOnTouchEnd||!1===b.triggerOnTouchEnd&&d===z)if(d=q,(h===b.fingers||b.fingers===x||!n)&&0!==f){var c=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1);if((!0===D()||null===D())&&!c)l(a,d);else if(c||!1===D())d=m,l(a,d)}else d=m,l(a,d);else d===z&&(d=m,l(a,d));e.unbind(I,J,!1);e.unbind(K,L,!1)}function t(){y=u=p=f=s=r=h=0}function l(a,c){var d=void 0;b.swipeStatus&&(d=b.swipeStatus.call(e,a,c,j||null,i||0,k||0,h));if(c===m&&b.click&&(1===h||!n)&&(isNaN(i)||0===i))d=b.click.call(e,a,a.target);if(c==q)switch(b.swipe&&(d=b.swipe.call(e,a,j,i,k,h)),j){case v:b.swipeLeft&&(d=b.swipeLeft.call(e,a,j,i,k,h));break;case A:b.swipeRight&&(d=b.swipeRight.call(e,a,j,i,k,h));break;case B:b.swipeUp&&(d=b.swipeUp.call(e,a,j,i,k,h));break;case C:b.swipeDown&&(d=b.swipeDown.call(e,a,j,i,k,h))}(c===m||c===q)&&t(a);return d}function D(){return null!==b.threshold?i>=b.threshold:null}function U(){return Math.round(Math.sqrt(Math.pow(f-r,2)+Math.pow(p-s,2)))}function S(){var a;a=Math.atan2(p-s,r-f);a=Math.round(180*a/Math.PI);0>a&&(a=360-Math.abs(a));return 45>=a&&0<=a?v:360>=a&&315<=a?v:135<=a&&225>=a?A:45a?C:B}function V(){e.unbind(E,H);e.unbind(F,t);e.unbind(I,J);e.unbind(K,L)}var O=n||!b.fallbackToMouseEvents,E=O?"touchstart":"mousedown",I=O?"touchmove":"mousemove",K=O?"touchend":"mouseup",F="touchcancel",i=0,j=null,k=0,e=g(c),d="start",h=0,y=p=f=s=r=0,u=0;try{e.bind(E,H),e.bind(F,t)}catch(P){g.error("events not supported "+E+","+F+" on jQuery.swipe")}this.enable=function(){e.bind(E,H);e.bind(F,t);return e};this.disable=function(){V();return e};this.destroy=function(){V();e.data(w,null);return e}}var v="left",A="right",B="up",C="down",G="none",T="auto",M="horizontal",N="vertical",x="all",R="start",z="move",q="end",m="cancel",n="ontouchstart"in window,w="TouchSwipe";g.fn.swipe=function(c){var b=g(this),f=b.data(w);if(f&&"string"===typeof c){if(f[c])return f[c].apply(this,Array.prototype.slice.call(arguments,1));g.error("Method "+c+" does not exist on jQuery.swipe")}else if(!f&&("object"===typeof c||!c))return P.apply(this,arguments);return b};g.fn.swipe.defaults={fingers:1,threshold:75,maxTimeThreshold:null,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,click:null,triggerOnTouchEnd:!0,allowPageScroll:"auto",fallbackToMouseEvents:!0};g.fn.swipe.phases={PHASE_START:R,PHASE_MOVE:z,PHASE_END:q,PHASE_CANCEL:m};g.fn.swipe.directions={LEFT:v,RIGHT:A,UP:B,DOWN:C};g.fn.swipe.pageScroll={NONE:G,HORIZONTAL:M,VERTICAL:N,AUTO:T};g.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:x}})(jQuery); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/jquery.ui.touch-punch.js b/proposals/fix-and-fresh/mockup/gallery/js/jquery.ui.touch-punch.js new file mode 100644 index 0000000..2766f41 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/jquery.ui.touch-punch.js @@ -0,0 +1,160 @@ +/*! + * jQuery UI Touch Punch 0.2.2 + * + * Copyright 2011, Dave Furfero + * Dual licensed under the MIT or GPL Version 2 licenses. + * + * Depends: + * jquery.ui.widget.js + * jquery.ui.mouse.js + */ +(function ($) { + + // Detect touch support + $.support.touch = 'ontouchend' in document; + + // Ignore browsers without touch support + if (!$.support.touch) { + return; + } + + var mouseProto = $.ui.mouse.prototype, + _mouseInit = mouseProto._mouseInit, + touchHandled; + + /** + * Simulate a mouse event based on a corresponding touch event + * @param {Object} event A touch event + * @param {String} simulatedType The corresponding mouse event + */ + function simulateMouseEvent (event, simulatedType) { + + // Ignore multi-touch events + if (event.originalEvent.touches.length > 1) { + return; + } + + event.preventDefault(); + + var touch = event.originalEvent.changedTouches[0], + simulatedEvent = document.createEvent('MouseEvents'); + + // Initialize the simulated mouse event using the touch event's coordinates + simulatedEvent.initMouseEvent( + simulatedType, // type + true, // bubbles + true, // cancelable + window, // view + 1, // detail + touch.screenX, // screenX + touch.screenY, // screenY + touch.clientX, // clientX + touch.clientY, // clientY + false, // ctrlKey + false, // altKey + false, // shiftKey + false, // metaKey + 0, // button + null // relatedTarget + ); + + // Dispatch the simulated event to the target element + event.target.dispatchEvent(simulatedEvent); + } + + /** + * Handle the jQuery UI widget's touchstart events + * @param {Object} event The widget element's touchstart event + */ + mouseProto._touchStart = function (event) { + + var self = this; + + // Ignore the event if another widget is already being handled + if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) { + return; + } + + // Set the flag to prevent other widgets from inheriting the touch event + touchHandled = true; + + // Track movement to determine if interaction was a click + self._touchMoved = false; + + // Simulate the mouseover event + simulateMouseEvent(event, 'mouseover'); + + // Simulate the mousemove event + simulateMouseEvent(event, 'mousemove'); + + // Simulate the mousedown event + simulateMouseEvent(event, 'mousedown'); + }; + + /** + * Handle the jQuery UI widget's touchmove events + * @param {Object} event The document's touchmove event + */ + mouseProto._touchMove = function (event) { + + // Ignore event if not handled + if (!touchHandled) { + return; + } + + // Interaction was not a click + this._touchMoved = true; + + // Simulate the mousemove event + simulateMouseEvent(event, 'mousemove'); + }; + + /** + * Handle the jQuery UI widget's touchend events + * @param {Object} event The document's touchend event + */ + mouseProto._touchEnd = function (event) { + + // Ignore event if not handled + if (!touchHandled) { + return; + } + + // Simulate the mouseup event + simulateMouseEvent(event, 'mouseup'); + + // Simulate the mouseout event + simulateMouseEvent(event, 'mouseout'); + + // If the touch interaction did not move, it should trigger a click + if (!this._touchMoved) { + + // Simulate the click event + simulateMouseEvent(event, 'click'); + } + + // Unset the flag to allow other widgets to inherit the touch event + touchHandled = false; + }; + + /** + * A duck punch of the $.ui.mouse _mouseInit method to support touch events. + * This method extends the widget with bound touch event handlers that + * translate touch events to mouse events and pass them to the widget's + * original mouse event handling methods. + */ + mouseProto._mouseInit = function () { + + var self = this; + + // Delegate the touch handlers to the widget's element + self.element + .bind('touchstart', $.proxy(self, '_touchStart')) + .bind('touchmove', $.proxy(self, '_touchMove')) + .bind('touchend', $.proxy(self, '_touchEnd')); + + // Call the original $.ui.mouse init method + _mouseInit.call(self); + }; + +})(jQuery); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/tmDraggablePagination.js b/proposals/fix-and-fresh/mockup/gallery/js/tmDraggablePagination.js new file mode 100644 index 0000000..8e26ba3 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/tmDraggablePagination.js @@ -0,0 +1,122 @@ +/* +* Plugin for draggable pagination for tmMultimediaGallery +*Version: 1.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmDraggablePagination = function(o){ + return this.each(function(){ + var $this = $(this), + data = $this.data('tmDraggablePagination'), + options = { + itemClass: '.item', + prevButtonClass: '.prev', + nextButtonClass: '.next', + controlHiddenClass: '.hide-button', + step: null, + + constructor: function () { + var $paginHolder = $this.find(">div"), + $win = $(window), + $next = $(options.nextButtonClass), + $prev = $(options.prevButtonClass), + totalWidth = 0, + step = (options.step) ? options.step : $paginHolder.find(options.itemClass).outerWidth(true); + + init(); + + function checkFunction(rule, position){ + if ($paginHolder.length) { + if (rule){ + $paginHolder.stop().animate({'left': position}); + return false; + } + } + return true; + } + + function checkLeftBorder(){ + return checkFunction(($paginHolder.position().left > 0), 0); + } + + function checkWidth(){ + return checkFunction(($paginHolder.width() < $this.width()), 0); + } + + function checkRightBorder(){ + var leftPos = Math.abs($paginHolder.position().left) + $this.width(); + return checkFunction((leftPos > $paginHolder.width()), (-1*($paginHolder.width() - $this.width()))); + } + + function init(){ + var controlHiddenClassName = options.controlHiddenClass.substr(1); + $paginHolder + .find(options.itemClass).each(function(){ + totalWidth += $(this).outerWidth(true); + }) + .end() + .width(totalWidth) + .draggable({ + axis: "x", + start: onDragStart, + stop: onDragStop + }); + onDragStart(); + + // set listeners + $next && $next.on('click', onClickNext); + $prev && $prev.on('click', onClickPrev); + $win.on('resize', onResize); + + function onClickPrev(e){ + var leftPosNew = $paginHolder.position().left + step; + (leftPosNew > 0) && (leftPosNew = 0); + + checkFunction(true, leftPosNew); + } + + function onClickNext(e){ + var leftPosNew = $paginHolder.position().left - step, + leftPos = -($paginHolder.width() - $this.width()); + (leftPosNew < leftPos) && (leftPosNew = leftPos); + + checkFunction(true, leftPosNew); + } + + function onDragStart(event, ui){ + if ($this.width() > totalWidth) { + $next && $next.addClass(controlHiddenClassName); + $prev && $prev.addClass(controlHiddenClassName); + return false; + } else { + $next && $next.removeClass(controlHiddenClassName); + $prev && $prev.removeClass(controlHiddenClassName); + } + } + + function onDragStop(event, ui){ + checkWidth(); + checkRightBorder(); + checkLeftBorder(); + } + + function onResize(e){ + onDragStart(); + if($paginHolder.width() > $this.width()){ + checkRightBorder(); + }else{ + $paginHolder.css('left', 0); + checkLeftBorder(); + } + } + } + } + } + + data?$this=data:$this.data({tmDraggablePagination: options}); + typeof o=='object' && $.extend(options, o); + options.me || options.constructor(options.me=$this); + }); + } +})(jQuery); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/tmFileList.js b/proposals/fix-and-fresh/mockup/gallery/js/tmFileList.js new file mode 100644 index 0000000..9d300b2 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/tmFileList.js @@ -0,0 +1,71 @@ +/* +* Plugin for getting list of files from directory +*Version: 1.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmFileList = function(o){ + return this.each(function(){ + var $this = $(this), + data = $this.data('tmFileList'), + options = { + relativePath: '../../', // relative path of script, this value will be added to pathThumb, pathFull for getting file list + pathThumb: '', // path to thumbnails relatively index.html + pathFull: '', // path to full images relatively index.html + url: './gallery/php/file_list.php', // url to php file + urlThumb: [], // array for thumbnails + urlFull: [], // array for full images + + // constructor of plugin + constructor: function () { + options.getData(options.pathThumb, options.setUrlThumb, output1); + + // get data from ajax request #1 + function output1(){ + options.getData(options.pathFull, options.setUrlFull, output2); + } + // get data from ajax request #2 + function output2(){ + options.output(options.urlThumb, options.urlFull); + } + }, + // setters + setUrlThumb: function(inData){ + options.urlThumb = inData; + }, + setUrlFull: function(inData){ + options.urlFull = inData; + + }, + // get file list from php via ajax + getData: function(inData, callback, output){ + $.ajax({ + type: "POST", + url: options.url, + data: {path: options.relativePath + inData}, + success: function(results){ + results = results.split(';'); + results.length && results.pop(); + + $.each(results, function(i){ + results[i] = inData + results[i]; + }); + + callback(results.sort()); + output && output(); + } + }); + }, + // return file lists + output: function (urlThumbList, urlFullList){ + + } + } + + data?$this=data:$this.data({tmFileList: options}); + typeof o=='object' && $.extend(options, o); + options.me || options.constructor(options.me=$this); + }); + } +})(jQuery); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/tmMultimediaGallery.js b/proposals/fix-and-fresh/mockup/gallery/js/tmMultimediaGallery.js new file mode 100644 index 0000000..398c665 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/tmMultimediaGallery.js @@ -0,0 +1,751 @@ +/* +* Plugin for stretching images and video on fullscreen +*Version: 2.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmMultimediaGallery = function(o){ + return this.each(function(){ + var object = $(this), + data = object.data('tmMultimediaGallery'), + getObject = { + startIndex: 0, // initial postion for gallery + showOnInit: true, // show gallery after init + autoPlayState: false, // on/off autoplay + autoPlayTime: 4, // autoplay timeout + alignIMG:"center", // align of image + alignMode: 'fill', // mode of align 'fill' or 'fit' + mouseMove: false, // use mouse move actions for images + controlDisplay: false, // on/off controls display + hideControlsOnClick: true, // hide controls on click or on tap event + paginationDisplay: true, // on/off pagination display + animationSpeed:'0.7', // speed of animation + mobile: false, // if mobile + resizableContainer: false, // change the size of the container on the size of the window + galleryOpenClass: 'galleryOpen', // class, that adds to body when gallery is open + container: '.galleryContainer', // container of gallery (window or other DOM element) + imageHolder: '.imageHolder', // imageHolder selector + pagination: '.inner', // pagination selector + paginationItem: '.item', // pagination item + outerPagination: false, // outer pagination + description: '.galleryDescription', // description selector + descriptionActiveClass: '.active', // active class for current description item + descriptionShowClass: '.show', // show class for description holder + outerNavigation: false, // outer navigation + next: '.nextButton', // next button selector + prev: '.prevButton', // prev button selector + play: '.playButton', // play button selector + pause: '.pauseButton', // pause button selector + spinner: '.imgSpinner', // prev button selector + backClass: '.backImg', // back class + frontClass: '.frontImg', // front class + animationClass: 'flip', // class for main animation + animationClassSub: 'scale', // class for secondary animation + noAnimationClass: '.animationDisable', // class for quick image changing + onShowActions: function(){}, // actions when gallery is active + onHideActions: function(){}, // actions when gallery is not active, + onBeforeChange: function(){}, // actions before change image + onAfterChange: function(){}, // actions after change image + onShowControls: function(){}, // actions shows controls of gallery + onHideControls: function(){}, // actions hide controls of gallery + // constructor of plugin + constructor: function (params) { + if (object.length) { + getObject.container = object.parents(getObject.container); + getObject.imageHolder = $(getObject.imageHolder, getObject.container); + if (!getObject.outerPagination) { + getObject.pagination = $(getObject.pagination, getObject.container); + } else { + getObject.pagination = $(getObject.pagination); + } + getObject.description = $(getObject.description, getObject.container); + getObject.descriptionActiveClass = getObject.descriptionActiveClass.substr(1); + getObject.descriptionShowClass = getObject.descriptionShowClass.substr(1); + if (!getObject.outerNavigation) { + getObject.next = $(getObject.next, getObject.container); + getObject.prev = $(getObject.prev, getObject.container); + } else { + getObject.next = $(getObject.next); + getObject.prev = $(getObject.prev); + } + getObject.play = $(getObject.play, getObject.container); + getObject.pause = $(getObject.pause, getObject.container); + getObject.spinner = $(getObject.spinner); + getObject.noAnimationClass = getObject.noAnimationClass.substr(1); + + var image = $("img", getObject.imageHolder), + video = $("video", getObject.imageHolder), + imageSRCLink = $(getObject.paginationItem + " a", getObject.pagination.eq(0)), + description = $("li", getObject.description), + imageDeltaX, + imageDeltaY, + prevImg = -1, + currImg = -1, + allImg = imageSRCLink.length, + loadComplete = true, + autoPlayTimer, + dragDirection = 1, + doc = $(document), + win = $(window), + body = $('body'), + galleryActive = false, + showControls = false, + mouseDrag = false, + mouseDown = false, + msie9 = Boolean(navigator.userAgent.match(/MSIE ([9]+)\./)); + + getObject.startIndex = (getObject.startIndex < allImg) ? getObject.startIndex : 0; + + init(); + } + + function init(){ + msie9&&getObject.imageHolder.addClass('ie9'); + + getObject.autoPlayTime*=1000; + getObject.animationSpeed = getObject.animationSpeed.replace(",", "."); + + getObject.spinner.removeClass('spinnerShow'); + + object.css({"position":"absolute", width:"100%", height:"100%", "z-index":"0"}); + getObject.imageHolder.css({"position":"absolute", width:"100%", height:"100%", "z-index":0, "top":0}); + + if (!$(getObject.frontClass, getObject.imageHolder).length) + image.wrap('
'); + if (!$(getObject.backClass, getObject.imageHolder).length) + getObject.imageHolder.append(''); + + setTimeout(function() { + getObject.imageHolder.removeClass('flip90'); + object.css('zIndex','0'); + }, 1000); + + if (getObject.autoPlayState){ + autoPlayHandler(); + } + + getObject.mouseMove && init_mouse_move(); + + window.orientation==undefined?usedDevice = "desktop":usedDevice = "fixedOptions"; + + if(usedDevice != "desktop"){ + window.addEventListener("orientationchange", function(){ + resizeImageHandler(); + }, true); + } + win.resize(resizeImageHandler); + object.on('resize', resizeImageHandler); + resizeImageHandler(); + + if ((!getObject.controlDisplay) || (allImg <= 1)){ + getObject.next.css({display:"none"}); + getObject.prev.css({display:"none"}); + }else{ + getObject.next.css({display:"block"}); + getObject.prev.css({display:"block"}); + } + getObject.next.on("click", clickNext); + getObject.prev.on("click", clickPrev); + + var id = 0; + if(getObject.paginationDisplay){ + $(getObject.pagination) + .find(getObject.paginationItem + " a") + .on('mousedown', function(){ + mouseDown = true; + }) + .on('mouseup',function(){ + clearTimeout(id); + id = setTimeout(function(){ mouseDown = false; }, 10); + }) + .on('mousemove', function(){ + mouseDrag = mouseDown; + }) + .on('click', clickPagination); + }else{ + getObject.pagination.css({display:"none"}); + } + + // object listeners + object + .on('showGallery', function(e, d){ + reset(); + + body.addClass(getObject.galleryOpenClass); + + if (!galleryActive){ + !getObject.mobile&&videoInit(); + } + getObject.onShowActions(); + + galleryActive = true; + + descriptionChange(); + descriptionToggle(true); + resizeImageHandler(); + + doc.on('keydown', keyboardEvent); + object.on('goTo', goTo); + + if (!d) { d = getObject.startIndex.toString(); } + object.trigger('goTo', d); + }) + .on('hideGallery',function(e){ + getObject.onHideActions(); + + body.removeClass(getObject.galleryOpenClass); + + videoStop(); + + getObject.imageHolder + .removeClass('videoInside') + .off('click') + .children('div').removeClass('videoShow') + + getObject.autoPlayState = false; + descriptionToggle(false); + galleryActive = false; + + doc.off('keydown', keyboardEvent); + object.off('goTo', goTo); + + resetCounters(); + }) + .on('setGalleryActivity', function(e, d){ + if (d) { + if (d === 'true') { + galleryActive = true; + } else if (d === 'false') { + galleryActive = false; + } + } + }) + .on('showControls', function(e){ + showControls = true; + getObject.onShowControls(); + }) + .on('hideControls', function(e){ + showControls = false; + getObject.onHideControls(); + }) + .on('toggleControls', function(e, d){ + if (d) { + if (d === 'true') { + object.trigger('showControls'); + } else if (d === 'false') { + object.trigger('hideControls'); + } + } + }) + .on('click', function(){ + if (getObject.hideControlsOnClick) + object.trigger('toggleControls', (showControls=!showControls).toString()); + }) + + if ($.fn.swipe) { + object + .swipe({ + swipeLeft:function(event, direction, distance, duration, fingerCount) { + galleryActive && clickNext(); + }, + swipeRight:function(event, direction, distance, duration, fingerCount) { + galleryActive && clickPrev(); + } + }); + } + + if (getObject.showOnInit) { + object.trigger('showGallery'); + } else { + reset(); + } + } + + // keyboard listeners + function keyboardEvent(e){ + if (galleryActive) { + if (e.keyCode == 37) { clickPrev(); } + else if (e.keyCode == 39) { clickNext(); } + } + } + + // reset couters and remove active class from pagination + function resetCounters(){ + currImg = prevImg = -1; + $(getObject.paginationItem, getObject.pagination).removeClass('active'); + } + + // reset actions + function reset () { + var img = $(getObject.imageHolder).find(getObject.frontClass + ' img, '+getObject.backClass + ' img'); + img.length && img.attr('src', '').css('visibility', 'hidden'); + resetCounters(); + } + + // mouse move actions + function init_mouse_move(){ + /* mouse move actions */ + var currTop = 0; + if (!getObject.mobile) { + getObject.imageHolder + .on('mousemove', function(e){ + if (!galleryActive) { return false; } + currTop = e.pageY * ($('.frontImg>img, .backImg>img').height()-win.height()) / win.height(); + $('.frontImg, .backImg', getObject.imageHolder).stop().animate({'scrollTop': currTop}, 1500); + }); + /* end mouse move */ + } else { + if ($.fn.swipe) { + getObject.imageHolder + .find('.frontImg, .backImg') + .swipe({ + swipe:function(event, direction, distance, duration, fingerCount) { + if (direction == 'down') { + currTop -= distance; + } else if (direction == 'up'){ + currTop += distance; + } + var h = $('.frontImg>img, .backImg>img').height(); + currTop = (currTop > h) ? h : currTop; + currTop = (currTop < 0) ? 0 : currTop; + $('.frontImg, .backImg', getObject.imageHolder).stop().animate({'scrollTop': currTop}, 1500); + } + }); + } + } + } + + // function for go to element (number - parameter d) + function goTo(e, d, q){ + if (d){ + d = parseInt(d); + if (getObject.pagination && + getObject.pagination.find('a') && + getObject.pagination.find('a').eq(d)) { + getObject.pagination.find('a').eq(d).trigger('click', q); + } + } + } + + // show / hide description holder + function descriptionToggle(value){ + if (value){ + getObject.description.addClass(getObject.descriptionShowClass); + } else { + getObject.description.removeClass(getObject.descriptionShowClass); + } + } + + // change description + function descriptionChange(){ + description + .stop(true) + .removeClass(getObject.descriptionActiveClass) + .eq(currImg) + .addClass(getObject.descriptionActiveClass).end(); + descriptionResize(); + // .delay(500).queue(descriptionResize); + } + + function descriptionResize(){ + getObject.description.css('height', description.eq(currImg).outerHeight(true)); + } + + // next listener + function clickNext(e){ + if(loadComplete){ + getObject.autoPlayState = false; + prevImg = currImg; + currImg++; + if(currImg>allImg-1){ + currImg = 0; + } + dragDirection=1; + changeImageHandler(); + } + return false; + } + + // prev listener + function clickPrev(e){ + if(loadComplete){ + getObject.autoPlayState = false; + prevImg = currImg; + currImg--; + if(currImg<0){ + currImg = allImg-1; + } + dragDirection=-1; + changeImageHandler(); + } + return false; + } + + // pagination listener + function clickPagination(e, d){ + if (!mouseDrag) { + var index = $(this).parents(getObject.paginationItem).index(); + if((index !== currImg) && loadComplete){ + if (!galleryActive) { + object.trigger('showGallery'); + } + prevImg = currImg; + currImg = index; + + clearTimeout(autoPlayTimer); + getObject.autoPlayState = false; + + dragDirection = prevImg=allImg){ + currImg = 0; + } + changeImageHandler(); + } + }, getObject.autoPlayTime); + } + + // video initialize + function videoInit(){ + function imageHolderClick(e){ + video&&video[0].paused ? videoPlay() : videoPause(); + } + + image.stop(true).fadeIn(1200); + getObject.imageHolder + .removeClass('videoInside') + .off('click') + .find('video').remove().end() + .children('div').removeClass('videoShow'); + + video = null; + + getObject.pause.removeClass('showButton').off('click'); + getObject.play.removeClass('showButton').off('click'); + + // if video tag exist + if ($(getObject.paginationItem, getObject.pagination).eq(currImg).hasClass('video')){ + var videoArray = $(getObject.paginationItem, getObject.pagination).eq(currImg).find('a').attr('data-video-href'); + if (videoArray.length) videoArray = videoArray.split(','); + + getObject.imageHolder + .addClass('videoInside') + image + .after('
here.'); + + getObject.play.addClass('showButton').on('click',videoPlay); + getObject.pause.on('click', videoPause); + getObject.imageHolder.on('click', imageHolderClick); + + video = getObject.imageHolder.find('video'); + } + } + + // video play + function videoPlay(e){ + getObject.autoPlayState = false; + + resizeElement(video); + + getObject.play.removeClass('showButton'); + getObject.pause.addClass('showButton'); + + descriptionToggle(false); + + image.stop(true).fadeOut(600, function(){ + video.stop(true).fadeIn(1200); + getObject.imageHolder.children(getObject.frontClass).addClass('videoShow'); + video[0].play(); + }); + return false; + } + + // video pause + function videoPause(e){ + getObject.play.addClass('showButton'); + getObject.pause.removeClass('showButton'); + + descriptionToggle(true); + + if (video&&video.length) { + video[0].pause(); + video.stop(true).fadeOut(600,function () { + getObject.imageHolder.children('div').removeClass('videoShow'); + image.stop(true).fadeIn(1200); + }); + } + return false; + } + + // video stop + function videoStop(e){ + videoPause(e); + getObject.play.removeClass('showButton'); + getObject.pause.removeClass('showButton'); + + return false; + } + + // function for getting container height + function windowH() { + var result; + if (getObject.container == window) { + result = ((getObject.container.height()>=parseInt($('body').css('minHeight')))?getObject.container.height():parseInt($('body').css('minHeight'))); + } else { + result = getObject.container.height(); + } + return result; + } + + // function for getting container width + function windowW() { + var result; + if (getObject.container == window) { + return ((getObject.container.width()>=parseInt($('body').css('minWidth')))?getObject.container.width():parseInt($('body').css('minWidth'))); + } else { + result = getObject.container.width(); + } + return result; + } + + // function for controlling resize element + function resizeElement(obj) { + if (obj.length) { + var imageWidth = obj.width(), + imageHeight = obj.height(), + screenWidth = windowW(), + screenHeight = windowH(), + imageCoef = imageHeight/imageWidth, + holderCoef = screenHeight/screenWidth, + imageDeltaX = 0, + imageDeltaY = 0; + + if (getObject.alignMode === 'fill') { + obj.css({'width': windowW(), 'height':"auto", 'position':"absolute", "max-width":"none"}); + imageWidth = obj.width(); + imageHeight = obj.height(); + + var alignIMG = obj.attr('data-image-align') ? obj.attr('data-image-align') : getObject.alignIMG, + imageScroll = obj.attr('data-image-scroll'); + + if (imageScroll === "enable") { + imageScroll = true; + alignIMG = 'top'; + obj.parent().css('overflow-y','visible'); + } else { + imageScroll = false; + obj.parent().css('overflow-y','hidden'); + } + + // imageCoef = imageHeight/imageWidth; + // holderCoef = screenHeight/screenWidth; + + obj.css({height: screenHeight, width:"auto"}); + if ((imageCoef > holderCoef) || ((imageScroll || getObject.mouseMove) && (screenHeight < imageHeight))){ + obj.css({height:"auto", width: screenWidth}); + } + + imageWidth = obj.width(); + imageHeight = obj.height(); + + switch(alignIMG){ + case "top": + imageDeltaX=-(imageWidth-screenWidth)*.5; + imageDeltaY=0; + break; + case "bottom": + imageDeltaX=-(imageWidth-screenWidth)*.5; + imageDeltaY=-(imageHeight-screenHeight); + break; + case "right": + imageDeltaX=-(imageWidth-screenWidth); + imageDeltaY=-(imageHeight-screenHeight)*.5; + break; + case "left": + imageDeltaX=0; + imageDeltaY=-(imageHeight-screenHeight)*.5; + break; + case "top_left": + imageDeltaX=0; + imageDeltaY=0; + break; + case "top_right": + imageDeltaX=-(imageWidth-screenWidth); + imageDeltaY=0; + break; + case "bottom_right": + imageDeltaX=-(imageWidth-screenWidth); + imageDeltaY=-(imageWidth-screenHeight); + break; + case "bottom_left": + imageDeltaX=0; + imageDeltaY=-(imageHeight-screenHeight); + break; + default: + imageDeltaX=-(imageWidth-screenWidth)*.5; + imageDeltaY= -(imageHeight-screenHeight)*.5; + } + + if (!getObject.mouseMove) { + obj.css({'left':imageDeltaX, 'top':imageDeltaY}); + } else { + obj.css({'left':imageDeltaX}); + } + + } else if (getObject.alignMode === 'fit') { + if (imageCoef > holderCoef){ + obj.css({ width: 'auto', height: screenHeight }); + } else { + obj.css({ height: 'auto', width: screenWidth }); + } + + imageWidth = obj.width(); + imageHeight = obj.height(); + imageDeltaX = -(imageWidth-screenWidth)*.5; + imageDeltaY = -(imageHeight-screenHeight)*.5; + + obj.css({'position':"absolute", "max-width":"none", 'left':imageDeltaX, 'top':imageDeltaY}); + } + } + } + + // main function for controlling resize element + function resizeImageHandler(){ + descriptionResize(); + if (getObject.resizableContainer) { + getObject.container.css({ + 'width': win.width(), + 'height': win.height() + }); + } + image = $("img", getObject.imageHolder); + image.length&&image.each(function(ind, img){ + resizeElement($(img)); + }) + + video = $('video', getObject.imageHolder); + resizeElement(video); + } + + // function for controlling change image + function changeImageHandler(d){ + if (allImg > 1) { + // galleryActive = false; + getObject.spinner.addClass('spinnerShow'); + + $(getObject.pagination).each(function(){ + $(this).find(getObject.paginationItem) + .eq(currImg) + .addClass("active").end() + .eq(prevImg).removeClass("active"); + }); + + loadComplete = false; + + image = $("img", getObject.imageHolder); + + var imgSRC = imageSRCLink.eq(currImg).attr("href"), + alignIMG = imageSRCLink.eq(currImg).attr("data-image-align"), + imageScroll = imageSRCLink.eq(currImg).attr("data-image-scroll"); + alignIMG = alignIMG?'data-image-align="'+alignIMG+'"':""; + imageScroll = imageScroll?'data-image-scroll="'+imageScroll+'"':""; + + $(getObject.backClass, getObject.imageHolder) + .css({'display':'block'}) + .empty() + .append('') + .find('img') + .on("load", loadHandler); + + descriptionChange(); + descriptionToggle(true); + } + function loadHandler(){ + loadImageHandler(d); + } + } + + // function for controlling load image + function loadImageHandler(quickChange){ + getObject.onBeforeChange(); + getObject.imageHolder.addClass(getObject.animationClassSub); + resizeElement(getObject.imageHolder.find(getObject.backClass+'>img')); + resizeElement(getObject.imageHolder.find(getObject.frontClass+'>img')); + + var time = 1000; + if (quickChange === 'quick') { + time = 10; + getObject.container.addClass(getObject.noAnimationClass); + $(getObject.frontClass, getObject.imageHolder).empty().css({'zIndex':1, 'display':'none'}); + } + + setTimeout(function(){ + getObject.spinner.removeClass('spinnerShow'); + + // add or remove animation class + !getObject.imageHolder.hasClass(getObject.animationClass)?getObject.imageHolder.addClass(getObject.animationClass):getObject.imageHolder.removeClass(getObject.animationClass); + + if (msie9) { + getObject.imageHolder + .find(getObject.frontClass).stop(true).animate({'opacity':0}, time).end() + .find(getObject.backClass).css('opacity',0).stop(true, true).animate({'opacity':1}, time).end() + } + + getObject.imageHolder.find(getObject.backClass+">img") + .off("load", loadImageHandler); + + getObject.imageHolder + .stop(true,true) + .delay(getObject.animationSpeed*time) + .queue(onAnimateComplete); + + function onAnimateComplete(e){ + if (quickChange) { + getObject.container.removeClass(getObject.noAnimationClass); + } + var $this = $(this); + + $(getObject.frontClass, $this).empty().css({'zIndex':1, 'display':'none'}); + $(getObject.backClass, $this).css('zIndex',2); + + image = $(getObject.backClass + ' img', $this); + + $this.removeClass(getObject.animationClassSub); + + // swap classes + var tmp = getObject.backClass; + getObject.backClass = getObject.frontClass; + getObject.frontClass = tmp; + + // initialize video if exist + !getObject.mobile&&videoInit(); + + loadComplete = true; + // galleryActive = true; + autoPlayHandler(); + + getObject.onAfterChange(); + } + }, time) + } + } + } + + data?object=data:object.data({tmMultimediaGallery: getObject}); + typeof o=='object' && $.extend(getObject, o); + getObject.me || getObject.constructor(getObject.me=object); + }); + } +})(jQuery); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/tmMultimediaGallery_init.js b/proposals/fix-and-fresh/mockup/gallery/js/tmMultimediaGallery_init.js new file mode 100644 index 0000000..7fb0b33 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/tmMultimediaGallery_init.js @@ -0,0 +1,173 @@ +// initialize tmMultimediaGallery +var pathThumb = pathFull = ''; + +$(window).load(function(){ + var $spinner = $('.content-load-spinner'); + + // get file list + $('#content .inner').tmFileList({ + pathThumb: pathThumb, + pathFull: pathFull, + output: function(urlThumbList, urlFullList){ + buildPagination({urlThumb: urlThumbList, urlFull: urlFullList}); + } + }); + + // build pagination function + function buildPagination(urlList){ + // automatic build pagination for isotope + var $inner_1 = $('#content .inner'); + $inner_1 + .addClass('loading') + .tmPaginationGenerator({ + urlList: urlList, + // divWrapper: true, + anchorInnerHtml: '', + generateComplete: function($ul){ + }, + loadComplete: function($ul){ + // apply isotope for items + $ul.isotope({ + itemSelector : '#content .inner>div>div', + resizable: true, + layoutMode: 'masonry', + itemPositionDataEnabled: true + }); + + // remove spinner + setTimeout(function(){ + $spinner.fadeOut(600); + $inner_1.removeClass('loading'); + }, 400); + + // automatic build pagination for carousel + $('.galleryContainer .inner').tmPaginationGenerator({ + urlList: urlList, + anchorInnerHtml: '', + generateComplete: function($ul){ + // apply carousel items + + initFullGallery(); + + $('.carousel.inner').tmDraggablePagination({ + step: 50 + }); + } + }); + } + }); + } + + function initFullGallery(){ + var id = 0, + $gallery = $('.galleryHolder'), + $description = $('.galleryDescription li'); + + $gallery.tmMultimediaGallery({ + startIndex: 0, // initial postion for gallery + showOnInit: false, // show gallery after init + autoPlayState: false, // on/off autoplay + autoPlayTime: 12, // autoplay timeout + alignIMG:"center", // align of image (center, top, bottom, right, left, top_left, top_right, bottom_roght, bottom_left) + alignMode: 'fit', // mode of align 'fill' or 'fit' + controlDisplay: true, // on/off controls display + paginationDisplay: true, // on/off pagination display + animationSpeed:'0.7', // speed of animation + mobile: false, // if mobile + resizableContainer: true, // change the size of the container on the size of the window + container: '.galleryContainer', // container of gallery (window or other DOM element) + imageHolder: '.imageHolder', // imageHolder selector + pagination: '.inner', // pagination selector + paginationItem: '.item', // pagination item selector + outerPagination: true, // outer pagination + description: '.galleryDescription', // description selector + descriptionActiveClass: '.active', // active class for current description item + descriptionShowClass: '.showDescription', // show class for description holder + outerNavigation: false, // outer navigation + mouseMove: false, // mouse move reaction of image + next: '.nextButton', // next button selector + prev: '.prevButton', // prev button selector + play: '.playButton', // play button selector + pause: '.pauseButton', // pause button selector + spinner: '.imgSpinner', // prev button selector + backClass: '.backImg', // back class + frontClass: '.frontImg', // front class + animationClass: 'flip', // class for main animation + animationClassSub: 'scale', // class for secondary animation + noAnimationClass: '.animationDisable', // class for quick image changing + onShowActions: function(){ + id = setTimeout(function(){ + // $('#inner').removeClass('hideFromScreen'); + $gallery.trigger('showControls'); + + $(window).trigger('resize'); + }, 2000); + }, + onHideActions: function(){ + clearTimeout(id); + // $('#inner').addClass('hideFromScreen'); + $gallery.trigger('hideControls'); + }, + onBeforeChange: function(){ + }, + onAfterChange: function(){ + }, + onHideControls: function(){ + $('.prevButton, .nextButton, .close-icon, .info-icon, .gallery_nav, .prev, .next').removeClass('showButton'); + $('.galleryDescription').removeClass('show'); + $('.carousel-holder').removeClass('show'); + }, + onShowControls: function(){ + $('.prevButton, .nextButton, .close-icon, .gallery_nav, .prev, .next').addClass('showButton'); + if ($description.length) { + $('.info-icon').addClass('showButton'); + } + $('.carousel-holder').addClass('show'); + } + }); + + // click function for close button + $('.close-icon').click(function(){ + $gallery.trigger('hideGallery'); + return false; + }); + $(document).keyup(function(e){ + if(e.keyCode === 27) + $gallery.trigger('hideGallery'); + return false; + }); + + // click function for info button + if ($description.length) { + $('.info-icon').on('click', function(){ + $(this).removeClass('showButton'); + $('.galleryDescription').addClass('show'); + return false; + }); + + // click function for close-details button + $('.close-info-icon').on('click', function(){ + $('.info-icon').addClass('showButton'); + $('.galleryDescription').removeClass('show'); + return false; + }); + } + } +}); +$(function(){ +// IPad/IPhone + var viewportmeta = document.querySelector && document.querySelector('meta[name="viewport"]'), + ua = navigator.userAgent, + + gestureStart = function () { + viewportmeta.content = "width=device-width, minimum-scale=0.25, maximum-scale=1.6, initial-scale=1.0"; + }, + + scaleFix = function () { + if (viewportmeta && /iPhone|iPad/.test(ua) && !/Opera Mini/.test(ua)) { + viewportmeta.content = "width=device-width, minimum-scale=1.0, maximum-scale=1.0"; + document.addEventListener("gesturestart", gestureStart, false); + } + }; + scaleFix(); +}); \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/js/tmPaginationGenerator.js b/proposals/fix-and-fresh/mockup/gallery/js/tmPaginationGenerator.js new file mode 100644 index 0000000..f5957bd --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/js/tmPaginationGenerator.js @@ -0,0 +1,59 @@ +/* +* Plugin for pagination generation for tmMultimediaGallery +*Version: 1.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmPaginationGenerator = function(o){ + return this.each(function(){ + var $this = $(this), + data = $this.data('tmPaginationGenerator'), + options = { + urlList: {urlThumb: [], urlFull: []}, // url of images + divWrapper: false, // wrap all li in div + itemClass: 'item', // class for item + anchorInnerHtml: '', // class for hover hmtl in element + // constructor of plugin + constructor: function () { + if (!options.urlList.urlThumb.length || !options.urlList.urlFull.length) { + return false; + } + + $this + .empty() + .append('
'); + + var length = Math.min(options.urlList.urlThumb.length, options.urlList.urlFull.length), + $ul = $this.find('>div'); + for (var i = 0; i < length; i++){ + var appendString = '
'; + options.divWrapper && (appendString = '
' + appendString + '
'); + $ul.append(appendString); + } + + options.generateComplete($ul); + + var images = $ul.find('img'), + counter = images.length; + images.on('load abort error', function(){ + --counter; + if(counter === 0) { + options.loadComplete($ul); + } + }) + }, + // function called when building html tree complete + generateComplete: function(ul){ + }, + // function called when loading images complete + loadComplete: function(ul){ + } + } + + data?$this=data:$this.data({tmPaginationGenerator: options}); + typeof o=='object' && $.extend(options, o); + options.me || options.constructor(options.me=$this); + }); + } +})(jQuery); \ No newline at end of file diff --git a/templates/landscapedesign/sources/less/mixins.less b/proposals/fix-and-fresh/mockup/gallery/less/mixins.less old mode 100755 new mode 100644 similarity index 97% rename from templates/landscapedesign/sources/less/mixins.less rename to proposals/fix-and-fresh/mockup/gallery/less/mixins.less index ae746d8..fc89db7 --- a/templates/landscapedesign/sources/less/mixins.less +++ b/proposals/fix-and-fresh/mockup/gallery/less/mixins.less @@ -1,3 +1,23 @@ +// Mixins +// -------------------------- + +.fa-icon-rotate(@degrees, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); + -webkit-transform: rotate(@degrees); + -moz-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); + -webkit-transform: scale(@horiz, @vert); + -moz-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + -o-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} // // Mixins // -------------------------------------------------- diff --git a/proposals/fix-and-fresh/mockup/gallery/less/tmMixins.less b/proposals/fix-and-fresh/mockup/gallery/less/tmMixins.less new file mode 100644 index 0000000..83bb708 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/less/tmMixins.less @@ -0,0 +1,64 @@ +/* 3D mixins +========================================================*/ +.perspective(@value){ + perspective: @value; + -webkit-perspective: @value; + -moz-perspective: @value; + -o-perspective: @value; +} +.preserve-3d(){ + transform-style: preserve-3d; + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -o-transform-style: preserve-3d; +} +.backface-visibility(@value){ + -webkit-backface-visibility: @value; + -moz-backface-visibility: @value; + -ms-backface-visibility: @value; + backface-visibility: @value; +} +.transform-origin(@origin){ + transform-origin: @origin; + -webkit-transform-origin: @origin; + -moz-transform-origin: @origin; + -o-transform-origin: @origin; +} +.rotateX(@deg){ + transform: rotateX(@deg); + -webkit-transform: rotateX(@deg); + -moz-transform: rotateX(@deg); + -o-transform: rotateX(@deg); +} +.rotateY(@deg){ + transform: rotateY(@deg); + -webkit-transform: rotateY(@deg); + -moz-transform: rotateY(@deg); + -o-transform: rotateY(@deg); +} +.rotateZ(@deg){ + transform: rotateZ(@deg); + -webkit-transform: rotateZ(@deg); + -moz-transform: rotateZ(@deg); + -o-transform: rotateZ(@deg); +} +.flipX{ + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} +.flipY{ + -moz-transform: scaleY(-1); + -o-transform: scaleY(-1); + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + filter: FlipV; + -ms-filter: "FlipV"; +} +.flipXY{ + .flipX(); + .flipY(); +} \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/gallery/less/tmMultimediaGallery.less b/proposals/fix-and-fresh/mockup/gallery/less/tmMultimediaGallery.less new file mode 100644 index 0000000..1e6c4bb --- /dev/null +++ b/proposals/fix-and-fresh/mockup/gallery/less/tmMultimediaGallery.less @@ -0,0 +1,658 @@ +@import url(//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css); + +/* Pagination thumbs +========================================================*/ +.inner{ + margin: 20px 0px; + list-style: none; + overflow: hidden; + &.loading{ + + } + >div{ + margin: 0; + padding: 0; + .item{ + width: 180px; + height: auto; + overflow: hidden; + .box-sizing(border-box); + background: #838383; + position: relative; + // .box-shadow(0 0px 14px 2px rgba(0,0,0,0.1)); + a{ + display: block; + >img{ + .scale(1, 1); + .transition(all 0.3s ease); + width: 100%; + } + span.magnifier-overlay { + position: absolute; + width: 100%; + height: 100%; + background: #fff; + z-index: 2; + display: block; + .box-sizing(border-box); + left: 0px; + top: 0px; + font-size: 24px; + .scale(0, 0); + .opacity(0.4); + .transition(all 0.3s ease); + } + span.fa { + position: absolute; + width: 100%; + height: 100%; + z-index: 5; + display: block; + .box-sizing(border-box); + left: 0px; + top: 0px; + font-size: 24px; + color: #000; + .transition(all 0.3s ease); + &:before { + position: absolute; + top: 50%; + left: 50%; + margin-left: -10px; + margin-top: -12px; + .transition(all 0.3s ease); + .scale(0, 0); + } + } + } + >a:hover, &.active>a { + text-decoration: none; + >img { + } + span{ + text-decoration: none; + } + span.magnifier-overlay { + .scale(1, 1); + .transition(all 0.3s ease); + } + span.fa:before { + .transition(all 0.3s ease); + .scale(1.2, 1.2); + } + } + } + } +} + +/* gallery load spinner +========================================================*/ +.content-load-spinner{ + position: absolute; + top: 0; + left: 0; + .square(100%); + background: url(../images/gallery-loader-list.gif) #f1f1f1 50% 50% no-repeat; + z-index: 1000; + overflow: hidden; +} + +/* Inner carousel pagination +========================================================*/ +.galleryContainer .inner .item{ + width: auto; + padding: 0; + border: none; +} + +.carousel-holder{ + overflow: hidden; + z-index: 1; + margin: 0 auto; + padding: 0; + .transition(all 0.3s ease); + bottom: -80px; + position: absolute; + width: 100%; + height: 50px; + &.show{ + bottom: 25px; + } +} +.carousel.inner{ + list-style: none; + overflow: hidden; + margin: 0 50px; + + >div{ + position: relative; + height: 100%; + white-space: nowrap; + margin: 0 auto; + padding: 0; + >div{ + display: inline-block; + } + .item{ + position: relative; + overflow: hidden; + width: auto; + height: 50px; + border: none; + padding: 0; + margin: 0; + overflow: hidden; + .box-sizing(border-box); + // .box-shadow(0 0px 14px 2px rgba(0,0,0,0.1)); + a{ + display: block; + >img{ + .transition(all 0.3s ease); + width: auto; + height: 50px; + } + span.magnifier-overlay { + position: absolute; + width: 100%; + height: 100%; + background: #000; + z-index: 2; + display: block; + .box-sizing(border-box); + left: 0px; + top: 0px; + font-size: 24px; + .scale(1, 1); + .opacity(0); + } + span.fa { + display: none !important; + &:before { + position: absolute; + top: 50%; + left: 50%; + margin-left: -10px; + margin-top: -12px; + .transition(all 0.3s ease); + .scale(0, 0); + } + } + } + >a:hover, &.active>a { + text-decoration: none; + a>img { + } + span.magnifier-overlay { + .scale(1, 1); + .opacity(0.6); + .transition(all 0.3s ease); + } + span.fa:before { + .transition(all 0.3s ease); + .scale(1.2, 1.2); + } + } + + } + .item.active { + //.scale(1.2, 1.2); + } + } +} + + + +/* Gallery bg +========================================================*/ +body.galleryOpen{ + position: fixed; + top: 0; + left: 0; + .size(100%,100%); + overflow: hidden; + + .galleryContainer{ + position: absolute; + z-index: 1000; + .size(100%,100%) !important; + } + + #content{ + height: 0 !important; + overflow: hidden; + } +} +.galleryContainer{ + position: relative; + top: 0; + left: 0; + .size(100%,0) !important; + overflow: hidden; + /*.perspective(1000px);*/ + &.animationDisable{ + .transition(none); + *{ + .transition(none); + } + } +} +.galleryHolder { + position: absolute; + left: 0; + top: 0; + .size(100%,100%); + z-index: 0 !important; + // .transform-origin(center); + background: #191919; +} +.imageHolder { + position: relative; + width: 100%; + height: 100%; + z-index: 0; + cursor: default; + .transition(all 0.7s ease-in-out); + .frontImg, .backImg{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1; + overflow: hidden; + .transition(all 0.7s ease-in-out); + } + .frontImg, .backImg{ + z-index: 2; + /*.rotateX(0deg);*/ + .scale(1,1); + } + .backImg{ + /*.rotateX(-180deg);*/ + .scale(2,2); + .opacity(0); + } + &.scale{ + .scale(0.75); + } + &.flip{ + .transition(all 0.7s ease-in-out); + /*.rotateX(180deg);*/ + .frontImg{ + .opacity(0); + .scale(2,2); + } + .backImg{ + .opacity(100); + /*.rotateX(-180deg);*/ + .scale(1,1); + } + } + &.ie9{ + .scale(1,1) !important; + .frontImg, + .backImg { + .scale(1,1) !important; + } + } + &.videoInside{ + cursor: pointer; + } +} +.animation{ + .transition(all 0.7s ease-in-out); +} + +/* Description +========================================================*/ +.galleryDescription{ + position: absolute; + left: -500px; + right: 0; + height: 0; + top: 80px; + overflow: hidden; + padding: 0px; + margin: 0px; + list-style: none; + z-index: 10; + width: 500px; + .transition(left 0.3s ease); + &.show{ + left: 0; + } + ul{ + li{ + position: absolute; + bottom: -200%; + .size(100%,auto); + background: rgba(0, 0, 0, 0.5); + padding: 15px 20px; + right: 0; + .box-sizing(border-box); + .transition(left 0.2s ease-in-out); + &.active{ + display: block; + bottom: 0; + .transition(left 0.7s ease-in-out); + .transition-delay(0.8s); + } + p{ + text-align: left; + color: white; + line-height: 1.2em; + margin: 0px 0px 0px 0px; + &:first-child{ + font-size: 35px; + line-height: 1em; + padding-right: 40px; + } + } + } + } + .description_list { + width: 500px; + } +} + +@media only screen and (max-width: 768px) { + .galleryDescription{ + width: 300px; + } +} + +/* Spinner +========================================================*/ +.imgSpinner{ + position: absolute; + top: 50%; + left: 50%; + .square(50px); + z-index: 99; + background: url(../images/gallery-loader.gif) center no-repeat #191919; + background-size: 30px 30px; + border-radius: 500px; + margin: -24px 0 0 -24px; + .transition(all 0.4s ease); + .opacity(0); + .scale(0,0); + &.spinnerShow{ + .opacity(1); + .scale(1,1); + } +} + + +/* ======================================================== + Buttons +========================================================*/ + + +/* Navigation Bar for gallery and carousel +========================================================*/ +// .gallery_nav { +// width: 100%; +// height: 62px; +// position: absolute; +// bottom: 0; +// left: 0; +// right: 0; +// top: 50%; +// margin-top: -32px; +// z-index: 5; +// .transition(all 0.3s ease-out); +// } + +/* Prev Button +========================================================*/ +.prevButton { + position: absolute; + display: inline-block !important; + z-index: 5; + .transition(all 0.3s ease-out); + background: rgba(0,0,0,0.5); + padding: 1px 12px 1px 8px; + border-radius: 10px; + top: 50%; + margin-top: -30px; + i{ + position: relative; + font-size: 60px; + line-height: 60px; + color: white; + .transition(all 0.3s ease-out); + } + &:hover i { + color: #ccc + } +} + +.prevButton{ + left: -50px; + &.showButton{ + left: 10px; + } +} + +@media only screen and (max-width: 480px) { + .prevButton { + i{ + font-size: 40px; + line-height: 40px; + } + } +} + + +.prev { + position: absolute; + display: inline-block !important; + z-index: 5; + .transition(all 0.3s ease-out); + bottom: 10px; + i { + font-size: 30px; + line-height: 32px; + position: relative; + color: white; + .transition(all 0.3s ease-out); + } + &:hover i { + color: #d05252 + } +} + +.prev{ + left: 15px; + &.hide-button{ + display: none !important; + } +} + + + + +/* Next Button +========================================================*/ +.nextButton{ + position: absolute; + display: inline-block !important; + z-index: 5; + .transition(all 0.3s ease-out); + background: rgba(0,0,0,0.5); + padding: 1px 8px 1px 12px; + border-radius: 10px; + top: 50%; + margin-top: -30px; + i{ + position: relative; + font-size: 60px; + line-height: 60px; + color: white; + .transition(all 0.3s ease-out); + } + &:hover i { + color: #ccc + } +} + +.nextButton{ + right: -50px; + &.showButton{ + right: 10px; + } +} + +@media only screen and (max-width: 480px) { + .nextButton { + i{ + font-size: 40px; + line-height: 40px; + } + } +} + +.next { + position: absolute; + display: inline-block !important; + z-index: 5; + .transition(all 0.3s ease-out); + bottom: 10px; + text-align: right; + i { + font-size: 30px; + line-height: 32px; + position: relative; + color: white; + .transition(all 0.3s ease-out); + } + &:hover i { + color: #d05252 + } +} + +.next{ + right: 15px; + &.hide-button{ + display: none !important; + } +} + + + +/* Close Button +========================================================*/ +.close-icon { + background: rgba(0, 0, 0, 0.5); + /* opacity: 0.5; */ + border-radius: 100%; + width: 100px; + height: 100px; + top: -120px; + right: -120px; + position: absolute; + display: inline-block !important; + z-index: 5; + .transition(all 0.3s ease-out); + z-index: 100; + i{ + position: relative; + font-size: 50px; + .transition(all 0.3s ease-out); + } + .fa { + top: 63px; + font-size: 20px; + font-weight: 100; + color: #ffffff; + left: 23px; + } + &:hover{ + text-decoration: none; + i{ + color: #d05252; + } + + } + &.showButton{ + top: -54px; + right: -49px; + } +} + +/* Info Button +========================================================*/ +.info-icon{ + background: rgba(0, 0, 0, 0.5); + /* opacity: 0.5; */ + border-radius: 100%; + width: 100px; + height: 100px; + top: -120px; + left: -120px; + position: absolute; + display: inline-block !important; + z-index: 5; + .transition(all 0.3s ease-out); + z-index: 100; + color: #fff; + &.showButton{ + top: -54px; + left: -49px; + } + i{ + position: relative; + font-size: 50px; + .transition(all 0.3s ease-out); + } + .fa { + top: 63px; + font-size: 20px; + font-weight: 100; + color: #ffffff; + right: -63px; + } + &:hover{ + .transition(all 0.3s ease-out); + } +} +.close-info-icon{ + position: absolute; + right: 10px; + top: 10px; + left: auto; + .transition(all 0.3s ease-out); + i{ + color: #fff !important; + font-size: 30px; + } + &:hover>i{ + .transition(all 0.3s ease-out); + } +} + + +/* Play Button +========================================================*/ + +.playButton, .pauseButton{ + left: 50%; + top: -100px; + .opacity(0.6); + &.showButton{ + transition-delay: 0.3s; + top: 50%; + } +} +.playButton{ + margin: -27px -24px 0 0; +} +.pauseButton{ + margin: -27px -24px 0 0; +} +/* end gallery bg*/ + + + +@import "mixins.less"; +@import "tmMixins.less"; \ No newline at end of file diff --git a/proposals/fix-and-fresh/mockup/images/bg1.jpg b/proposals/fix-and-fresh/mockup/images/bg1.jpg new file mode 100644 index 0000000..fefdc75 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/bg1.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/bg2.jpg b/proposals/fix-and-fresh/mockup/images/bg2.jpg new file mode 100644 index 0000000..62640cc Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/bg2.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/camera-loader.gif b/proposals/fix-and-fresh/mockup/images/camera-loader.gif new file mode 100644 index 0000000..8eeb70b Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/camera-loader.gif differ diff --git a/proposals/fix-and-fresh/mockup/images/favicon.ico b/proposals/fix-and-fresh/mockup/images/favicon.ico new file mode 100644 index 0000000..d0438a0 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/favicon.ico differ diff --git a/proposals/fix-and-fresh/mockup/images/form-loader.gif b/proposals/fix-and-fresh/mockup/images/form-loader.gif new file mode 100644 index 0000000..224ec1e Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/form-loader.gif differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery-loader-list.gif b/proposals/fix-and-fresh/mockup/images/gallery-loader-list.gif new file mode 100644 index 0000000..3c329ff Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery-loader-list.gif differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1009092_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1009092_original.jpg new file mode 100644 index 0000000..dd07121 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1009092_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1142430_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1142430_original.jpg new file mode 100644 index 0000000..5938b19 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1142430_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1147111_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1147111_original.jpg new file mode 100644 index 0000000..7259de3 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_1147111_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_11970447_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_11970447_original.jpg new file mode 100644 index 0000000..f76e486 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_11970447_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_12631823_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_12631823_original.jpg new file mode 100644 index 0000000..664ee8c Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_12631823_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_19846633_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_19846633_original.jpg new file mode 100644 index 0000000..6106404 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_19846633_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_19846665_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_19846665_original.jpg new file mode 100644 index 0000000..9dc9f57 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_19846665_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_2099945_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_2099945_original.jpg new file mode 100644 index 0000000..fe07c79 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_2099945_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_23613271_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_23613271_original.jpg new file mode 100644 index 0000000..fe3f3ac Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_23613271_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_24550029_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_24550029_original.jpg new file mode 100644 index 0000000..1e1ecb7 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_24550029_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3150487_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3150487_original.jpg new file mode 100644 index 0000000..4a83707 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3150487_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3853976_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3853976_original.jpg new file mode 100644 index 0000000..10bc9b9 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3853976_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3914284_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3914284_original.jpg new file mode 100644 index 0000000..21fb2a9 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_3914284_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_5487873_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_5487873_original.jpg new file mode 100644 index 0000000..a5d0f01 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_5487873_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_5865000_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_5865000_original.jpg new file mode 100644 index 0000000..15667c4 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_5865000_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6188130_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6188130_original.jpg new file mode 100644 index 0000000..9e1ca63 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6188130_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6638219_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6638219_original.jpg new file mode 100644 index 0000000..5cbef33 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6638219_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6799800_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6799800_original.jpg new file mode 100644 index 0000000..55d6ebd Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_6799800_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_7737064_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_7737064_original.jpg new file mode 100644 index 0000000..9a83af6 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/Depositphotos_7737064_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1009092_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1009092_original.jpg new file mode 100644 index 0000000..20bac22 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1009092_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1142430_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1142430_original.jpg new file mode 100644 index 0000000..eca6d39 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1142430_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1147111_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1147111_original.jpg new file mode 100644 index 0000000..0852aa5 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_1147111_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_11970447_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_11970447_original.jpg new file mode 100644 index 0000000..03c0b55 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_11970447_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_12631823_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_12631823_original.jpg new file mode 100644 index 0000000..30eb9de Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_12631823_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_19846633_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_19846633_original.jpg new file mode 100644 index 0000000..d3e0020 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_19846633_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_19846665_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_19846665_original.jpg new file mode 100644 index 0000000..f36b095 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_19846665_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_2099945_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_2099945_original.jpg new file mode 100644 index 0000000..a24c11b Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_2099945_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_23613271_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_23613271_original.jpg new file mode 100644 index 0000000..09eccc6 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_23613271_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_24550029_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_24550029_original.jpg new file mode 100644 index 0000000..f6893c2 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_24550029_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3150487_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3150487_original.jpg new file mode 100644 index 0000000..26d72c7 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3150487_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3853976_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3853976_original.jpg new file mode 100644 index 0000000..c1fd40b Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3853976_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3914284_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3914284_original.jpg new file mode 100644 index 0000000..1c90664 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_3914284_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_5487873_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_5487873_original.jpg new file mode 100644 index 0000000..049038d Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_5487873_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_5865000_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_5865000_original.jpg new file mode 100644 index 0000000..c685608 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_5865000_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6188130_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6188130_original.jpg new file mode 100644 index 0000000..158d27d Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6188130_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6638219_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6638219_original.jpg new file mode 100644 index 0000000..a84974c Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6638219_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6799800_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6799800_original.jpg new file mode 100644 index 0000000..cd1e9d8 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_6799800_original.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_7737064_original.jpg b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_7737064_original.jpg new file mode 100644 index 0000000..e6c9f25 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/gallery/big/Depositphotos_7737064_original.jpg differ diff --git a/templates/landscapedesign/documentation/img/file-struct.png b/proposals/fix-and-fresh/mockup/images/gmap_marker.png old mode 100755 new mode 100644 similarity index 72% rename from templates/landscapedesign/documentation/img/file-struct.png rename to proposals/fix-and-fresh/mockup/images/gmap_marker.png index dbe6f69..9842853 Binary files a/templates/landscapedesign/documentation/img/file-struct.png and b/proposals/fix-and-fresh/mockup/images/gmap_marker.png differ diff --git a/proposals/fix-and-fresh/mockup/images/indicator.png b/proposals/fix-and-fresh/mockup/images/indicator.png new file mode 100644 index 0000000..2401b8b Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/indicator.png differ diff --git a/proposals/fix-and-fresh/mockup/images/list_marker.png b/proposals/fix-and-fresh/mockup/images/list_marker.png new file mode 100644 index 0000000..3b0d00e Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/list_marker.png differ diff --git a/proposals/fix-and-fresh/mockup/images/logo.png b/proposals/fix-and-fresh/mockup/images/logo.png new file mode 100644 index 0000000..bc19483 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/logo.png differ diff --git a/proposals/fix-and-fresh/mockup/images/magnifier2.png b/proposals/fix-and-fresh/mockup/images/magnifier2.png new file mode 100644 index 0000000..e9314df Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/magnifier2.png differ diff --git a/proposals/fix-and-fresh/mockup/images/owl_next_btn.png b/proposals/fix-and-fresh/mockup/images/owl_next_btn.png new file mode 100644 index 0000000..ab02b68 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/owl_next_btn.png differ diff --git a/proposals/fix-and-fresh/mockup/images/owl_prev_btn.png b/proposals/fix-and-fresh/mockup/images/owl_prev_btn.png new file mode 100644 index 0000000..59e7369 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/owl_prev_btn.png differ diff --git a/proposals/fix-and-fresh/mockup/images/qote_pic1.jpg b/proposals/fix-and-fresh/mockup/images/qote_pic1.jpg new file mode 100644 index 0000000..2a3d243 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/qote_pic1.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/qote_pic2.jpg b/proposals/fix-and-fresh/mockup/images/qote_pic2.jpg new file mode 100644 index 0000000..0dd8642 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/qote_pic2.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/quote_sign.png b/proposals/fix-and-fresh/mockup/images/quote_sign.png new file mode 100644 index 0000000..e12253e Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/quote_sign.png differ diff --git a/proposals/fix-and-fresh/mockup/images/services_pic1.jpg b/proposals/fix-and-fresh/mockup/images/services_pic1.jpg new file mode 100644 index 0000000..840f709 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/services_pic1.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/services_pic2.jpg b/proposals/fix-and-fresh/mockup/images/services_pic2.jpg new file mode 100644 index 0000000..e3bdc30 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/services_pic2.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/services_pic3.jpg b/proposals/fix-and-fresh/mockup/images/services_pic3.jpg new file mode 100644 index 0000000..0cb4edc Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/services_pic3.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/services_pic4.jpg b/proposals/fix-and-fresh/mockup/images/services_pic4.jpg new file mode 100644 index 0000000..aa0e941 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/services_pic4.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/services_pic5.jpg b/proposals/fix-and-fresh/mockup/images/services_pic5.jpg new file mode 100644 index 0000000..7e3296d Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/services_pic5.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/services_pic6.jpg b/proposals/fix-and-fresh/mockup/images/services_pic6.jpg new file mode 100644 index 0000000..0a290a9 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/services_pic6.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/shadow1.png b/proposals/fix-and-fresh/mockup/images/shadow1.png new file mode 100644 index 0000000..660742b Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/shadow1.png differ diff --git a/proposals/fix-and-fresh/mockup/images/slide1.jpg b/proposals/fix-and-fresh/mockup/images/slide1.jpg new file mode 100644 index 0000000..d3271cc Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/slide1.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/slide2.jpg b/proposals/fix-and-fresh/mockup/images/slide2.jpg new file mode 100644 index 0000000..cf5a09e Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/slide2.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/slide3.jpg b/proposals/fix-and-fresh/mockup/images/slide3.jpg new file mode 100644 index 0000000..bd8b2b1 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/slide3.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/slider_next_btn.png b/proposals/fix-and-fresh/mockup/images/slider_next_btn.png new file mode 100644 index 0000000..b7a2814 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/slider_next_btn.png differ diff --git a/proposals/fix-and-fresh/mockup/images/slider_prev_btn.png b/proposals/fix-and-fresh/mockup/images/slider_prev_btn.png new file mode 100644 index 0000000..b120d05 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/slider_prev_btn.png differ diff --git a/templates/eds-plumbing-and-sewer/mockup/assets/images/favicon.png b/proposals/fix-and-fresh/mockup/images/subindicator.png old mode 100755 new mode 100644 similarity index 70% rename from templates/eds-plumbing-and-sewer/mockup/assets/images/favicon.png rename to proposals/fix-and-fresh/mockup/images/subindicator.png index 806865c..1e62fcc Binary files a/templates/eds-plumbing-and-sewer/mockup/assets/images/favicon.png and b/proposals/fix-and-fresh/mockup/images/subindicator.png differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_big_pic1.jpg b/proposals/fix-and-fresh/mockup/images/tips_big_pic1.jpg new file mode 100644 index 0000000..6ff7128 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_big_pic1.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_big_pic2.jpg b/proposals/fix-and-fresh/mockup/images/tips_big_pic2.jpg new file mode 100644 index 0000000..06981b7 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_big_pic2.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_big_pic3.jpg b/proposals/fix-and-fresh/mockup/images/tips_big_pic3.jpg new file mode 100644 index 0000000..85f1e6e Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_big_pic3.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_big_pic4.jpg b/proposals/fix-and-fresh/mockup/images/tips_big_pic4.jpg new file mode 100644 index 0000000..d5ac227 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_big_pic4.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_big_pic5.jpg b/proposals/fix-and-fresh/mockup/images/tips_big_pic5.jpg new file mode 100644 index 0000000..6dfe9ba Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_big_pic5.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_big_pic6.jpg b/proposals/fix-and-fresh/mockup/images/tips_big_pic6.jpg new file mode 100644 index 0000000..f836e8d Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_big_pic6.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_pic1.jpg b/proposals/fix-and-fresh/mockup/images/tips_pic1.jpg new file mode 100644 index 0000000..1a111e4 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_pic1.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_pic2.jpg b/proposals/fix-and-fresh/mockup/images/tips_pic2.jpg new file mode 100644 index 0000000..865a076 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_pic2.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_pic3.jpg b/proposals/fix-and-fresh/mockup/images/tips_pic3.jpg new file mode 100644 index 0000000..41f3d89 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_pic3.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_pic4.jpg b/proposals/fix-and-fresh/mockup/images/tips_pic4.jpg new file mode 100644 index 0000000..8209526 Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_pic4.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_pic5.jpg b/proposals/fix-and-fresh/mockup/images/tips_pic5.jpg new file mode 100644 index 0000000..ad87d9b Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_pic5.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/tips_pic6.jpg b/proposals/fix-and-fresh/mockup/images/tips_pic6.jpg new file mode 100644 index 0000000..f846e0e Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/tips_pic6.jpg differ diff --git a/proposals/fix-and-fresh/mockup/images/touchtouch/arrows.png b/proposals/fix-and-fresh/mockup/images/touchtouch/arrows.png new file mode 100644 index 0000000..73fc67f Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/touchtouch/arrows.png differ diff --git a/templates/landscapedesign/documentation/img/html-icon.png b/proposals/fix-and-fresh/mockup/images/touchtouch/bg_transparent.png old mode 100755 new mode 100644 similarity index 54% rename from templates/landscapedesign/documentation/img/html-icon.png rename to proposals/fix-and-fresh/mockup/images/touchtouch/bg_transparent.png index 5e1ffdb..9342fd9 Binary files a/templates/landscapedesign/documentation/img/html-icon.png and b/proposals/fix-and-fresh/mockup/images/touchtouch/bg_transparent.png differ diff --git a/proposals/fix-and-fresh/mockup/images/touchtouch/preloader.gif b/proposals/fix-and-fresh/mockup/images/touchtouch/preloader.gif new file mode 100644 index 0000000..8eeb70b Binary files /dev/null and b/proposals/fix-and-fresh/mockup/images/touchtouch/preloader.gif differ diff --git a/proposals/fix-and-fresh/mockup/index.html b/proposals/fix-and-fresh/mockup/index.html new file mode 100644 index 0000000..8feafe3 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/index.html @@ -0,0 +1,463 @@ + + + + Fix&Fresh | Window Cleaning & Power Washing in Addison, IL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UX Concept Preview — Fix&Fresh · Not the live website · Feature gallery · Pricing
+ +
+
+

Addison, IL · Serving Chicagoland

+

(630) 936-8512

+
+
    +
  • +
  • +
  • +
+
+ + +
+
+
+
+
+
+
+ Fix&Fresh — crystal-clear windows
across Addison & beyond
+
+
+
+
+
+
+ Pressure washing & house washing
that restores curb appeal
+
+
+
+
+
+
+ Residential, commercial & high-rise
window cleaning you can trust
+
+
+
+
+
+
+ +
+
+

Welcome!

+
+
+

Fix&Fresh brings professional window cleaning and exterior care to homes and businesses in Addison, IL. From sparkling glass to fresh-washed siding and clean gutters, we leave properties looking Fix&Fresh.

+
+
+
+
+ +

Reliable scheduling

+

Weekday service hours typically 8 AM–5 PM. Call or message for a free estimate that fits your calendar.

+
+
+ +

Full exterior care

+

Windows, pressure washing, gutters, house washing, and paver installation — one team for curb appeal.

+
+
+ +

Residential & commercial

+

Homes, storefronts, offices, and high-rise glass — we scale the job to the building.

+
+
+

About Fix&Fresh

+
+
+ +
+
+

“Clear windows. Fresh exteriors. Local service you can count on in Addison and the surrounding suburbs.”

+
+
+ +
+
+
+
+

What we do

+
+
+

Window cleaning and exterior services for residential and commercial properties. Tell us about your building — we will recommend the right wash, rinse, and maintenance plan.

+
+
+
+
+
+
+ Clean residential windows reflecting trees +

Residential window cleaning

+

Interior and exterior glass for homes, townhomes, and condos.

+ Residential window details +
+
+ Commercial storefront glass being cleaned +

Commercial window cleaning

+

Storefronts, offices, and multi-tenant buildings on a flexible schedule.

+ Commercial window details +
+
+
+
+ High-rise building exterior glass +

High-rise window cleaning

+

Elevated glass work with professional equipment and safety practices.

+ High-rise window details +
+
+ Pressure washing a driveway and walkway +

Pressure washing

+

Driveways, sidewalks, decks, and hardscape cleaned of grime and mildew.

+ Pressure washing details +
+
+
+
+ Gutter cleaning on a residential roof edge +

Gutter cleaning & maintenance

+

Clear debris, check flow, and help protect your foundation and landscaping.

+ Gutter service details +
+
+ Freshly washed house exterior and clean patio +

House washing & pavers

+

Soft house washing plus paver installation to refresh outdoor living spaces.

+ House wash & paver details +
+
+
+

View all Fix&Fresh services

+
+
+ +
+
+
+
+
+
+
+

Our storefront glass has never looked better. The Fix&Fresh crew was on time, careful around customers, and left everything spotless.

+ +

Sample client

+

Addison retail — placeholder review

+
+
+
+
+

They cleaned our second-story windows and pressure-washed the patio in one visit. Easy to schedule and the house looks brand new.

+ +

Sample homeowner

+

DuPage County — placeholder review

+
+
+
+
+
+
+
+ +
+ +
+ +
+
+
+
+

How to find us

+
+
+

Based in Addison, IL. Call (630) 936-8512 or email fixandfreshllc@gmail.com for estimates. Prefer a form? Use the request below or visit our contact page.

+
+
+
+
+
+ +
+
+
+
+

Request a quote

+

Tell us about your property — windows, wash, gutters, or pavers.

+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+
+
+ + + + + + + + + + + + + diff --git a/proposals/fix-and-fresh/mockup/js/PIE.htc b/proposals/fix-and-fresh/mockup/js/PIE.htc new file mode 100644 index 0000000..00b6383 --- /dev/null +++ b/proposals/fix-and-fresh/mockup/js/PIE.htc @@ -0,0 +1,96 @@ + + + + + + + + + diff --git a/templates/landscapedesign/documentation/js/TMForm.js b/proposals/fix-and-fresh/mockup/js/TMForm.js old mode 100755 new mode 100644 similarity index 65% rename from templates/landscapedesign/documentation/js/TMForm.js rename to proposals/fix-and-fresh/mockup/js/TMForm.js index 38a3853..f935355 --- a/templates/landscapedesign/documentation/js/TMForm.js +++ b/proposals/fix-and-fresh/mockup/js/TMForm.js @@ -1,19 +1,30 @@ -//TMForm -(function($){ +//TMForm 1.0.1 +$(window).load(function(){ + $('#contact-form').TMForm({ + recaptchaPublicKey:'6LeZwukSAAAAAG8HbIAE0XeNvCon_cXThgu9afkj' + }) +}) + +;(function($){ $.fn.TMForm=function(opt){ return this.each(TMForm) function TMForm(){ var form=$(this) - opt=$.extend({ + opt=$.extend({ okClass:'ok' ,emptyClass:'empty' ,invalidClass:'invalid' ,successClass:'success' + ,responseErrorClass:'response-error' + ,responseMessageClass:'response-message' + ,processingClass:'processing' ,onceVerifiedClass:'once-verified' ,mailHandlerURL:'bat/MailHandler.php' ,successShowDelay:'4000' ,stripHTML:true + ,recaptchaPublicKey:'' + ,capchaTheme:'clean' },opt) init() @@ -30,9 +41,29 @@ .addClass(opt.onceVerifiedClass) .trigger('validate.form') }) - .on('keyup','[data-constraints].once-verified',function(){ + .on('keyup','[data-constraints].once-verified',function(){ $(this).trigger('validate.form') + }) + .on('keydown','input',function(e){ + var $this=$(this) + ,next=$this.parents('label').next('label').find('input,textarea') + if(e.keyCode===13) + if(next.length) + next.focus() + else + form.submit() + }) + .on('keydown','textarea',function(e){ + if(e.keyCode===13&&e.ctrlKey) + $(this).parents('label').next('label').find('input,textarea').focus() + }) + .on('change','input[type="file"]',function(){ + $(this).parents('label').next('label').find('input,textarea').focus() }) + .attr({ + method:'POST' + ,action:opt.mailHandlerURL + }) if($('[data-constraints]',form).length!==0) $('[data-constraints]',form) @@ -56,6 +87,13 @@ form.trigger('reset') return false }) + + if(opt.stripHTML) + form.append('') + + if($('label.recaptcha',form).length!==0&&window.Recaptcha) + showRecaptcha() + } function fieldValidate(el){ @@ -86,9 +124,9 @@ if(isInvalid&&!isRequired&&el.val()) el.parents('label') - .removeClass(opt.emptyClass) - .removeClass(opt.okClass) - .addClass(opt.invalidClass) + .removeClass(opt.emptyClass) + .removeClass(opt.okClass) + .addClass(opt.invalidClass) if(!result.length) el.parents('label') @@ -111,31 +149,56 @@ } function formSubmit(){ + var $this=$(this) + ,modal=$('.'+opt.responseMessageClass) + ,responseMessage + + modal.on('hidden.bs.modal',function(){ + if(responseMessage!=='success') + $('#recaptcha_reload',form).click() + ,$('#recaptcha_response_field',form).focus() + }) + $('[data-constraints]',form).trigger('validate.form') + + if($('#recaptcha_response_field',form).val()==='') + $('label.recaptcha',form).addClass(opt.emptyClass) - if(!$('label.'+opt.invalidClass+',label.'+opt.emptyClass,form).length){ - $.ajax({ - type:"POST" - ,url:opt.mailHandlerURL - ,data:{ - name:getValue($('label.name input')) - ,email:getValue($('label.email input')) - ,phone:getValue($('label.phone input')) - ,fax:getValue($('label.fax input')) - ,state:getValue($('label.state input')) - ,message:getValue($('label.message textarea')) - ,owner_email:opt.ownerEmail||'#' - ,stripHTML:opt.stripHTML - } - ,success: function(e){ - form.addClass(opt.successClass) + if(!$('label.'+opt.invalidClass+',label.'+opt.emptyClass,form).length&&!form.hasClass(opt.processingClass)){ + form.addClass(opt.processingClass) + $this.ajaxSubmit(function(e,d,a,c){ + responseMessage=e + if(e=='success'){ + form + .removeClass(opt.processingClass) + .addClass(opt.successClass) + + modal.find('.modal-title').text('Success!') + modal.find('.modal-body').text('Your message has been successfully sent!') + setTimeout(function(){ form .removeClass(opt.successClass) .trigger('reset') },opt.successShowDelay) + }else{ + modal.find('.modal-title').text('Error!') + modal.find('.modal-body').html(e) + + form + .removeClass(opt.processingClass) + .addClass(opt.responseErrorClass) + + $('#recaptcha_response_field',form).val('') + + setTimeout(function(){ + form + .removeClass(opt.responseErrorClass) + //.trigger('reset') + },opt.successShowDelay) } - }) + modal.modal({keyboard:true}) + }) } return false } @@ -143,6 +206,24 @@ function formReset(){ fieldDesolation($('[data-constraints]',form)) } + + function showRecaptcha(){ + $('label.recaptcha',form) + .append('
') + + Recaptcha.create( + opt.recaptchaPublicKey + ,'captchadiv' + , { + theme:opt.capchaTheme + } + ) + + form + .on('focus','#recaptcha_response_field',function(){ + $(this).parents('label').removeClass(opt.emptyClass) + }) + } } } })(jQuery) @@ -162,7 +243,7 @@ init() - function init(){ + function init(){ placeholder_text=th.attr('placeholder') placeholder=$(document.createElement('span')) placeholder @@ -182,7 +263,7 @@ .on('contextmenu',function(){ th.trigger('hide.placeholder').focus() }) - + th .val('') .removeAttr('placeholder') @@ -237,6 +318,17 @@ eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1a 1v={4S:1e(){},2h:1e(){},3A:1e(){},1t:1e(){},1u:1e(){},26:1e(){},2I:1e(){},37:{},4J:{},4I:{}},1v=1e(){1e G(){i={1U:{}}}1e t(a,b){1a c=H.4q;"1s"!==1n b.4l&&(c=!b.4l);1j!(N.2j(a)&&!c)}1e O(){1a a=!1;1b("2q"===1m.1R.1T()&&""!==1m.1E.1J(/\\s/g,""))1i(1a b=I(2n.4g,"2e","1E",1m.1E),c=0;c=2u(a.1z));1j b},1k:o.3u,1t:!1,1u:!1,1o:["1z"],1D:"{1N} 2D 1p 1A 5Y 4K 2m 4G 1p {1z}."},3d:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=""!=1m.1z.1J(/\\s/g,"")&&2u(1m.1z)<=2u(a.2Q)&&2u(1m.1z)>=2u(a.2S));1j b},1k:o.3d,1t:!1,1u:!1,1o:["2S","2Q"],1D:"{1N} 2D 1p 1A 4z {2S} 2k {2Q}."},3g:{1y:!1,1B:P,1k:o.3g,1t:!1,1u:!1,1o:[],1D:"{1N} 3E 1A 4y."},3f:{1y:!1,1B:N,1k:o.3f,1t:!1,1u:!1,1o:[],1D:"{1N} 2D 1p 1A 4y."},3e:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b="24"===1n a.2O?a.2O.1J(/^\\//,"").1J(/\\/$/,""):a.2O,b=("1s"!==1n a.3z?2G(b.3R().1J(/^\\//,"").1J(/\\/[^\\/]*$/,""),a.3z):2G(b)).25(1m.1z));1j b},1k:o.3e,1t:!1,1u:!1,1o:["2O"],1D:"{1N} 2D 1p 4v {2O}{3z}."},3q:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/[a-2s-9!#$%&\'*+/=?^2C`{|}~-]+(?:\\.[a-2s-9!#$%&\'*+/=?^2C`{|}~-]+)*@(?:[a-2s-9](?:[a-2s-9-]*[a-2s-9])?\\.)+[a-2s-9](?:[a-2s-9-]*[a-2s-9])?/i.25(1m.1z));1j b},1k:o.3q,1t:!1,1u:!1,1o:[],1D:"{1N} 1P 23 a 2J 66."},3h:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^[A-3H-z]+$/.25(1m.1z));1j b},1k:o.3h,1t:!1,1u:!1,1o:[],1D:"{1N} 3o 2a 3Z 5v."},3J:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^[0-9]+$/.25(1m.1z));1j b},1k:o.3J,1t:!1,1u:!1,1o:[],1D:"{1N} 3o 2a 3Z 5u."},3j:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^[0-4R-3H-z]+$/.25(1m.1z));1j b},1k:o.3j,1t:!1,1u:!1,1o:[],1D:"{1N} 3o 2a 3Z 5u 2k 5v."},3i:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^-?[0-9]+$/.25(1m.1z));1j b},1k:o.3i,1t:!1,1u:!1,1o:[],1D:"{1N} 29 1A 1S 2R."},3G:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^-?([0-9]+(\\.[0-9]+)?|\\.[0-9]+)$/.25(1m.1z));1j b},1k:o.3G,1t:!1,1u:!1,1o:[],1D:"{1N} 29 1A a 6a 32."},3r:{1y:!0,1B:1e(){1i(1a a=[],b=0;b<1m.1O.1g;b++){1a c=1m.1O[b];Q.2j(c)||a.1I(c)}1j a},1k:o.3r,1t:!1,1u:!1,1o:[],1D:"{1N} 29 1A 6b 6c."},3M:{1y:!0,1B:1e(a){1a b=[],c=2n.2K(a.5t),a=2n.2K(a.5o);c.1z!=a.1z&&(b=[c,a]);1j b},1k:o.3M,1t:!1,1u:!1,1o:["5t","5o"],1D:"5C 6g 23 4v."},3x:{1y:!1,1B:Q,1k:o.3x,1t:!1,1u:!1,1o:[],1D:"{1N} 1P 4e."},3B:{1y:!1,1B:1e(a){1j 1m.1z.1g>=a.2S&&1m.1z.1g<=a.2Q},1k:o.3B,1t:!1,1u:!1,1o:["2S","2Q"],1D:"{1N} 1g 29 1A 4z {2S} 2k {2Q}."},3s:{1y:!1,1B:1e(a){1a b=!0;1b(t(1m,a)){1a c=1m.1z.1J(/\\s/g,""),d=c.2H(/\\./),b=!1;0a.3P);1j b},1k:o.3w,1t:!1,1u:!1,1o:["3W"],1D:"{1N} 29 1A 1l 1w 6l."}},y={3L:1e(){},3n:1e(){},2x:1e(){},4N:1e(){},42:1e(){},43:1e(){}},46=1e(a){1i(1a b={2L:a.2L,1E:a.1E,1R:a.1R,22:[]},c=0;ce.5b.3R().59("2w"))1r"1v.1t 1K 1w 1o 1G 1l 1w 1L 1W 1p 1A 1S 2B";1b("24"!=1n a)1r"1v.1t 1K 1w 1D 1G 1l 1w 1L 1W 1p 1A a 24";1b(h[b])1r"4L 1P 4C a 1M 4p "+b+". 2v 2p 5p 1p 26 1m 1M, 5l 1v.26";o[b]=E;q[E++]=b;h[b]={1y:c,1B:d,1k:o[b],1t:!0,1u:!1,1o:e,1D:a}},1u:1e(a){1b(!a)1r"1v.1u 1K 1L";1a b=a.1E,c=a.1V||[],d=a.1y||!1,e=a.1D||"",f=a.1o||[],a="1s"===1n a.38?!1:a.38;1b(!b)1r"1v.1u 1K a 1E 1G 1l 1w 1L 1W";1b("24"!=1n b)1r"1v.1u 1K 1E 1p 1A a 24 2g";1b(0>f.5b.3R().59("2w"))1r"1v.1u 1K 1w 1o 1G 1l 1w 1L 1W 1p 1A 1S 2B";1b(0==c.1g)1r"1v.1u 1K 1S 2B 3m 3Q 1V 5e a 1V 1G 1l 1w 1L 1W";1b(h[b])1r"1v.1u: 4L 1P 4C a 1M 4p "+b+". 2v 2p 5p 1p 26 1m 1M, 5l 1v.26";Y(b,c,f);o[b]=E;q[E++]=b;h[b]={1y:d,1k:o[b],1t:!0,1u:!0,1o:f,38:a,2N:c,1D:e,1B:5m};X(b,c)},26:1e(a){1b(!a)1r"1v.26 1K 1L";1b("1s"===1n a.1k)1r"1v.26 1K a 2J 1k 1G 1l 1w 1L 1W";1a b=q[a.1k];1b("1s"===1n b)1r"1v.26: I 6N 23 3K 1w 3F 1M. 6O 1Z 3N 23 2P 5g? 5q 5r: "+r(a);1a c=h[b].1y;h[b].1t&&(c="1s"===1n a.1y?h[b].1y:a.1y);1a d=h[b].1t&&!h[b].1u?a.1B||h[b].1B:h[b].1B,e=h[b].1t?a.1o||h[b].1o:h[b].1o,f=a.1D||h[b].1D,i=h[b].1u,m=a.1V||h[b].1V;1b("2T"!=1n c)1r"1v.26 1K 1w 1y 1G 1l 1w 1L 1W 1p 1A a 2T";1b("1e"!=1n d)1r"1v.26 1K 1w 1B 1G 1l 1w 1L 1W 1p 1A a 1e";1b(!(e 2V 2w))1r"1v.26 1K 1w 1o 1G 1l 1w 1L 1W 1p 1A 1S 2B";1b("24"!=1n f)1r"1v.26 1K 1w 1D 1G 1l 1w 1L 1W 1p 1A a 24";1b(i){Y(b,m,e);1a j=y.43();X(b,m);a=y.2x(y.3n(a.1k));1b(a.2x)1r y.42(j),"1v.26: 2r 6P 3Q-1V 2p 2f 3F 2f 6Q a 6R 6S: "+a.4f;}h[b]={1y:c,1k:o[b],1t:!0,1u:i,1o:e,2N:m,1D:f,1B:d}},37:o,4J:v,4I:{3U:"3U",3T:"3T",44:"44"}}}();',62,427,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||var|if|successful|message|function|data|length|null|for|return|constraintType|in|this|typeof|params|to|else|throw|undefined|custom|compound|regula|the|groups|formSpecific|value|be|validator|shift|defaultMessage|name|hasOwnProperty|attribute|id|push|replace|expects|options|constraint|label|elements|is|group|type|an|toLowerCase|Default|constraints|argument|elementId|element|it|||children|not|string|test|override|Invalid|form|must|only|select|__size__|tagName|input|have|parameter|bind|with|call|and|charAt|or|document|provided|you|radio|The|z0|Not|parseFloat|If|Array|cycleExists|textarea|bound|delete|array|_|needs|unshift|character|RegExp|split|validate|valid|getElementById|visited|definition|composingConstraints|regex|been|max|integer|min|boolean|independent|instanceof|are|Year|checkbox|starting|Can|include|number|error|any|failingElements|Selected|Constraint|reportAsSingleViolation|composingConstraintViolations|Checked|fraction|Month|Range|Pattern|Blank|NotBlank|Alpha|Integer|AlphaNumeric|list|Day|of|getNodeByType|can|but|Email|CompletelyFilled|Digits|Past|Min|Max|Future|Required|Element|flags|unbind|Length|Undefined|No|cannot|specified|Real|Za|trying|Numeric|find|addNode|PasswordsMatch|has|You|dateToTestAgainst|composing|toString|getAttribute|MDY|DMY|was|format|new|Date|contain|aa|text|setRoot|clone|YMD|dateToValidate|ca|button|empty|does|expected|constraintPassed|ba|Parameter|required|path|body|checked|void|removeChildren|regular|ignoreEmpty|expression|true|that|called|validateEmptyFields|Validation|Cannot|attached|arguments|match|Math|matching|blank|between|closing|fa|already|non|z_|after|equal|ga|DateFormat|Group|than|There|following|getRoot|box|constraintParameters|password|9A|configure|ha|ia|digits|ja|ka|separator|la|ma|substring|na|oa|Between|date|Matches|selectedIndex|Empty|indexOf|NotEmpty|constructor|found|IsAlpha|under|applicable|defined|IsNumeric|msg|ea|IsAlphaNumeric|use|da|all|field2|wish|Function|received|need|field1|numbers|letters|constraintName|Unterminated|literal|quoted|In|callee|Passwords|debug|hasn|__dontcare__|111|110|101|100|011|010|001|000|area|field|strings|enums|each|selected|overwriteParameters|lesser|overwriteConstraint|unexpected|greater|HTMLElement|nodeType|random|1E6|floor|generated|no|email|start|definitions|before|real|completely|filled|define|Unexpected|getElementsByTagName|do|up|digit|fractional|past|future|positive|parentheses|unmatched|might|false|negative|identifier|pop|missing|RootNode|still|parameters|optional|some|failed|requires|seem|However|concat|accept|least|at|boxes|nor|neither|buttons|checkboxes|could|Perhaps|overriding|created|cyclic|composition'.split('|'),0,{})); +/*! + * jQuery Form Plugin + * version: 3.50.0-2014.02.05 + * Requires jQuery v1.5 or later + * Copyright (c) 2013 M. Alsup + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses. + * https://github.com/malsup/form#copyright-and-license + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6(a){"3o 3p";3(1d 2E===\'6\'&&2E.4y){2E([\'2F\'],a)}R{a((1d(3q)!=\'1b\')?3q:1e.4z)}}(6($){"3o 3p";4 P={};P.2G=$("<1l S=\'2e\'/>").1T(0).3r!==1b;P.3s=1e.3t!==1b;4 Q=!!$.12.2H;$.12.1F=6(){3(!Q){8 5.1g.1G(5,24)}4 a=5.2H.1G(5,24);3((a&&a.2F)||1d a===\'2f\'){8 a}8 5.1g.1G(5,24)};$.12.1n=6(y){3(!5.Y){Z(\'1n: 4A 16 4B - 4C 4D 25\');8 5}4 z,1t,19,$9=5;3(1d y==\'6\'){y={1c:y}}R 3(y===1b){y={}}z=y.S||5.1F(\'3u\');1t=y.19||5.1F(\'1t\');19=(1d 1t===\'2f\')?$.4E(1t):\'\';19=19||1e.2I.2J||\'\';3(19){19=(19.4F(/^([^#]+)/)||[])[1]}y=$.2K(1j,{19:19,1c:$.1U.1c,S:z||$.1U.S,26:/^4G/i.1u(1e.2I.2J||\'\')?\'3v:18\':\'4H:4I\'},y);4 A={};5.1h(\'9-2L-3w\',[5,y,A]);3(A.3x){Z(\'1n: 16 3y 2g 9-2L-3w 1h\');8 5}3(y.2M&&y.2M(5,y)===18){Z(\'1n: 16 1o 2g 2M 2N\');8 5}4 B=y.2O;3(B===1b){B=$.1U.2O}4 C=[];4 D,a=5.2P(y.4J,C);3(y.1a){y.11=y.1a;D=$.1V(y.1a,B)}3(y.2Q&&y.2Q(a,5,y)===18){Z(\'1n: 16 1o 2g 2Q 2N\');8 5}5.1h(\'9-16-3z\',[a,5,y,A]);3(A.3x){Z(\'1n: 16 3y 2g 9-16-3z 1h\');8 5}4 q=$.1V(a,B);3(D){q=(q?(q+\'&\'+D):D)}3(y.S.4K()==\'4L\'){y.19+=(y.19.2h(\'?\')>=0?\'&\':\'?\')+q;y.1a=13}R{y.1a=q}4 E=[];3(y.2R){E.W(6(){$9.2R()})}3(y.2S){E.W(6(){$9.2S(y.4M)})}3(!y.27&&y.1v){4 F=y.1c||6(){};E.W(6(a){4 b=y.4N?\'3A\':\'4O\';$(y.1v)[b](a).1H(F,24)})}R 3(y.1c){E.W(y.1c)}y.1c=6(a,b,c){4 d=y.1i||5;1f(4 i=0,1p=E.Y;i<1p;i++){E[i].1G(d,[a,b,c||$9,$9])}};3(y.17){4 G=y.17;y.17=6(a,b,c){4 d=y.1i||5;G.1G(d,[a,b,c,$9])}}3(y.1I){4 H=y.1I;y.1I=6(a,b){4 c=y.1i||5;H.1G(c,[a,b,$9])}}4 I=$(\'1l[S=2e]:4P\',5).4Q(6(){8 $(5).1J()!==\'\'});4 J=I.Y>0;4 K=\'2i/9-1a\';4 L=($9.1g(\'2j\')==K||$9.1g(\'2T\')==K);4 M=P.2G&&P.3s;Z("4R :"+M);4 N=(J||L)&&!M;4 O;3(y.28!==18&&(y.28||N)){3(y.3B){$.1T(y.3B,6(){O=2U(a)})}R{O=2U(a)}}R 3((J||L)&&M){O=3C(a)}R{O=$.3D(y)}$9.4S(\'3E\').1a(\'3E\',O);1f(4 k=0;k\');$V.59({3M:\'5a\',3P:\'-3Q\',3R:\'-3Q\'})}V=$V[0];7={1o:0,1q:13,1X:13,1k:0,1y:\'n/a\',5b:6(){},2X:6(){},5c:6(){},1x:6(a){4 e=(a===\'1z\'?\'1z\':\'1o\');Z(\'5d 2m... \'+e);5.1o=1;1A{3(V.29.1r.3S){V.29.1r.3S(\'5e\')}}1N(5f){}$V.1g(\'2W\',s.26);7.17=e;3(s.17){s.17.1w(s.1i,7,e,a)}3(g){$.1O.1h("3T",[7,s,e])}3(s.1I){s.1I.1w(s.1i,7,e)}}};g=s.3U;3(g&&0===$.2Y++){$.1O.1h("5g")}3(g){$.1O.1h("5h",[7,s])}3(s.2n&&s.2n.1w(s.1i,7,s)===18){3(s.3U){$.2Y--}m.2a();8 m}3(7.1o){m.2a();8 m}1L=l.1B;3(1L){n=1L.T;3(n&&!1L.1M){s.11=s.11||{};s.11[n]=1L.U;3(1L.S=="1Y"){s.11[n+\'.x\']=l.1P;s.11[n+\'.y\']=l.1Q}}}4 o=1;4 p=2;6 2Z(a){4 b=13;1A{3(a.29){b=a.29.1r}}1N(1m){Z(\'30 1T 28.29 1r: \'+1m)}3(b){8 b}1A{b=a.31?a.31:a.1r}1N(1m){Z(\'30 1T 28.31: \'+1m);b=a.1r}8 b}4 q=$(\'3V[T=3W-5i]\').1g(\'2q\');4 r=$(\'3V[T=3W-1V]\').1g(\'2q\');3(r&&q){s.11=s.11||{};s.11[r]=q}6 32(){4 t=$9.1F(\'1v\'),a=$9.1F(\'1t\'),K=\'2i/9-1a\',3X=$9.1g(\'2j\')||$9.1g(\'2T\')||K;l.1Z(\'1v\',1K);3(!z||/3Y/i.1u(z)){l.1Z(\'3u\',\'3J\')}3(a!=s.19){l.1Z(\'1t\',s.19)}3(!s.5j&&(!z||/3Y/i.1u(z))){$9.1g({2T:\'2i/9-1a\',2j:\'2i/9-1a\'})}3(s.1z){1W=1R(6(){2o=1j;1C(o)},s.1z)}6 33(){1A{4 a=2Z(V).5k;Z(\'5l = \'+a);3(a&&a.20()==\'5m\'){1R(33,50)}}1N(e){Z(\'5n 1x: \',e,\' (\',e.T,\')\');1C(p);3(1W){3Z(1W)}1W=1b}}4 b=[];1A{3(s.11){1f(4 n 5o s.11){3(s.11.34(n)){3($.5p(s.11[n])&&s.11[n].34(\'T\')&&s.11[n].34(\'U\')){b.W($(\'<1l S="35" T="\'+s.11[n].T+\'">\').1J(s.11[n].U).36(l)[0])}R{b.W($(\'<1l S="35" T="\'+n+\'">\').1J(s.11[n]).36(l)[0])}}}}3(!s.2p){$V.36(\'21\')}3(V.40){V.40(\'41\',1C)}R{V.3L(\'42\',1C,18)}1R(33,15);1A{l.16()}1N(1m){4 c=1r.5q(\'9\').16;c.1G(l)}}5r{l.1Z(\'1t\',a);l.1Z(\'2j\',3X);3(t){l.1Z(\'1v\',t)}R{$9.3O(\'1v\')}$(b).43()}}3(s.5s){32()}R{1R(32,10)}4 u,14,44=50,37;6 1C(e){3(7.1o||37){8}14=2Z(V);3(!14){Z(\'30 5t 5u 1r\');e=p}3(e===o&&7){7.1x(\'1z\');m.2a(7,\'1z\');8}R 3(e==p&&7){7.1x(\'45 1x\');m.2a(7,\'17\',\'45 1x\');8}3(!14||14.2I.2J==s.26){3(!2o){8}}3(V.46){V.46(\'41\',1C)}R{V.5v(\'42\',1C,18)}4 c=\'1c\',1D;1A{3(2o){5w\'1z\';}4 d=s.27==\'1s\'||14.38||$.5x(14);Z(\'5y=\'+d);3(!d&&1e.2r&&(14.21===13||!14.21.47)){3(--44){Z(\'5z 5A 2N, 39 3a 5B\');1R(1C,5C);8}}4 f=14.21?14.21:14.2s;7.1q=f?f.47:13;7.1X=14.38?14.38:14;3(d){s.27=\'1s\'}7.2X=6(a){4 b={\'2q-S\':s.27};8 b[a.20()]};3(f){7.1k=48(f.2t(\'1k\'))||7.1k;7.1y=f.2t(\'1y\')||7.1y}4 h=(s.27||\'\').20();4 i=/(3b|49|2u)/.1u(h);3(i||s.2v){4 j=14.2w(\'2v\')[0];3(j){7.1q=j.U;7.1k=48(j.2t(\'1k\'))||7.1k;7.1y=j.2t(\'1y\')||7.1y}R 3(i){4 k=14.2w(\'2L\')[0];4 b=14.2w(\'21\')[0];3(k){7.1q=k.2x?k.2x:k.4a}R 3(b){7.1q=b.2x?b.2x:b.4a}}}R 3(h==\'1s\'&&!7.1X&&7.1q){7.1X=v(7.1q)}1A{u=x(7,h,s)}1N(1m){c=\'2y\';7.17=1D=(1m||c)}}1N(1m){Z(\'17 5D: \',1m);c=\'17\';7.17=1D=(1m||c)}3(7.1o){Z(\'2m 1o\');c=13}3(7.1k){c=(7.1k>=5E&&7.1k<5F||7.1k===5G)?\'1c\':\'17\'}3(c===\'1c\'){3(s.1c){s.1c.1w(s.1i,u,\'1c\',7)}m.5H(7.1q,\'1c\',7);3(g){$.1O.1h("5I",[7,s])}}R 3(c){3(1D===1b){1D=7.1y}3(s.17){s.17.1w(s.1i,7,c,1D)}m.2a(7,\'17\',1D);3(g){$.1O.1h("3T",[7,s,1D])}}3(g){$.1O.1h("5J",[7,s])}3(g&&!--$.2Y){$.1O.1h("5K")}3(s.1I){s.1I.1w(s.1i,7,c)}37=1j;3(s.1z){3Z(1W)}1R(6(){3(!s.2p){$V.43()}R{$V.1g(\'2W\',s.26)}7.1X=13},2V)}4 v=$.5L||6(s,a){3(1e.4b){a=2l 4b(\'5M.5N\');a.5O=\'18\';a.5P(s)}R{a=(2l 5Q()).5R(s,\'2u/1s\')}8(a&&a.2s&&a.2s.4c!=\'2y\')?a:13};4 w=$.5S||6(s){8 1e[\'5T\'](\'(\'+s+\')\')};4 x=6(a,b,s){4 c=a.2X(\'2q-S\')||\'\',1s=b===\'1s\'||!b&&c.2h(\'1s\')>=0,u=1s?a.1X:a.1q;3(1s&&u.2s.4c===\'2y\'){3($.17){$.17(\'2y\')}}3(s&&s.4d){u=s.4d(u,b)}3(1d u===\'2f\'){3(b===\'3b\'||!b&&c.2h(\'3b\')>=0){u=w(u)}R 3(b==="49"||!b&&c.2h("3v")>=0){$.5U(u)}}8 u};8 m}};$.12.3c=6(a){a=a||{};a.2z=a.2z&&$.5V($.12.3d);3(!a.2z&&5.Y===0){4 o={s:5.22,c:5.1i};3(!$.4e&&o.s){Z(\'39 3a 4f, 5W 3c\');$(6(){$(o.s,o.c).3c(a)});8 5}Z(\'5X; 5Y 4g 5Z 60 22\'+($.4e?\'\':\' (39 3a 4f)\'));8 5}3(a.2z){$(1r).4h(\'16.9-1E\',5.22,2A).4h(\'2B.9-1E\',5.22,2C).3d(\'16.9-1E\',5.22,a,2A).3d(\'2B.9-1E\',5.22,a,2C);8 5}8 5.4i().4j(\'16.9-1E\',a,2A).4j(\'2B.9-1E\',a,2C)};6 2A(e){4 a=e.1a;3(!e.61()){e.62();$(e.1v).1n(a)}}6 2C(e){4 a=e.1v;4 b=$(a);3(!(b.4k("[S=16],[S=1Y]"))){4 t=b.63(\'[S=16]\');3(t.Y===0){8}a=t[0]}4 c=5;c.1B=a;3(a.S==\'1Y\'){3(e.4l!==1b){c.1P=e.4l;c.1Q=e.64}R 3(1d $.12.4m==\'6\'){4 d=b.4m();c.1P=e.4n-d.3R;c.1Q=e.4o-d.3P}R{c.1P=e.4n-a.65;c.1Q=e.4o-a.66}}1R(6(){c.1B=c.1P=c.1Q=13},2V)}$.12.4i=6(){8 5.67(\'16.9-1E 2B.9-1E\')};$.12.2P=6(b,c){4 a=[];3(5.Y===0){8 a}4 d=5[0];4 e=5.1g(\'1K\');4 f=b?d.2w(\'*\'):d.4g;4 g;3(f&&!/4p [68]/.1u(4q.4r)){f=$(f).1T()}3(e){g=$(\':1l[9=\'+e+\']\').1T();3(g.Y){f=(f||[]).69(g)}}3(!f||!f.Y){8 a}4 i,j,n,v,X,1p,3e;1f(i=0,1p=f.Y;i<1p;i++){X=f[i];n=X.T;3(!n||X.1M){3f}3(b&&d.1B&&X.S=="1Y"){3(d.1B==X){a.W({T:n,U:$(X).1J(),S:X.S});a.W({T:n+\'.x\',U:d.1P},{T:n+\'.y\',U:d.1Q})}3f}v=$.2b(X,1j);3(v&&v.2D==2c){3(c){c.W(X)}1f(j=0,3e=v.Y;j<3e;j++){a.W({T:n,U:v[j]})}}R 3(P.2G&&X.S==\'2e\'){3(c){c.W(X)}4 h=X.3r;3(h.Y){1f(j=0;j' + ).wrapInner( + '
' + ); + + var fakeHover = $('.camera_fakehover',wrap); + + fakeHover.append( + '
' + ); + if(opts.overlayer == true){ + fakeHover.append( + '
' + ) + } + fakeHover.append( + '
' + ); + + var loader; + + if(opts.loader=='pie' && $.browser.msie && $.browser.version < 9){ + loader = 'bar'; + } else { + loader = opts.loader; + } + + if(loader == 'pie'){ + fakeHover.append( + '
' + ) + } else if (loader == 'bar') { + fakeHover.append( + '
' + ) + } else { + fakeHover.append( + '' + ) + } + + if(opts.playPause==true){ + fakeHover.append( + '
' + ) + } + + if(opts.navigation==true){ + fakeHover.append( + '
' + ).append( + '
' + ); + } + + if(opts.thumbnails==true){ + wrap.append( + '
' + ); + } + + if(opts.thumbnails==true && opts.pagination!=true){ + $('.camera_thumbs_cont',wrap).wrap( + '
' + ).wrap( + '
' + ).wrap( + '
' + ).wrap( + '
' + ); + } + + if(opts.pagination==true){ + wrap.append( + '
' + ); + } + + wrap.append( + '
' + ); + + $('.camera_caption',wrap).each(function(){ + $(this).wrapInner('
'); + }); + + + var pieID = 'pie_'+wrap.index(), + elem = $('.camera_src',wrap), + target = $('.camera_target',wrap), + content = $('.camera_target_content',wrap), + pieContainer = $('.camera_pie',wrap), + barContainer = $('.camera_bar',wrap), + prevNav = $('.camera_prev',wrap), + nextNav = $('.camera_next',wrap), + commands = $('.camera_commands',wrap), + pagination = $('.camera_pag',wrap), + thumbs = $('.camera_thumbs_cont',wrap); + + + var w, + h; + + + var allImg = new Array(); + $('> div', elem).each( function() { + allImg.push($(this).attr('data-src')); + }); + + var allLinks = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-link')){ + allLinks.push($(this).attr('data-link')); + } else { + allLinks.push(''); + } + }); + + var allTargets = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-target')){ + allTargets.push($(this).attr('data-target')); + } else { + allTargets.push(''); + } + }); + + var allPor = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-portrait')){ + allPor.push($(this).attr('data-portrait')); + } else { + allPor.push(''); + } + }); + + var allAlign= new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-alignment')){ + allAlign.push($(this).attr('data-alignment')); + } else { + allAlign.push(''); + } + }); + + + var allThumbs = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-thumb')){ + allThumbs.push($(this).attr('data-thumb')); + } else { + allThumbs.push(''); + } + }); + + var amountSlide = allImg.length; + + $(content).append('
'); + var loopMove; + for (loopMove=0;loopMove'); + if(allLinks[loopMove]!=''){ + //only for Wordpress plugin + var dataBox = $('> div ',elem).eq(loopMove).attr('data-box'); + if(typeof dataBox !== 'undefined' && dataBox !== false && dataBox != '') { + dataBox = 'data-box="'+$('> div ',elem).eq(loopMove).attr('data-box')+'"'; + } else { + dataBox = ''; + } + // + $('.camera_target_content .cameraContent:eq('+loopMove+')',wrap).append(''); + } + + } + $('.camera_caption',wrap).each(function(){ + var ind = $(this).parent().index(), + cont = wrap.find('.cameraContent').eq(ind); + $(this).appendTo(cont); + }); + + target.append('
'); + var cameraCont = $('.cameraCont',wrap); + + + + var loop; + for (loop=0;loop'); + var div = $('> div:eq('+loop+')',elem); + target.find('.cameraSlide_'+loop).clone(div); + } + + + function thumbnailVisible() { + var wTh = $(thumbs).width(); + $('li', thumbs).removeClass('camera_visThumb'); + $('li', thumbs).each(function(){ + var pos = $(this).position(), + ulW = $('ul', thumbs).outerWidth(), + offUl = $('ul', thumbs).offset().left, + offDiv = $('> div',thumbs).offset().left, + ulLeft = offDiv-offUl; + if(ulLeft>0){ + $('.camera_prevThumbs',camera_thumbs_wrap).removeClass('hideNav'); + } else { + $('.camera_prevThumbs',camera_thumbs_wrap).addClass('hideNav'); + } + if((ulW-ulLeft)>wTh){ + $('.camera_nextThumbs',camera_thumbs_wrap).removeClass('hideNav'); + } else { + $('.camera_nextThumbs',camera_thumbs_wrap).addClass('hideNav'); + } + var left = pos.left, + right = pos.left+($(this).width()); + if(right-ulLeft<=wTh && left-ulLeft>=0){ + $(this).addClass('camera_visThumb'); + } + }); + } + + $(window).bind('load resize pageshow',function(){ + thumbnailPos(); + thumbnailVisible(); + }); + + + cameraCont.append('
'); + + + var started; + + wrap.show(); + var w = target.width(); + var h = target.height(); + + var setPause; + + $(window).bind('resize pageshow',function(){ + if(started == true) { + resizeImage(); + } + $('ul', thumbs).animate({'margin-top':0},0,thumbnailPos); + if(!elem.hasClass('paused')){ + elem.addClass('paused'); + if($('.camera_stop',camera_thumbs_wrap).length){ + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).hide(); + } + } else { + if(loader!='none'){ + $('#'+pieID).hide(); + } + } + clearTimeout(setPause); + setPause = setTimeout(function(){ + elem.removeClass('paused'); + if($('.camera_play',camera_thumbs_wrap).length){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).fadeIn(); + } + } else { + if(loader!='none'){ + $('#'+pieID).fadeIn(); + } + } + },1500); + } + }); + + function resizeImage(){ + var res; + function resizeImageWork(){ + w = wrap.width(); + if(opts.height.indexOf('%')!=-1) { + var startH = Math.round(w / (100/parseFloat(opts.height))); + if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ + h = parseFloat(opts.minHeight); + } else { + h = startH; + } + wrap.css({height:h}); + } else if (opts.height=='auto') { + h = wrap.height(); + } else { + h = parseFloat(opts.height); + wrap.css({height:h}); + } + $('.camerarelative',target).css({'width':w,'height':h}); + $('.imgLoaded',target).each(function(){ + var t = $(this), + wT = t.attr('width'), + hT = t.attr('height'), + imgLoadIn = t.index(), + mTop, + mLeft, + alignment = t.attr('data-alignment'), + portrait = t.attr('data-portrait'); + + if(typeof alignment === 'undefined' || alignment === false || alignment === ''){ + alignment = opts.alignment; + } + + if(typeof portrait === 'undefined' || portrait === false || portrait === ''){ + portrait = opts.portrait; + } + + if(portrait==false||portrait=='false'){ + if((wT/hT)<(w/h)) { + var r = w / wT; + var d = (Math.abs(h - (hT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mTop = 0; + break; + case 'topCenter': + mTop = 0; + break; + case 'topRight': + mTop = 0; + break; + case 'centerLeft': + mTop = '-'+d+'px'; + break; + case 'center': + mTop = '-'+d+'px'; + break; + case 'centerRight': + mTop = '-'+d+'px'; + break; + case 'bottomLeft': + mTop = '-'+d*2+'px'; + break; + case 'bottomCenter': + mTop = '-'+d*2+'px'; + break; + case 'bottomRight': + mTop = '-'+d*2+'px'; + break; + } + t.css({ + 'height' : hT*r, + 'margin-left' : 0, + 'margin-top' : mTop, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : w + }); + } + else { + var r = h / hT; + var d = (Math.abs(w - (wT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mLeft = 0; + break; + case 'topCenter': + mLeft = '-'+d+'px'; + break; + case 'topRight': + mLeft = '-'+d*2+'px'; + break; + case 'centerLeft': + mLeft = 0; + break; + case 'center': + mLeft = '-'+d+'px'; + break; + case 'centerRight': + mLeft = '-'+d*2+'px'; + break; + case 'bottomLeft': + mLeft = 0; + break; + case 'bottomCenter': + mLeft = '-'+d+'px'; + break; + case 'bottomRight': + mLeft = '-'+d*2+'px'; + break; + } + t.css({ + 'height' : h, + 'margin-left' : mLeft, + 'margin-top' : 0, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : wT*r + }); + } + } else { + if((wT/hT)<(w/h)) { + var r = h / hT; + var d = (Math.abs(w - (wT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mLeft = 0; + break; + case 'topCenter': + mLeft = d+'px'; + break; + case 'topRight': + mLeft = d*2+'px'; + break; + case 'centerLeft': + mLeft = 0; + break; + case 'center': + mLeft = d+'px'; + break; + case 'centerRight': + mLeft = d*2+'px'; + break; + case 'bottomLeft': + mLeft = 0; + break; + case 'bottomCenter': + mLeft = d+'px'; + break; + case 'bottomRight': + mLeft = d*2+'px'; + break; + } + t.css({ + 'height' : h, + 'margin-left' : mLeft, + 'margin-top' : 0, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : wT*r + }); + } + else { + var r = w / wT; + var d = (Math.abs(h - (hT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mTop = 0; + break; + case 'topCenter': + mTop = 0; + break; + case 'topRight': + mTop = 0; + break; + case 'centerLeft': + mTop = d+'px'; + break; + case 'center': + mTop = d+'px'; + break; + case 'centerRight': + mTop = d+'px'; + break; + case 'bottomLeft': + mTop = d*2+'px'; + break; + case 'bottomCenter': + mTop = d*2+'px'; + break; + case 'bottomRight': + mTop = d*2+'px'; + break; + } + t.css({ + 'height' : hT*r, + 'margin-left' : 0, + 'margin-top' : mTop, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : w + }); + } + } + }); + } + if (started == true) { + clearTimeout(res); + res = setTimeout(resizeImageWork,200); + } else { + resizeImageWork(); + } + + started = true; + } + + + var u, + setT; + + var clickEv, + autoAdv, + navHover, + commands, + pagination; + + var videoHover, + videoPresent; + + if(isMobile() && opts.mobileAutoAdvance!=''){ + autoAdv = opts.mobileAutoAdvance; + } else { + autoAdv = opts.autoAdvance; + } + + if(autoAdv==false){ + elem.addClass('paused'); + } + + if(isMobile() && opts.mobileNavHover!=''){ + navHover = opts.mobileNavHover; + } else { + navHover = opts.navigationHover; + } + + if(elem.length!=0){ + + var selector = $('.cameraSlide',target); + selector.wrapInner('
'); + + var navSlide; + + var barDirection = opts.barDirection; + + var camera_thumbs_wrap = wrap; + + + $('iframe',fakeHover).each(function(){ + var t = $(this); + var src = t.attr('src'); + t.attr('data-src',src); + var divInd = t.parent().index('.camera_src > div'); + $('.camera_target_content .cameraContent:eq('+divInd+')',wrap).append(t); + }); + function imgFake() { + $('iframe',fakeHover).each(function(){ + $('.camera_caption',fakeHover).show(); + var t = $(this); + var cloneSrc = t.attr('data-src'); + t.attr('src',cloneSrc); + var imgFakeUrl = opts.imagePath+'blank.gif'; + var imgFake = new Image(); + imgFake.src = imgFakeUrl; + if(opts.height.indexOf('%')!=-1) { + var startH = Math.round(w / (100/parseFloat(opts.height))); + if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ + h = parseFloat(opts.minHeight); + } else { + h = startH; + } + } else if (opts.height=='auto') { + h = wrap.height(); + } else { + h = parseFloat(opts.height); + } + t.after($(imgFake).attr({'class':'imgFake','width':w,'height':h})); + var clone = t.clone(); + t.remove(); + $(imgFake).bind('click',function(){ + if($(this).css('position')=='absolute') { + $(this).remove(); + if(cloneSrc.indexOf('vimeo') != -1 || cloneSrc.indexOf('youtube') != -1) { + if(cloneSrc.indexOf('?') != -1){ + autoplay = '&autoplay=1'; + } else { + autoplay = '?autoplay=1'; + } + } else if(cloneSrc.indexOf('dailymotion') != -1) { + if(cloneSrc.indexOf('?') != -1){ + autoplay = '&autoPlay=1'; + } else { + autoplay = '?autoPlay=1'; + } + } + clone.attr('src',cloneSrc+autoplay); + videoPresent = true; + } else { + $(this).css({position:'absolute',top:0,left:0,zIndex:10}).after(clone); + clone.css({position:'absolute',top:0,left:0,zIndex:9}); + } + }); + }); + } + + imgFake(); + + + if(opts.hover==true){ + if(!isMobile()){ + fakeHover.hover(function(){ + elem.addClass('hovered'); + },function(){ + elem.removeClass('hovered'); + }); + } + } + + + + + $('.camera_stop',camera_thumbs_wrap).live('click',function(){ + autoAdv = false; + elem.addClass('paused'); + if($('.camera_stop',camera_thumbs_wrap).length){ + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).hide(); + } + } else { + if(loader!='none'){ + $('#'+pieID).hide(); + } + } + }); + + $('.camera_play',camera_thumbs_wrap).live('click',function(){ + autoAdv = true; + elem.removeClass('paused'); + if($('.camera_play',camera_thumbs_wrap).length){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).show(); + } + } else { + if(loader!='none'){ + $('#'+pieID).show(); + } + } + }); + + if(opts.pauseOnClick==true){ + $('.camera_target_content',fakeHover).mouseup(function(){ + autoAdv = false; + elem.addClass('paused'); + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + $('#'+pieID).hide(); + }); + } + $('.cameraContent, .imgFake',fakeHover).hover(function(){ + videoHover = true; + },function(){ + videoHover = false; + }); + + $('.cameraContent, .imgFake',fakeHover).bind('click',function(){ + if(videoPresent == true && videoHover == true) { + autoAdv = false; + $('.camera_caption',fakeHover).hide(); + elem.addClass('paused'); + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + $('#'+pieID).hide(); + } + }); + + + } + + + function shuffle(arr) { + for( + var j, x, i = arr.length; i; + j = parseInt(Math.random() * i), + x = arr[--i], arr[i] = arr[j], arr[j] = x + ); + return arr; + } + + function isInteger(s) { + return Math.ceil(s) == Math.floor(s); + } + + if (loader != 'pie') { + barContainer.append(''); + $('.camera_bar_cont',barContainer) + .animate({opacity:opts.loaderOpacity},0) + .css({'position':'absolute', 'left':0, 'right':0, 'top':0, 'bottom':0, 'background-color':opts.loaderBgColor}) + .append(''); + $('#'+pieID).animate({opacity:0},0); + var canvas = $('#'+pieID); + canvas.css({'position':'absolute', 'background-color':opts.loaderColor}); + switch(opts.barPosition){ + case 'left': + barContainer.css({right:'auto',width:opts.loaderStroke}); + break; + case 'right': + barContainer.css({left:'auto',width:opts.loaderStroke}); + break; + case 'top': + barContainer.css({bottom:'auto',height:opts.loaderStroke}); + break; + case 'bottom': + barContainer.css({top:'auto',height:opts.loaderStroke}); + break; + } + switch(barDirection){ + case 'leftToRight': + canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); + break; + case 'rightToLeft': + canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); + break; + case 'topToBottom': + canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); + break; + case 'bottomToTop': + canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); + break; + } + } else { + pieContainer.append(''); + var G_vmlCanvasManager; + var canvas = document.getElementById(pieID); + canvas.setAttribute("width", opts.pieDiameter); + canvas.setAttribute("height", opts.pieDiameter); + var piePosition; + switch(opts.piePosition){ + case 'leftTop' : + piePosition = 'left:0; top:0;'; + break; + case 'rightTop' : + piePosition = 'right:0; top:0;'; + break; + case 'leftBottom' : + piePosition = 'left:0; bottom:0;'; + break; + case 'rightBottom' : + piePosition = 'right:0; bottom:0;'; + break; + } + canvas.setAttribute("style", "position:absolute; z-index:1002; "+piePosition); + var rad; + var radNew; + + if (canvas && canvas.getContext) { + var ctx = canvas.getContext("2d"); + ctx.rotate(Math.PI*(3/2)); + ctx.translate(-opts.pieDiameter,0); + } + + } + if(loader=='none' || autoAdv==false) { + $('#'+pieID).hide(); + $('.camera_canvas_wrap',camera_thumbs_wrap).hide(); + } + + if($(pagination).length) { + $(pagination).append('
    '); + var li; + for (li = 0; li < amountSlide; li++){ + $('.camera_pag_ul',wrap).append('
  • '+li+'
  • '); + } + $('.camera_pag_ul li',wrap).hover(function(){ + $(this).addClass('camera_hover'); + if($('.camera_thumb',this).length){ + var wTh = $('.camera_thumb',this).outerWidth(), + hTh = $('.camera_thumb',this).outerHeight(), + wTt = $(this).outerWidth(); + $('.camera_thumb',this).show().css({'top':'-'+hTh+'px','left':'-'+(wTh-wTt)/2+'px'}).animate({'opacity':1,'margin-top':'-3px'},200); + $('.thumb_arrow',this).show().animate({'opacity':1,'margin-top':'-3px'},200); + } + },function(){ + $(this).removeClass('camera_hover'); + $('.camera_thumb',this).animate({'margin-top':'-20px','opacity':0},200,function(){ + $(this).css({marginTop:'5px'}).hide(); + }); + $('.thumb_arrow',this).animate({'margin-top':'-20px','opacity':0},200,function(){ + $(this).css({marginTop:'5px'}).hide(); + }); + }); + } + + + + if($(thumbs).length) { + var thumbUrl; + if(!$(pagination).length) { + $(thumbs).append('
    '); + $(thumbs).before('
    ').before('
    '); + $('> div',thumbs).append('
      '); + $.each(allThumbs, function(i, val) { + if($('> div', elem).eq(i).attr('data-thumb')!='') { + var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), + newImg = new Image(); + newImg.src = thumbUrl; + $('ul',thumbs).append('
    • '); + $('li.pix_thumb_'+i,thumbs).append($(newImg).attr('class','camera_thumb')); + } + }); + } else { + $.each(allThumbs, function(i, val) { + if($('> div', elem).eq(i).attr('data-thumb')!='') { + var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), + newImg = new Image(); + newImg.src = thumbUrl; + $('li.pag_nav_'+i,pagination).append($(newImg).attr('class','camera_thumb').css({'position':'absolute'}).animate({opacity:0},0)); + $('li.pag_nav_'+i+' > img',pagination).after('
      '); + $('li.pag_nav_'+i+' > .thumb_arrow',pagination).animate({opacity:0},0); + } + }); + wrap.css({marginBottom:$(pagination).outerHeight()}); + } + } else if(!$(thumbs).length && $(pagination).length) { + wrap.css({marginBottom:$(pagination).outerHeight()}); + } + + + var firstPos = true; + + function thumbnailPos() { + if($(thumbs).length && !$(pagination).length) { + var wTh = $(thumbs).outerWidth(), + owTh = $('ul > li',thumbs).outerWidth(), + pos = $('li.cameracurrent', thumbs).length ? $('li.cameracurrent', thumbs).position() : '', + ulW = ($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()), + offUl = $('ul', thumbs).offset().left, + offDiv = $('> div', thumbs).offset().left, + ulLeft; + + if(offUl<0){ + ulLeft = '-'+ (offDiv-offUl); + } else { + ulLeft = offDiv-offUl; + } + + + + if(firstPos == true) { + $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); + if($(thumbs).length && !$(pagination).lenght) { + wrap.css({marginBottom:$(thumbs).outerHeight()}); + } + thumbnailVisible(); + /*I repeat this two lines because of a problem with iPhones*/ + $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); + if($(thumbs).length && !$(pagination).lenght) { + wrap.css({marginBottom:$(thumbs).outerHeight()}); + } + /*...*/ + } + firstPos = false; + + var left = $('li.cameracurrent', thumbs).length ? pos.left : '', + right = $('li.cameracurrent', thumbs).length ? pos.left+($('li.cameracurrent', thumbs).outerWidth()) : ''; + if(left<$('li.cameracurrent', thumbs).outerWidth()) { + left = 0; + } + if(right-ulLeft>wTh){ + if((left+wTh)
      ').append('
      '); + if(autoAdv==true){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + } else { + $('.camera_stop',camera_thumbs_wrap).hide(); + $('.camera_play',camera_thumbs_wrap).show(); + } + + } + + + function canvasLoader() { + rad = 0; + var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(), + barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(); + + if (loader != 'pie') { + switch(barDirection){ + case 'leftToRight': + $('#'+pieID).css({'right':barWidth}); + break; + case 'rightToLeft': + $('#'+pieID).css({'left':barWidth}); + break; + case 'topToBottom': + $('#'+pieID).css({'bottom':barHeight}); + break; + case 'bottomToTop': + $('#'+pieID).css({'top':barHeight}); + break; + } + } else { + ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter); + } + } + + + canvasLoader(); + + + $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){ + $(this).css('visibility','hidden'); + }); + + opts.onStartLoading.call(this); + + nextSlide(); + + + /*************************** FUNCTION nextSlide() ***************************/ + + function nextSlide(navSlide){ + elem.addClass('camerasliding'); + + videoPresent = false; + var vis = parseFloat($('div.cameraSlide.cameracurrent',target).index()); + + if(navSlide>0){ + var slideI = navSlide-1; + } else if (vis == amountSlide-1) { + var slideI = 0; + } else { + var slideI = vis+1; + } + + + var slide = $('.cameraSlide:eq('+slideI+')',target); + var slideNext = $('.cameraSlide:eq('+(slideI+1)+')',target).addClass('cameranext'); + if( vis != slideI+1 ) { + slideNext.hide(); + } + $('.cameraContent',fakeHover).fadeOut(600); + $('.camera_caption',fakeHover).show(); + + $('.camerarelative',slide).append($('> div ',elem).eq(slideI).find('> div.camera_effected')); + + $('.camera_target_content .cameraContent:eq('+slideI+')',wrap).append($('> div ',elem).eq(slideI).find('> div')); + + if(!$('.imgLoaded',slide).length){ + var imgUrl = allImg[slideI]; + var imgLoaded = new Image(); + imgLoaded.src = imgUrl +"?"+ new Date().getTime(); + slide.css('visibility','hidden'); + slide.prepend($(imgLoaded).attr('class','imgLoaded').attr('alt','Fix&Fresh service photo').css('visibility','hidden')); + var wT, hT; + if (!$(imgLoaded).get(0).complete || wT == '0' || hT == '0' || typeof wT === 'undefined' || wT === false || typeof hT === 'undefined' || hT === false) { + $('.camera_loader',wrap).delay(500).fadeIn(400); + imgLoaded.onload = function() { + wT = imgLoaded.naturalWidth; + hT = imgLoaded.naturalHeight; + $(imgLoaded).attr('data-alignment',allAlign[slideI]).attr('data-portrait',allPor[slideI]); + $(imgLoaded).attr('width',wT); + $(imgLoaded).attr('height',hT); + target.find('.cameraSlide_'+slideI).hide().css('visibility','visible'); + resizeImage(); + nextSlide(slideI+1); + }; + } + } else { + if( allImg.length > (slideI+1) && !$('.imgLoaded',slideNext).length ){ + var imgUrl2 = allImg[(slideI+1)]; + var imgLoaded2 = new Image(); + imgLoaded2.src = imgUrl2 +"?"+ new Date().getTime(); + slideNext.prepend($(imgLoaded2).attr('class','imgLoaded').attr('alt','Fix&Fresh service photo').css('visibility','hidden')); + imgLoaded2.onload = function() { + wT = imgLoaded2.naturalWidth; + hT = imgLoaded2.naturalHeight; + $(imgLoaded2).attr('data-alignment',allAlign[slideI+1]).attr('data-portrait',allPor[slideI+1]); + $(imgLoaded2).attr('width',wT); + $(imgLoaded2).attr('height',hT); + resizeImage(); + }; + } + opts.onLoaded.call(this); + if($('.camera_loader',wrap).is(':visible')){ + $('.camera_loader',wrap).fadeOut(400); + } else { + $('.camera_loader',wrap).css({'visibility':'hidden'}); + $('.camera_loader',wrap).fadeOut(400,function(){ + $('.camera_loader',wrap).css({'visibility':'visible'}); + }); + } + var rows = opts.rows, + cols = opts.cols, + couples = 1, + difference = 0, + dataSlideOn, + time, + transPeriod, + fx, + easing, + randomFx = new Array('simpleFade','curtainTopLeft','curtainTopRight','curtainBottomLeft','curtainBottomRight','curtainSliceLeft','curtainSliceRight','blindCurtainTopLeft','blindCurtainTopRight','blindCurtainBottomLeft','blindCurtainBottomRight','blindCurtainSliceBottom','blindCurtainSliceTop','stampede','mosaic','mosaicReverse','mosaicRandom','mosaicSpiral','mosaicSpiralReverse','topLeftBottomRight','bottomRightTopLeft','bottomLeftTopRight','topRightBottomLeft','scrollLeft','scrollRight','scrollTop','scrollBottom','scrollHorz'); + marginLeft = 0, + marginTop = 0, + opacityOnGrid = 0; + + if(opts.opacityOnGrid==true){ + opacityOnGrid = 0; + } else { + opacityOnGrid = 1; + } + + + + var dataFx = $(' > div',elem).eq(slideI).attr('data-fx'); + + if(isMobile()&&opts.mobileFx!=''&&opts.mobileFx!='default'){ + fx = opts.mobileFx; + } else { + if(typeof dataFx !== 'undefined' && dataFx!== false && dataFx!== 'default'){ + fx = dataFx; + } else { + fx = opts.fx; + } + } + + if(fx=='random') { + fx = shuffle(randomFx); + fx = fx[0]; + } else { + fx = fx; + if(fx.indexOf(',')>0){ + fx = fx.replace(/ /g,''); + fx = fx.split(','); + fx = shuffle(fx); + fx = fx[0]; + } + } + + dataEasing = $(' > div',elem).eq(slideI).attr('data-easing'); + mobileEasing = $(' > div',elem).eq(slideI).attr('data-mobileEasing'); + + if(isMobile()&&opts.mobileEasing!=''&&opts.mobileEasing!='default'){ + if(typeof mobileEasing !== 'undefined' && mobileEasing!== false && mobileEasing!== 'default') { + easing = mobileEasing; + } else { + easing = opts.mobileEasing; + } + } else { + if(typeof dataEasing !== 'undefined' && dataEasing!== false && dataEasing!== 'default') { + easing = dataEasing; + } else { + easing = opts.easing; + } + } + + dataSlideOn = $(' > div',elem).eq(slideI).attr('data-slideOn'); + if(typeof dataSlideOn !== 'undefined' && dataSlideOn!== false){ + slideOn = dataSlideOn; + } else { + if(opts.slideOn=='random'){ + var slideOn = new Array('next','prev'); + slideOn = shuffle(slideOn); + slideOn = slideOn[0]; + } else { + slideOn = opts.slideOn; + } + } + + var dataTime = $(' > div',elem).eq(slideI).attr('data-time'); + if(typeof dataTime !== 'undefined' && dataTime!== false && dataTime!== ''){ + time = parseFloat(dataTime); + } else { + time = opts.time; + } + + var dataTransPeriod = $(' > div',elem).eq(slideI).attr('data-transPeriod'); + if(typeof dataTransPeriod !== 'undefined' && dataTransPeriod!== false && dataTransPeriod!== ''){ + transPeriod = parseFloat(dataTransPeriod); + } else { + transPeriod = opts.transPeriod; + } + + if(!$(elem).hasClass('camerastarted')){ + fx = 'simpleFade'; + slideOn = 'next'; + easing = ''; + transPeriod = 400; + $(elem).addClass('camerastarted') + } + + switch(fx){ + case 'simpleFade': + cols = 1; + rows = 1; + break; + case 'curtainTopLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainTopRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainBottomLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainBottomRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainSliceLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainSliceRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'blindCurtainTopLeft': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainTopRight': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainBottomLeft': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainBottomRight': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainSliceTop': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainSliceBottom': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'stampede': + difference = '-'+transPeriod; + break; + case 'mosaic': + difference = opts.gridDifference; + break; + case 'mosaicReverse': + difference = opts.gridDifference; + break; + case 'mosaicRandom': + break; + case 'mosaicSpiral': + difference = opts.gridDifference; + couples = 1.7; + break; + case 'mosaicSpiralReverse': + difference = opts.gridDifference; + couples = 1.7; + break; + case 'topLeftBottomRight': + difference = opts.gridDifference; + couples = 6; + break; + case 'bottomRightTopLeft': + difference = opts.gridDifference; + couples = 6; + break; + case 'bottomLeftTopRight': + difference = opts.gridDifference; + couples = 6; + break; + case 'topRightBottomLeft': + difference = opts.gridDifference; + couples = 6; + break; + case 'scrollLeft': + cols = 1; + rows = 1; + break; + case 'scrollRight': + cols = 1; + rows = 1; + break; + case 'scrollTop': + cols = 1; + rows = 1; + break; + case 'scrollBottom': + cols = 1; + rows = 1; + break; + case 'scrollHorz': + cols = 1; + rows = 1; + break; + } + + var cycle = 0; + var blocks = rows*cols; + var leftScrap = w-(Math.floor(w/cols)*cols); + var topScrap = h-(Math.floor(h/rows)*rows); + var addLeft; + var addTop; + var tAppW = 0; + var tAppH = 0; + var arr = new Array(); + var delay = new Array(); + var order = new Array(); + while(cycle < blocks){ + arr.push(cycle); + delay.push(cycle); + cameraCont.append('
    • - - -
    • About Page JS files: -
        -
      • counter-up.js - Implements a counter for statistics.
      • -
      • testi-slider.js - Handles the testimonials slider.
      • -
      -
    • - - -
    • Cost Calculator Page JS files: -
        -
      • cost-calculator.js - Handles the interactive cost estimation functionality.
      • -
      -
    • - - -
    • Quote Page JS files: -
        -
      • quote.js - Manages the quote request form, including input validation, dynamic field updates, and sending user information to the server for personalized gardening and landscaping service quotations.
      • -
      -
    • - - -
    • FaqsJS files: -
        -
      • accordion.js - Controls the accordion functionality for FAQs on the FAQs and Service Single Page.
      • -
      -
    • - - -
    • Product SingleJS files: -
        -
      • tab-info.js - Manages tabbed information on product single page.
      • -
      -
    • - - -
    • Project Page JS files: -
        -
      • projects.js - JavaScript file for handling functionality on the Project page.
      • -
      -
    • - - -
    • Gallery Page JS files: -
        -
      • Gallery.js - JavaScript file for handling functionality on the gallery page.
      • -
      -
    • - - -
    • Checkout Page JS files: -
        -
      • payment-method.js - Manages the payment method accordion on the Checkout page.
      • -
      -
    • - - -
    • Cart Page JS files: -
        -
      • quantity.js - Product quantity counter js file
      • -
      -
    • - - -
    • Shop Page JS files: -
        -
      • Price-Filter.js - Manages the price filter on the Shop page.
      • -
      -
    • - - -
    • Product Single Page JS files: -
        -
      • Product-Gallery.js - Product Image Gallery js file
      • -
      -
    • - - - -
    - - - - - - - -
    - -
    -

    php

    -
    - -
    - -

    In this template, contact form is created using PHP. It include sending email using SMTP server and the PHPMailer library.

    - -
      -
    1. This template have these PHP files and folder. -
        -
      • php/smtp - Contains php mailer files -
          -
        • class.phpmailer.php
        • -
        • class.smtp.php
        • -
        • PHPMailerAutoload.php
        • -
        -
      • -
      • php/career-form.php - Handles submissions from the career application form, sending applicant details such as name, email, and message to the specified email address.
      • -
      • php/newsletter.php - Processes newsletter subscription requests and sends a confirmation or success message to the user.
      • -
      • php/quote.php - Manages quote form submissions, collecting user details and project information to send as an email to the business.
      • -
      • php/submit.php - PHP file where you specify your email address to receive messages sent through the website’s contact form.
      • -
      -
    2. - -
    3. creating an app password: -
        - -
      • -
        Step#1: Login to Google Account
        -
      • - -
      • -
        Step#2: Enable 2-Step Verification
        -
          -
        • First, you have to enable the 2-Step Verification on your account before you set up the app password.
        • -
        • Click on the Security tab on the left-hand side.
        • -
        • Go to the Security page and within the section Signing in to Google, click on 2-Step Verification.
        • -
        • Click on Get Started and on the next page enter your password to verify your account and hit Next.
        • -
        • enter the phone number you want to use for verification and then select the method to receive your code.
        • -
        • Enter the verification code & hit Next.
        • -
        -
      • - -
      • -
        Step#3: Setup Application password
        -
          -
        • Within the section Signing in to Google, you will notice a new option that says App passwords.
        • -
        • Click on App passwords and verify your account.
        • -
        • select Mail from Select app and Other (custom name) from Select device and provide it a name and hit generate.
        • -
        • Now you have successfully generated your app password. The App Password is the 16-character code in the yellow bar on your device.
        • -
        • Copy this code and save it somewhere safe to use it later as instructed.
        • -
        -
      • - -
      -
    4. - -
    5. To make your contact, quotation and newsletter form functional, you only need to make a few changes in the following files: submit.php, quote.php and newsletter.php. - -
        - -
      • In the Username field, you have to enter your Gmail ID which you want to use as an SMTP server: -
        -    // Gmail ID which you want to use as SMTP server
        -    $mail->Username = "your_email@gmail.com"; // (Your Mail)
        -                  
        -
      • - -
      • In the Password field, you have to enter your Gmail App password (that you have created above): -
        -    // App Password
        -    $mail->Password = "Your App Password"; // Your app password
        -                  
        -
      • - -
      • Update the addAddress field, you have to enter another email id in which you want to receive form submission mails -
        -    // Recipient Email ID where you want to receive emails
        -    $mail->addAddress("your_email@gmail.com", "your name"); // (Your Mail)
        -                  
        -
      • - -
      • Change the Subject of the Notification Email: -
        -    $mail->Subject = "(LeafLine) New Contact Info";
        -                
        -
      • - -
      • Additionally, in newsletter.php, set the sender's email and name for the confirmation email sent to the user. This sender's email is usually your email address -
        -    // Send confirmation email to the user
        -    $mail->setFrom('your_email@gmail.com', 'LeafLine');  // Sender's email and name
        -                  
        -
      • - -
      -
    6. - -
    - -
    - -
    - - - - - - -
    - -
    -

    Customization

    -
    - -
    - -
      - -
    1. -

      Logo:

      -

      you can change logo text here... OR you can put image rather than text.

      -
      -
      -  <!-- Logo -->
      -  <a class="logo" href="./index.html">
      -    <img src="./assets/images/Logo/Logo.png" alt="logo" /> 
      -    <div class="logo-content">
      -      <h3>LeafLine</h3>
      -      <p>Gardening & Landscaping</p>
      -    </div>
      -  </a>
      -  
      -            
      - -
    2. - -
    3. -

      Image Customization:

      -

      This template have these images folders.

      - -
        -
      • Home Slider Images => (images/Home/) => (1500 x 750)px
      • -
      • Counter Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Banner Background Image => (images/Background/) => (1500 x 500)px
      • -
      • Testimonials Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Newsletter Background Image => (images/Background/) => (1500 x 500)px
      • -
      • Cost Calculator Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Get Quote Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Why Choose Us Background Image => (images/Background/) => (2000 x 1000)px
      • -
      • Career Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Career Form Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Contact Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Footer Background Image => (images/Background/) => (1500 x 750)px
      • -
      • Awards Background Image => (images/Background/) => (2000 x 1000)px
      • -
      • Skills Background Image => (images/Background/) => (1500 x 750)px
      • -
      • PageTitle Background Image => (images/Background/) => (1500 x 500)px
      • -
      • About Image => (images/About/) => (300 x 450)px
      • -
      • Team Images => (images/Team/) => (400 x 500)px
      • -
      • Testimonials Images => (images/Testimonials/) => (200 x 200)px
      • -
      • Clients Logo Images => (images/Clients/) => (350 x 200)px
      • -
      • FAQ Image => (images/FAQs/) => (400 x 600)px
      • -
      • Gallery Images => (images/Gallery/) => (1500 x 1000)px
      • -
      • Pricing Images => (images/Pricing/) => (400 x 600)px
      • -
      • Process Images => (images/Process/) => (400 x 400)px
      • -
      • Events Images => (images/Event/Events/) => (600 x 400)px
      • -
      • Event Gallery Images => (images/Event/Event-Gallery/) => (600 x 400)px
      • -
      • Event Speaker Images => (images/Event/Speaker/) => (400 x 500)px
      • -
      • Career Introuction Images => (images/Career/Intro/) => (600 x 450)px
      • -
      • Career Position Images => (images/Career/Positions/) => (600 x 400)px
      • -
      • Services Images => (images/Service/Services/) => (600 x 400)px
      • -
      • Service Gallery Images => (images/Service/Service-Gallery/) => (600 x 400)px
      • -
      • Project Images => (images/Project/Projects/) => (600 x 400)px
      • -
      • Project Gallery Images => (images/Project/Project-Gallery/) => (600 x 400)px
      • -
      • Blogs Images => (images/Blog/Blogs/) => (600 x 400)px
      • -
      • Blog-Gallery Images => (images/Blog/Blog-Gallery/) => (600 x 400)px
      • -
      • Blog Comments Images => (images/Blog/Comments/) => (200 x 200)px
      • -
      • Product-Gallery Images => (images/Shop/Product-Gallery/) => (500 x 500)px
      • -
      • Products Images => (images/Shop/Products/) => (500 x 500)px
      • -
      • Product Reviews Images => (images/Shop/Reviews/) => (200 x 200)px
      • -
      • Not Found Images => (images/Not-Found/) => (600 x 300)px
      • -
      • Why Choose Us Images => (images/WhyUs/) => (300 x 400)px
      • -
      • Contact Images => (images/Contact/) => (600 x 600)px
      • -
      • Logo Image => (images/Logo/) => (500 x 500)px
      • -
      - -
    4. - -
    - -
    - -
    - - - - - -
    - -
    -

    Source & Credits

    -
    - -
    - -

    Images:

    - - -

    Icons:

    - - -

    Google Font:

    - - -

    Scripts:

    - - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/templates/modernjunk/__MACOSX/._about.html b/templates/modernjunk/__MACOSX/._about.html deleted file mode 100644 index f00dd5c..0000000 Binary files a/templates/modernjunk/__MACOSX/._about.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._assets b/templates/modernjunk/__MACOSX/._assets deleted file mode 100755 index 35f34d7..0000000 Binary files a/templates/modernjunk/__MACOSX/._assets and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._blog-detail.html b/templates/modernjunk/__MACOSX/._blog-detail.html deleted file mode 100644 index cc2a429..0000000 Binary files a/templates/modernjunk/__MACOSX/._blog-detail.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._blog.html b/templates/modernjunk/__MACOSX/._blog.html deleted file mode 100644 index 6005a1e..0000000 Binary files a/templates/modernjunk/__MACOSX/._blog.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._contact.html b/templates/modernjunk/__MACOSX/._contact.html deleted file mode 100644 index e51c341..0000000 Binary files a/templates/modernjunk/__MACOSX/._contact.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._faq.html b/templates/modernjunk/__MACOSX/._faq.html deleted file mode 100644 index 7ae9212..0000000 Binary files a/templates/modernjunk/__MACOSX/._faq.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._index.html b/templates/modernjunk/__MACOSX/._index.html deleted file mode 100644 index 2b9d87b..0000000 Binary files a/templates/modernjunk/__MACOSX/._index.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._pricing.html b/templates/modernjunk/__MACOSX/._pricing.html deleted file mode 100644 index 5044d2c..0000000 Binary files a/templates/modernjunk/__MACOSX/._pricing.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._privacy.html b/templates/modernjunk/__MACOSX/._privacy.html deleted file mode 100644 index b6f340b..0000000 Binary files a/templates/modernjunk/__MACOSX/._privacy.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._services.html b/templates/modernjunk/__MACOSX/._services.html deleted file mode 100644 index 682c6e8..0000000 Binary files a/templates/modernjunk/__MACOSX/._services.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/._terms.html b/templates/modernjunk/__MACOSX/._terms.html deleted file mode 100644 index c8af51d..0000000 Binary files a/templates/modernjunk/__MACOSX/._terms.html and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._.DS_Store b/templates/modernjunk/__MACOSX/assets/._.DS_Store deleted file mode 100644 index a5b28df..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._.DS_Store and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._before-after-1.jpg b/templates/modernjunk/__MACOSX/assets/._before-after-1.jpg deleted file mode 100644 index 35f34d7..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._before-after-1.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._before-after-2.jpg b/templates/modernjunk/__MACOSX/assets/._before-after-2.jpg deleted file mode 100644 index 35f34d7..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._before-after-2.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._before-after-3.jpg b/templates/modernjunk/__MACOSX/assets/._before-after-3.jpg deleted file mode 100644 index 35f34d7..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._before-after-3.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._dustbin.png b/templates/modernjunk/__MACOSX/assets/._dustbin.png deleted file mode 100644 index 9aa550f..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._dustbin.png and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._hero-truck.jpg b/templates/modernjunk/__MACOSX/assets/._hero-truck.jpg deleted file mode 100644 index 35f34d7..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._hero-truck.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._photo-1573497019940-1c28c88b4f3e_1.jpg b/templates/modernjunk/__MACOSX/assets/._photo-1573497019940-1c28c88b4f3e_1.jpg deleted file mode 100644 index ed50991..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._photo-1573497019940-1c28c88b4f3e_1.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._style.css b/templates/modernjunk/__MACOSX/assets/._style.css deleted file mode 100644 index 4b2f529..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._style.css and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._team-1.jpg b/templates/modernjunk/__MACOSX/assets/._team-1.jpg deleted file mode 100644 index ed50991..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._team-1.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._team-2.jpg b/templates/modernjunk/__MACOSX/assets/._team-2.jpg deleted file mode 100644 index ed50991..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._team-2.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._team-3.jpg b/templates/modernjunk/__MACOSX/assets/._team-3.jpg deleted file mode 100644 index ed50991..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._team-3.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._team-4.jpg b/templates/modernjunk/__MACOSX/assets/._team-4.jpg deleted file mode 100644 index ed50991..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._team-4.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/assets/._team.jpg b/templates/modernjunk/__MACOSX/assets/._team.jpg deleted file mode 100644 index 35f34d7..0000000 Binary files a/templates/modernjunk/__MACOSX/assets/._team.jpg and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/document/._.DS_Store b/templates/modernjunk/__MACOSX/document/._.DS_Store deleted file mode 100644 index a5b28df..0000000 Binary files a/templates/modernjunk/__MACOSX/document/._.DS_Store and /dev/null differ diff --git a/templates/modernjunk/__MACOSX/document/._index.html b/templates/modernjunk/__MACOSX/document/._index.html deleted file mode 100644 index 80d7a05..0000000 Binary files a/templates/modernjunk/__MACOSX/document/._index.html and /dev/null differ diff --git a/templates/windowcleaning/site/bat/MailHandler.php b/templates/windowcleaning/site/bat/MailHandler.php new file mode 100644 index 0000000..39991df --- /dev/null +++ b/templates/windowcleaning/site/bat/MailHandler.php @@ -0,0 +1,84 @@ +is_valid){ + die ('wrong captcha'); + } + } + + if(isset($_POST['name']) and $_POST['name'] != ''){$message_body .= '

    Visitor: ' . $_POST['name'] . '

    ' . "\n" . '
    ' . "\n"; $subject.=$_POST['name'];} + if(isset($_POST['email']) and $_POST['email'] != ''){$message_body .= '

    Email Address: ' . $_POST['email'] . '

    ' . "\n" . '
    ' . "\n"; $user_email=$_POST['email'];} + if(isset($_POST['state']) and $_POST['state'] != ''){$message_body .= '

    State: ' . $_POST['state'] . '

    ' . "\n" . '
    ' . "\n";} + if(isset($_POST['phone']) and $_POST['phone'] != ''){$message_body .= '

    Phone Number: ' . $_POST['phone'] . '

    ' . "\n" . '
    ' . "\n";} + if(isset($_POST['fax']) and $_POST['fax'] != ''){$message_body .= '

    Fax Number: ' . $_POST['fax'] . '

    ' . "\n" . '
    ' . "\n";} + if(isset($_POST['message']) and $_POST['message'] != ''){$message_body .= '

    Message: ' . $_POST['message'] . '

    ' . "\n";} + if(isset($_POST['stripHTML']) and $_POST['stripHTML']=='true'){$message_body = strip_tags($message_body);$message_type='text';} + +try{ + include "libmail.php"; + $m= new Mail("utf-8"); + $m->From($user_email); + $m->To($owner_email); + $m->Subject($subject); + $m->Body($message_body,$message_type); + //$m->log_on(true); + + if(isset($_FILES['attachment'])){ + if($_FILES['attachment']['size']>$max_file_size){ + $error_text=$error_text_filesize . ' ' . $max_file_size . 'bytes'; + die($error_text); + }else{ + if(preg_match($file_types,$_FILES['attachment']['name'])){ + $m->Attach($_FILES['attachment']['tmp_name'],$_FILES['attachment']['name'],'','attachment'); + }else{ + $error_text=$error_text_filetype; + die($error_text); + } + } + } + if(!$use_smtp){ + $m->smtp_on( $host, $username, $password, $port); + } + + if($m->Send()){ + die('success'); + } + +}catch(Exception $mail){ + die($mail); +} +?> \ No newline at end of file diff --git a/templates/windowcleaning/site/bat/libmail.php b/templates/windowcleaning/site/bat/libmail.php new file mode 100644 index 0000000..8581a6e --- /dev/null +++ b/templates/windowcleaning/site/bat/libmail.php @@ -0,0 +1,704 @@ + true, "message" => 'ок'); + public function __construct($charset = "", $ctencoding = '') + { + $this->boundary = md5(uniqid("myboundary")); + $this->smtp['on'] = false; + if (strlen($ctencoding) and $ctencoding == '8bit') + { + $this->ctencoding = '8bit'; + } + if (strlen($charset)) + { + $this->charset = strtolower($charset); + if ($this->charset == "us-ascii") + { + $this->ctencoding = "7bit"; + } + } + } + public function Body($text, $text_html = "", $alternative_text = '', $resource = 'webi') + { + if (!strlen($resource)) + $resource = 'webi'; + if ($text_html == "html") + $text_html = "text/html"; + else + $text_html = "text/plain"; + if ($this->ctencoding == 'base64') + { + if (strlen($alternative_text)) + $alternative_text = chunk_split(base64_encode($alternative_text)); + if (strlen($text)) + $text = chunk_split(base64_encode($text)); + } + if (!strlen($alternative_text)) + { + $body = "Content-Type: ".$text_html."; charset=".$this->charset."\r\n"; + $body.="Content-Transfer-Encoding: ".$this->ctencoding."\r\n\r\n"; + $body.=$text; + } + elseif (strlen($alternative_text) and $text_html == 'text/html') + { + $body = "Content-Type: multipart/alternative; boundary=ALT-".$this->boundary."\r\n\r\n"; + $body.="--ALT-".$this->boundary."\r\n"; + $body.="Content-Type: text/plain; charset=".$this->charset."\r\n"; + $body.="Content-Transfer-Encoding: ".$this->ctencoding."\r\n\r\n"; + $body.=$alternative_text."\r\n"; + $body.="--ALT-".$this->boundary."\r\n"; + $body.="Content-Type: text/html; charset=".$this->charset."\r\n"; + $body.="Content-Transfer-Encoding: ".$this->ctencoding."\r\n\r\n"; + $body.=$text."\r\n"; + $body.="--ALT-".$this->boundary."--"; + } + $this->SubBody[$resource]['body'][0] = $body; + } + protected function mime_content_type($file) + { + $ext = strtolower(substr(strrchr(basename($file), '.'), 1)); + switch ($ext) + { + case 'jpg': return 'image/jpeg'; + case 'jpeg': return 'image/jpeg'; + case 'gif': return 'image/gif'; + case 'png': return 'image/png'; + case 'ico': return 'image/x-icon'; + case 'txt': return 'text/plain'; + + default: return 'application/octet-stream'; + } + } + + public function Attach($filename, $new_name_filename = "", $filetype = "", $disposition = "", $resource = 'webi') + { + if (!strlen($resource)) + $resource = 'webi'; + if (!file_exists($filename)) + { + return FALSE; + } + if (strlen($new_name_filename)) + $basename = basename($new_name_filename); + else + $basename = basename($filename); + + $charset_name = "=?".$this->charset."?B?".base64_encode($basename)."?="; + if (!strlen($filetype)) + $filetype = $this->mime_content_type($basename); + $body = "Content-Type: ".$filetype."; name=\"$charset_name\"\r\n"; + $body.="Content-Transfer-Encoding: base64\r\n"; + if ($disposition == 'attachment') + { + $body.="Content-Disposition: attachment; filename=\"$charset_name\"\r\n"; + } + $body.="Content-ID: <".$basename.">\r\n"; + $body.="\r\n"; + $body.=chunk_split(base64_encode(file_get_contents($filename))); + if ($disposition == 'attachment') + $this->SubBody[$resource]['mixed'][] = $body; + else + { + $this->SubBody[$resource]['body'][$this->count_body] = $body; + $this->count_body++; + } + } + public function BuildMail($resource = 'webi') + { + if (!strlen($resource)) + $resource = 'webi'; + $this->ready_headers[$resource] = ''; + if (isset($this->SubBody[$resource]['body'])) + $resource_body = $resource; + else + $resource_body = 'webi'; + if (!is_array($this->sendto[$resource]) OR !count($this->sendto[$resource])) + { + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Error : no recipient selected for ".$resource; + // return false; + } + if (!isset($this->body[$resource_body])) + { + if (count($this->SubBody[$resource_body]['body']) > 1) + { + $body = implode("\r\n--REL-".$this->boundary."\r\n", $this->SubBody[$resource_body]['body']); + $body = "Content-Type: multipart/related; boundary=REL-".$this->boundary."\r\n\r\n" + .'--REL-'.$this->boundary."\r\n".$body.'--REL-'.$this->boundary."--"; + } + else + { + $body = $this->SubBody[$resource_body]['body'][0]; + } + if (isset($this->SubBody[$resource_body]['mixed']) AND count($this->SubBody[$resource_body]['mixed'])) + { + $bodymix = implode('--MIX-'.$this->boundary."\r\n", $this->SubBody[$resource_body]['mixed']); + $body = $body."\r\n--MIX-".$this->boundary."\r\n".$bodymix; + $body = "Content-Type: multipart/mixed; boundary=MIX-".$this->boundary."\r\n\r\n" + .'--MIX-'.$this->boundary."\r\n".$body.'--MIX-'.$this->boundary."--"; + } + unset($this->SubBody[$resource_body]); + $temp_mass = explode("\r\n\r\n", $body); + $this->body_header[$resource_body] = $temp_mass[0]; + unset($temp_mass[0]); + $this->body[$resource_body] = implode("\r\n\r\n", $temp_mass); + unset($temp_mass); + unset($body); + } + $temp_mass = array(); + foreach ($this->sendto[$resource] as $key => $value) + { + + if (strlen($this->names_email[$resource]['To'][$value])) + $temp_mass[] = "=?".$this->charset."?Q?".str_replace("+", "_", str_replace("%", "=", urlencode(strtr($this->names_email[$resource]['To'][$value], "\r\n", " "))))."?= <".$value.">"; + else + $temp_mass[] = $value; + } + $this->headers[$resource]['To'] = implode(", ", $temp_mass); + if (isset($this->acc[$resource]) and count($this->acc[$resource]) > 0) + $this->headers[$resource]['CC'] = implode(", ", $this->acc[$resource]); + if (isset($this->abcc[$resource]) and count($this->abcc[$resource]) > 0) + $this->headers[$resource]['BCC'] = implode(", ", $this->abcc[$resource]); + if ($this->receipt) + { + if (isset($this->headers["Reply-To"])) + $this->headers["Disposition-Notification-To"] = $this->headers["Reply-To"]; + else + $this->headers["Disposition-Notification-To"] = $this->headers['From']; + } + if ($this->charset != "") + { + $this->headers["Mime-Version"] = "1.0"; + } + $this->headers["X-Mailer"] = "Php_libMail_v_2.0(webi.ru)"; + if (!isset($this->headers[$resource]['Subject']) and isset($this->headers['webi']['Subject'])) + $this->headers[$resource]['Subject'] = $this->headers['webi']['Subject']; + if ($this->smtp['on']) + { + $user_domen = explode('@', $this->headers['From']); + $this->ready_headers[$resource] .= "Date: ".date("r")."\r\n"; + $this->ready_headers[$resource] .= "Message-ID: <".rand().".".$resource.date("YmjHis")."@".$user_domen[1].">\r\n"; + foreach ($this->headers[$resource] as $key => $value) + { + $new_mass_head[$key] = $value; + } + foreach ($this->headers as $key => $value) + { + if (!is_array($value)) + $new_mass_head[$key] = $value; + } + reset($new_mass_head); + while (list( $hdr, $value ) = each($new_mass_head)) + { + if ($hdr == "From" and strlen($this->names_email['from'])) + $this->ready_headers[$resource] .= $hdr.": =?".$this->charset."?Q?".str_replace("+", "_", str_replace("%", "=", urlencode(strtr($this->names_email['from'], "\r\n", " "))))."?= <".$value.">\r\n"; + elseif ($hdr == "Reply-To" and strlen($this->names_email['Reply-To'])) + $this->ready_headers[$resource] .= $hdr.": =?".$this->charset."?Q?".str_replace("+", "_", str_replace("%", "=", urlencode(strtr($this->names_email['Reply-To'], "\r\n", " "))))."?= <".$value.">\r\n"; + elseif ($hdr != "BCC") + $this->ready_headers[$resource] .= $hdr.": ".$value."\r\n"; + } + } + else + { + foreach ($this->headers[$resource] as $key => $value) + { + $new_mass_head[$key] = $value; + } + foreach ($this->headers as $key => $value) + { + if (!is_array($value)) + $new_mass_head[$key] = $value; + } + reset($new_mass_head); + while (list( $hdr, $value ) = each($new_mass_head)) + { + if ($hdr == "From" and strlen($this->names_email['from'])) + $this->ready_headers[$resource] .= $hdr.": =?".$this->charset."?Q?".str_replace("+", "_", str_replace("%", "=", urlencode(strtr($this->names_email['from'], "\r\n", " "))))."?= <".$value.">\r\n"; + elseif ($hdr == "Reply-To" and strlen($this->names_email['Reply-To'])) + $this->ready_headers[$resource] .= $hdr.": =?".$this->charset."?Q?".str_replace("+", "_", str_replace("%", "=", urlencode(strtr($this->names_email['Reply-To'], "\r\n", " "))))."?= <".$value.">\r\n"; + elseif ($hdr != "Subject" and $hdr != "To") + $this->ready_headers[$resource] .= "$hdr: $value\r\n"; + } + } + $this->ready_headers[$resource].=$this->body_header[$resource_body]."\r\n"; + } + public function autoCheck($bool) + { + if ($bool) + $this->checkAddress = true; + else + $this->checkAddress = false; + } + public function log_on($bool) + { + if ($bool) + $this->log_on = true; + else + $this->log_on = false; + } + public function Subject($subject, $resource = 'webi') + { + if (!strlen($resource)) + $resource = 'webi'; + $this->headers[$resource]['Subject'] = "=?".$this->charset."?Q?".str_replace("+", "_", str_replace("%", "=", urlencode(strtr($subject, "\r\n", " "))))."?="; + } + public function From($from) + { + if (!is_string($from)) + { + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Error, From should be inline"; + return FALSE; + } + $temp_mass = explode(';', $from); + if (count($temp_mass) == 2) + { + $this->names_email['from'] = $temp_mass[0]; + $this->headers['From'] = $temp_mass[1]; + } + else + { + $this->names_email['from'] = ''; + $this->headers['From'] = $from; + } + } + public function ReplyTo($address) + { + if (!is_string($address)) + return false; + $temp_mass = explode(';', $address); + if (count($temp_mass) == 2) + { + $this->names_email['Reply-To'] = $temp_mass[0]; + $this->headers['Reply-To'] = $temp_mass[1]; + } + else + { + $this->names_email['Reply-To'] = ''; + $this->headers['Reply-To'] = $address; + } + } + public function Receipt() + { + $this->receipt = 1; + } + public function To($to, $resource = 'webi') + { + if (!strlen($resource)) + $resource = 'webi'; + if (is_array($to)) + { + foreach ($to as $key => $value) + { + $temp_mass = explode(';', $value); + if (count($temp_mass) == 2) + { + $this->smtpsendto[$resource][$temp_mass[1]] = $temp_mass[1]; + $this->names_email[$resource]['To'][$temp_mass[1]] = $temp_mass[0]; + $this->sendto[$resource][] = $temp_mass[1]; + } + else + { + $this->smtpsendto[$resource][$value] = $value; + $this->names_email[$resource]['To'][$value] = ''; + $this->sendto[$resource][] = $value; + } + } + } + else + { + $temp_mass = explode(';', $to); + if (count($temp_mass) == 2) + { + $this->sendto[$resource][] = $temp_mass[1]; + $this->smtpsendto[$resource][$temp_mass[1]] = $temp_mass[1]; + $this->names_email[$resource]['To'][$temp_mass[1]] = $temp_mass[0]; + } + else + { + $this->sendto[$resource][] = $to; + $this->smtpsendto[$resource][$to] = $to; + + $this->names_email[$resource]['To'][$to] = ''; + } + } + if ($this->checkAddress == true) + $this->CheckAdresses($this->sendto[$resource]); + } + private function CheckAdresses($aad) + { + foreach ($aad as $key => $value) + { + if (!$this->ValidEmail($value)) + { + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Error : wrong email ".$value; + return FALSE; + } + } + } + public function ValidEmail($address) + { + if (function_exists('filter_list')) + { + $valid_email = filter_var($address, FILTER_VALIDATE_EMAIL); + if ($valid_email !== false) + return true; + else + return false; + } + else + { + if (ereg(".*<(.+)>", $address, $regs)) + { + $address = $regs[1]; + } + if (ereg("^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)\$", $address)) + return true; + else + return false; + } + } + public function Cc($cc, $resource = 'webi') + { + if (!strlen($resource)) + $resource = 'webi'; + + if (is_array($cc)) + { + foreach ($cc as $key => $value) + { + $this->smtpsendto[$resource][$value] = $value; + $this->acc[$resource][$value] = $value; + } + } + else + { + $this->acc[$resource][$cc] = $cc; + $this->smtpsendto[$resource][$cc] = $cc; + } + if ($this->checkAddress == true) + $this->CheckAdresses($this->acc[$resource]); + } + public function Bcc($bcc, $resource = 'webi') + { + if (!strlen($resource)) + $resource = 'webi'; + if (is_array($bcc)) + { + foreach ($bcc as $key => $value) + { + $this->smtpsendto[$resource][$value] = $value; + $this->abcc[$resource][$value] = $value; + } + } + else + { + $this->abcc[$resource][$bcc] = $bcc; + $this->smtpsendto[$resource][$bcc] = $bcc; + } + if ($this->checkAddress == true) + $this->CheckAdresses($this->abcc[$resource]); + } + public function Organization($org) + { + if (trim($org != "")) + $this->headers['Organization'] = $org; + } + public function Priority($priority) + { + $priorities = array('1 (Highest)', '2 (High)', '3 (Normal)', '4 (Low)', '5 (Lowest)'); + if (!intval($priority)) + return false; + + if (!isset($priorities[$priority - 1])) + return false; + + $this->headers["X-Priority"] = $priorities[$priority - 1]; + + return true; + } + public function smtp_on($smtp_serv, $login, $pass, $port = 25, $timeout = 5) + { + $this->smtp['on'] = true; // smtp transfer on + $this->smtp['serv'] = $smtp_serv; + $this->smtp['login'] = $login; + $this->smtp['pass'] = $pass; + $this->smtp['port'] = $port; + $this->smtp['timeout'] = $timeout; + } + private function get_data($smtp_conn) + { + $data = ""; + while ($str = fgets($smtp_conn, 515)) + { + $data .= $str; + if (substr($str, 3, 1) == " ") + { + break; + } + } + return $data; + } + private function add_log($text) + { + if ($this->log_on) + $this->smtp_log.=$text; + } + public function Send() + { + if (!$this->status_mail['status']) + { + return FALSE; + } + if (!$this->smtp['on']) + { + foreach ($this->sendto as $key => $value) + { + $strTo = implode(", ", $this->sendto[$key]); + $this->BuildMail($key); + if (!$this->status_mail['status']) + { + return FALSE; + } + if (isset($this->body[$key])) + $body_resource = $key; + else + $body_resource = 'webi'; + $res = @mail($strTo, $this->headers[$key]['Subject'], $this->body[$body_resource], $this->ready_headers[$key]); + if (!$res) + { + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Error : mail() function returns error"; + } + elseif ($this->status_mail['status']) + { + $this->add_log('TO: '.$strTo."\n"); + $this->add_log("Subject: ".$this->headers[$key]['Subject']."\n"); + $this->add_log($this->ready_headers[$key]."\n\n"); + $this->add_log($this->body[$body_resource]."\n\n\n"); + $this->status_mail['status'] = true; + $this->status_mail['message'] = "Message successfully sent by mail()"; + } + if ($key != 'webi') + { + unset($this->headers[$key]); + unset($this->ready_headers[$key]); + } + if ($body_resource != 'webi') + { + unset($this->body[$body_resource]); + } + } + if ($this->status_mail['status']) + { + return true; + } + else + { + return FALSE; + } + } + else + { + if (!$this->smtp['serv'] OR !$this->smtp['login'] OR !$this->smtp['pass'] OR !$this->smtp['port']) + { + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Error : missing required SMTP values "; + return false; + } + $user_domen = explode('@', $this->headers['From']); + $smtp_conn = fsockopen($this->smtp['serv'], $this->smtp['port'], $errno, $errstr, $this->smtp['timeout']); + if (!$smtp_conn) + { + $this->add_log("can't connect to server\n\n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Error: can't connect to server"; + return false; + } + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + fputs($smtp_conn, "EHLO ".$user_domen[0]."\r\n"); + $this->add_log("I: EHLO ".$user_domen[0]."\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 250) + { + $this->add_log("Error greeting EHLO \n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Error: greeting EHLO"; + return false; + } + fputs($smtp_conn, "AUTH LOGIN\r\n"); + $this->add_log( "I: AUTH LOGIN\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 334) + { + $this->add_log("server denies authorization \n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "server denies authorization"; + return false; + } + fputs($smtp_conn, base64_encode($this->smtp['login'])."\r\n"); + $this->add_log( "I: ".base64_encode($this->smtp['login'])."\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 334) + { + $this->add_log( "user access failed\n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "user SMTP access failed "; + return false; + } + fputs($smtp_conn, base64_encode($this->smtp['pass'])."\r\n"); + $this->add_log("I: parol_skryt\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 235) + { + $this->add_log("wrong password\n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "wrong password for SMTP"; + return false; + } + foreach ($this->smtpsendto as $key_res => $value_res) + { + $this->BuildMail($key_res); + if (!$this->status_mail['status']) + { + return FALSE; + } + if (isset($this->body[$key_res])) + $body_resource = $key_res; + else + $body_resource = 'webi'; + fputs($smtp_conn, "MAIL FROM:<".$this->headers['From']."> SIZE=".strlen($this->ready_headers[$key_res]."\r\n".$this->body[$body_resource])."\r\n"); + $this->add_log("I: MAIL FROM:<".$this->headers['From']."> SIZE=".strlen($this->ready_headers[$key_res]."\r\n".$this->body[$body_resource])."\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 250) + { + $this->add_log("command MAIL FROM denied by server\n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "command MAIL FROM through SMTP denied by server "; + return false; + } + foreach ($this->smtpsendto[$key_res] as $keywebi => $valuewebi) + { + fputs($smtp_conn, "RCPT TO:<".$valuewebi.">\r\n"); + $this->add_log("I: RCPT TO:<".$valuewebi.">\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 250 AND $code != 251) + { + $this->add_log( "Server denied RCPT TO command\n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Server denied RCPT TO command through SMTP"; + return false; + } + } + fputs($smtp_conn, "DATA\r\n"); + $this->add_log("I: DATA\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 354) + { + $this->add_log( "server denied DATA command \n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "server denied DATA command through SMTP"; + return false; + } + fputs($smtp_conn, $this->ready_headers[$key_res]."\r\n".$this->body[$body_resource]."\r\n.\r\n"); + $this->add_log("I: ".$this->ready_headers[$key_res]."\r\n".$this->body[$body_resource]."\r\n.\r\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 250) + { + $this->add_log("error sending message\n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "error sending message through SMTP"; + return false; + } + fputs($smtp_conn, "RSET\r\n"); + $this->add_log("I: RSET\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + $code = substr($data, 0, 3); + if ($code != 250) + { + $this->add_log("error sending message\n"); + fclose($smtp_conn); + $this->status_mail['status'] = false; + $this->status_mail['message'] = "Server denied RSET command"; + return false; + } + if ($key_res != 'webi') + { + unset($this->headers[$key_res]); + unset($this->ready_headers[$key_res]); + } + if ($body_resource != 'webi') + { + unset($this->body[$body_resource]); + } + } + fputs($smtp_conn, "QUIT\r\n"); + $this->add_log("QUIT\r\n"); + $data = $this->get_data($smtp_conn)."\n"; + $this->add_log($data); + fclose($smtp_conn); + $this->status_mail['status'] = true; + $this->status_mail['message'] = "Message successfully sent through SMTP"; + return true; + } + } + public function Get() + { + if (!$this->log_on) + return 'Logging disabled. To create log file enable logging setting $m->log_on(true);'; + + if (strlen($this->smtp_log)) + { + return $this->smtp_log; + } + } +} +?> \ No newline at end of file diff --git a/templates/windowcleaning/site/bat/recaptchalib.php b/templates/windowcleaning/site/bat/recaptchalib.php new file mode 100644 index 0000000..32c4f4d --- /dev/null +++ b/templates/windowcleaning/site/bat/recaptchalib.php @@ -0,0 +1,277 @@ + $value ) + $req .= $key . '=' . urlencode( stripslashes($value) ) . '&'; + + // Cut the last '&' + $req=substr($req,0,strlen($req)-1); + return $req; +} + + + +/** + * Submits an HTTP POST to a reCAPTCHA server + * @param string $host + * @param string $path + * @param array $data + * @param int port + * @return array response + */ +function _recaptcha_http_post($host, $path, $data, $port = 80) { + + $req = _recaptcha_qsencode ($data); + + $http_request = "POST $path HTTP/1.0\r\n"; + $http_request .= "Host: $host\r\n"; + $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n"; + $http_request .= "Content-Length: " . strlen($req) . "\r\n"; + $http_request .= "User-Agent: reCAPTCHA/PHP\r\n"; + $http_request .= "\r\n"; + $http_request .= $req; + + $response = ''; + if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) { + die ('Could not open socket'); + } + + fwrite($fs, $http_request); + + while ( !feof($fs) ) + $response .= fgets($fs, 1160); // One TCP-IP packet + fclose($fs); + $response = explode("\r\n\r\n", $response, 2); + + return $response; +} + + + +/** + * Gets the challenge HTML (javascript and non-javascript version). + * This is called from the browser, and the resulting reCAPTCHA HTML widget + * is embedded within the HTML form it was called from. + * @param string $pubkey A public key for reCAPTCHA + * @param string $error The error given by reCAPTCHA (optional, default is null) + * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false) + + * @return string - The HTML to be embedded in the user's form. + */ +function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false) +{ + if ($pubkey == null || $pubkey == '') { + die ("To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create"); + } + + if ($use_ssl) { + $server = RECAPTCHA_API_SECURE_SERVER; + } else { + $server = RECAPTCHA_API_SERVER; + } + + $errorpart = ""; + if ($error) { + $errorpart = "&error=" . $error; + } + return ' + + '; +} + + + + +/** + * A ReCaptchaResponse is returned from recaptcha_check_answer() + */ +class ReCaptchaResponse { + var $is_valid; + var $error; +} + + +/** + * Calls an HTTP POST function to verify if the user's guess was correct + * @param string $privkey + * @param string $remoteip + * @param string $challenge + * @param string $response + * @param array $extra_params an array of extra variables to post to the server + * @return ReCaptchaResponse + */ +function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array()) +{ + if ($privkey == null || $privkey == '') { + die ("To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create"); + } + + if ($remoteip == null || $remoteip == '') { + die ("For security reasons, you must pass the remote ip to reCAPTCHA"); + } + + + + //discard spam submissions + if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) { + $recaptcha_response = new ReCaptchaResponse(); + $recaptcha_response->is_valid = false; + $recaptcha_response->error = 'incorrect-captcha-sol'; + return $recaptcha_response; + } + + $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify", + array ( + 'privatekey' => $privkey, + 'remoteip' => $remoteip, + 'challenge' => $challenge, + 'response' => $response + ) + $extra_params + ); + + $answers = explode ("\n", $response [1]); + $recaptcha_response = new ReCaptchaResponse(); + + if (trim ($answers [0]) == 'true') { + $recaptcha_response->is_valid = true; + } + else { + $recaptcha_response->is_valid = false; + $recaptcha_response->error = $answers [1]; + } + return $recaptcha_response; + +} + +/** + * gets a URL where the user can sign up for reCAPTCHA. If your application + * has a configuration page where you enter a key, you should provide a link + * using this function. + * @param string $domain The domain where the page is hosted + * @param string $appname The name of your application + */ +function recaptcha_get_signup_url ($domain = null, $appname = null) { + return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode (array ('domains' => $domain, 'app' => $appname)); +} + +function _recaptcha_aes_pad($val) { + $block_size = 16; + $numpad = $block_size - (strlen ($val) % $block_size); + return str_pad($val, strlen ($val) + $numpad, chr($numpad)); +} + +/* Mailhide related code */ + +function _recaptcha_aes_encrypt($val,$ky) { + if (! function_exists ("mcrypt_encrypt")) { + die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed."); + } + $mode=MCRYPT_MODE_CBC; + $enc=MCRYPT_RIJNDAEL_128; + $val=_recaptcha_aes_pad($val); + return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); +} + + +function _recaptcha_mailhide_urlbase64 ($x) { + return strtr(base64_encode ($x), '+/', '-_'); +} + +/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */ +function recaptcha_mailhide_url($pubkey, $privkey, $email) { + if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) { + die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " . + "you can do so at http://www.google.com/recaptcha/mailhide/apikey"); + } + + + $ky = pack('H*', $privkey); + $cryptmail = _recaptcha_aes_encrypt ($email, $ky); + + return "http://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail); +} + +/** + * gets the parts of the email to expose to the user. + * eg, given johndoe@example,com return ["john", "example.com"]. + * the email is then displayed as john...@example.com + */ +function _recaptcha_mailhide_email_parts ($email) { + $arr = preg_split("/@/", $email ); + + if (strlen ($arr[0]) <= 4) { + $arr[0] = substr ($arr[0], 0, 1); + } else if (strlen ($arr[0]) <= 6) { + $arr[0] = substr ($arr[0], 0, 3); + } else { + $arr[0] = substr ($arr[0], 0, 4); + } + return $arr; +} + +/** + * Gets html to display an email address given a public an private key. + * to get a key, go to: + * + * http://www.google.com/recaptcha/mailhide/apikey + */ +function recaptcha_mailhide_html($pubkey, $privkey, $email) { + $emailparts = _recaptcha_mailhide_email_parts ($email); + $url = recaptcha_mailhide_url ($pubkey, $privkey, $email); + + return htmlentities($emailparts[0]) . "...@" . htmlentities ($emailparts [1]); + +} + + +?> diff --git a/templates/windowcleaning/site/css/animate.css b/templates/windowcleaning/site/css/animate.css new file mode 100644 index 0000000..10354be --- /dev/null +++ b/templates/windowcleaning/site/css/animate.css @@ -0,0 +1,3125 @@ +@charset "UTF-8"; + +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2014 Daniel Eden +*/ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +@-webkit-keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +@keyframes bounce { + 0%, 20%, 53%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transform: translate3d(0,0,0); + -ms-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + + 40%, 43% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -30px, 0); + -ms-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); + -webkit-transform: translate3d(0, -15px, 0); + -ms-transform: translate3d(0, -15px, 0); + transform: translate3d(0, -15px, 0); + } + + 90% { + -webkit-transform: translate3d(0,-4px,0); + -ms-transform: translate3d(0,-4px,0); + transform: translate3d(0,-4px,0); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; + -webkit-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; +} + +@-webkit-keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 50% { + -webkit-transform: scale3d(1.05, 1.05, 1.05); + -ms-transform: scale3d(1.05, 1.05, 1.05); + transform: scale3d(1.05, 1.05, 1.05); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes rubberBand { + 0% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 30% { + -webkit-transform: scale3d(1.25, 0.75, 1); + -ms-transform: scale3d(1.25, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + -ms-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + -ms-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(.95, 1.05, 1); + -ms-transform: scale3d(.95, 1.05, 1); + transform: scale3d(.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, .95, 1); + -ms-transform: scale3d(1.05, .95, 1); + transform: scale3d(1.05, .95, 1); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + 0%, 100% { + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translate3d(-10px, 0, 0); + -ms-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translate3d(10px, 0, 0); + -ms-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate3d(0, 0, 1, 15deg); + -ms-transform: rotate3d(0, 0, 1, 15deg); + transform: rotate3d(0, 0, 1, 15deg); + } + + 40% { + -webkit-transform: rotate3d(0, 0, 1, -10deg); + -ms-transform: rotate3d(0, 0, 1, -10deg); + transform: rotate3d(0, 0, 1, -10deg); + } + + 60% { + -webkit-transform: rotate3d(0, 0, 1, 5deg); + -ms-transform: rotate3d(0, 0, 1, 5deg); + transform: rotate3d(0, 0, 1, 5deg); + } + + 80% { + -webkit-transform: rotate3d(0, 0, 1, -5deg); + -ms-transform: rotate3d(0, 0, 1, -5deg); + transform: rotate3d(0, 0, 1, -5deg); + } + + 100% { + -webkit-transform: rotate3d(0, 0, 1, 0deg); + -ms-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + -ms-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + 0% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + + 10%, 20% { + -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + -ms-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + -ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); + } + + 100% { + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + 0% { + -webkit-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes wobble { + 0% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } + + 15% { + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + -ms-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); + } + + 30% { + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + -ms-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); + } + + 45% { + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + -ms-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); + } + + 60% { + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + -ms-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); + } + + 75% { + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + -ms-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + 0%, 20%, 40%, 60%, 80%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + -ms-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(.9, .9, .9); + -ms-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + -ms-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + -webkit-transform: scale3d(.97, .97, .97); + -ms-transform: scale3d(.97, .97, .97); + transform: scale3d(.97, .97, .97); + } + + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInDown { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -3000px, 0); + -ms-transform: translate3d(0, -3000px, 0); + transform: translate3d(0, -3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, 25px, 0); + -ms-transform: translate3d(0, 25px, 0); + transform: translate3d(0, 25px, 0); + } + + 75% { + -webkit-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInLeft { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(-3000px, 0, 0); + -ms-transform: translate3d(-3000px, 0, 0); + transform: translate3d(-3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(25px, 0, 0); + -ms-transform: translate3d(25px, 0, 0); + transform: translate3d(25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(-10px, 0, 0); + -ms-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(5px, 0, 0); + -ms-transform: translate3d(5px, 0, 0); + transform: translate3d(5px, 0, 0); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + transform: none; + } +} + +@keyframes bounceInRight { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(3000px, 0, 0); + -ms-transform: translate3d(3000px, 0, 0); + transform: translate3d(3000px, 0, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(-25px, 0, 0); + -ms-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + 75% { + -webkit-transform: translate3d(10px, 0, 0); + -ms-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + 90% { + -webkit-transform: translate3d(-5px, 0, 0); + -ms-transform: translate3d(-5px, 0, 0); + transform: translate3d(-5px, 0, 0); + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + 0%, 60%, 75%, 90%, 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); + } + + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 3000px, 0); + -ms-transform: translate3d(0, 3000px, 0); + transform: translate3d(0, 3000px, 0); + } + + 60% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + -ms-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 75% { + -webkit-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 90% { + -webkit-transform: translate3d(0, -5px, 0); + -ms-transform: translate3d(0, -5px, 0); + transform: translate3d(0, -5px, 0); + } + + 100% { + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(.9, .9, .9); + -ms-transform: scale3d(.9, .9, .9); + transform: scale3d(.9, .9, .9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + -ms-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes bounceOutDown { + 20% { + -webkit-transform: translate3d(0, 10px, 0); + -ms-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, -20px, 0); + -ms-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + -ms-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes bounceOutLeft { + 20% { + opacity: 1; + -webkit-transform: translate3d(20px, 0, 0); + -ms-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + -ms-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes bounceOutRight { + 20% { + opacity: 1; + -webkit-transform: translate3d(-20px, 0, 0); + -ms-transform: translate3d(-20px, 0, 0); + transform: translate3d(-20px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + -ms-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes bounceOutUp { + 20% { + -webkit-transform: translate3d(0, -10px, 0); + -ms-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + 40%, 45% { + opacity: 1; + -webkit-transform: translate3d(0, 20px, 0); + -ms-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + -ms-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + -ms-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + -ms-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + -ms-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + -ms-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + -ms-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + -ms-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + -ms-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + -ms-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + -ms-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + -ms-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + -ms-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + -ms-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -ms-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) scale3d(.95, .95, .95); + -ms-transform: perspective(400px) scale3d(.95, .95, .95); + transform: perspective(400px) scale3d(.95, .95, .95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + -ms-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} + +@keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + + 100% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-animation-duration: .75s; + animation-duration: .75s; + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px); + -ms-transform: perspective(400px); + transform: perspective(400px); + } + + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -ms-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + -ms-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes lightSpeedIn { + 0% { + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); + -ms-transform: translate3d(100%, 0, 0) skewX(-30deg); + transform: translate3d(100%, 0, 0) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: skewX(20deg); + -ms-transform: skewX(20deg); + transform: skewX(20deg); + opacity: 1; + } + + 80% { + -webkit-transform: skewX(-5deg); + -ms-transform: skewX(-5deg); + transform: skewX(-5deg); + opacity: 1; + } + + 100% { + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + 0% { + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + -ms-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateIn { + 0% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, -200deg); + -ms-transform: rotate3d(0, 0, 1, -200deg); + transform: rotate3d(0, 0, 1, -200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + -ms-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + -ms-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, 45deg); + -ms-transform: rotate3d(0, 0, 1, 45deg); + transform: rotate3d(0, 0, 1, 45deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + transform: none; + opacity: 1; + } +} + +@keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -90deg); + -ms-transform: rotate3d(0, 0, 1, -90deg); + transform: rotate3d(0, 0, 1, -90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + 0% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + 100% { + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + -webkit-transform: rotate3d(0, 0, 1, 200deg); + -ms-transform: rotate3d(0, 0, 1, 200deg); + transform: rotate3d(0, 0, 1, 200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0, 0, 1, 45deg); + transform: rotate(0, 0, 1, 45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0, 0, 1, 45deg); + -ms-transform: rotate(0, 0, 1, 45deg); + transform: rotate(0, 0, 1, 45deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + -ms-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate3d(0, 0, 1, -45deg); + -ms-transform: rotate3d(0, 0, 1, -45deg); + transform: rotate3d(0, 0, 1, -45deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate3d(0, 0, 1, 90deg); + -ms-transform: rotate3d(0, 0, 1, 90deg); + transform: rotate3d(0, 0, 1, 90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate3d(0, 0, 1, 80deg); + -ms-transform: rotate3d(0, 0, 1, 80deg); + transform: rotate3d(0, 0, 1, 80deg); + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40%, 80% { + -webkit-transform: rotate3d(0, 0, 1, 60deg); + -ms-transform: rotate3d(0, 0, 1, 60deg); + transform: rotate3d(0, 0, 1, 60deg); + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + opacity: 1; + } + + 100% { + -webkit-transform: translate3d(0, 700px, 0); + -ms-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + -ms-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); + } + + 100% { + opacity: 1; + -webkit-transform: none; + -ms-transform: none; + transform: none; + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +@keyframes rollOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + -ms-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} + +@-webkit-keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInRight { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomInUp { + 0% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +@keyframes zoomOut { + 0% { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(.3, .3, .3); + -ms-transform: scale3d(.3, .3, .3); + transform: scale3d(.3, .3, .3); + } + + 100% { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); + -ms-transform: scale(.1) translate3d(-2000px, 0, 0); + transform: scale(.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + -ms-transform-origin: left center; + transform-origin: left center; + } +} + +.zoomOutLeft { + -webkit-animation-name: zoomOutLeft; + animation-name: zoomOutLeft; +} + +@-webkit-keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.1) translate3d(2000px, 0, 0); + -ms-transform: scale(.1) translate3d(2000px, 0, 0); + transform: scale(.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + -ms-transform-origin: right center; + transform-origin: right center; + } +} + +.zoomOutRight { + -webkit-animation-name: zoomOutRight; + animation-name: zoomOutRight; +} + +@-webkit-keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -ms-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); + } + + 100% { + opacity: 0; + -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -ms-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + -ms-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + } +} + +.zoomOutUp { + -webkit-animation-name: zoomOutUp; + animation-name: zoomOutUp; +} \ No newline at end of file diff --git a/templates/windowcleaning/site/css/camera.css b/templates/windowcleaning/site/css/camera.css new file mode 100644 index 0000000..c967414 --- /dev/null +++ b/templates/windowcleaning/site/css/camera.css @@ -0,0 +1,264 @@ +/************************** +* +* GENERAL +* +**************************/ +.camera_wrap img, +.camera_wrap ol, .camera_wrap ul, .camera_wrap li, +.camera_wrap table, .camera_wrap tbody, .camera_wrap tfoot, .camera_wrap thead, .camera_wrap tr, .camera_wrap th, .camera_wrap td +.camera_thumbs_wrap a, .camera_thumbs_wrap img, +.camera_thumbs_wrap ol, .camera_thumbs_wrap ul, .camera_thumbs_wrap li, +.camera_thumbs_wrap table, .camera_thumbs_wrap tbody, .camera_thumbs_wrap tfoot, .camera_thumbs_wrap thead, .camera_thumbs_wrap tr, .camera_thumbs_wrap th, .camera_thumbs_wrap td { + background: none; + border: 0; + font: inherit; + font-size: 100%; + margin: 0; + padding: 0; + vertical-align: baseline; + list-style: none +} + +.camera_main_container{ + margin-top: 0px; + height: 674px; +} +.camera_wrap { + display: none; + float: none; + position: relative; + z-index: 1; + margin-bottom: 0px !important; +} +.camera_wrap img { + max-width: none !important; + max-width: 20000px !important; +} +.camera_fakehover { + height: 100%; + min-height: 40px; + position: relative; + width: 100%; + z-index: 1; +} +.camera_wrap { + width: 100%; + height:428px; +} +.camera_src { + display: none; +} +.cameraCont, .cameraContents { + height: 100%; + position: relative; + width: 100%; + z-index: 1; +} +.cameraSlide { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.cameraContent { + bottom: 0; + display: none; + left: 0; + position: absolute; + right: 0; + top: 0; + width: 100%; +} +.camera_target { + bottom: 0; + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + text-align: left; + top: 0; + width: 100%; + z-index: 0; +} +.camera_overlayer { + bottom: 0; + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + right: 0; + top: 0; + width: 100%; + z-index: 0; +} +.camera_target_content { + bottom: 0; + left: 0; + overflow: visible; + position: absolute; + right: 0; + top: 0; + z-index: 2; +} +.camera_target_content .camera_link { + display: block; + height: 100%; + text-decoration: none; +} +.camera_loader { + background: #fff url(../images/camera-loader.gif) no-repeat center; + background: rgba(255, 255, 255, 0.9) url(../images/camera-loader.gif) no-repeat center; + border: 1px solid #ffffff; + -webkit-border-radius: 18px; + -moz-border-radius: 18px; + border-radius: 18px; + height: 36px; + left: 50%; + overflow: hidden; + position: absolute; + margin: -18px 0 0 -18px; + top: 50%; + width: 36px; + z-index: 3; +} +.camera_clear { + display: block; + clear: both; +} +.showIt { + display: none; +} +.camera_clear { + clear: both; + display: block; + height: 1px; + margin: 0px; + position: relative; +} + + +.camera_prev{ + background: url(../images/slider_prev_btn.png) left top no-repeat; + width: 38px; + height: 70px; + position: absolute; + z-index: 999; + top: 50%; + margin-top: -35px; + left: 23px; + cursor: pointer; + opacity: 1 !important; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease; +} + +.camera_prev:hover { + background-position: 0 bottom; +} + +.camera_next { + background: url(../images/slider_next_btn.png) right top no-repeat; + width: 38px; + height: 70px; + position: absolute; + z-index: 999; + top: 50%; + margin-top: -35px; + right: 23px; + cursor: pointer; + opacity: 1 !important; + -webkit-transition:all 0.3s ease; + -moz-transition:all 0.3s ease; + -o-transition:all 0.3s ease; + transition:all 0.3s ease; +} + +.camera_next:hover { + background-position: right bottom; +} + + +.caption { + position:absolute; + top: 39%; + z-index:15; + width: 100%; +} + +.caption_bg{ + position: relative; + -webkit-box-sizing: border-box; /* Safari */ + -moz-box-sizing: border-box; /*Firefox 1-3*/ + box-sizing: border-box; +} + +.caption span.slider_txt1{ + position: relative; + display:block; + color:#fff; + font:bold 66px/70px "Asap", Arial, Helvetica, sans-serif ; + font-style: italic; + /*margin-top: 44px;*/ + text-align: center; +} + + + +.camera_wrap .camera_pag { + width:100%; + z-index:1000; + position:absolute; + height: 20px; + bottom: -48px; + width: 100%; + text-align: center; +} +.camera_wrap .camera_pag .camera_pag_ul{ + position: relative; + display: inline-block; + margin-left: 18px; +} +.camera_wrap .camera_pag .camera_pag_ul li { + float:left; + margin-right: 16px; +} + +.camera_wrap .camera_pag .camera_pag_ul li span { + text-indent: -999px; + overflow: hidden; + cursor: pointer; + display:block; + width: 14px; + height: 14px; background: #bebebe; + border-radius: 500px; +} +.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent span, .camera_wrap .camera_pag .camera_pag_ul li:hover span{ + background: #666667; +} + + + +/*======================================================== + RESPONSIVE LAYOUTS STYLES +=========================================================*/ +@media only screen and (max-width: 1199px) { + .camera_main_container{height: 450px;} +} +@media only screen and (max-width: 979px) { + .caption span.slider_txt1{font:bold 40px/40px "Asap", Arial, Helvetica, sans-serif;} +} +@media only screen and (max-width: 767px) { + .caption span.slider_txt1{font:bold 26px/30px "Asap", Arial, Helvetica, sans-serif;} + .camera_next, .camera_prev {top: auto; bottom: 20px;} +} +@media only screen and (max-width: 479px) { + +} +@media only screen and (max-width: 320px) { + +} diff --git a/templates/windowcleaning/site/css/contact-form.css b/templates/windowcleaning/site/css/contact-form.css new file mode 100644 index 0000000..8383603 --- /dev/null +++ b/templates/windowcleaning/site/css/contact-form.css @@ -0,0 +1,395 @@ +/* Contact Form variables +========================================================*/ +/*======================================================== + Main variables +=========================================================*/ +/*hover color*/ +/*hover 2 color*/ +/*color of content*/ +/*color of border*/ +/*======================================================== + Typography +=========================================================*/ +/*color of input fields in contact form*/ +/* Contact Form Basic Styles +========================================================*/ +#contact-form { + position: relative; + margin-top: 83px; +} +#contact-form label.message { + max-width: 100%; + margin-top: 36px; +} +#contact-form label { + position: relative; + display: block; + width: 100%; + max-width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + min-height: 66px; +} +#contact-form label.message { + width: 100%; + position: relative; + top: -1px; +} +#contact-form fieldset { + border: none; +} +/* Contact Form Placeholder Styles +========================================================*/ +#contact-form ._placeholder { + width: 100% !important; + position: absolute; + left: 0; + top: 0; + display: block; + line-height: 34px; + font-size: 18px; + font-family: 'Lato', Arial, sans-serif; + padding: 5px 17px 5px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border-radius: 0; + cursor: text; + color: #545454; + font-weight: 300; + font-style: italic; +} +#contact-form ._placeholder.focused { + opacity: 0.4; + filter: alpha(opacity=40); + /*.box-shadow(0px 0px 7px 0px rgba(0, 0, 0, 0.7));*/ +} +#contact-form ._placeholder.hidden { + display: none; +} +#contact-form .file ._placeholder { + display: none; +} +/* Contact Form Input +========================================================*/ +#contact-form input[type='text'] { + width: 100%; + border-radius: 0; + line-height: 34px; + font-size: 18px; + font-family: 'Lato', Arial, sans-serif; + padding: 5px 17px 5px; + font-weight: 300; + font-style: italic; + outline: none; + color: #545454; + height: 41px; + border: none; + border-bottom: 1px solid #bfbfbf; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + background: none; +} +input, +textarea { + -webkit-appearance: none; +} +/* Contact Form File Input +========================================================*/ +#contact-form .input-group { + position: relative; + display: table; + border-collapse: separate; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +#contact-form input.form-control[disabled] { + cursor: not-allowed; + background-color: #fafafa; + opacity: 1; +} +#contact-form input.form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; + padding: 6px 12px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + -moz-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} +#contact-form .input-group-btn:first-child > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + margin: 0 -1px 0 0; +} +#contact-form .input-group .form-control:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +#contact-form .input-group-btn:last-child > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +#contact-form .input-group .form-control:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +#contact-form input.form-control, +#contact-form .input-group-btn { + display: table-cell; + border-collapse: separate; + float: none !important; +} +#contact-form .input-group-btn label { + width: auto; + margin-left: -1px; +} +#contact-form .input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; + width: 1%; + vertical-align: middle; +} +#contact-form .btn { + margin-top: 26px; +} +#contact-form .btn + .btn { + margin-left: 5px; +} +#contact-form .btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} +#contact-form .btn-default:hover { + color: #333333; + background-color: #ebebeb; + border-color: #adadad; +} +#contact-form .btn-default:active, +#contact-form .btn-default:focus { + outline-offset: -2px; + outline: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +/* Contact Form Textarea +========================================================*/ +#contact-form textarea { + width: 100%; + border-radius: 0; + line-height: 34px; + font-size: 18px; + font-family: 'Lato', Arial, sans-serif; + padding: 5px 17px 5px; + font-weight: 300; + font-style: italic; + outline: none; + border: none; + border: 1px solid #bfbfbf; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + resize: none; + color: #545454; + height: 166px; + background: none; +} +#contact-form .btns { + text-align: center; +} +#contact-form .btns a { + margin-top: 73px; +} +/* Contact Form Error messages +========================================================*/ +#contact-form .empty-message, +#contact-form .error-message { + position: absolute; + right: 18px; + top: -5px; + color: red; + height: 0; + overflow: hidden; + font-size: 11px; + -webkit-transition: 0.3s ease-in height; + transition: 0.3s ease-in height; + z-index: 99; +} +#contact-form .invalid .error-message, +#contact-form .empty .empty-message { + height: 20px; +} +/* Contact Form Processing Box +========================================================*/ +#contact-form .contact-form-loader { + position: absolute; + z-index: -1; + width: 100%; + height: 100%; + overflow: hidden; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.9); + background-image: url('../images/form-loader.gif'); + background-repeat: no-repeat; + background-position: 50% 50%; + opacity: 0; +} +#contact-form.processing .contact-form-loader { + opacity: 1; + z-index: 99; + -webkit-transition: all 0.3s ease-in; + transition: all 0.3s ease-in; +} +/* Contact Form Modal +========================================================*/ +.modal-open { + overflow: hidden; +} +#contact-form .modal { + display: none; + overflow: auto; + overflow-y: scroll; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; + font-family: 'Lato', Arial, sans-serif; + font-size: 13px; +} +#contact-form .modal h4 { + font-size: 24px; + padding: 0; + margin: 0; +} +#contact-form .modal h4:before { + display: none; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: none; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.42857143px; +} +.modal-header .close { + margin-top: -2px; + position: relative; + z-index: 10; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 20px; +} +.modal-dialog { + width: 600px; + margin: 10px auto; +} +@media only screen and (max-width: 768px) { + .modal-dialog { + position: relative; + width: auto; + margin: 10px; + } +} +/* Contact Form Close icon +========================================================*/ +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +@media only screen and (max-width: 1199px) { + #contact-form { + padding-right: 0; + } +} +@media only screen and (max-width: 979px) { + #contact-form label { + width: 100%; + } + #contact-form .btn { + padding-left: 12px; + padding-right: 12px; + } +} diff --git a/templates/windowcleaning/site/css/grid.css b/templates/windowcleaning/site/css/grid.css new file mode 100644 index 0000000..1889c02 --- /dev/null +++ b/templates/windowcleaning/site/css/grid.css @@ -0,0 +1,475 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: top; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +.clearfix:before, +.clearfix:after { + display: table; + content: ""; + line-height: 0; +} +.clearfix:after { + clear: both; +} +.container .alpha { + margin-left: 0px; +} +.container .omega { + margin-right: 0px; +} +.row { + margin-left: -30px; +} +.row:before, +.row:after { + display: table; + content: ""; + line-height: 0; +} +.row:after { + clear: both; +} +[class*="grid_"] { + float: left; + min-height: 1px; + margin-left: 30px; +} +.container { + width: 1170px; +} +.grid_12 { + width: 1170px; +} +.grid_11 { + width: 1070px; +} +.grid_10 { + width: 970px; +} +.grid_9 { + width: 870px; +} +.grid_8 { + width: 770px; +} +.grid_7 { + width: 670px; +} +.grid_6 { + width: 570px; +} +.grid_5 { + width: 470px; +} +.grid_4 { + width: 370px; +} +.grid_3 { + width: 270px; +} +.grid_2 { + width: 170px; +} +.grid_1 { + width: 70px; +} +.preffix_12 { + margin-left: 1230px; +} +.preffix_11 { + margin-left: 1130px; +} +.preffix_10 { + margin-left: 1030px; +} +.preffix_9 { + margin-left: 930px; +} +.preffix_8 { + margin-left: 830px; +} +.preffix_7 { + margin-left: 730px; +} +.preffix_6 { + margin-left: 630px; +} +.preffix_5 { + margin-left: 530px; +} +.preffix_4 { + margin-left: 430px; +} +.preffix_3 { + margin-left: 330px; +} +.preffix_2 { + margin-left: 230px; +} +.preffix_1 { + margin-left: 130px; +} +.container { + margin-right: auto; + margin-left: auto; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.container:before, +.container:after { + display: table; + content: ""; + line-height: 0; +} +.container:after { + clear: both; +} +@media (min-width: 980px) and (max-width: 1199px) { + .row { + margin-left: -20px; + } + .row:before, + .row:after { + display: table; + content: ""; + line-height: 0; + } + .row:after { + clear: both; + } + [class*="grid_"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container { + width: 940px; + } + .grid_12 { + width: 940px; + } + .grid_11 { + width: 860px; + } + .grid_10 { + width: 780px; + } + .grid_9 { + width: 700px; + } + .grid_8 { + width: 620px; + } + .grid_7 { + width: 540px; + } + .grid_6 { + width: 460px; + } + .grid_5 { + width: 380px; + } + .grid_4 { + width: 300px; + } + .grid_3 { + width: 220px; + } + .grid_2 { + width: 140px; + } + .grid_1 { + width: 60px; + } + .preffix_12 { + margin-left: 980px; + } + .preffix_11 { + margin-left: 900px; + } + .preffix_10 { + margin-left: 820px; + } + .preffix_9 { + margin-left: 740px; + } + .preffix_8 { + margin-left: 660px; + } + .preffix_7 { + margin-left: 580px; + } + .preffix_6 { + margin-left: 500px; + } + .preffix_5 { + margin-left: 420px; + } + .preffix_4 { + margin-left: 340px; + } + .preffix_3 { + margin-left: 260px; + } + .preffix_2 { + margin-left: 180px; + } + .preffix_1 { + margin-left: 100px; + } +} +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + } + .row:before, + .row:after { + display: table; + content: ""; + line-height: 0; + } + .row:after { + clear: both; + } + [class*="grid_"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container { + width: 748px; + } + .grid_12 { + width: 748px; + } + .grid_11 { + width: 684px; + } + .grid_10 { + width: 620px; + } + .grid_9 { + width: 556px; + } + .grid_8 { + width: 492px; + } + .grid_7 { + width: 428px; + } + .grid_6 { + width: 364px; + } + .grid_5 { + width: 300px; + } + .grid_4 { + width: 236px; + } + .grid_3 { + width: 172px; + } + .grid_2 { + width: 108px; + } + .grid_1 { + width: 44px; + } + .preffix_12 { + margin-left: 788px; + } + .preffix_11 { + margin-left: 724px; + } + .preffix_10 { + margin-left: 660px; + } + .preffix_9 { + margin-left: 596px; + } + .preffix_8 { + margin-left: 532px; + } + .preffix_7 { + margin-left: 468px; + } + .preffix_6 { + margin-left: 404px; + } + .preffix_5 { + margin-left: 340px; + } + .preffix_4 { + margin-left: 276px; + } + .preffix_3 { + margin-left: 212px; + } + .preffix_2 { + margin-left: 148px; + } + .preffix_1 { + margin-left: 84px; + } +} +.select-menu { + display: none !important; +} +@media (max-width: 767px) { + .container { + width: 420px; + padding: 0 0px; + } + .row { + margin-left: 0; + } + [class*="grid_"] { + float: none; + display: block; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .select-menu { + display: block !important; + } +} +@media (max-width: 479px) { + body { + padding: 0; + } + .container { + width: 300px; + padding: 0 15px; + } + .row { + margin-left: 0; + } +} diff --git a/templates/windowcleaning/site/css/ie.css b/templates/windowcleaning/site/css/ie.css new file mode 100644 index 0000000..785bc63 --- /dev/null +++ b/templates/windowcleaning/site/css/ie.css @@ -0,0 +1,48 @@ + +.class { behavior:url(js/PIE.htc); position:absolute;} + +#back-top { behavior:url(js/PIE.htc);} + +a.magnifier2:hover .zoom{ + display: block; +} +a.magnifier2 .zoom, .bottom_p{ + display: none; +} + +body { + min-width: 1290px; +} + +#form .invalid .error-message, +#form .empty .empty-message { + display: block; +} + +#form .error-message, +#form .empty-message { + display: none; +} + +#contact-form .contact-form-loader { + display: none; +} + +#contact-form.loading .contact-form-loader { + display: block; +} + + +.sf-menu > li > a strong:before{ + display: none; +} + +.sf-menu > li.current > a strong:before { + display: block; +} +.sf-menu > li.sfHover > a strong:before { + display: block; +} +.sf-menu a:hover strong:before { + display: block; +} \ No newline at end of file diff --git a/templates/windowcleaning/site/css/normalize.css b/templates/windowcleaning/site/css/normalize.css new file mode 100644 index 0000000..8f86a7d --- /dev/null +++ b/templates/windowcleaning/site/css/normalize.css @@ -0,0 +1,128 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: top; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/templates/windowcleaning/site/css/owl.carousel.css b/templates/windowcleaning/site/css/owl.carousel.css new file mode 100644 index 0000000..47db7f3 --- /dev/null +++ b/templates/windowcleaning/site/css/owl.carousel.css @@ -0,0 +1,252 @@ +#owl { + /*overflow: hidden;*/ + z-index: 1; + position: relative; + top: 0px; + padding: 0px 42px 0px; + margin: 0 -15px; + margin-top: 20px; +} + +#owl p{ + float: left; +} +#owl .more_btn{ + float: right; +} + +#owl .owl-item { + float: left; + width: 100%; + /*margin: 0 15px;*/ +} + +#owl .item { + position: relative; + margin: 0 15px; +} +#owl p{max-width: 100%;} + +.owl-wrapper-outer { + overflow: hidden; + padding-top: 0px; + position: relative; +} + +.owl-wrapper { + overflow: hidden; +} + +.owl-controls{text-align: center;} +.owl-pagination { + position: relative; + display: inline-block; + margin-left: 16px; +} + +.owl-pagination span { + display: block; + width: 14px; + height: 14px; + cursor: pointer; + /*background: url(../images/pagination.png) right 0 no-repeat;*/ + background: #bebebe; + border-radius: 1000px; + margin-right: 16px; +} + +.owl-pagination .active span { + /*background-position: 0 0;*/ + background: #a36217; +} + +.owl-pagination span:hover { + /*background-position: 0 0;*/ + background: #a36217; +} + +.owl-page { + float: left; +} + +.owl-page+.owl-page { + /*margin-left: 4px;*/ +} + + +/* Owl content */ + + + +.owl-carousel .owl-wrapper{ + display: none; + position: relative; + -webkit-transform: translate3d(0px, 0px, 0px); + -webkit-perspective: 1000; +} + + +#owl .owl-wrapper { + overflow: visible; +} + + +#owl .owl-prev, #owl .owl-next { + cursor: pointer; + position: absolute; + background: url(../images/owl_prev_btn.png) 0 0 no-repeat; + display: block; + width: 16px; + height: 30px; + left: 17px; + top: 11px; + overflow: hidden; + text-indent: -999px; + opacity: 0.5; + +} + +#owl .owl-next { + /*right: 0px; + left: auto;*/ + left: auto; + right: 17px; + background: url(../images/owl_next_btn.png) 0 0 no-repeat; + +} +#owl .owl-next:hover { + background-position: 0 bottom; + opacity: 1; +} + +#owl .owl-prev:hover { + background-position: 0 bottom; + opacity: 1; +} + + + + + + + + + + + + + + + + + + + + + + + + + + +#owl2 { + /*overflow: hidden;*/ + z-index: 1; + position: relative; + top: 0px; + padding: 0px 0px 0px; + margin: 0 -15px; + margin-top: 18px; +} + +#owl2 .owl-item { + float: left; + width: 100%; + /*margin: 0 15px;*/ +} + +#owl2 .item { + position: relative; + margin: 0 15px; +} + +/* Owl content */ + + + +.owl-carousel .owl-wrapper{ + display: none; + position: relative; + -webkit-transform: translate3d(0px, 0px, 0px); + -webkit-perspective: 1000; +} + + +#owl2 .owl-wrapper { + overflow: visible; +} + + +#owl2 .owl-prev, #owl2 .owl-next { + cursor: pointer; + position: absolute; + background: url(../images/owl_prev_btn.png) 0 0 no-repeat; + display: block; + height: 25px; + left: 50%; + bottom: -43px; + width: 24px; + overflow: hidden; + text-indent: -999px; + opacity: 0.5; + margin-left: -27px; + +} + +#owl2 .owl-next { + /*right: 0px; + left: auto;*/ + margin-left: 5px; + background: url(../images/owl_next_btn.png) 0 0 no-repeat; + +} +#owl2 .owl-next:hover { + background-position: 0 bottom; + opacity: 1; +} + +#owl2 .owl-prev:hover { + background-position: 0 bottom; + opacity: 1; +} + + +#owl2 .owl-controls{ + position: absolute; + bottom: -69px; + text-align: center; + width: 100%; +} +.owl-pagination { + position: relative; + display: inline-block; +} + +.owl-pagination span { + display: block; + width: 14px; + height: 14px; + cursor: pointer; + /*background: url(../images/pagination.png) right 0 no-repeat;*/ + background: #aca8a2; + border-radius: 1000px; + margin-right: 16px; +} + +.owl-pagination .active span { + background-position: 0 0; +} + +.owl-pagination span:hover { + background-position: 0 0; +} \ No newline at end of file diff --git a/templates/windowcleaning/site/css/stuck-menu.css b/templates/windowcleaning/site/css/stuck-menu.css new file mode 100644 index 0000000..c63a19a --- /dev/null +++ b/templates/windowcleaning/site/css/stuck-menu.css @@ -0,0 +1,27 @@ +/* Stuck menu styles +========================================================*/ +.isStuck { + background: #61ae24; + padding: 0px 0 0px; + z-index: 999; + text-align: center; + top: -20px; +} +.isStuck .search_main, +.isStuck h1 { + /*height: 100px;*/ + display: none; +} +.isStuck nav { + float: none; + display: inline-block; + margin-top: 0; +} +.isStuck .sf-menu { + float: none; +} +@media only screen and (max-width: 979px) { + .isStuck { + display: none !important; + } +} diff --git a/templates/windowcleaning/site/css/style.css b/templates/windowcleaning/site/css/style.css new file mode 100644 index 0000000..663d018 --- /dev/null +++ b/templates/windowcleaning/site/css/style.css @@ -0,0 +1,1157 @@ +@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css); +@import "animate.css"; +@import "touchTouch.css"; +@import url(//fonts.googleapis.com/css?family=Lato:300,400,700); +@import url(//fonts.googleapis.com/css?family=Asap:400,700,700italic); +@import url(//fonts.googleapis.com/css?family=Roboto:400,700); +/*======================================================== + Main variables +=========================================================*/ +/*hover color*/ +/*hover 2 color*/ +/*color of content*/ +/*color of border*/ +/*======================================================== + Typography +=========================================================*/ +/*color of input fields in contact form*/ +/*======================================================== + Main layout styles +=========================================================*/ +html, +body { + margin: 0; + padding: 0; + height: 100%; +} +body { + min-width: 300px; + background: #fff; + color: #666667; + font: 16px/24px 'Lato', Arial, sans-serif; +} +a[href^="tel:"] { + color: inherit; + text-decoration: none; +} +* { + -webkit-text-size-adjust: none; +} +h1 { + position: relative; + display: inline-block; + margin: 0; + float: left; +} +h1 img { + max-width: inherit; +} +h2 { + position: relative; + font: bold 72px/72px 'Asap', Arial, sans-serif; + font-style: italic; + color: #666667; + margin-top: 94px; + padding-bottom: 7px; +} +h2:before { + position: absolute; + display: inline-block; + content: ''; + width: 370px; + max-width: 100%; + height: 1px; + left: 50%; + margin-left: -185px; + bottom: 0; + background: #666667; +} +h3 { + position: relative; + font: bold 30px/30px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 28px; + padding-bottom: 14px; +} +h3:before { + position: absolute; + display: inline-block; + content: ''; + width: 170px; + max-width: 100%; + height: 1px; + left: 50%; + margin-left: -85px; + bottom: 0; + background: #666667; +} +h4 { + position: relative; + font: 24px/30px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 26px; + padding-bottom: 16px; + margin-bottom: -10px; +} +h4:before { + position: absolute; + display: inline-block; + content: ''; + width: 170px; + max-width: 100%; + height: 1px; + left: 50%; + margin-left: -85px; + bottom: 0; + background: #666667; +} +.content-load-spinner { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(../images/gallery-loader-list.gif) #ffffff 50% 50% no-repeat; + z-index: 1000; + overflow: hidden; +} +.top_section { + width: 100%; + overflow: hidden; + background: #ededed; + padding: 10px 0 7px; +} +.left_txt { + float: left; + padding-left: 24px; +} +/*======================================================== + HEADER styles +=========================================================*/ +#header { + background: #e78024; + padding: 0; + position: relative; + z-index: 100; +} +#header:before { + position: absolute; + display: inline-block; + content: ''; + width: 100%; + height: 16px; + left: 0; + bottom: -16px; + z-index: -1; + background: url(../images/shadow1.png) repeat-x 0 0; +} +/* Main menu styles +========================================================*/ +/*======================================================== + menu variables +=========================================================*/ +nav { + margin-top: 0px; + float: right; + margin-right: 14px; +} +.sf-menu { + float: right; +} +.sf-menu > li { + float: left; + position: relative; + margin: 0 0 0 1px; +} +.sf-menu > li > a { + display: inline-block; + padding: 0px 10px; + font: 24px/96px 'Roboto', Arial, sans-serif; + text-transform: uppercase; + color: #ffffff; + /*background: @menu-bg-color;*/ + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; + /* rollover line =============================================*/ +} +.sf-menu > li > a:hover { + color: #e78024; + /*background: @menu-bg-hover-color;*/ + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; +} +.sf-menu > li > a:hover strong { + width: 100%; + opacity: 1; +} +.sf-menu > li > a.sf-with-ul:after { + content: ''; + position: absolute; + width: 5px; + bottom: 10px; + left: 50%; + pointer-events: none; + z-index: 999; + width: 0; + height: 0; + /*border-style: solid; + border-width: 3px 3px 0 3px; + border-color: #333 transparent transparent transparent;*/ +} +.sf-menu > li > a strong { + width: 0%; + position: absolute; + display: inline-block; + left: 0; + top: 0; + bottom: 0; + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; + z-index: -1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: #fff; + opacity: 0; + /* css triangle =============================================*/ + /*&:before { + content: ""; + display: block; + width: 0; + height: 0; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #fa9183; + position: absolute; + top: -5px; + left: 50%; + margin-left: -3px; + }*/ +} +.sf-menu > li.current > a { + color: #e78024; + /*background: @menu-bg-hover-color;*/ +} +.sf-menu > li.current > a strong { + width: 100%; + opacity: 1; +} +.sf-menu > li.sfHover > a { + color: #e78024; + /*background: @menu-bg-hover-color;*/ +} +.sf-menu > li.sfHover > a strong { + width: 100%; + opacity: 1; +} +.sf-menu a { + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; +} +.sf-menu a:hover { + -webkit-transition: 0.3s all ease; + transition: 0.3s all ease; +} +/* First level sub-menu styles - submenu +========================================================*/ +.sf-menu ul { + position: absolute; + top: 95px; + left: 0px; + background: #616161; + padding: 25px 0px 25px; + width: 235px; + z-index: 2; + display: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.sf-menu ul li { + position: relative; + text-align: left; + text-indent: 30px; + line-height: 30px; +} +.sf-menu ul li a { + font: 300 14px/40px 'Lato', Arial, sans-serif; + color: #ffffff; + display: block; +} +.sf-menu ul li a:hover { + color: #ffffff; + background: #f18d05; +} +.sf-menu ul li a.sf-with-ul:after { + content: ''; + font-family: 'FontAwesome'; + position: absolute; + width: 5px; + font-size: 14px; + line-height: 14px; + font-weight: normal; + color: #fff; + right: 54px; + bottom: 12px; + pointer-events: none; + z-index: 999; +} +.sf-menu ul li.sfHover > a { + color: #ffffff; +} +/* Second level sub-menu styles - submenu2 +========================================================*/ +.sf-menu ul ul { + position: absolute; + top: -25px; + left: 236px; + width: 130px; + background: #616161; + /*padding: 10px 10px;*/ + z-index: 4; +} +.sf-menu ul ul li { + /*line-height: 30px;*/ +} +.sf-menu ul ul li a { + color: #ffffff; +} +@media only screen and (max-width: 1299px) { + .sf-menu > li > a { + padding: 0px 5px; + font: 22px/70px 'Roboto', Arial, sans-serif; + -webkit-transition-duration: 0s; + transition-duration: 0s; + } + h1 img { + height: 70px; + } + /*nav {margin-right: 0;}*/ +} +@media only screen and (max-width: 979px) { + .sf-menu > li > a { + font: 14px/70px 'Roboto', Arial, sans-serif; + } +} +@media only screen and (max-width: 767px) { + .sf-menu { + display: none; + } + .select-menu { + display: block; + width: 100%; + border-radius: 0px !important; + -moz-border-radius: 0px !important; + -webkit-border-radius: 0px !important; + border: 2px solid #bbb; + position: relative; + outline: none !important; + z-index: 1000; + margin-top: 0px; + margin-bottom: 3px; + } +} +/* Stuck menu styles +========================================================*/ +.isStuck { + background: #e78024; + padding: 0px 0 0px; + z-index: 999; + text-align: center; +} +/*.isStuck h1{ + display: none; +} +.isStuck .sf-menu > li > a {line-height: 25px; font-size: 18px;} +.isStuck .sf-menu > li > a strong {bottom: 0px;} +.isStuck nav{ + float: none; + display: inline-block; + margin-top: 0; +} +.isStuck .sf-menu{float: none;} + +.isStuck .sf-menu ul {top: 26px;} +.isStuck .sf-menu ul ul{top: -25px;} + +*/ +/*.isStuck nav{margin-right: 0;}*/ +.isStuck h1 img { + height: 50px; +} +.isStuck .sf-menu > li > a { + line-height: 50px; +} +@media only screen and (max-width: 979px) { + .isStuck { + display: none !important; + } +} +/*======================================================== + USEFUL styles +=========================================================*/ +a { + text-decoration: none; + cursor: pointer; + color: inherit; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; +} +a:hover { + color: #e78024; + text-decoration: none; +} +a.link1:hover { + color: #000; +} +a.link2 { + color: #de3f18; +} +a.link2:hover { + color: #000; +} +.txt1 { + color: #979797; + font-size: 14px; + margin-top: 6px; + float: left; +} +.txt2 { + font: 18px/24px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 6px; + padding-left: 40px; + float: right; +} +.txt2 i { + font-size: 24px; + margin-top: 3px; + margin-right: 3px; +} +.txt3 { + font: bold 36px/48px 'Asap', Arial, sans-serif; + font-style: italic; + margin-top: 235px; +} +.txt4 { + font: bold 30px/32px 'Asap', Arial, sans-serif; + color: #666667; + margin-top: 48px; +} +.color1 { + color: #e47d21; +} +.color2 { + color: #2eb3e0; +} +.color3 { + color: #a0bb46; +} +.color4 { + color: #de3f18; +} +.box { + overflow: hidden; +} +.bold { + font-weight: bold; +} +.fw400 { + font-weight: 400; +} +.fw600 { + font-weight: 600; +} +.fz15 { + font-size: 15px; +} +.circle { + overflow: hidden; + border-radius: 1000px; +} +.fleft { + float: left; +} +.fright { + float: right; +} +.clear { + clear: both; + width: 100%; + font-size: 0; + line-height: 0; +} +.wrapper { + position: relative; + overflow: hidden; + width: 100%; +} +.txt_left { + text-align: left; +} +.txt_right { + text-align: right; +} +.txt_cntr { + text-align: center; +} +.txt_ital { + font-style: italic; +} +.txt_upp { + text-transform: uppercase; +} +.txt_line_through { + text-decoration: line-through; +} +.pos_rel { + position: relative; +} +.txt_und { + text-decoration: underline; +} +.padTop1 { + padding-top: 10px; +} +.padBot1 { + padding-bottom: 10px; +} +.padLeft1 { + padding-left: 10px; +} +.padRight1 { + padding-right: 10px; +} +.icon_section { + margin-top: 97px; +} +.marTop0 { + margin-top: 0px; +} +.marTop1 { + margin-top: 38px; +} +.marTop2 { + margin-top: 14px; +} +.marTop3 { + margin-top: 60px; +} +.marTop4 { + margin-top: 87px; +} +.marTop5 { + margin-top: 65px; +} +.marTop6 { + margin-top: 65px !important; +} +.hline { + margin-top: 75px; + width: 100%; + height: 1px; + background: #dddddd; + overflow: hidden; +} +.hline.v2 { + margin-top: 75px; +} +.hline.v3 { + margin-top: 84px; + margin-bottom: 66px; +} +p { + margin-top: 25px; +} +img { + margin-bottom: 0px; + max-width: 100%; + height: auto; +} +.img_border { + border: 1px solid #efefef; + background: #f8f8f8; + padding: 7px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-top: 10px; +} +.img_rounded { + border-radius: 500px; +} +.img1 { + margin-top: 85px; +} +.img2 { + margin-top: 42px; +} +blockquote { + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + color: #fff; +} +blockquote:before { + position: relative; + content: ''; + font: normal normal 72px/72px 'FontAwesome'; + color: #fff; + text-align: center; +} +.bq_txt1 { + font: 300 24px/36px 'Lato', Arial, sans-serif; + margin-top: 27px; +} +.bq_txt2 { + font: bold 30px/32px 'Asap', Arial, sans-serif; + margin-top: 35px; +} +.bq_txt3 { + font: 14px/20px 'Asap', Arial, sans-serif; + margin-top: 7px; +} +.sign1 { + display: inline-block; + margin: 10px 31px 0 1px; + background: #282827; + width: 4px; + height: 4px; +} +.num_section { + font: 300 52px/52px 'Lato', Arial, sans-serif; + float: left; + color: #fa9183; + width: 52px; + display: block; + margin-top: -10px; +} +.date_section { + position: relative; + width: 100%; + max-width: 100px; + background-color: #eb6654; + float: left; + text-align: center; + margin-top: 43px; + color: #fff; + text-transform: uppercase; +} +.day { + font: bold 37px/37px 'Lato', Arial, sans-serif; + margin-top: 8px; + display: block; +} +.month { + font: 300 10px/12px 'Lato', Arial, sans-serif; + margin-top: 3px; + display: block; +} +/*======================================================== + LISTS +=========================================================*/ +.listWithMarker { + margin: 0; + margin-top: 45px; +} +.listWithMarker li { + display: block; + padding-left: 23px; + background: url(../images/list_marker.png) 0px 4px no-repeat; + margin-bottom: 0; + padding-bottom: 10px; +} +.listWithMarker li a { + color: #e78024; + text-decoration: none; + font: 300 13px/20px "Lato", Arial, sans-serif; + text-transform: uppercase; +} +.listWithMarker li a:hover, +.listWithMarker li.current a { + color: #000; +} +/*======================================================== + BUTTONS +=========================================================*/ +.more_btn { + display: inline-block; + margin-top: 24px; + padding: 13px 32px; + text-decoration: none; + font: 16px/22px "Lato", Arial, sans-serif; + color: #555; + background: #fff; + border: 2px solid #666667; + text-transform: uppercase; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + max-width: 100%; +} +.more_btn.v2 { + margin-top: 93px; + padding: 13px 48px; +} +.more_btn:hover { + color: #fff; + background: #666667; +} +.more_btn2 { + display: inline-block; + margin-top: 24px; + padding: 22px 22px; + text-decoration: none; + font: 16px/22px "Lato", Arial, sans-serif; + color: #fff; + background: #e78024; + width: 300px; + text-align: center; + text-transform: uppercase; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + max-width: 100%; +} +.more_btn2:hover { + color: #fff; + background: #666667; +} +/*********************************start magnifier2*************************************/ +.figure1 { + margin-top: 30px; +} +.magnifier2 { + position: relative; + /* display:block; */ + display: inline-block; +} +.zoom { + position: absolute; + top: 10px; + bottom: 10px; + left: 10px; + right: 10px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(0, 0, 0, 0.33); + -webkit-transition: 0.6s all ease; + transition: 0.6s all ease; + padding: 5px; + text-align: center; +} +a.magnifier2:hover .zoom { + opacity: 1; +} +a.magnifier2:hover .descr_txt { + padding-top: 0; +} +a.magnifier2 .zoom { + opacity: 0; +} +.descr_txt { + position: relative; + margin-top: 130px; + max-width: 255px; + display: inline-block; + font: 300 24px/32px 'Lato', Arial, sans-serif; + color: #fff; + padding-top: 100px; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; +} +/*********************************end magnifier2*************************************/ +/*----------- start social icons ----------------*/ +.soc_icons_top { + position: relative; + display: block; + margin-top: 3px; + white-space: nowrap; + text-align: center; + margin-right: 20px; + float: right; +} +.soc_icons_top > li { + position: relative; + display: inline-block; + margin-left: 2px; +} +.soc_icons_top > li > a { + position: relative; + line-height: 1em; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; + color: #fff; + width: 25px; + height: 25px; + display: inline-block; + background: #666667; + text-align: center; + border-radius: 500px; +} +.soc_icons_top i { + font: normal normal 14px/25px 'FontAwesome'; +} +.soc_icons_top > li > a:hover { + color: #000; + text-decoration: none; + background: #e78024; +} +.soc_icons { + position: relative; + display: block; + margin-top: 24px; + white-space: nowrap; + text-align: center; +} +.soc_icons > li { + position: relative; + display: inline-block; + margin-right: 72px; +} +.soc_icons > li:last-child { + margin-right: 0; +} +.soc_icons > li > a { + position: relative; + line-height: 1em; + -webkit-transition: 0.4s all ease; + transition: 0.4s all ease; + width: 87px; + height: 87px; + display: inline-block; + color: #fff; + background: #666667; + text-align: center; + border-radius: 500px; +} +.soc_icons i { + font: normal normal 47px/87px 'FontAwesome'; +} +.soc_icons > li > a:hover { + color: #000; + text-decoration: none; + background: #e78024; +} +.icon1 { + font: normal normal 126px/126px 'FontAwesome'; + padding: 2px; + margin-top: 72px; +} +/*----------- end social icons ----------------*/ +.search_main { + float: right; +} +.fw_video_main { + /*border-radius: 10px; + overflow: hidden;*/ + margin-top: 48px; + margin-bottom: -12px; + background: #fff; +} +.fw_video { + width: 100%; + height: 332px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; +} +.fw_video iframe { + position: relative; + display: inline-block; + outline: none; + width: 100%; + height: 100%; + border: none; +} +.player .video-wrapper { + border-radius: 10px; +} +.fw_video iframe html { + border-radius: 10px; +} +/*======================================================== + CONTENT styles +=========================================================*/ +#content { + padding: 0 0 0px 0; + /*background: #fff;*/ + overflow: hidden; +} +.content_pages { + padding-bottom: 150px !important; +} +.box-11 { + width: 100%; + margin-top: 103px; + background: #e9e9e9; + text-align: center; + padding: 67px 0 177px; +} +.col1 { + float: left; + width: 236px; + margin-right: 31px; +} +.col1.last { + margin-right: 0; +} +#about { + padding-bottom: 116px; + background: #eee; +} +#services { + padding-top: 57px; + padding-bottom: 115px; + background: #f8f8f8; +} +#tips { + padding-top: 17px; + padding-bottom: 152px; +} +#contacts { + width: 100%; + padding: 66px 0 101px; + background: #eee; +} +#privacy { + width: 100%; + padding: 6px 0 101px; + background: #eee; +} +.box-1 { + color: #fff; + background: url('../images/bg1.jpg') 0 0; + text-align: center; + padding: 34px 0 70px 0; + min-height: 663px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.box-2 { + color: #fff; + background: url('../images/bg2.jpg') 0 0; + text-align: center; + padding: 88px 0 140px 0; + min-height: 735px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +/**** start Map ****/ +.content_map { + margin-top: 73px; + position: relative; + height: 485px; + margin-bottom: 81px; +} +.google-map-api { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; +} +#map-canvas { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +#map-canvas img { + max-width: none !important; +} +/**** end Map ****/ +/**** start address section ****/ +.address1 { + padding-top: 23px; + display: block; +} +.address1 dt { + font-size: 15px; + text-transform: uppercase; + margin-bottom: 15px; +} +.address1 dd span { + min-width: 75px; + display: inline-block; + text-align: left; +} +.address1 dd span.col1 { + min-width: 0; +} +/**** end address section ****/ +/*======================================================== + FOOTER styles +=========================================================*/ +#footer { + padding: 56px 0 67px; + color: #666667; + overflow: hidden; + text-align: center; + font-size: 14px; +} +.txt_priv span.priv_bold { + font-weight: 900; +} +/*======================================================== + Widget styles +=========================================================*/ +/* UItoTop styles +========================================================*/ +#toTop { + display: none; + text-decoration: none; + position: fixed; + bottom: 80px; + right: 30px; + overflow: hidden; + border: none; + color: #9a9a9a; + width: 40px; + height: 43px; + font-size: 37px; + line-height: 38px; + z-index: 20; + -webkit-transition: color 0.5s ease; + transition: color 0.5s ease; +} +#toTop:hover { + outline: none; + color: #e78024; +} +@media only screen and (max-width: 1199px) { + #toTop { + display: none !important; + } +} +/*======================================================== + RESPONSIVE LAYOUTS STYLES +=========================================================*/ +@media only screen and (max-width: 1299px) { + .sample { + height: auto; + /*delete this class*/ + } + .txt3 br { + display: none; + margin-top: 200px; + } +} +@media only screen and (max-width: 1199px) { + figure a { + width: 100%; + } +} +@media only screen and (max-width: 979px) { + .map figure, + .map figure iframe, + #form input, + #form textarea, + #form .success { + width: 100% !important; + float: none !important; + } + #form .success { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .map figure { + height: auto !important; + margin-bottom: 15px; + } + .descr_txt { + margin-top: 60px; + } + h2 { + font: bold 42px/42px 'Asap', Arial, sans-serif; + } +} +@media only screen and (max-width: 767px) { + img { + width: 100%; + } + img.no_resize, + h1 img { + width: auto; + } + .map figure iframe { + height: 300px; + } + figure a { + width: 100%; + } + a.link_icon1 { + margin-top: 0px; + } + nav { + float: none; + margin: 5px; + margin-top: 3px; + } + .descr_txt { + margin-top: 150px; + } + h1 { + float: none; + } + .txt3 { + margin-top: 185px; + } + .soc_icons > li { + margin-right: 22px; + } + .soc_icons > li > a { + width: 50px; + height: 50px; + } + .soc_icons i { + font: normal normal 27px/50px 'FontAwesome'; + } +} +@media only screen and (max-width: 479px) { + .sample { + height: auto; + /*delete this class*/ + } + h1 { + width: 100%; + min-height: 70px; + } + h1 img { + width: 100%; + max-width: 389px; + } + .txt2 { + float: none; + padding-left: 0; + } + .descr_txt { + margin-top: 80px; + } + h2:before { + width: 100%; + margin-left: 0; + left: 0; + } + .more_btn2 { + width: 100%; + } + .txt3 { + font: bold 26px/38px 'Asap', Arial, sans-serif; + margin-top: 165px; + } +} +@media only screen and (max-width: 320px) { + .sample { + height: auto; + /*delete this class*/ + } +} +/*Core variables and mixins*/ diff --git a/templates/windowcleaning/site/css/touchTouch.css b/templates/windowcleaning/site/css/touchTouch.css new file mode 100644 index 0000000..538dcf1 --- /dev/null +++ b/templates/windowcleaning/site/css/touchTouch.css @@ -0,0 +1,143 @@ +/* The gallery overlay */ + +#galleryOverlay{ + width:100%; + height:100%; + position:fixed; + top:0; + left:0; + opacity:0; + z-index:100000; + /*background-color:#fff;*/ + background: url("../images/touchtouch/bg_transparent.png"); + /*background-color:rgba(0,0,0,0.8);*/ + overflow:hidden; + display:none; + + -moz-transition:opacity 1s ease; + -webkit-transition:opacity 1s ease; + transition:opacity 1s ease; +} + +/* This class will trigger the animation */ + +#galleryOverlay.visible{ + opacity:1; +} + +#gallerySlider{ + height:100%; + + left:0; + top:0; + + width:100%; + white-space: nowrap; + position:absolute; + + -moz-transition:left 0.4s ease; + -webkit-transition:left 0.4s ease; + transition:left 0.4s ease; +} + +#gallerySlider .placeholder{ + background: url("../images/touchtouch/preloader.gif") no-repeat center center; + height: 100%; + line-height: 1px; + text-align: center; + width:100%; + display:inline-block; +} + +/* The before element moves the + * image halfway from the top */ + +#gallerySlider .placeholder:before{ + content: ""; + display: inline-block; + height: 50%; + width: 1px; + margin-right:-1px; +} + +#gallerySlider .placeholder img{ + display: inline-block; + max-height: 100%; + max-width: 100%; + vertical-align: middle; +} + +#gallerySlider.rightSpring{ + -moz-animation: rightSpring 0.3s; + -webkit-animation: rightSpring 0.3s; +} + +#gallerySlider.leftSpring{ + -moz-animation: leftSpring 0.3s; + -webkit-animation: leftSpring 0.3s; +} + +/* Firefox Keyframe Animations */ + +@-moz-keyframes rightSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:-30px;} + 100%{ margin-left:0px;} +} + +@-moz-keyframes leftSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:30px;} + 100%{ margin-left:0px;} +} + +/* Safari and Chrome Keyframe Animations */ + +@-webkit-keyframes rightSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:-30px;} + 100%{ margin-left:0px;} +} + +@-webkit-keyframes leftSpring{ + 0%{ margin-left:0px;} + 50%{ margin-left:30px;} + 100%{ margin-left:0px;} +} + +/* Arrows */ + +#prevArrow,#nextArrow{ + border:none; + text-decoration:none; + background:url('../images/touchtouch/arrows.png') no-repeat; + opacity:0.5; + cursor:pointer; + position:absolute; + width:43px; + height:58px; + + top:50%; + margin-top:-29px; + + -moz-transition:opacity 0.2s ease; + -webkit-transition:opacity 0.2s ease; + transition:opacity 0.2s ease; +} + +#prevArrow:hover, #nextArrow:hover{ + opacity:1; +} + +#prevArrow{ + background-position:left top; + left:40px; +} + +#nextArrow{ + background-position:right top; + right:40px; +} +@media only screen and (min-width: 480px) and (max-width: 767px) { + #gallerySlider .placeholder img {width:400px;} +} \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery.html b/templates/windowcleaning/site/gallery.html new file mode 100644 index 0000000..582e8bd --- /dev/null +++ b/templates/windowcleaning/site/gallery.html @@ -0,0 +1,179 @@ + + + + Privacy Policy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    +

    8901 Marmora Road, Glasgow, D04 89GR

    +

    +1 959 603 6035

    +
    +
      +
    • +
    • +
    • +
    • +
    • +
    +
    + + + + + +
    + +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/css/font-awesome.css b/templates/windowcleaning/site/gallery/css/font-awesome.css new file mode 100644 index 0000000..2f5f9ce --- /dev/null +++ b/templates/windowcleaning/site/gallery/css/font-awesome.css @@ -0,0 +1,1566 @@ +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.1.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.3333333333333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.2857142857142858em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.142857142857143em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.142857142857143em; + width: 2.142857142857143em; + top: 0.14285714285714285em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.8571428571428572em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-square:before, +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} diff --git a/templates/windowcleaning/site/gallery/css/tmMultimediaGallery.css b/templates/windowcleaning/site/gallery/css/tmMultimediaGallery.css new file mode 100644 index 0000000..edcaa8e --- /dev/null +++ b/templates/windowcleaning/site/gallery/css/tmMultimediaGallery.css @@ -0,0 +1,725 @@ +@import url(//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css); +/* Pagination thumbs +========================================================*/ +.inner { + margin: 20px 0px; + list-style: none; + overflow: hidden; +} +.inner > div { + margin: 0; + padding: 0; +} +.inner > div .item { + width: 180px; + height: auto; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: #838383; + position: relative; +} +.inner > div .item a { + display: block; +} +.inner > div .item a > img { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + width: 100%; +} +.inner > div .item a span.magnifier-overlay { + position: absolute; + width: 100%; + height: 100%; + background: #fff; + z-index: 2; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + left: 0px; + top: 0px; + font-size: 24px; + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); + opacity: 0.4; + filter: alpha(opacity=40); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.inner > div .item a span.fa { + position: absolute; + width: 100%; + height: 100%; + z-index: 5; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + left: 0px; + top: 0px; + font-size: 24px; + color: #000; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.inner > div .item a span.fa:before { + position: absolute; + top: 50%; + left: 50%; + margin-left: -10px; + margin-top: -12px; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); +} +.inner > div .item > a:hover, +.inner > div .item.active > a { + text-decoration: none; +} +.inner > div .item > a:hover span, +.inner > div .item.active > a span { + text-decoration: none; +} +.inner > div .item > a:hover span.magnifier-overlay, +.inner > div .item.active > a span.magnifier-overlay { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.inner > div .item > a:hover span.fa:before, +.inner > div .item.active > a span.fa:before { + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(1.2, 1.2); + -ms-transform: scale(1.2, 1.2); + transform: scale(1.2, 1.2); +} +/* gallery load spinner +========================================================*/ +.content-load-spinner { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(../images/gallery-loader-list.gif) #f1f1f1 50% 50% no-repeat; + z-index: 1000; + overflow: hidden; +} +/* Inner carousel pagination +========================================================*/ +.galleryContainer .inner .item { + width: auto; + padding: 0; + border: none; +} +.carousel-holder { + overflow: hidden; + z-index: 1; + margin: 0 auto; + padding: 0; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + bottom: -80px; + position: absolute; + width: 100%; + height: 50px; +} +.carousel-holder.show { + bottom: 25px; +} +.carousel.inner { + list-style: none; + overflow: hidden; + margin: 0 50px; +} +.carousel.inner > div { + position: relative; + height: 100%; + white-space: nowrap; + margin: 0 auto; + padding: 0; +} +.carousel.inner > div > div { + display: inline-block; +} +.carousel.inner > div .item { + position: relative; + width: auto; + height: 50px; + border: none; + padding: 0; + margin: 0; + overflow: hidden; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.carousel.inner > div .item a { + display: block; +} +.carousel.inner > div .item a > img { + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + width: auto; + height: 50px; +} +.carousel.inner > div .item a span.magnifier-overlay { + position: absolute; + width: 100%; + height: 100%; + background: #000; + z-index: 2; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + left: 0px; + top: 0px; + font-size: 24px; + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + opacity: 0; + filter: alpha(opacity=0); +} +.carousel.inner > div .item a span.fa { + display: none !important; +} +.carousel.inner > div .item a span.fa:before { + position: absolute; + top: 50%; + left: 50%; + margin-left: -10px; + margin-top: -12px; + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); +} +.carousel.inner > div .item > a:hover, +.carousel.inner > div .item.active > a { + text-decoration: none; +} +.carousel.inner > div .item > a:hover span.magnifier-overlay, +.carousel.inner > div .item.active > a span.magnifier-overlay { + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); + opacity: 0.6; + filter: alpha(opacity=60); + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; +} +.carousel.inner > div .item > a:hover span.fa:before, +.carousel.inner > div .item.active > a span.fa:before { + -webkit-transition: all 0.3s ease; + transition: all 0.3s ease; + -webkit-transform: scale(1.2, 1.2); + -ms-transform: scale(1.2, 1.2); + transform: scale(1.2, 1.2); +} +/* Gallery bg +========================================================*/ +body.galleryOpen { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; +} +body.galleryOpen .galleryContainer { + position: absolute; + z-index: 1000; + width: 100% !important; + height: 100% !important; +} +body.galleryOpen #content { + height: 0 !important; + overflow: hidden; +} +.galleryContainer { + position: relative; + top: 0; + left: 0; + width: 100% !important; + height: 0 !important; + overflow: hidden; + /*.perspective(1000px);*/ +} +.galleryContainer.animationDisable { + -webkit-transition: none; + transition: none; +} +.galleryContainer.animationDisable * { + -webkit-transition: none; + transition: none; +} +.galleryHolder { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + z-index: 0 !important; + background: #191919; +} +.imageHolder { + position: relative; + width: 100%; + height: 100%; + z-index: 0; + cursor: default; + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; +} +.imageHolder .frontImg, +.imageHolder .backImg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1; + overflow: hidden; + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; +} +.imageHolder .frontImg, +.imageHolder .backImg { + z-index: 2; + /*.rotateX(0deg);*/ + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); +} +.imageHolder .backImg { + /*.rotateX(-180deg);*/ + -webkit-transform: scale(2, 2); + -ms-transform: scale(2, 2); + transform: scale(2, 2); + opacity: 0; + filter: alpha(opacity=0); +} +.imageHolder.scale { + -webkit-transform: scale(0.75, ); + -ms-transform: scale(0.75, ); + transform: scale(0.75, ); +} +.imageHolder.flip { + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; + /*.rotateX(180deg);*/ +} +.imageHolder.flip .frontImg { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transform: scale(2, 2); + -ms-transform: scale(2, 2); + transform: scale(2, 2); +} +.imageHolder.flip .backImg { + opacity: 100; + filter: alpha(opacity=10000); + /*.rotateX(-180deg);*/ + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); +} +.imageHolder.ie9 { + -webkit-transform: scale(1, 1) !important; + -ms-transform: scale(1, 1) !important; + transform: scale(1, 1) !important; +} +.imageHolder.ie9 .frontImg, +.imageHolder.ie9 .backImg { + -webkit-transform: scale(1, 1) !important; + -ms-transform: scale(1, 1) !important; + transform: scale(1, 1) !important; +} +.imageHolder.videoInside { + cursor: pointer; +} +.animation { + -webkit-transition: all 0.7s ease-in-out; + transition: all 0.7s ease-in-out; +} +/* Description +========================================================*/ +.galleryDescription { + position: absolute; + left: -500px; + right: 0; + height: 0; + top: 80px; + overflow: hidden; + padding: 0px; + margin: 0px; + list-style: none; + z-index: 10; + width: 500px; + -webkit-transition: left 0.3s ease; + transition: left 0.3s ease; +} +.galleryDescription.show { + left: 0; +} +.galleryDescription ul li { + position: absolute; + bottom: -200%; + width: 100%; + height: auto; + background: rgba(0, 0, 0, 0.5); + padding: 15px 20px; + right: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: left 0.2s ease-in-out; + transition: left 0.2s ease-in-out; +} +.galleryDescription ul li.active { + display: block; + bottom: 0; + -webkit-transition: left 0.7s ease-in-out; + transition: left 0.7s ease-in-out; + -webkit-transition-delay: 0.8s; + transition-delay: 0.8s; +} +.galleryDescription ul li p { + text-align: left; + color: white; + line-height: 1.2em; + margin: 0px 0px 0px 0px; +} +.galleryDescription ul li p:first-child { + font-size: 35px; + line-height: 1em; + padding-right: 40px; +} +.galleryDescription .description_list { + width: 500px; +} +@media only screen and (max-width: 768px) { + .galleryDescription { + width: 300px; + } +} +/* Spinner +========================================================*/ +.imgSpinner { + position: absolute; + top: 50%; + left: 50%; + width: 50px; + height: 50px; + z-index: 99; + background: url(../images/gallery-loader.gif) center no-repeat #191919; + background-size: 30px 30px; + border-radius: 500px; + margin: -24px 0 0 -24px; + -webkit-transition: all 0.4s ease; + transition: all 0.4s ease; + opacity: 0; + filter: alpha(opacity=0); + -webkit-transform: scale(0, 0); + -ms-transform: scale(0, 0); + transform: scale(0, 0); +} +.imgSpinner.spinnerShow { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: scale(1, 1); + -ms-transform: scale(1, 1); + transform: scale(1, 1); +} +/* ======================================================== + Buttons +========================================================*/ +/* Navigation Bar for gallery and carousel +========================================================*/ +/* Prev Button +========================================================*/ +.prevButton { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + background: rgba(0, 0, 0, 0.5); + padding: 1px 12px 1px 8px; + border-radius: 10px; + top: 50%; + margin-top: -30px; +} +.prevButton i { + position: relative; + font-size: 60px; + line-height: 60px; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.prevButton:hover i { + color: #cccccc; +} +.prevButton { + left: -50px; +} +.prevButton.showButton { + left: 10px; +} +@media only screen and (max-width: 480px) { + .prevButton i { + font-size: 40px; + line-height: 40px; + } +} +.prev { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + bottom: 10px; +} +.prev i { + font-size: 30px; + line-height: 32px; + position: relative; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.prev:hover i { + color: #d05252; +} +.prev { + left: 15px; +} +.prev.hide-button { + display: none !important; +} +/* Next Button +========================================================*/ +.nextButton { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + background: rgba(0, 0, 0, 0.5); + padding: 1px 8px 1px 12px; + border-radius: 10px; + top: 50%; + margin-top: -30px; +} +.nextButton i { + position: relative; + font-size: 60px; + line-height: 60px; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.nextButton:hover i { + color: #cccccc; +} +.nextButton { + right: -50px; +} +.nextButton.showButton { + right: 10px; +} +@media only screen and (max-width: 480px) { + .nextButton i { + font-size: 40px; + line-height: 40px; + } +} +.next { + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + bottom: 10px; + text-align: right; +} +.next i { + font-size: 30px; + line-height: 32px; + position: relative; + color: white; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.next:hover i { + color: #d05252; +} +.next { + right: 15px; +} +.next.hide-button { + display: none !important; +} +/* Close Button +========================================================*/ +.close-icon { + background: rgba(0, 0, 0, 0.5); + /* opacity: 0.5; */ + border-radius: 100%; + width: 100px; + height: 100px; + top: -120px; + right: -120px; + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + z-index: 100; +} +.close-icon i { + position: relative; + font-size: 50px; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.close-icon .fa { + top: 63px; + font-size: 20px; + font-weight: 100; + color: #ffffff; + left: 23px; +} +.close-icon:hover { + text-decoration: none; +} +.close-icon:hover i { + color: #d05252; +} +.close-icon.showButton { + top: -54px; + right: -49px; +} +/* Info Button +========================================================*/ +.info-icon { + background: rgba(0, 0, 0, 0.5); + /* opacity: 0.5; */ + border-radius: 100%; + width: 100px; + height: 100px; + top: -120px; + left: -120px; + position: absolute; + display: inline-block !important; + z-index: 5; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; + z-index: 100; + color: #fff; +} +.info-icon.showButton { + top: -54px; + left: -49px; +} +.info-icon i { + position: relative; + font-size: 50px; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.info-icon .fa { + top: 63px; + font-size: 20px; + font-weight: 100; + color: #ffffff; + right: -63px; +} +.info-icon:hover { + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.close-info-icon { + position: absolute; + right: 10px; + top: 10px; + left: auto; + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +.close-info-icon i { + color: #fff !important; + font-size: 30px; +} +.close-info-icon:hover > i { + -webkit-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; +} +/* Play Button +========================================================*/ +.playButton, +.pauseButton { + left: 50%; + top: -100px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.playButton.showButton, +.pauseButton.showButton { + transition-delay: 0.3s; + top: 50%; +} +.playButton { + margin: -27px -24px 0 0; +} +.pauseButton { + margin: -27px -24px 0 0; +} +/* end gallery bg*/ +/* 3D mixins +========================================================*/ +.flipX { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} +.flipY { + -moz-transform: scaleY(-1); + -o-transform: scaleY(-1); + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + filter: FlipV; + -ms-filter: "FlipV"; +} +.flipXY { + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; + -moz-transform: scaleY(-1); + -o-transform: scaleY(-1); + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + filter: FlipV; + -ms-filter: "FlipV"; +} diff --git a/templates/windowcleaning/site/gallery/fonts/FontAwesome.otf b/templates/windowcleaning/site/gallery/fonts/FontAwesome.otf new file mode 100644 index 0000000..3461e3f Binary files /dev/null and b/templates/windowcleaning/site/gallery/fonts/FontAwesome.otf differ diff --git a/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.eot b/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..6cfd566 Binary files /dev/null and b/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.eot differ diff --git a/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.svg b/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..a9f8469 --- /dev/null +++ b/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.woff b/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..9eaecb3 Binary files /dev/null and b/templates/windowcleaning/site/gallery/fonts/fontawesome-webfont.woff differ diff --git a/templates/windowcleaning/site/gallery/images/_gallery-loader-list.gif b/templates/windowcleaning/site/gallery/images/_gallery-loader-list.gif new file mode 100644 index 0000000..c8aef37 Binary files /dev/null and b/templates/windowcleaning/site/gallery/images/_gallery-loader-list.gif differ diff --git a/templates/windowcleaning/site/gallery/images/gallery-loader-list.gif b/templates/windowcleaning/site/gallery/images/gallery-loader-list.gif new file mode 100644 index 0000000..3c329ff Binary files /dev/null and b/templates/windowcleaning/site/gallery/images/gallery-loader-list.gif differ diff --git a/templates/windowcleaning/site/gallery/images/gallery-loader.gif b/templates/windowcleaning/site/gallery/images/gallery-loader.gif new file mode 100644 index 0000000..293ed60 Binary files /dev/null and b/templates/windowcleaning/site/gallery/images/gallery-loader.gif differ diff --git a/templates/windowcleaning/site/gallery/js/isotope.pkgd.min.js b/templates/windowcleaning/site/gallery/js/isotope.pkgd.min.js new file mode 100644 index 0000000..c225f67 --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/isotope.pkgd.min.js @@ -0,0 +1,8 @@ +/*! + * Isotope PACKAGED v2.0.0 + * Filter & sort magical layouts + * http://isotope.metafizzy.co + */ + +(function(t){function e(){}function i(t){function i(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function n(e,i){t.fn[e]=function(n){if("string"==typeof n){for(var s=o.call(arguments,1),a=0,u=this.length;u>a;a++){var p=this[a],h=t.data(p,e);if(h)if(t.isFunction(h[n])&&"_"!==n.charAt(0)){var f=h[n].apply(h,s);if(void 0!==f)return f}else r("no such method '"+n+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; "+"attempted to call '"+n+"'")}return this}return this.each(function(){var o=t.data(this,e);o?(o.option(n),o._init()):(o=new i(this,n),t.data(this,e,o))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};return t.bridget=function(t,e){i(e),n(t,e)},t.bridget}}var o=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],i):i(t.jQuery)})(window),function(t){function e(e){var i=t.event;return i.target=i.target||i.srcElement||e,i}var i=document.documentElement,o=function(){};i.addEventListener?o=function(t,e,i){t.addEventListener(e,i,!1)}:i.attachEvent&&(o=function(t,i,o){t[i+o]=o.handleEvent?function(){var i=e(t);o.handleEvent.call(o,i)}:function(){var i=e(t);o.call(t,i)},t.attachEvent("on"+i,t[i+o])});var n=function(){};i.removeEventListener?n=function(t,e,i){t.removeEventListener(e,i,!1)}:i.detachEvent&&(n=function(t,e,i){t.detachEvent("on"+e,t[e+i]);try{delete t[e+i]}catch(o){t[e+i]=void 0}});var r={bind:o,unbind:n};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}(this),function(t){function e(t){"function"==typeof t&&(e.isReady?t():r.push(t))}function i(t){var i="readystatechange"===t.type&&"complete"!==n.readyState;if(!e.isReady&&!i){e.isReady=!0;for(var o=0,s=r.length;s>o;o++){var a=r[o];a()}}}function o(o){return o.bind(n,"DOMContentLoaded",i),o.bind(n,"readystatechange",i),o.bind(t,"load",i),e}var n=t.document,r=[];e.isReady=!1,"function"==typeof define&&define.amd?(e.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],o)):t.docReady=o(t.eventie)}(this),function(){function t(){}function e(t,e){for(var i=t.length;i--;)if(t[i].listener===e)return i;return-1}function i(t){return function(){return this[t].apply(this,arguments)}}var o=t.prototype,n=this,r=n.EventEmitter;o.getListeners=function(t){var e,i,o=this._getEvents();if(t instanceof RegExp){e={};for(i in o)o.hasOwnProperty(i)&&t.test(i)&&(e[i]=o[i])}else e=o[t]||(o[t]=[]);return e},o.flattenListeners=function(t){var e,i=[];for(e=0;t.length>e;e+=1)i.push(t[e].listener);return i},o.getListenersAsObject=function(t){var e,i=this.getListeners(t);return i instanceof Array&&(e={},e[t]=i),e||i},o.addListener=function(t,i){var o,n=this.getListenersAsObject(t),r="object"==typeof i;for(o in n)n.hasOwnProperty(o)&&-1===e(n[o],i)&&n[o].push(r?i:{listener:i,once:!1});return this},o.on=i("addListener"),o.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},o.once=i("addOnceListener"),o.defineEvent=function(t){return this.getListeners(t),this},o.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},o.removeListener=function(t,i){var o,n,r=this.getListenersAsObject(t);for(n in r)r.hasOwnProperty(n)&&(o=e(r[n],i),-1!==o&&r[n].splice(o,1));return this},o.off=i("removeListener"),o.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},o.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},o.manipulateListeners=function(t,e,i){var o,n,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(o=i.length;o--;)r.call(this,e,i[o]);else for(o in e)e.hasOwnProperty(o)&&(n=e[o])&&("function"==typeof n?r.call(this,o,n):s.call(this,o,n));return this},o.removeEvent=function(t){var e,i=typeof t,o=this._getEvents();if("string"===i)delete o[t];else if(t instanceof RegExp)for(e in o)o.hasOwnProperty(e)&&t.test(e)&&delete o[e];else delete this._events;return this},o.removeAllListeners=i("removeEvent"),o.emitEvent=function(t,e){var i,o,n,r,s=this.getListenersAsObject(t);for(n in s)if(s.hasOwnProperty(n))for(o=s[n].length;o--;)i=s[n][o],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);return this},o.trigger=i("emitEvent"),o.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},o.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},o._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},o._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return n.EventEmitter=r,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(t){function e(t){if(t){if("string"==typeof o[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,n=0,r=i.length;r>n;n++)if(e=i[n]+t,"string"==typeof o[e])return e}}var i="Webkit Moz ms Ms O".split(" "),o=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return e}):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}(window),function(t){function e(t){var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);return i&&e}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,i=s.length;i>e;e++){var o=s[e];t[o]=0}return t}function o(t){function o(t){if("string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var o=r(t);if("none"===o.display)return i();var n={};n.width=t.offsetWidth,n.height=t.offsetHeight;for(var h=n.isBorderBox=!(!p||!o[p]||"border-box"!==o[p]),f=0,c=s.length;c>f;f++){var d=s[f],l=o[d];l=a(t,l);var y=parseFloat(l);n[d]=isNaN(y)?0:y}var m=n.paddingLeft+n.paddingRight,g=n.paddingTop+n.paddingBottom,v=n.marginLeft+n.marginRight,_=n.marginTop+n.marginBottom,I=n.borderLeftWidth+n.borderRightWidth,L=n.borderTopWidth+n.borderBottomWidth,z=h&&u,S=e(o.width);S!==!1&&(n.width=S+(z?0:m+I));var b=e(o.height);return b!==!1&&(n.height=b+(z?0:g+L)),n.innerWidth=n.width-(m+I),n.innerHeight=n.height-(g+L),n.outerWidth=n.width+v,n.outerHeight=n.height+_,n}}function a(t,e){if(n||-1===e.indexOf("%"))return e;var i=t.style,o=i.left,r=t.runtimeStyle,s=r&&r.left;return s&&(r.left=t.currentStyle.left),i.left=e,e=i.pixelLeft,i.left=o,s&&(r.left=s),e}var u,p=t("boxSizing");return function(){if(p){var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[p]="border-box";var i=document.body||document.documentElement;i.appendChild(t);var o=r(t);u=200===e(o.width),i.removeChild(t)}}(),o}var n=t.getComputedStyle,r=n?function(t){return n(t,null)}:function(t){return t.currentStyle},s=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],o):"object"==typeof exports?module.exports=o(require("get-style-property")):t.getSize=o(t.getStyleProperty)}(window),function(t,e){function i(t,e){return t[a](e)}function o(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function n(t,e){o(t);for(var i=t.parentNode.querySelectorAll(e),n=0,r=i.length;r>n;n++)if(i[n]===t)return!0;return!1}function r(t,e){return o(t),i(t,e)}var s,a=function(){if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],i=0,o=t.length;o>i;i++){var n=t[i],r=n+"MatchesSelector";if(e[r])return r}}();if(a){var u=document.createElement("div"),p=i(u,"div");s=p?i:r}else s=n;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return s}):window.matchesSelector=s}(this,Element.prototype),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){for(var e in t)return!1;return e=null,!0}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function n(t,n,r){function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var u=r("transition"),p=r("transform"),h=u&&p,f=!!r("perspective"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[u],d=["transform","transition","transitionDuration","transitionProperty"],l=function(){for(var t={},e=0,i=d.length;i>e;e++){var o=d[e],n=r(o);n&&n!==o&&(t[o]=n)}return t}();e(a.prototype,t.prototype),a.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},a.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},a.prototype.getSize=function(){this.size=n(this.element)},a.prototype.css=function(t){var e=this.element.style;for(var i in t){var o=l[i]||i;e[o]=t[i]}},a.prototype.getPosition=function(){var t=s(this.element),e=this.layout.options,i=e.isOriginLeft,o=e.isOriginTop,n=parseInt(t[i?"left":"right"],10),r=parseInt(t[o?"top":"bottom"],10);n=isNaN(n)?0:n,r=isNaN(r)?0:r;var a=this.layout.size;n-=i?a.paddingLeft:a.paddingRight,r-=o?a.paddingTop:a.paddingBottom,this.position.x=n,this.position.y=r},a.prototype.layoutPosition=function(){var t=this.layout.size,e=this.layout.options,i={};e.isOriginLeft?(i.left=this.position.x+t.paddingLeft+"px",i.right=""):(i.right=this.position.x+t.paddingRight+"px",i.left=""),e.isOriginTop?(i.top=this.position.y+t.paddingTop+"px",i.bottom=""):(i.bottom=this.position.y+t.paddingBottom+"px",i.top=""),this.css(i),this.emitEvent("layout",[this])};var y=f?function(t,e){return"translate3d("+t+"px, "+e+"px, 0)"}:function(t,e){return"translate("+t+"px, "+e+"px)"};a.prototype._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=parseInt(t,10),r=parseInt(e,10),s=n===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return this.layoutPosition(),void 0;var a=t-i,u=e-o,p={},h=this.layout.options;a=h.isOriginLeft?a:-a,u=h.isOriginTop?u:-u,p.transform=y(a,u),this.transition({to:p,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},a.prototype.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},a.prototype.moveTo=h?a.prototype._transitionTo:a.prototype.goTo,a.prototype.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},a.prototype._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},a.prototype._transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return this._nonTransition(t),void 0;var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var o=this.element.offsetHeight;o=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var m=p&&o(p)+",opacity";a.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:m,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(c,this,!1))},a.prototype.transition=a.prototype[u?"_transition":"_nonTransition"],a.prototype.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},a.prototype.onotransitionend=function(t){this.ontransitionend(t)};var g={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};a.prototype.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,o=g[t.propertyName]||t.propertyName;if(delete e.ingProperties[o],i(e.ingProperties)&&this.disableTransition(),o in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[o]),o in e.onEnd){var n=e.onEnd[o];n.call(this),delete e.onEnd[o]}this.emitEvent("transitionEnd",[this])}},a.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(c,this,!1),this.isTransitioning=!1},a.prototype._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var v={transitionProperty:"",transitionDuration:""};return a.prototype.removeTransitionStyles=function(){this.css(v)},a.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},a.prototype.remove=function(){if(!u||!parseFloat(this.layout.options.transitionDuration))return this.removeElem(),void 0;var t=this;this.on("transitionEnd",function(){return t.removeElem(),!0}),this.hide()},a.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options;this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0})},a.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options;this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},a.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}var r=t.getComputedStyle,s=r?function(t){return r(t,null)}:function(t){return t.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],n):(t.Outlayer={},t.Outlayer.Item=n(t.EventEmitter,t.getSize,t.getStyleProperty))}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===f.call(t)}function o(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=d(e,t);-1!==i&&e.splice(i,1)}function r(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}function s(i,s,f,d,l,y){function m(t,i){if("string"==typeof t&&(t=a.querySelector(t)),!t||!c(t))return u&&u.error("Bad "+this.constructor.namespace+" element: "+t),void 0;this.element=t,this.options=e({},this.constructor.defaults),this.option(i);var o=++g;this.element.outlayerGUID=o,v[o]=this,this._create(),this.options.isInitLayout&&this.layout()}var g=0,v={};return m.namespace="outlayer",m.Item=y,m.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e(m.prototype,f.prototype),m.prototype.option=function(t){e(this.options,t)},m.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},m.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},m.prototype._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0,r=e.length;r>n;n++){var s=e[n],a=new i(s,this);o.push(a)}return o},m.prototype._filterFindItemElements=function(t){t=o(t);for(var e=this.options.itemSelector,i=[],n=0,r=t.length;r>n;n++){var s=t[n];if(c(s))if(e){l(s,e)&&i.push(s);for(var a=s.querySelectorAll(e),u=0,p=a.length;p>u;u++)i.push(a[u])}else i.push(s)}return i},m.prototype.getItemElements=function(){for(var t=[],e=0,i=this.items.length;i>e;e++)t.push(this.items[e].element);return t},m.prototype.layout=function(){this._resetLayout(),this._manageStamps();var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},m.prototype._init=m.prototype.layout,m.prototype._resetLayout=function(){this.getSize()},m.prototype.getSize=function(){this.size=d(this.element)},m.prototype._getMeasurement=function(t,e){var i,o=this.options[t];o?("string"==typeof o?i=this.element.querySelector(o):c(o)&&(i=o),this[t]=i?d(i)[e]:o):this[t]=0},m.prototype.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},m.prototype._getItemsForLayout=function(t){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i];n.isIgnored||e.push(n)}return e},m.prototype._layoutItems=function(t,e){function i(){o.emitEvent("layoutComplete",[o,t])}var o=this;if(!t||!t.length)return i(),void 0;this._itemsOn(t,"layout",i);for(var n=[],r=0,s=t.length;s>r;r++){var a=t[r],u=this._getItemLayoutPosition(a);u.item=a,u.isInstant=e||a.isLayoutInstant,n.push(u)}this._processLayoutQueue(n)},m.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},m.prototype._processLayoutQueue=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];this._positionItem(o.item,o.x,o.y,o.isInstant)}},m.prototype._positionItem=function(t,e,i,o){o?t.goTo(e,i):t.moveTo(e,i)},m.prototype._postLayout=function(){this.resizeContainer()},m.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},m.prototype._getContainerSize=h,m.prototype._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},m.prototype._itemsOn=function(t,e,i){function o(){return n++,n===r&&i.call(s),!0}for(var n=0,r=t.length,s=this,a=0,u=t.length;u>a;a++){var p=t[a];p.on(e,o)}},m.prototype.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},m.prototype.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},m.prototype.stamp=function(t){if(t=this._find(t)){this.stamps=this.stamps.concat(t);for(var e=0,i=t.length;i>e;e++){var o=t[e];this.ignore(o)}}},m.prototype.unstamp=function(t){if(t=this._find(t))for(var e=0,i=t.length;i>e;e++){var o=t[e];n(o,this.stamps),this.unignore(o)}},m.prototype._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=o(t)):void 0},m.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var t=0,e=this.stamps.length;e>t;t++){var i=this.stamps[t];this._manageStamp(i)}}},m.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},m.prototype._manageStamp=h,m.prototype._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,o=d(t),n={left:e.left-i.left-o.marginLeft,top:e.top-i.top-o.marginTop,right:i.right-e.right-o.marginRight,bottom:i.bottom-e.bottom-o.marginBottom};return n},m.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},m.prototype.bindResize=function(){this.isResizeBound||(i.bind(t,"resize",this),this.isResizeBound=!0)},m.prototype.unbindResize=function(){this.isResizeBound&&i.unbind(t,"resize",this),this.isResizeBound=!1},m.prototype.onresize=function(){function t(){e.resize(),delete e.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var e=this;this.resizeTimeout=setTimeout(t,100)},m.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},m.prototype.needsResizeLayout=function(){var t=d(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},m.prototype.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},m.prototype.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},m.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},m.prototype.reveal=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.reveal()}},m.prototype.hide=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var o=t[i];o.hide()}},m.prototype.getItem=function(t){for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];if(o.element===t)return o}},m.prototype.getItems=function(t){if(t&&t.length){for(var e=[],i=0,o=t.length;o>i;i++){var n=t[i],r=this.getItem(n);r&&e.push(r)}return e}},m.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(e&&e.length){this._itemsOn(e,"remove",function(){this.emitEvent("removeComplete",[this,e])});for(var i=0,r=e.length;r>i;i++){var s=e[i];s.remove(),n(s,this.items)}}},m.prototype.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="";for(var e=0,i=this.items.length;i>e;e++){var o=this.items[e];o.destroy()}this.unbindResize(),delete this.element.outlayerGUID,p&&p.removeData(this.element,this.constructor.namespace)},m.data=function(t){var e=t&&t.outlayerGUID;return e&&v[e]},m.create=function(t,i){function o(){m.apply(this,arguments)}return Object.create?o.prototype=Object.create(m.prototype):e(o.prototype,m.prototype),o.prototype.constructor=o,o.defaults=e({},m.defaults),e(o.defaults,i),o.prototype.settings={},o.namespace=t,o.data=m.data,o.Item=function(){y.apply(this,arguments)},o.Item.prototype=new y,s(function(){for(var e=r(t),i=a.querySelectorAll(".js-"+e),n="data-"+e+"-options",s=0,h=i.length;h>s;s++){var f,c=i[s],d=c.getAttribute(n);try{f=d&&JSON.parse(d)}catch(l){u&&u.error("Error parsing "+n+" on "+c.nodeName.toLowerCase()+(c.id?"#"+c.id:"")+": "+l);continue}var y=new o(c,f);p&&p.data(c,t,y)}}),p&&p.bridget&&p.bridget(t,o),o},m.Item=y,m}var a=t.document,u=t.console,p=t.jQuery,h=function(){},f=Object.prototype.toString,c="object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName},d=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","doc-ready/doc-ready","eventEmitter/EventEmitter","get-size/get-size","matches-selector/matches-selector","./item"],s):t.Outlayer=s(t.eventie,t.docReady,t.EventEmitter,t.getSize,t.matchesSelector,t.Outlayer.Item)}(window),function(t){function e(t){function e(){t.Item.apply(this,arguments)}return e.prototype=new t.Item,e.prototype._create=function(){this.id=this.layout.itemGUID++,t.Item.prototype._create.call(this),this.sortData={}},e.prototype.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}},e}"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window),function(t){function e(t,e){function i(t){this.isotope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}return function(){function t(t){return function(){return e.prototype[t].apply(this.isotope,arguments)}}for(var o=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],n=0,r=o.length;r>n;n++){var s=o[n];i.prototype[s]=t(s)}}(),i.prototype.needsVerticalResizeLayout=function(){var e=t(this.isotope.element),i=this.isotope.size&&e;return i&&e.innerHeight!==this.isotope.size.innerHeight},i.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},i.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},i.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},i.prototype.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},i.prototype.getFirstItemSize=function(){var e=this.isotope.filteredItems[0];return e&&e.element&&t(e.element)},i.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},i.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},i.modes={},i.create=function(t,e){function o(){i.apply(this,arguments)}return o.prototype=new i,e&&(o.options=e),o.prototype.namespace=t,i.modes[t]=o,o},i}"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window),function(t){function e(t,e){var o=t.create("masonry");return o.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0);this.maxY=0},o.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},o.prototype.getContainerWidth=function(){var t=this.options.isFitWidth?this.element.parentNode:this.element,i=e(t);this.containerWidth=i&&i.innerWidth},o.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,o=e&&1>e?"round":"ceil",n=Math[o](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var r=this._getColGroup(n),s=Math.min.apply(Math,r),a=i(r,s),u={x:this.columnWidth*a,y:s},p=s+t.size.outerHeight,h=this.cols+1-r.length,f=0;h>f;f++)this.colYs[a+f]=p;return u},o.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;i>o;o++){var n=this.colYs.slice(o,o+t);e[o]=Math.max.apply(Math,n)}return e},o.prototype._manageStamp=function(t){var i=e(t),o=this._getElementOffset(t),n=this.options.isOriginLeft?o.left:o.right,r=n+i.outerWidth,s=Math.floor(n/this.columnWidth);s=Math.max(0,s);var a=Math.floor(r/this.columnWidth);a-=r%this.columnWidth?0:1,a=Math.min(this.cols-1,a);for(var u=(this.options.isOriginTop?o.top:o.bottom)+i.outerHeight,p=s;a>=p;p++)this.colYs[p]=Math.max(u,this.colYs[p])},o.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this.options.isFitWidth&&(t.width=this._getContainerFitWidth()),t},o.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},o.prototype.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!==this.containerWidth},o}var i=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++){var n=t[i];if(n===e)return i}return-1};"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size"],e):t.Masonry=e(t.Outlayer,t.getSize)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t,i){var o=t.create("masonry"),n=o.prototype._getElementOffset,r=o.prototype.layout,s=o.prototype._getMeasurement;e(o.prototype,i.prototype),o.prototype._getElementOffset=n,o.prototype.layout=r,o.prototype._getMeasurement=s;var a=o.prototype.measureColumns;o.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,a.call(this)};var u=o.prototype._manageStamp;return o.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,u.apply(this,arguments)},o}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],i):i(t.Isotope.LayoutMode,t.Masonry)}(window),function(t){function e(t){var e=t.create("fitRows");return e.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0},e.prototype._getItemLayoutPosition=function(t){t.getSize(),0!==this.x&&t.size.outerWidth+this.x>this.isotope.size.innerWidth&&(this.x=0,this.y=this.maxY);var e={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=t.size.outerWidth,e},e.prototype._getContainerSize=function(){return{height:this.maxY}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t){var e=t.create("vertical",{horizontalAlignment:0});return e.prototype._resetLayout=function(){this.y=0},e.prototype._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},e.prototype._getContainerSize=function(){return{height:this.y}},e}"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],e):e(t.Isotope.LayoutMode)}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===h.call(t)}function o(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var o=0,n=t.length;n>o;o++)e.push(t[o]);else e.push(t);return e}function n(t,e){var i=f(e,t);-1!==i&&e.splice(i,1)}function r(t,i,r,u,h){function f(t,e){return function(i,o){for(var n=0,r=t.length;r>n;n++){var s=t[n],a=i.sortData[s],u=o.sortData[s];if(a>u||u>a){var p=void 0!==e[s]?e[s]:e,h=p?1:-1;return(a>u?1:-1)*h}}return 0}}var c=t.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});c.Item=u,c.LayoutMode=h,c.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),t.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var e in h.modes)this._initLayoutMode(e)},c.prototype.reloadItems=function(){this.itemGUID=0,t.prototype.reloadItems.call(this)},c.prototype._itemize=function(){for(var e=t.prototype._itemize.apply(this,arguments),i=0,o=e.length;o>i;i++){var n=e[i];n.id=this.itemGUID++}return this._updateItemsSortData(e),e},c.prototype._initLayoutMode=function(t){var i=h.modes[t],o=this.options[t]||{};this.options[t]=i.options?e(i.options,o):o,this.modes[t]=new i(this)},c.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?(this.arrange(),void 0):(this._layout(),void 0)},c.prototype._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},c.prototype.arrange=function(t){this.option(t),this._getIsInstant(),this.filteredItems=this._filter(this.items),this._sort(),this._layout()},c.prototype._init=c.prototype.arrange,c.prototype._getIsInstant=function(){var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=t,t},c.prototype._filter=function(t){function e(){f.reveal(n),f.hide(r)}var i=this.options.filter;i=i||"*";for(var o=[],n=[],r=[],s=this._getFilterTest(i),a=0,u=t.length;u>a;a++){var p=t[a];if(!p.isIgnored){var h=s(p);h&&o.push(p),h&&p.isHidden?n.push(p):h||p.isHidden||r.push(p)}}var f=this;return this._isInstant?this._noTransition(e):e(),o},c.prototype._getFilterTest=function(t){return s&&this.options.isJQueryFiltering?function(e){return s(e.element).is(t)}:"function"==typeof t?function(e){return t(e.element)}:function(e){return r(e.element,t)}},c.prototype.updateSortData=function(t){this._getSorters(),t=o(t);var e=this.getItems(t);e=e.length?e:this.items,this._updateItemsSortData(e) +},c.prototype._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=d(i)}},c.prototype._updateItemsSortData=function(t){for(var e=0,i=t.length;i>e;e++){var o=t[e];o.updateSortData()}};var d=function(){function t(t){if("string"!=typeof t)return t;var i=a(t).split(" "),o=i[0],n=o.match(/^\[(.+)\]$/),r=n&&n[1],s=e(r,o),u=c.sortDataParsers[i[1]];return t=u?function(t){return t&&u(s(t))}:function(t){return t&&s(t)}}function e(t,e){var i;return i=t?function(e){return e.getAttribute(t)}:function(t){var i=t.querySelector(e);return i&&p(i)}}return t}();c.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},c.prototype._sort=function(){var t=this.options.sortBy;if(t){var e=[].concat.apply(t,this.sortHistory),i=f(e,this.options.sortAscending);this.filteredItems.sort(i),t!==this.sortHistory[0]&&this.sortHistory.unshift(t)}},c.prototype._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw Error("No layout mode: "+t);return e.options=this.options[t],e},c.prototype._resetLayout=function(){t.prototype._resetLayout.call(this),this._mode()._resetLayout()},c.prototype._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},c.prototype._manageStamp=function(t){this._mode()._manageStamp(t)},c.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},c.prototype.needsResizeLayout=function(){return this._mode().needsResizeLayout()},c.prototype.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},c.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps();var o=this._filterRevealAdded(e);this.layoutItems(i),this.filteredItems=o.concat(this.filteredItems)}},c.prototype._filterRevealAdded=function(t){var e=this._noTransition(function(){return this._filter(t)});return this.layoutItems(e,!0),this.reveal(e),t},c.prototype.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;n>i;i++)o=e[i],this.element.appendChild(o.element);var r=this._filter(e);for(this._noTransition(function(){this.hide(r)}),i=0;n>i;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;n>i;i++)delete e[i].isLayoutInstant;this.reveal(r)}};var l=c.prototype.remove;return c.prototype.remove=function(t){t=o(t);var e=this.getItems(t);if(l.call(this,t),e&&e.length)for(var i=0,r=e.length;r>i;i++){var s=e[i];n(s,this.filteredItems)}},c.prototype._noTransition=function(t){var e=this.options.transitionDuration;this.options.transitionDuration=0;var i=t.call(this);return this.options.transitionDuration=e,i},c}var s=t.jQuery,a=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},u=document.documentElement,p=u.textContent?function(t){return t.textContent}:function(t){return t.innerText},h=Object.prototype.toString,f=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,o=t.length;o>i;i++)if(t[i]===e)return i;return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],r):t.Isotope=r(t.Outlayer,t.getSize,t.matchesSelector,t.Isotope.Item,t.Isotope.LayoutMode)}(window); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/jquery-ui-1.10.3.custom.min.js b/templates/windowcleaning/site/gallery/js/jquery-ui-1.10.3.custom.min.js new file mode 100644 index 0000000..b83b99e --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/jquery-ui-1.10.3.custom.min.js @@ -0,0 +1,6 @@ +/*! jQuery UI - v1.10.3 - 2013-11-05 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.tooltip.js +* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ + +(function(e,t){function i(t,i){var s,n,r,o=t.nodeName.toLowerCase();return"area"===o?(s=t.parentNode,n=s.name,t.href&&n&&"map"===s.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&a(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&a(t)}function a(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,a){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),a&&a.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var a,s,n=e(this[0]);n.length&&n[0]!==document;){if(a=n.css("position"),("absolute"===a||"relative"===a||"fixed"===a)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,a){return!!e.data(t,a[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var a=e.attr(t,"tabindex"),s=isNaN(a);return(s||a>=0)&&i(t,!s)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(i,a){function s(t,i,a,s){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,a&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===a?["Left","Right"]:["Top","Bottom"],r=a.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+a]=function(i){return i===t?o["inner"+a].call(this):this.each(function(){e(this).css(r,s(this,i)+"px")})},e.fn["outer"+a]=function(t,i){return"number"!=typeof t?o["outer"+a].call(this,t):this.each(function(){e(this).css(r,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,a){var s,n=e.ui[t].prototype;for(s in a)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([i,a[s]])},call:function(e,t,i){var a,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(a=0;s.length>a;a++)e.options[s[a][0]]&&s[a][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var a=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[a]>0?!0:(t[a]=1,s=t[a]>0,t[a]=0,s)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,a=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(n){}a(t)},e.widget=function(i,s,a){var n,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],n=u+"-"+i,a||(a=s,s=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:a.version,_proto:e.extend({},a),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(a,function(i,a){return e.isFunction(a)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,n=this._superApply;return this._super=e,this._superApply=t,i=a.apply(this,arguments),this._super=s,this._superApply=n,i}}(),t):(l[i]=a,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:n}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var a,n,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(a in r[o])n=r[o][a],r[o].hasOwnProperty(a)&&n!==t&&(i[a]=e.isPlainObject(n)?e.isPlainObject(i[a])?e.widget.extend({},i[a],n):e.widget.extend({},n):n);return i},e.widget.bridge=function(i,a){var n=a.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,a=e.data(this,n);return a?e.isFunction(a[r])&&"_"!==r.charAt(0)?(s=a[r].apply(a,h),s!==a&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,n);t?t.option(r||{})._init():e.data(this,n,new a(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var a,n,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},a=i.split("."),i=a.shift(),a.length){for(n=o[i]=e.widget.extend({},this.options[i]),r=0;a.length-1>r;r++)n[a[r]]=n[a[r]]||{},n=n[a[r]];if(i=a.pop(),s===t)return n[i]===t?null:n[i];n[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,a){var n,r=this;"boolean"!=typeof i&&(a=s,s=i,i=!1),a?(s=n=e(s),this.bindings=this.bindings.add(s)):(a=s,s=this.element,n=this.widget()),e.each(a,function(a,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=a.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?n.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var a,n,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],n=i.originalEvent)for(a in n)a in i||(i[a]=n[a]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,a,n){"string"==typeof a&&(a={effect:a});var r,o=a?a===!0||"number"==typeof a?i:a.effect||i:t;a=a||{},"number"==typeof a&&(a={duration:a}),r=!e.isEmptyObject(a),a.complete=n,a.delay&&s.delay(a.delay),r&&e.effects&&e.effects.effect[o]?s[t](a):o!==t&&s[o]?s[o](a.duration,a.easing,n):s.queue(function(i){e(this)[t](),n&&n.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,a=1===i.which,n="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return a&&!n&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e,t){function i(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function s(t,i){return parseInt(e.css(t,i),10)||0}function a(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,r=Math.max,o=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(n!==t)return n;var i,s,a=e("
    "),r=a.children()[0];return e("body").append(a),i=r.offsetWidth,a.css("overflow","scroll"),s=r.offsetWidth,i===s&&(s=a[0].clientWidth),a.remove(),n=i-s},getScrollInfo:function(t){var i=t.isWindow?"":t.element.css("overflow-x"),s=t.isWindow?"":t.element.css("overflow-y"),a="scroll"===i||"auto"===i&&t.widths?"left":i>0?"right":"center",vertical:0>n?"top":a>0?"bottom":"middle"};c>p&&p>o(i+s)&&(h.horizontal="center"),d>m&&m>o(a+n)&&(h.vertical="middle"),h.important=r(o(i),o(s))>r(o(a),o(n))?"horizontal":"vertical",t.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollLeft:s.offset.left,n=s.width,o=e.left-t.collisionPosition.marginLeft,h=a-o,l=o+t.collisionWidth-n-a;t.collisionWidth>n?h>0&&0>=l?(i=e.left+h+t.collisionWidth-n-a,e.left+=h-i):e.left=l>0&&0>=h?a:h>l?a+n-t.collisionWidth:a:h>0?e.left+=h:l>0?e.left-=l:e.left=r(e.left-o,e.left)},top:function(e,t){var i,s=t.within,a=s.isWindow?s.scrollTop:s.offset.top,n=t.within.height,o=e.top-t.collisionPosition.marginTop,h=a-o,l=o+t.collisionHeight-n-a;t.collisionHeight>n?h>0&&0>=l?(i=e.top+h+t.collisionHeight-n-a,e.top+=h-i):e.top=l>0&&0>=h?a:h>l?a+n-t.collisionHeight:a:h>0?e.top+=h:l>0?e.top-=l:e.top=r(e.top-o,e.top)}},flip:{left:function(e,t){var i,s,a=t.within,n=a.offset.left+a.scrollLeft,r=a.width,h=a.isWindow?a.scrollLeft:a.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,c=l+t.collisionWidth-r-h,d="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+d+p+f+t.collisionWidth-r-n,(0>i||o(u)>i)&&(e.left+=d+p+f)):c>0&&(s=e.left-t.collisionPosition.marginLeft+d+p+f-h,(s>0||c>o(s))&&(e.left+=d+p+f))},top:function(e,t){var i,s,a=t.within,n=a.offset.top+a.scrollTop,r=a.height,h=a.isWindow?a.scrollTop:a.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,c=l+t.collisionHeight-r-h,d="top"===t.my[1],p=d?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-r-n,e.top+p+f+m>u&&(0>s||o(u)>s)&&(e.top+=p+f+m)):c>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,e.top+p+f+m>c&&(i>0||c>o(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,a,n,r=document.getElementsByTagName("body")[0],o=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(n in s)t.style[n]=s[n];t.appendChild(o),i=r||document.documentElement,i.insertBefore(t,i.firstChild),o.style.cssText="position: absolute; left: 10.7432222px;",a=e(o).offset().left,e.support.offsetFractions=a>10&&11>a,t.innerHTML="",i.removeChild(t)}()})(jQuery);(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("
    ").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var a=this._uiHash();if(this._trigger("drag",t,a)===!1)return this._mouseUp({}),!1;this.position=a.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,a=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(a=e.ui.ddmanager.drop(this,t)),this.dropped&&(a=this.dropped,this.dropped=!1),"original"!==this.options.helper||e.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!a||"valid"===this.options.revert&&a||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,a)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,a=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return a.parents("body").length||a.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),a[0]===this.element[0]||/(fixed|absolute)/.test(a.css("position"))||a.css("position","absolute"),a},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,a,s=this.options;return s.containment?"window"===s.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===s.containment?(this.containment=[0,0,e(document).width()-this.helperProportions.width-this.margins.left,(e(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):s.containment.constructor===Array?(this.containment=s.containment,undefined):("parent"===s.containment&&(s.containment=this.helper[0].parentNode),i=e(s.containment),a=i[0],a&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(a.scrollWidth,a.offsetWidth):a.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(a.scrollHeight,a.offsetHeight):a.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(t,i){i||(i=this.position);var a="absolute"===t?1:-1,s="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:s.scrollTop(),left:s.scrollLeft()}),{top:i.top+this.offset.relative.top*a+this.offset.parent.top*a-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*a,left:i.left+this.offset.relative.left*a+this.offset.parent.left*a-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*a}},_generatePosition:function(t){var i,a,s,n,r=this.options,o="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=t.pageX,h=t.pageY;return this.offset.scroll||(this.offset.scroll={top:o.scrollTop(),left:o.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(a=this.relative_container.offset(),i=[this.containment[0]+a.left,this.containment[1]+a.top,this.containment[2]+a.left,this.containment[3]+a.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(l=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),r.grid&&(s=r.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/r.grid[1])*r.grid[1]:this.originalPageY,h=i?s-this.offset.click.top>=i[1]||s-this.offset.click.top>i[3]?s:s-this.offset.click.top>=i[1]?s-r.grid[1]:s+r.grid[1]:s,n=r.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/r.grid[0])*r.grid[0]:this.originalPageX,l=i?n-this.offset.click.left>=i[0]||n-this.offset.click.left>i[2]?n:n-this.offset.click.left>=i[0]?n-r.grid[0]:n+r.grid[0]:n)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,a){return a=a||this._uiHash(),e.ui.plugin.call(this,t,[i,a]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,a)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var a=e(this).data("ui-draggable"),s=a.options,n=e.extend({},i,{item:a.element});a.sortables=[],e(s.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(a.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i){var a=e(this).data("ui-draggable"),s=e.extend({},i,{item:a.element});e.each(a.sortables,function(){this.instance.isOver?(this.instance.isOver=0,a.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===a.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,s))})},drag:function(t,i){var a=e(this).data("ui-draggable"),s=this;e.each(a.sortables,function(){var n=!1,r=this;this.instance.positionAbs=a.positionAbs,this.instance.helperProportions=a.helperProportions,this.instance.offset.click=a.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(n=!0,e.each(a.sortables,function(){return this.instance.positionAbs=a.positionAbs,this.instance.helperProportions=a.helperProportions,this.instance.offset.click=a.offset.click,this!==r&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(r.instance.element[0],this.instance.element[0])&&(n=!1),n})),n?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(s).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=a.offset.click.top,this.instance.offset.click.left=a.offset.click.left,this.instance.offset.parent.left-=a.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=a.offset.parent.top-this.instance.offset.parent.top,a._trigger("toSortable",t),a.dropped=this.instance.element,a.currentItem=a.element,this.instance.fromOutside=a),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),a._trigger("fromSortable",t),a.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var a=e(i.helper),s=e(this).data("ui-draggable").options;a.css("opacity")&&(s._opacity=a.css("opacity")),a.css("opacity",s.opacity)},stop:function(t,i){var a=e(this).data("ui-draggable").options;a._opacity&&e(i.helper).css("opacity",a._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),a=i.options,s=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(a.axis&&"x"===a.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY=0;d--)o=p.snapElements[d].left,l=o+p.snapElements[d].width,h=p.snapElements[d].top,u=h+p.snapElements[d].height,o-m>v||g>l+m||h-m>b||y>u+m||!e.contains(p.snapElements[d].item.ownerDocument,p.snapElements[d].item)?(p.snapElements[d].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[d].item})),p.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(a=m>=Math.abs(h-b),s=m>=Math.abs(u-y),n=m>=Math.abs(o-v),r=m>=Math.abs(l-g),a&&(i.position.top=p._convertPositionTo("relative",{top:h-p.helperProportions.height,left:0}).top-p.margins.top),s&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),n&&(i.position.left=p._convertPositionTo("relative",{top:0,left:o-p.helperProportions.width}).left-p.margins.left),r&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l}).left-p.margins.left)),c=a||s||n||r,"outer"!==f.snapMode&&(a=m>=Math.abs(h-y),s=m>=Math.abs(u-b),n=m>=Math.abs(o-g),r=m>=Math.abs(l-v),a&&(i.position.top=p._convertPositionTo("relative",{top:h,left:0}).top-p.margins.top),s&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.left=p._convertPositionTo("relative",{top:0,left:o}).left-p.margins.left),r&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[d].snapping&&(a||s||n||r||c)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[d].item})),p.snapElements[d].snapping=a||s||n||r||c)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,a=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});a.length&&(t=parseInt(e(a[0]).css("zIndex"),10)||0,e(a).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+a.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var a=e(i.helper),s=e(this).data("ui-draggable").options;a.css("zIndex")&&(s._zIndex=a.css("zIndex")),a.css("zIndex",s.zIndex)},stop:function(t,i){var a=e(this).data("ui-draggable").options;a._zIndex&&e(i.helper).css("zIndex",a._zIndex)}})})(jQuery);(function(e){function t(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))}function i(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),a=e.inArray(i,s);-1!==a&&s.splice(a,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")}var s=0;e.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var t=e(this).attr("title")||"";return e("
    ").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var a=e.Event("blur");a.target=a.currentTarget=s[0],t.close(a,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,a=this,n=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){e.data("ui-tooltip-open")&&a._delay(function(){t&&(t.type=n),this._open(t,e,i)})}),i&&this._open(t,e,i),void 0)},_open:function(i,s,a){function n(e){l.of=e,r.is(":hidden")||r.position(l)}var r,o,h,l=e.extend({},this.options.position);if(a){if(r=this._find(s),r.length)return r.find(".ui-tooltip-content").html(a),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),r=this._tooltip(s),t(s,r.attr("id")),r.find(".ui-tooltip-content").html(a),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:n}),n(i)):r.position(e.extend({of:s},this.options.position)),r.hide(),this._show(r,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){r.is(":visible")&&(n(l.of),clearInterval(h))},e.fx.interval)),this._trigger("open",i,{tooltip:r}),o={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var i=e.Event(t);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(r)}},i&&"mouseover"!==i.type||(o.mouseleave="close"),i&&"focusin"!==i.type||(o.focusout="close"),this._on(!0,s,o)}},close:function(t){var s=this,a=e(t?t.currentTarget:this.element),n=this._find(a);this.closing||(clearInterval(this.delayedShow),a.data("ui-tooltip-title")&&a.attr("title",a.data("ui-tooltip-title")),i(a),n.stop(!0),this._hide(n,this.options.hide,function(){s._removeTooltip(e(this))}),a.removeData("ui-tooltip-open"),this._off(a,"mouseleave focusout keyup"),a[0]!==this.element[0]&&this._off(a,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),this.closing=!0,this._trigger("close",t,{tooltip:n}),this.closing=!1)},_tooltip:function(t){var i="ui-tooltip-"+s++,a=e("
    ").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return e("
    ").addClass("ui-tooltip-content").appendTo(a),a.appendTo(this.document[0].body),this.tooltips[i]=t,a},_find:function(t){var i=t.data("ui-tooltip-id");return i?e("#"+i):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var a=e.Event("blur");a.target=a.currentTarget=s[0],t.close(a,!0),e("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/jquery.touchSwipe.min.js b/templates/windowcleaning/site/gallery/js/jquery.touchSwipe.min.js new file mode 100644 index 0000000..6a94b77 --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/jquery.touchSwipe.min.js @@ -0,0 +1,13 @@ +/* +* touchSwipe - jQuery Plugin +* https://github.com/mattbryson/TouchSwipe-Jquery-Plugin +* http://labs.skinkers.com/touchSwipe/ +* http://plugins.jquery.com/project/touchSwipe +* +* Copyright (c) 2010 Matt Bryson (www.skinkers.com) +* Dual licensed under the MIT or GPL Version 2 licenses. +* +* $version: 1.3.3 +*/ + +(function(g){function P(c){if(c&&void 0===c.allowPageScroll&&(void 0!==c.swipe||void 0!==c.swipeStatus))c.allowPageScroll=G;c||(c={});c=g.extend({},g.fn.swipe.defaults,c);return this.each(function(){var b=g(this),f=b.data(w);f||(f=new W(this,c),b.data(w,f))})}function W(c,b){var f,p,r,s;function H(a){var a=a.originalEvent,c,Q=n?a.touches[0]:a;d=R;n?h=a.touches.length:a.preventDefault();i=0;j=null;k=0;!n||h===b.fingers||b.fingers===x?(r=f=Q.pageX,s=p=Q.pageY,y=(new Date).getTime(),b.swipeStatus&&(c=l(a,d))):t(a);if(!1===c)return d=m,l(a,d),c;e.bind(I,J);e.bind(K,L)}function J(a){a=a.originalEvent;if(!(d===q||d===m)){var c,e=n?a.touches[0]:a;f=e.pageX;p=e.pageY;u=(new Date).getTime();j=S();n&&(h=a.touches.length);d=z;var e=a,g=j;if(b.allowPageScroll===G)e.preventDefault();else{var o=b.allowPageScroll===T;switch(g){case v:(b.swipeLeft&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case A:(b.swipeRight&&o||!o&&b.allowPageScroll!=M)&&e.preventDefault();break;case B:(b.swipeUp&&o||!o&&b.allowPageScroll!=N)&&e.preventDefault();break;case C:(b.swipeDown&&o||!o&&b.allowPageScroll!=N)&&e.preventDefault()}}h===b.fingers||b.fingers===x||!n?(i=U(),k=u-y,b.swipeStatus&&(c=l(a,d,j,i,k)),b.triggerOnTouchEnd||(e=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1),!0===D()?(d=q,c=l(a,d)):e&&(d=m,l(a,d)))):(d=m,l(a,d));!1===c&&(d=m,l(a,d))}}function L(a){a=a.originalEvent;u=(new Date).getTime();i=U();j=S();k=u-y;if(b.triggerOnTouchEnd||!1===b.triggerOnTouchEnd&&d===z)if(d=q,(h===b.fingers||b.fingers===x||!n)&&0!==f){var c=!(b.maxTimeThreshold?!(k>=b.maxTimeThreshold):1);if((!0===D()||null===D())&&!c)l(a,d);else if(c||!1===D())d=m,l(a,d)}else d=m,l(a,d);else d===z&&(d=m,l(a,d));e.unbind(I,J,!1);e.unbind(K,L,!1)}function t(){y=u=p=f=s=r=h=0}function l(a,c){var d=void 0;b.swipeStatus&&(d=b.swipeStatus.call(e,a,c,j||null,i||0,k||0,h));if(c===m&&b.click&&(1===h||!n)&&(isNaN(i)||0===i))d=b.click.call(e,a,a.target);if(c==q)switch(b.swipe&&(d=b.swipe.call(e,a,j,i,k,h)),j){case v:b.swipeLeft&&(d=b.swipeLeft.call(e,a,j,i,k,h));break;case A:b.swipeRight&&(d=b.swipeRight.call(e,a,j,i,k,h));break;case B:b.swipeUp&&(d=b.swipeUp.call(e,a,j,i,k,h));break;case C:b.swipeDown&&(d=b.swipeDown.call(e,a,j,i,k,h))}(c===m||c===q)&&t(a);return d}function D(){return null!==b.threshold?i>=b.threshold:null}function U(){return Math.round(Math.sqrt(Math.pow(f-r,2)+Math.pow(p-s,2)))}function S(){var a;a=Math.atan2(p-s,r-f);a=Math.round(180*a/Math.PI);0>a&&(a=360-Math.abs(a));return 45>=a&&0<=a?v:360>=a&&315<=a?v:135<=a&&225>=a?A:45a?C:B}function V(){e.unbind(E,H);e.unbind(F,t);e.unbind(I,J);e.unbind(K,L)}var O=n||!b.fallbackToMouseEvents,E=O?"touchstart":"mousedown",I=O?"touchmove":"mousemove",K=O?"touchend":"mouseup",F="touchcancel",i=0,j=null,k=0,e=g(c),d="start",h=0,y=p=f=s=r=0,u=0;try{e.bind(E,H),e.bind(F,t)}catch(P){g.error("events not supported "+E+","+F+" on jQuery.swipe")}this.enable=function(){e.bind(E,H);e.bind(F,t);return e};this.disable=function(){V();return e};this.destroy=function(){V();e.data(w,null);return e}}var v="left",A="right",B="up",C="down",G="none",T="auto",M="horizontal",N="vertical",x="all",R="start",z="move",q="end",m="cancel",n="ontouchstart"in window,w="TouchSwipe";g.fn.swipe=function(c){var b=g(this),f=b.data(w);if(f&&"string"===typeof c){if(f[c])return f[c].apply(this,Array.prototype.slice.call(arguments,1));g.error("Method "+c+" does not exist on jQuery.swipe")}else if(!f&&("object"===typeof c||!c))return P.apply(this,arguments);return b};g.fn.swipe.defaults={fingers:1,threshold:75,maxTimeThreshold:null,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,click:null,triggerOnTouchEnd:!0,allowPageScroll:"auto",fallbackToMouseEvents:!0};g.fn.swipe.phases={PHASE_START:R,PHASE_MOVE:z,PHASE_END:q,PHASE_CANCEL:m};g.fn.swipe.directions={LEFT:v,RIGHT:A,UP:B,DOWN:C};g.fn.swipe.pageScroll={NONE:G,HORIZONTAL:M,VERTICAL:N,AUTO:T};g.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,ALL:x}})(jQuery); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/jquery.ui.touch-punch.js b/templates/windowcleaning/site/gallery/js/jquery.ui.touch-punch.js new file mode 100644 index 0000000..2766f41 --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/jquery.ui.touch-punch.js @@ -0,0 +1,160 @@ +/*! + * jQuery UI Touch Punch 0.2.2 + * + * Copyright 2011, Dave Furfero + * Dual licensed under the MIT or GPL Version 2 licenses. + * + * Depends: + * jquery.ui.widget.js + * jquery.ui.mouse.js + */ +(function ($) { + + // Detect touch support + $.support.touch = 'ontouchend' in document; + + // Ignore browsers without touch support + if (!$.support.touch) { + return; + } + + var mouseProto = $.ui.mouse.prototype, + _mouseInit = mouseProto._mouseInit, + touchHandled; + + /** + * Simulate a mouse event based on a corresponding touch event + * @param {Object} event A touch event + * @param {String} simulatedType The corresponding mouse event + */ + function simulateMouseEvent (event, simulatedType) { + + // Ignore multi-touch events + if (event.originalEvent.touches.length > 1) { + return; + } + + event.preventDefault(); + + var touch = event.originalEvent.changedTouches[0], + simulatedEvent = document.createEvent('MouseEvents'); + + // Initialize the simulated mouse event using the touch event's coordinates + simulatedEvent.initMouseEvent( + simulatedType, // type + true, // bubbles + true, // cancelable + window, // view + 1, // detail + touch.screenX, // screenX + touch.screenY, // screenY + touch.clientX, // clientX + touch.clientY, // clientY + false, // ctrlKey + false, // altKey + false, // shiftKey + false, // metaKey + 0, // button + null // relatedTarget + ); + + // Dispatch the simulated event to the target element + event.target.dispatchEvent(simulatedEvent); + } + + /** + * Handle the jQuery UI widget's touchstart events + * @param {Object} event The widget element's touchstart event + */ + mouseProto._touchStart = function (event) { + + var self = this; + + // Ignore the event if another widget is already being handled + if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) { + return; + } + + // Set the flag to prevent other widgets from inheriting the touch event + touchHandled = true; + + // Track movement to determine if interaction was a click + self._touchMoved = false; + + // Simulate the mouseover event + simulateMouseEvent(event, 'mouseover'); + + // Simulate the mousemove event + simulateMouseEvent(event, 'mousemove'); + + // Simulate the mousedown event + simulateMouseEvent(event, 'mousedown'); + }; + + /** + * Handle the jQuery UI widget's touchmove events + * @param {Object} event The document's touchmove event + */ + mouseProto._touchMove = function (event) { + + // Ignore event if not handled + if (!touchHandled) { + return; + } + + // Interaction was not a click + this._touchMoved = true; + + // Simulate the mousemove event + simulateMouseEvent(event, 'mousemove'); + }; + + /** + * Handle the jQuery UI widget's touchend events + * @param {Object} event The document's touchend event + */ + mouseProto._touchEnd = function (event) { + + // Ignore event if not handled + if (!touchHandled) { + return; + } + + // Simulate the mouseup event + simulateMouseEvent(event, 'mouseup'); + + // Simulate the mouseout event + simulateMouseEvent(event, 'mouseout'); + + // If the touch interaction did not move, it should trigger a click + if (!this._touchMoved) { + + // Simulate the click event + simulateMouseEvent(event, 'click'); + } + + // Unset the flag to allow other widgets to inherit the touch event + touchHandled = false; + }; + + /** + * A duck punch of the $.ui.mouse _mouseInit method to support touch events. + * This method extends the widget with bound touch event handlers that + * translate touch events to mouse events and pass them to the widget's + * original mouse event handling methods. + */ + mouseProto._mouseInit = function () { + + var self = this; + + // Delegate the touch handlers to the widget's element + self.element + .bind('touchstart', $.proxy(self, '_touchStart')) + .bind('touchmove', $.proxy(self, '_touchMove')) + .bind('touchend', $.proxy(self, '_touchEnd')); + + // Call the original $.ui.mouse init method + _mouseInit.call(self); + }; + +})(jQuery); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/tmDraggablePagination.js b/templates/windowcleaning/site/gallery/js/tmDraggablePagination.js new file mode 100644 index 0000000..8e26ba3 --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/tmDraggablePagination.js @@ -0,0 +1,122 @@ +/* +* Plugin for draggable pagination for tmMultimediaGallery +*Version: 1.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmDraggablePagination = function(o){ + return this.each(function(){ + var $this = $(this), + data = $this.data('tmDraggablePagination'), + options = { + itemClass: '.item', + prevButtonClass: '.prev', + nextButtonClass: '.next', + controlHiddenClass: '.hide-button', + step: null, + + constructor: function () { + var $paginHolder = $this.find(">div"), + $win = $(window), + $next = $(options.nextButtonClass), + $prev = $(options.prevButtonClass), + totalWidth = 0, + step = (options.step) ? options.step : $paginHolder.find(options.itemClass).outerWidth(true); + + init(); + + function checkFunction(rule, position){ + if ($paginHolder.length) { + if (rule){ + $paginHolder.stop().animate({'left': position}); + return false; + } + } + return true; + } + + function checkLeftBorder(){ + return checkFunction(($paginHolder.position().left > 0), 0); + } + + function checkWidth(){ + return checkFunction(($paginHolder.width() < $this.width()), 0); + } + + function checkRightBorder(){ + var leftPos = Math.abs($paginHolder.position().left) + $this.width(); + return checkFunction((leftPos > $paginHolder.width()), (-1*($paginHolder.width() - $this.width()))); + } + + function init(){ + var controlHiddenClassName = options.controlHiddenClass.substr(1); + $paginHolder + .find(options.itemClass).each(function(){ + totalWidth += $(this).outerWidth(true); + }) + .end() + .width(totalWidth) + .draggable({ + axis: "x", + start: onDragStart, + stop: onDragStop + }); + onDragStart(); + + // set listeners + $next && $next.on('click', onClickNext); + $prev && $prev.on('click', onClickPrev); + $win.on('resize', onResize); + + function onClickPrev(e){ + var leftPosNew = $paginHolder.position().left + step; + (leftPosNew > 0) && (leftPosNew = 0); + + checkFunction(true, leftPosNew); + } + + function onClickNext(e){ + var leftPosNew = $paginHolder.position().left - step, + leftPos = -($paginHolder.width() - $this.width()); + (leftPosNew < leftPos) && (leftPosNew = leftPos); + + checkFunction(true, leftPosNew); + } + + function onDragStart(event, ui){ + if ($this.width() > totalWidth) { + $next && $next.addClass(controlHiddenClassName); + $prev && $prev.addClass(controlHiddenClassName); + return false; + } else { + $next && $next.removeClass(controlHiddenClassName); + $prev && $prev.removeClass(controlHiddenClassName); + } + } + + function onDragStop(event, ui){ + checkWidth(); + checkRightBorder(); + checkLeftBorder(); + } + + function onResize(e){ + onDragStart(); + if($paginHolder.width() > $this.width()){ + checkRightBorder(); + }else{ + $paginHolder.css('left', 0); + checkLeftBorder(); + } + } + } + } + } + + data?$this=data:$this.data({tmDraggablePagination: options}); + typeof o=='object' && $.extend(options, o); + options.me || options.constructor(options.me=$this); + }); + } +})(jQuery); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/tmFileList.js b/templates/windowcleaning/site/gallery/js/tmFileList.js new file mode 100644 index 0000000..9d300b2 --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/tmFileList.js @@ -0,0 +1,71 @@ +/* +* Plugin for getting list of files from directory +*Version: 1.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmFileList = function(o){ + return this.each(function(){ + var $this = $(this), + data = $this.data('tmFileList'), + options = { + relativePath: '../../', // relative path of script, this value will be added to pathThumb, pathFull for getting file list + pathThumb: '', // path to thumbnails relatively index.html + pathFull: '', // path to full images relatively index.html + url: './gallery/php/file_list.php', // url to php file + urlThumb: [], // array for thumbnails + urlFull: [], // array for full images + + // constructor of plugin + constructor: function () { + options.getData(options.pathThumb, options.setUrlThumb, output1); + + // get data from ajax request #1 + function output1(){ + options.getData(options.pathFull, options.setUrlFull, output2); + } + // get data from ajax request #2 + function output2(){ + options.output(options.urlThumb, options.urlFull); + } + }, + // setters + setUrlThumb: function(inData){ + options.urlThumb = inData; + }, + setUrlFull: function(inData){ + options.urlFull = inData; + + }, + // get file list from php via ajax + getData: function(inData, callback, output){ + $.ajax({ + type: "POST", + url: options.url, + data: {path: options.relativePath + inData}, + success: function(results){ + results = results.split(';'); + results.length && results.pop(); + + $.each(results, function(i){ + results[i] = inData + results[i]; + }); + + callback(results.sort()); + output && output(); + } + }); + }, + // return file lists + output: function (urlThumbList, urlFullList){ + + } + } + + data?$this=data:$this.data({tmFileList: options}); + typeof o=='object' && $.extend(options, o); + options.me || options.constructor(options.me=$this); + }); + } +})(jQuery); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/tmMultimediaGallery.js b/templates/windowcleaning/site/gallery/js/tmMultimediaGallery.js new file mode 100644 index 0000000..398c665 --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/tmMultimediaGallery.js @@ -0,0 +1,751 @@ +/* +* Plugin for stretching images and video on fullscreen +*Version: 2.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmMultimediaGallery = function(o){ + return this.each(function(){ + var object = $(this), + data = object.data('tmMultimediaGallery'), + getObject = { + startIndex: 0, // initial postion for gallery + showOnInit: true, // show gallery after init + autoPlayState: false, // on/off autoplay + autoPlayTime: 4, // autoplay timeout + alignIMG:"center", // align of image + alignMode: 'fill', // mode of align 'fill' or 'fit' + mouseMove: false, // use mouse move actions for images + controlDisplay: false, // on/off controls display + hideControlsOnClick: true, // hide controls on click or on tap event + paginationDisplay: true, // on/off pagination display + animationSpeed:'0.7', // speed of animation + mobile: false, // if mobile + resizableContainer: false, // change the size of the container on the size of the window + galleryOpenClass: 'galleryOpen', // class, that adds to body when gallery is open + container: '.galleryContainer', // container of gallery (window or other DOM element) + imageHolder: '.imageHolder', // imageHolder selector + pagination: '.inner', // pagination selector + paginationItem: '.item', // pagination item + outerPagination: false, // outer pagination + description: '.galleryDescription', // description selector + descriptionActiveClass: '.active', // active class for current description item + descriptionShowClass: '.show', // show class for description holder + outerNavigation: false, // outer navigation + next: '.nextButton', // next button selector + prev: '.prevButton', // prev button selector + play: '.playButton', // play button selector + pause: '.pauseButton', // pause button selector + spinner: '.imgSpinner', // prev button selector + backClass: '.backImg', // back class + frontClass: '.frontImg', // front class + animationClass: 'flip', // class for main animation + animationClassSub: 'scale', // class for secondary animation + noAnimationClass: '.animationDisable', // class for quick image changing + onShowActions: function(){}, // actions when gallery is active + onHideActions: function(){}, // actions when gallery is not active, + onBeforeChange: function(){}, // actions before change image + onAfterChange: function(){}, // actions after change image + onShowControls: function(){}, // actions shows controls of gallery + onHideControls: function(){}, // actions hide controls of gallery + // constructor of plugin + constructor: function (params) { + if (object.length) { + getObject.container = object.parents(getObject.container); + getObject.imageHolder = $(getObject.imageHolder, getObject.container); + if (!getObject.outerPagination) { + getObject.pagination = $(getObject.pagination, getObject.container); + } else { + getObject.pagination = $(getObject.pagination); + } + getObject.description = $(getObject.description, getObject.container); + getObject.descriptionActiveClass = getObject.descriptionActiveClass.substr(1); + getObject.descriptionShowClass = getObject.descriptionShowClass.substr(1); + if (!getObject.outerNavigation) { + getObject.next = $(getObject.next, getObject.container); + getObject.prev = $(getObject.prev, getObject.container); + } else { + getObject.next = $(getObject.next); + getObject.prev = $(getObject.prev); + } + getObject.play = $(getObject.play, getObject.container); + getObject.pause = $(getObject.pause, getObject.container); + getObject.spinner = $(getObject.spinner); + getObject.noAnimationClass = getObject.noAnimationClass.substr(1); + + var image = $("img", getObject.imageHolder), + video = $("video", getObject.imageHolder), + imageSRCLink = $(getObject.paginationItem + " a", getObject.pagination.eq(0)), + description = $("li", getObject.description), + imageDeltaX, + imageDeltaY, + prevImg = -1, + currImg = -1, + allImg = imageSRCLink.length, + loadComplete = true, + autoPlayTimer, + dragDirection = 1, + doc = $(document), + win = $(window), + body = $('body'), + galleryActive = false, + showControls = false, + mouseDrag = false, + mouseDown = false, + msie9 = Boolean(navigator.userAgent.match(/MSIE ([9]+)\./)); + + getObject.startIndex = (getObject.startIndex < allImg) ? getObject.startIndex : 0; + + init(); + } + + function init(){ + msie9&&getObject.imageHolder.addClass('ie9'); + + getObject.autoPlayTime*=1000; + getObject.animationSpeed = getObject.animationSpeed.replace(",", "."); + + getObject.spinner.removeClass('spinnerShow'); + + object.css({"position":"absolute", width:"100%", height:"100%", "z-index":"0"}); + getObject.imageHolder.css({"position":"absolute", width:"100%", height:"100%", "z-index":0, "top":0}); + + if (!$(getObject.frontClass, getObject.imageHolder).length) + image.wrap('
    '); + if (!$(getObject.backClass, getObject.imageHolder).length) + getObject.imageHolder.append(''); + + setTimeout(function() { + getObject.imageHolder.removeClass('flip90'); + object.css('zIndex','0'); + }, 1000); + + if (getObject.autoPlayState){ + autoPlayHandler(); + } + + getObject.mouseMove && init_mouse_move(); + + window.orientation==undefined?usedDevice = "desktop":usedDevice = "fixedOptions"; + + if(usedDevice != "desktop"){ + window.addEventListener("orientationchange", function(){ + resizeImageHandler(); + }, true); + } + win.resize(resizeImageHandler); + object.on('resize', resizeImageHandler); + resizeImageHandler(); + + if ((!getObject.controlDisplay) || (allImg <= 1)){ + getObject.next.css({display:"none"}); + getObject.prev.css({display:"none"}); + }else{ + getObject.next.css({display:"block"}); + getObject.prev.css({display:"block"}); + } + getObject.next.on("click", clickNext); + getObject.prev.on("click", clickPrev); + + var id = 0; + if(getObject.paginationDisplay){ + $(getObject.pagination) + .find(getObject.paginationItem + " a") + .on('mousedown', function(){ + mouseDown = true; + }) + .on('mouseup',function(){ + clearTimeout(id); + id = setTimeout(function(){ mouseDown = false; }, 10); + }) + .on('mousemove', function(){ + mouseDrag = mouseDown; + }) + .on('click', clickPagination); + }else{ + getObject.pagination.css({display:"none"}); + } + + // object listeners + object + .on('showGallery', function(e, d){ + reset(); + + body.addClass(getObject.galleryOpenClass); + + if (!galleryActive){ + !getObject.mobile&&videoInit(); + } + getObject.onShowActions(); + + galleryActive = true; + + descriptionChange(); + descriptionToggle(true); + resizeImageHandler(); + + doc.on('keydown', keyboardEvent); + object.on('goTo', goTo); + + if (!d) { d = getObject.startIndex.toString(); } + object.trigger('goTo', d); + }) + .on('hideGallery',function(e){ + getObject.onHideActions(); + + body.removeClass(getObject.galleryOpenClass); + + videoStop(); + + getObject.imageHolder + .removeClass('videoInside') + .off('click') + .children('div').removeClass('videoShow') + + getObject.autoPlayState = false; + descriptionToggle(false); + galleryActive = false; + + doc.off('keydown', keyboardEvent); + object.off('goTo', goTo); + + resetCounters(); + }) + .on('setGalleryActivity', function(e, d){ + if (d) { + if (d === 'true') { + galleryActive = true; + } else if (d === 'false') { + galleryActive = false; + } + } + }) + .on('showControls', function(e){ + showControls = true; + getObject.onShowControls(); + }) + .on('hideControls', function(e){ + showControls = false; + getObject.onHideControls(); + }) + .on('toggleControls', function(e, d){ + if (d) { + if (d === 'true') { + object.trigger('showControls'); + } else if (d === 'false') { + object.trigger('hideControls'); + } + } + }) + .on('click', function(){ + if (getObject.hideControlsOnClick) + object.trigger('toggleControls', (showControls=!showControls).toString()); + }) + + if ($.fn.swipe) { + object + .swipe({ + swipeLeft:function(event, direction, distance, duration, fingerCount) { + galleryActive && clickNext(); + }, + swipeRight:function(event, direction, distance, duration, fingerCount) { + galleryActive && clickPrev(); + } + }); + } + + if (getObject.showOnInit) { + object.trigger('showGallery'); + } else { + reset(); + } + } + + // keyboard listeners + function keyboardEvent(e){ + if (galleryActive) { + if (e.keyCode == 37) { clickPrev(); } + else if (e.keyCode == 39) { clickNext(); } + } + } + + // reset couters and remove active class from pagination + function resetCounters(){ + currImg = prevImg = -1; + $(getObject.paginationItem, getObject.pagination).removeClass('active'); + } + + // reset actions + function reset () { + var img = $(getObject.imageHolder).find(getObject.frontClass + ' img, '+getObject.backClass + ' img'); + img.length && img.attr('src', '').css('visibility', 'hidden'); + resetCounters(); + } + + // mouse move actions + function init_mouse_move(){ + /* mouse move actions */ + var currTop = 0; + if (!getObject.mobile) { + getObject.imageHolder + .on('mousemove', function(e){ + if (!galleryActive) { return false; } + currTop = e.pageY * ($('.frontImg>img, .backImg>img').height()-win.height()) / win.height(); + $('.frontImg, .backImg', getObject.imageHolder).stop().animate({'scrollTop': currTop}, 1500); + }); + /* end mouse move */ + } else { + if ($.fn.swipe) { + getObject.imageHolder + .find('.frontImg, .backImg') + .swipe({ + swipe:function(event, direction, distance, duration, fingerCount) { + if (direction == 'down') { + currTop -= distance; + } else if (direction == 'up'){ + currTop += distance; + } + var h = $('.frontImg>img, .backImg>img').height(); + currTop = (currTop > h) ? h : currTop; + currTop = (currTop < 0) ? 0 : currTop; + $('.frontImg, .backImg', getObject.imageHolder).stop().animate({'scrollTop': currTop}, 1500); + } + }); + } + } + } + + // function for go to element (number - parameter d) + function goTo(e, d, q){ + if (d){ + d = parseInt(d); + if (getObject.pagination && + getObject.pagination.find('a') && + getObject.pagination.find('a').eq(d)) { + getObject.pagination.find('a').eq(d).trigger('click', q); + } + } + } + + // show / hide description holder + function descriptionToggle(value){ + if (value){ + getObject.description.addClass(getObject.descriptionShowClass); + } else { + getObject.description.removeClass(getObject.descriptionShowClass); + } + } + + // change description + function descriptionChange(){ + description + .stop(true) + .removeClass(getObject.descriptionActiveClass) + .eq(currImg) + .addClass(getObject.descriptionActiveClass).end(); + descriptionResize(); + // .delay(500).queue(descriptionResize); + } + + function descriptionResize(){ + getObject.description.css('height', description.eq(currImg).outerHeight(true)); + } + + // next listener + function clickNext(e){ + if(loadComplete){ + getObject.autoPlayState = false; + prevImg = currImg; + currImg++; + if(currImg>allImg-1){ + currImg = 0; + } + dragDirection=1; + changeImageHandler(); + } + return false; + } + + // prev listener + function clickPrev(e){ + if(loadComplete){ + getObject.autoPlayState = false; + prevImg = currImg; + currImg--; + if(currImg<0){ + currImg = allImg-1; + } + dragDirection=-1; + changeImageHandler(); + } + return false; + } + + // pagination listener + function clickPagination(e, d){ + if (!mouseDrag) { + var index = $(this).parents(getObject.paginationItem).index(); + if((index !== currImg) && loadComplete){ + if (!galleryActive) { + object.trigger('showGallery'); + } + prevImg = currImg; + currImg = index; + + clearTimeout(autoPlayTimer); + getObject.autoPlayState = false; + + dragDirection = prevImg=allImg){ + currImg = 0; + } + changeImageHandler(); + } + }, getObject.autoPlayTime); + } + + // video initialize + function videoInit(){ + function imageHolderClick(e){ + video&&video[0].paused ? videoPlay() : videoPause(); + } + + image.stop(true).fadeIn(1200); + getObject.imageHolder + .removeClass('videoInside') + .off('click') + .find('video').remove().end() + .children('div').removeClass('videoShow'); + + video = null; + + getObject.pause.removeClass('showButton').off('click'); + getObject.play.removeClass('showButton').off('click'); + + // if video tag exist + if ($(getObject.paginationItem, getObject.pagination).eq(currImg).hasClass('video')){ + var videoArray = $(getObject.paginationItem, getObject.pagination).eq(currImg).find('a').attr('data-video-href'); + if (videoArray.length) videoArray = videoArray.split(','); + + getObject.imageHolder + .addClass('videoInside') + image + .after('
    here.'); + + getObject.play.addClass('showButton').on('click',videoPlay); + getObject.pause.on('click', videoPause); + getObject.imageHolder.on('click', imageHolderClick); + + video = getObject.imageHolder.find('video'); + } + } + + // video play + function videoPlay(e){ + getObject.autoPlayState = false; + + resizeElement(video); + + getObject.play.removeClass('showButton'); + getObject.pause.addClass('showButton'); + + descriptionToggle(false); + + image.stop(true).fadeOut(600, function(){ + video.stop(true).fadeIn(1200); + getObject.imageHolder.children(getObject.frontClass).addClass('videoShow'); + video[0].play(); + }); + return false; + } + + // video pause + function videoPause(e){ + getObject.play.addClass('showButton'); + getObject.pause.removeClass('showButton'); + + descriptionToggle(true); + + if (video&&video.length) { + video[0].pause(); + video.stop(true).fadeOut(600,function () { + getObject.imageHolder.children('div').removeClass('videoShow'); + image.stop(true).fadeIn(1200); + }); + } + return false; + } + + // video stop + function videoStop(e){ + videoPause(e); + getObject.play.removeClass('showButton'); + getObject.pause.removeClass('showButton'); + + return false; + } + + // function for getting container height + function windowH() { + var result; + if (getObject.container == window) { + result = ((getObject.container.height()>=parseInt($('body').css('minHeight')))?getObject.container.height():parseInt($('body').css('minHeight'))); + } else { + result = getObject.container.height(); + } + return result; + } + + // function for getting container width + function windowW() { + var result; + if (getObject.container == window) { + return ((getObject.container.width()>=parseInt($('body').css('minWidth')))?getObject.container.width():parseInt($('body').css('minWidth'))); + } else { + result = getObject.container.width(); + } + return result; + } + + // function for controlling resize element + function resizeElement(obj) { + if (obj.length) { + var imageWidth = obj.width(), + imageHeight = obj.height(), + screenWidth = windowW(), + screenHeight = windowH(), + imageCoef = imageHeight/imageWidth, + holderCoef = screenHeight/screenWidth, + imageDeltaX = 0, + imageDeltaY = 0; + + if (getObject.alignMode === 'fill') { + obj.css({'width': windowW(), 'height':"auto", 'position':"absolute", "max-width":"none"}); + imageWidth = obj.width(); + imageHeight = obj.height(); + + var alignIMG = obj.attr('data-image-align') ? obj.attr('data-image-align') : getObject.alignIMG, + imageScroll = obj.attr('data-image-scroll'); + + if (imageScroll === "enable") { + imageScroll = true; + alignIMG = 'top'; + obj.parent().css('overflow-y','visible'); + } else { + imageScroll = false; + obj.parent().css('overflow-y','hidden'); + } + + // imageCoef = imageHeight/imageWidth; + // holderCoef = screenHeight/screenWidth; + + obj.css({height: screenHeight, width:"auto"}); + if ((imageCoef > holderCoef) || ((imageScroll || getObject.mouseMove) && (screenHeight < imageHeight))){ + obj.css({height:"auto", width: screenWidth}); + } + + imageWidth = obj.width(); + imageHeight = obj.height(); + + switch(alignIMG){ + case "top": + imageDeltaX=-(imageWidth-screenWidth)*.5; + imageDeltaY=0; + break; + case "bottom": + imageDeltaX=-(imageWidth-screenWidth)*.5; + imageDeltaY=-(imageHeight-screenHeight); + break; + case "right": + imageDeltaX=-(imageWidth-screenWidth); + imageDeltaY=-(imageHeight-screenHeight)*.5; + break; + case "left": + imageDeltaX=0; + imageDeltaY=-(imageHeight-screenHeight)*.5; + break; + case "top_left": + imageDeltaX=0; + imageDeltaY=0; + break; + case "top_right": + imageDeltaX=-(imageWidth-screenWidth); + imageDeltaY=0; + break; + case "bottom_right": + imageDeltaX=-(imageWidth-screenWidth); + imageDeltaY=-(imageWidth-screenHeight); + break; + case "bottom_left": + imageDeltaX=0; + imageDeltaY=-(imageHeight-screenHeight); + break; + default: + imageDeltaX=-(imageWidth-screenWidth)*.5; + imageDeltaY= -(imageHeight-screenHeight)*.5; + } + + if (!getObject.mouseMove) { + obj.css({'left':imageDeltaX, 'top':imageDeltaY}); + } else { + obj.css({'left':imageDeltaX}); + } + + } else if (getObject.alignMode === 'fit') { + if (imageCoef > holderCoef){ + obj.css({ width: 'auto', height: screenHeight }); + } else { + obj.css({ height: 'auto', width: screenWidth }); + } + + imageWidth = obj.width(); + imageHeight = obj.height(); + imageDeltaX = -(imageWidth-screenWidth)*.5; + imageDeltaY = -(imageHeight-screenHeight)*.5; + + obj.css({'position':"absolute", "max-width":"none", 'left':imageDeltaX, 'top':imageDeltaY}); + } + } + } + + // main function for controlling resize element + function resizeImageHandler(){ + descriptionResize(); + if (getObject.resizableContainer) { + getObject.container.css({ + 'width': win.width(), + 'height': win.height() + }); + } + image = $("img", getObject.imageHolder); + image.length&&image.each(function(ind, img){ + resizeElement($(img)); + }) + + video = $('video', getObject.imageHolder); + resizeElement(video); + } + + // function for controlling change image + function changeImageHandler(d){ + if (allImg > 1) { + // galleryActive = false; + getObject.spinner.addClass('spinnerShow'); + + $(getObject.pagination).each(function(){ + $(this).find(getObject.paginationItem) + .eq(currImg) + .addClass("active").end() + .eq(prevImg).removeClass("active"); + }); + + loadComplete = false; + + image = $("img", getObject.imageHolder); + + var imgSRC = imageSRCLink.eq(currImg).attr("href"), + alignIMG = imageSRCLink.eq(currImg).attr("data-image-align"), + imageScroll = imageSRCLink.eq(currImg).attr("data-image-scroll"); + alignIMG = alignIMG?'data-image-align="'+alignIMG+'"':""; + imageScroll = imageScroll?'data-image-scroll="'+imageScroll+'"':""; + + $(getObject.backClass, getObject.imageHolder) + .css({'display':'block'}) + .empty() + .append('') + .find('img') + .on("load", loadHandler); + + descriptionChange(); + descriptionToggle(true); + } + function loadHandler(){ + loadImageHandler(d); + } + } + + // function for controlling load image + function loadImageHandler(quickChange){ + getObject.onBeforeChange(); + getObject.imageHolder.addClass(getObject.animationClassSub); + resizeElement(getObject.imageHolder.find(getObject.backClass+'>img')); + resizeElement(getObject.imageHolder.find(getObject.frontClass+'>img')); + + var time = 1000; + if (quickChange === 'quick') { + time = 10; + getObject.container.addClass(getObject.noAnimationClass); + $(getObject.frontClass, getObject.imageHolder).empty().css({'zIndex':1, 'display':'none'}); + } + + setTimeout(function(){ + getObject.spinner.removeClass('spinnerShow'); + + // add or remove animation class + !getObject.imageHolder.hasClass(getObject.animationClass)?getObject.imageHolder.addClass(getObject.animationClass):getObject.imageHolder.removeClass(getObject.animationClass); + + if (msie9) { + getObject.imageHolder + .find(getObject.frontClass).stop(true).animate({'opacity':0}, time).end() + .find(getObject.backClass).css('opacity',0).stop(true, true).animate({'opacity':1}, time).end() + } + + getObject.imageHolder.find(getObject.backClass+">img") + .off("load", loadImageHandler); + + getObject.imageHolder + .stop(true,true) + .delay(getObject.animationSpeed*time) + .queue(onAnimateComplete); + + function onAnimateComplete(e){ + if (quickChange) { + getObject.container.removeClass(getObject.noAnimationClass); + } + var $this = $(this); + + $(getObject.frontClass, $this).empty().css({'zIndex':1, 'display':'none'}); + $(getObject.backClass, $this).css('zIndex',2); + + image = $(getObject.backClass + ' img', $this); + + $this.removeClass(getObject.animationClassSub); + + // swap classes + var tmp = getObject.backClass; + getObject.backClass = getObject.frontClass; + getObject.frontClass = tmp; + + // initialize video if exist + !getObject.mobile&&videoInit(); + + loadComplete = true; + // galleryActive = true; + autoPlayHandler(); + + getObject.onAfterChange(); + } + }, time) + } + } + } + + data?object=data:object.data({tmMultimediaGallery: getObject}); + typeof o=='object' && $.extend(getObject, o); + getObject.me || getObject.constructor(getObject.me=object); + }); + } +})(jQuery); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/tmMultimediaGallery_init.js b/templates/windowcleaning/site/gallery/js/tmMultimediaGallery_init.js new file mode 100644 index 0000000..7fb0b33 --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/tmMultimediaGallery_init.js @@ -0,0 +1,173 @@ +// initialize tmMultimediaGallery +var pathThumb = pathFull = ''; + +$(window).load(function(){ + var $spinner = $('.content-load-spinner'); + + // get file list + $('#content .inner').tmFileList({ + pathThumb: pathThumb, + pathFull: pathFull, + output: function(urlThumbList, urlFullList){ + buildPagination({urlThumb: urlThumbList, urlFull: urlFullList}); + } + }); + + // build pagination function + function buildPagination(urlList){ + // automatic build pagination for isotope + var $inner_1 = $('#content .inner'); + $inner_1 + .addClass('loading') + .tmPaginationGenerator({ + urlList: urlList, + // divWrapper: true, + anchorInnerHtml: '', + generateComplete: function($ul){ + }, + loadComplete: function($ul){ + // apply isotope for items + $ul.isotope({ + itemSelector : '#content .inner>div>div', + resizable: true, + layoutMode: 'masonry', + itemPositionDataEnabled: true + }); + + // remove spinner + setTimeout(function(){ + $spinner.fadeOut(600); + $inner_1.removeClass('loading'); + }, 400); + + // automatic build pagination for carousel + $('.galleryContainer .inner').tmPaginationGenerator({ + urlList: urlList, + anchorInnerHtml: '', + generateComplete: function($ul){ + // apply carousel items + + initFullGallery(); + + $('.carousel.inner').tmDraggablePagination({ + step: 50 + }); + } + }); + } + }); + } + + function initFullGallery(){ + var id = 0, + $gallery = $('.galleryHolder'), + $description = $('.galleryDescription li'); + + $gallery.tmMultimediaGallery({ + startIndex: 0, // initial postion for gallery + showOnInit: false, // show gallery after init + autoPlayState: false, // on/off autoplay + autoPlayTime: 12, // autoplay timeout + alignIMG:"center", // align of image (center, top, bottom, right, left, top_left, top_right, bottom_roght, bottom_left) + alignMode: 'fit', // mode of align 'fill' or 'fit' + controlDisplay: true, // on/off controls display + paginationDisplay: true, // on/off pagination display + animationSpeed:'0.7', // speed of animation + mobile: false, // if mobile + resizableContainer: true, // change the size of the container on the size of the window + container: '.galleryContainer', // container of gallery (window or other DOM element) + imageHolder: '.imageHolder', // imageHolder selector + pagination: '.inner', // pagination selector + paginationItem: '.item', // pagination item selector + outerPagination: true, // outer pagination + description: '.galleryDescription', // description selector + descriptionActiveClass: '.active', // active class for current description item + descriptionShowClass: '.showDescription', // show class for description holder + outerNavigation: false, // outer navigation + mouseMove: false, // mouse move reaction of image + next: '.nextButton', // next button selector + prev: '.prevButton', // prev button selector + play: '.playButton', // play button selector + pause: '.pauseButton', // pause button selector + spinner: '.imgSpinner', // prev button selector + backClass: '.backImg', // back class + frontClass: '.frontImg', // front class + animationClass: 'flip', // class for main animation + animationClassSub: 'scale', // class for secondary animation + noAnimationClass: '.animationDisable', // class for quick image changing + onShowActions: function(){ + id = setTimeout(function(){ + // $('#inner').removeClass('hideFromScreen'); + $gallery.trigger('showControls'); + + $(window).trigger('resize'); + }, 2000); + }, + onHideActions: function(){ + clearTimeout(id); + // $('#inner').addClass('hideFromScreen'); + $gallery.trigger('hideControls'); + }, + onBeforeChange: function(){ + }, + onAfterChange: function(){ + }, + onHideControls: function(){ + $('.prevButton, .nextButton, .close-icon, .info-icon, .gallery_nav, .prev, .next').removeClass('showButton'); + $('.galleryDescription').removeClass('show'); + $('.carousel-holder').removeClass('show'); + }, + onShowControls: function(){ + $('.prevButton, .nextButton, .close-icon, .gallery_nav, .prev, .next').addClass('showButton'); + if ($description.length) { + $('.info-icon').addClass('showButton'); + } + $('.carousel-holder').addClass('show'); + } + }); + + // click function for close button + $('.close-icon').click(function(){ + $gallery.trigger('hideGallery'); + return false; + }); + $(document).keyup(function(e){ + if(e.keyCode === 27) + $gallery.trigger('hideGallery'); + return false; + }); + + // click function for info button + if ($description.length) { + $('.info-icon').on('click', function(){ + $(this).removeClass('showButton'); + $('.galleryDescription').addClass('show'); + return false; + }); + + // click function for close-details button + $('.close-info-icon').on('click', function(){ + $('.info-icon').addClass('showButton'); + $('.galleryDescription').removeClass('show'); + return false; + }); + } + } +}); +$(function(){ +// IPad/IPhone + var viewportmeta = document.querySelector && document.querySelector('meta[name="viewport"]'), + ua = navigator.userAgent, + + gestureStart = function () { + viewportmeta.content = "width=device-width, minimum-scale=0.25, maximum-scale=1.6, initial-scale=1.0"; + }, + + scaleFix = function () { + if (viewportmeta && /iPhone|iPad/.test(ua) && !/Opera Mini/.test(ua)) { + viewportmeta.content = "width=device-width, minimum-scale=1.0, maximum-scale=1.0"; + document.addEventListener("gesturestart", gestureStart, false); + } + }; + scaleFix(); +}); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/js/tmPaginationGenerator.js b/templates/windowcleaning/site/gallery/js/tmPaginationGenerator.js new file mode 100644 index 0000000..f5957bd --- /dev/null +++ b/templates/windowcleaning/site/gallery/js/tmPaginationGenerator.js @@ -0,0 +1,59 @@ +/* +* Plugin for pagination generation for tmMultimediaGallery +*Version: 1.0; +*Author: Smart; +*/ + +(function($){ + $.fn.tmPaginationGenerator = function(o){ + return this.each(function(){ + var $this = $(this), + data = $this.data('tmPaginationGenerator'), + options = { + urlList: {urlThumb: [], urlFull: []}, // url of images + divWrapper: false, // wrap all li in div + itemClass: 'item', // class for item + anchorInnerHtml: '', // class for hover hmtl in element + // constructor of plugin + constructor: function () { + if (!options.urlList.urlThumb.length || !options.urlList.urlFull.length) { + return false; + } + + $this + .empty() + .append('
    '); + + var length = Math.min(options.urlList.urlThumb.length, options.urlList.urlFull.length), + $ul = $this.find('>div'); + for (var i = 0; i < length; i++){ + var appendString = '
    '; + options.divWrapper && (appendString = '
    ' + appendString + '
    '); + $ul.append(appendString); + } + + options.generateComplete($ul); + + var images = $ul.find('img'), + counter = images.length; + images.on('load abort error', function(){ + --counter; + if(counter === 0) { + options.loadComplete($ul); + } + }) + }, + // function called when building html tree complete + generateComplete: function(ul){ + }, + // function called when loading images complete + loadComplete: function(ul){ + } + } + + data?$this=data:$this.data({tmPaginationGenerator: options}); + typeof o=='object' && $.extend(options, o); + options.me || options.constructor(options.me=$this); + }); + } +})(jQuery); \ No newline at end of file diff --git a/templates/windowcleaning/site/gallery/less/mixins.less b/templates/windowcleaning/site/gallery/less/mixins.less new file mode 100644 index 0000000..fc89db7 --- /dev/null +++ b/templates/windowcleaning/site/gallery/less/mixins.less @@ -0,0 +1,946 @@ +// Mixins +// -------------------------- + +.fa-icon-rotate(@degrees, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); + -webkit-transform: rotate(@degrees); + -moz-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); + -webkit-transform: scale(@horiz, @vert); + -moz-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + -o-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} +// +// Mixins +// -------------------------------------------------- + + +// Utilities +// ------------------------- + +// Clearfix +// Source: http://nicolasgallagher.com/micro-clearfix-hack/ +// +// For modern browsers +// 1. The space content is one way to avoid an Opera bug when the +// contenteditable attribute is included anywhere else in the document. +// Otherwise it causes space to appear at the top and bottom of elements +// that are clearfixed. +// 2. The use of `table` rather than `block` is only necessary if using +// `:before` to contain the top-margins of child elements. +.clearfix() { + &:before, + &:after { + content: " "; // 1 + display: table; // 2 + } + &:after { + clear: both; + } +} + +// WebKit-style focus +.tab-focus() { + // Default + outline: thin dotted; + // WebKit + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +// Center-align a block level element +.center-block() { + display: block; + margin-left: auto; + margin-right: auto; +} + +// Sizing shortcuts +.size(@width; @height) { + width: @width; + height: @height; +} +.square(@size) { + .size(@size; @size); +} + +// Placeholder text +.placeholder(@color: @input-color-placeholder) { + &:-moz-placeholder { color: @color; } // Firefox 4-18 + &::-moz-placeholder { color: @color; // Firefox 19+ + opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 + &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+ + &::-webkit-input-placeholder { color: @color; } // Safari and Chrome +} + +// Text overflow +// Requires inline-block or block for proper styling +.text-overflow() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +// CSS image replacement +// +// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for +// mixins being reused as classes with the same name, this doesn't hold up. As +// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. Note +// that we cannot chain the mixins together in Less, so they are repeated. +// +// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 + +// Deprecated as of v3.0.1 (will be removed in v4) +.hide-text() { + font: ~"0/0" a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +// New mixin to use as of v3.0.1 +.text-hide() { + .hide-text(); +} + + + +// CSS3 PROPERTIES +// -------------------------------------------------- + +// Single side border-radius +.border-top-radius(@radius) { + border-top-right-radius: @radius; + border-top-left-radius: @radius; +} +.border-right-radius(@radius) { + border-bottom-right-radius: @radius; + border-top-right-radius: @radius; +} +.border-bottom-radius(@radius) { + border-bottom-right-radius: @radius; + border-bottom-left-radius: @radius; +} +.border-left-radius(@radius) { + border-bottom-left-radius: @radius; + border-top-left-radius: @radius; +} + +// Drop shadows +// +// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's +// supported browsers that have box shadow capabilities now support the +// standard `box-shadow` property. +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1 + box-shadow: @shadow; +} + +// Transitions +.transition(@transition) { + -webkit-transition: @transition; + transition: @transition; +} +.transition-property(@transition-property) { + -webkit-transition-property: @transition-property; + transition-property: @transition-property; +} +.transition-delay(@transition-delay) { + -webkit-transition-delay: @transition-delay; + transition-delay: @transition-delay; +} +.transition-duration(@transition-duration) { + -webkit-transition-duration: @transition-duration; + transition-duration: @transition-duration; +} +.transition-transform(@transition) { + -webkit-transition: -webkit-transform @transition; + -moz-transition: -moz-transform @transition; + -o-transition: -o-transform @transition; + transition: transform @transition; +} + +// Transformations +.rotate(@degrees) { + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); // IE9 only + transform: rotate(@degrees); +} +.scale(@ratio; @ratio-y...) { + -webkit-transform: scale(@ratio, @ratio-y); + -ms-transform: scale(@ratio, @ratio-y); // IE9 only + transform: scale(@ratio, @ratio-y); +} +.translate(@x; @y) { + -webkit-transform: translate(@x, @y); + -ms-transform: translate(@x, @y); // IE9 only + transform: translate(@x, @y); +} +.skew(@x; @y) { + -webkit-transform: skew(@x, @y); + -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ + transform: skew(@x, @y); +} +.translate3d(@x; @y; @z) { + -webkit-transform: translate3d(@x, @y, @z); + transform: translate3d(@x, @y, @z); +} + +.rotateX(@degrees) { + -webkit-transform: rotateX(@degrees); + -ms-transform: rotateX(@degrees); // IE9 only + transform: rotateX(@degrees); +} +.rotateY(@degrees) { + -webkit-transform: rotateY(@degrees); + -ms-transform: rotateY(@degrees); // IE9 only + transform: rotateY(@degrees); +} +.perspective(@perspective) { + -webkit-perspective: @perspective; + -moz-perspective: @perspective; + perspective: @perspective; +} +.perspective-origin(@perspective) { + -webkit-perspective-origin: @perspective; + -moz-perspective-origin: @perspective; + perspective-origin: @perspective; +} +.transform-origin(@origin) { + -webkit-transform-origin: @origin; + -moz-transform-origin: @origin; + -ms-transform-origin: @origin; // IE9 only + transform-origin: @origin; +} + +// Animations +.animation(@animation) { + -webkit-animation: @animation; + animation: @animation; +} +.animation-name(@name) { + -webkit-animation-name: @name; + animation-name: @name; +} +.animation-duration(@duration) { + -webkit-animation-duration: @duration; + animation-duration: @duration; +} +.animation-timing-function(@timing-function) { + -webkit-animation-timing-function: @timing-function; + animation-timing-function: @timing-function; +} +.animation-delay(@delay) { + -webkit-animation-delay: @delay; + animation-delay: @delay; +} +.animation-iteration-count(@iteration-count) { + -webkit-animation-iteration-count: @iteration-count; + animation-iteration-count: @iteration-count; +} +.animation-direction(@direction) { + -webkit-animation-direction: @direction; + animation-direction: @direction; +} + +// Backface visibility +// Prevent browsers from flickering when using CSS 3D transforms. +// Default value is `visible`, but can be changed to `hidden` +.backface-visibility(@visibility){ + -webkit-backface-visibility: @visibility; + -moz-backface-visibility: @visibility; + backface-visibility: @visibility; +} + +// Box sizing +.box-sizing(@boxmodel) { + -webkit-box-sizing: @boxmodel; + -moz-box-sizing: @boxmodel; + box-sizing: @boxmodel; +} + +// User select +// For selecting text on the page +.user-select(@select) { + -webkit-user-select: @select; + -moz-user-select: @select; + -ms-user-select: @select; // IE10+ + -o-user-select: @select; + user-select: @select; +} + +// Resize anything +.resizable(@direction) { + resize: @direction; // Options: horizontal, vertical, both + overflow: auto; // Safari fix +} + +// CSS3 Content Columns +.content-columns(@column-count; @column-gap: @grid-gutter-width) { + -webkit-column-count: @column-count; + -moz-column-count: @column-count; + column-count: @column-count; + -webkit-column-gap: @column-gap; + -moz-column-gap: @column-gap; + column-gap: @column-gap; +} + +// Optional hyphenation +.hyphens(@mode: auto) { + word-wrap: break-word; + -webkit-hyphens: @mode; + -moz-hyphens: @mode; + -ms-hyphens: @mode; // IE10+ + -o-hyphens: @mode; + hyphens: @mode; +} + +// Opacity +.opacity(@opacity) { + opacity: @opacity; + // IE8 filter + @opacity-ie: (@opacity * 100); + filter: ~"alpha(opacity=@{opacity-ie})"; +} + + + +// GRADIENTS +// -------------------------------------------------- + +#gradient { + + // Horizontal gradient, from left to right + // + // Creates two color stops, start and end, by specifying a color and position for each color stop. + // Color stops are not available in IE9 and below. + .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { + background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1-6, Chrome 10+ + background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down + } + + // Vertical gradient, from top to bottom + // + // Creates two color stops, start and end, by specifying a color and position for each color stop. + // Color stops are not available in IE9 and below. + .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { + background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+ + background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down + } + + .directional(@start-color: #555; @end-color: #333; @deg: 45deg) { + background-repeat: repeat-x; + background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+ + background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + } + .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { + background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); + background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback + } + .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { + background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback + } + .radial(@inner-color: #555; @outer-color: #333) { + background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color); + background-image: radial-gradient(circle, @inner-color, @outer-color); + background-repeat: no-repeat; + } + .striped(@color: rgba(255,255,255,.15); @angle: 45deg) { + background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + } +} + +// Reset filters for IE +// +// When you need to remove a gradient background, do not forget to use this to reset +// the IE filter for IE9 and below. +.reset-filter() { + filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); +} + + + +// Retina images +// +// Short retina mixin for setting background-image and -size + +.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { + background-image: url("@{file-1x}"); + + @media + only screen and (-webkit-min-device-pixel-ratio: 2), + only screen and ( min--moz-device-pixel-ratio: 2), + only screen and ( -o-min-device-pixel-ratio: 2/1), + only screen and ( min-device-pixel-ratio: 2), + only screen and ( min-resolution: 192dpi), + only screen and ( min-resolution: 2dppx) { + background-image: url("@{file-2x}"); + background-size: @width-1x @height-1x; + } +} + + +// Responsive image +// +// Keep images from scaling beyond the width of their parents. + +.img-responsive(@display: block) { + display: @display; + max-width: 100%; // Part 1: Set a maximum relative to the parent + height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching +} + + +// COMPONENT MIXINS +// -------------------------------------------------- + +// Horizontal dividers +// ------------------------- +// Dividers (basically an hr) within dropdowns and nav lists +.nav-divider(@color: #e5e5e5) { + height: 1px; + margin: ((@line-height-computed / 2) - 1) 0; + overflow: hidden; + background-color: @color; +} + +// Panels +// ------------------------- +.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { + border-color: @border; + + & > .panel-heading { + color: @heading-text-color; + background-color: @heading-bg-color; + border-color: @heading-border; + + + .panel-collapse .panel-body { + border-top-color: @border; + } + } + & > .panel-footer { + + .panel-collapse .panel-body { + border-bottom-color: @border; + } + } +} + +// Alerts +// ------------------------- +.alert-variant(@background; @border; @text-color) { + background-color: @background; + border-color: @border; + color: @text-color; + + hr { + border-top-color: darken(@border, 5%); + } + .alert-link { + color: darken(@text-color, 10%); + } +} + +// Tables +// ------------------------- +.table-row-variant(@state; @background) { + // Exact selectors below required to override `.table-striped` and prevent + // inheritance to nested tables. + .table > thead > tr, + .table > tbody > tr, + .table > tfoot > tr { + > td.@{state}, + > th.@{state}, + &.@{state} > td, + &.@{state} > th { + background-color: @background; + } + } + + // Hover states for `.table-hover` + // Note: this is not available for cells or rows within `thead` or `tfoot`. + .table-hover > tbody > tr { + > td.@{state}:hover, + > th.@{state}:hover, + &.@{state}:hover > td, + &.@{state}:hover > th { + background-color: darken(@background, 5%); + } + } +} + +// List Groups +// ------------------------- +.list-group-item-variant(@state; @background; @color) { + .list-group-item-@{state} { + color: @color; + background-color: @background; + + a& { + color: @color; + + .list-group-item-heading { color: inherit; } + + &:hover, + &:focus { + color: @color; + background-color: darken(@background, 5%); + } + &.active, + &.active:hover, + &.active:focus { + color: #fff; + background-color: @color; + border-color: @color; + } + } + } +} + +// Button variants +// ------------------------- +// Easily pump out default styles, as well as :hover, :focus, :active, +// and disabled options for all buttons +.button-variant(@color; @background; @border) { + color: @color; + background-color: @background; + border-color: @border; + + &:hover, + &:focus, + &:active, + &.active, + .open .dropdown-toggle& { + color: @color; + background-color: darken(@background, 8%); + border-color: darken(@border, 12%); + } + &:active, + &.active, + .open .dropdown-toggle& { + background-image: none; + } + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &:active, + &.active { + background-color: @background; + border-color: @border; + } + } + + .badge { + color: @background; + background-color: @color; + } +} + +// Button sizes +// ------------------------- +.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { + padding: @padding-vertical @padding-horizontal; + font-size: @font-size; + line-height: @line-height; + border-radius: @border-radius; +} + +// Pagination +// ------------------------- +.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) { + > li { + > a, + > span { + padding: @padding-vertical @padding-horizontal; + font-size: @font-size; + } + &:first-child { + > a, + > span { + .border-left-radius(@border-radius); + } + } + &:last-child { + > a, + > span { + .border-right-radius(@border-radius); + } + } + } +} + +// Labels +// ------------------------- +.label-variant(@color) { + background-color: @color; + &[href] { + &:hover, + &:focus { + background-color: darken(@color, 10%); + } + } +} + +// Contextual backgrounds +// ------------------------- +.bg-variant(@color) { + background-color: @color; + a&:hover { + background-color: darken(@color, 10%); + } +} + +// Typography +// ------------------------- +.text-emphasis-variant(@color) { + color: @color; + a&:hover { + color: darken(@color, 10%); + } +} + +// Navbar vertical align +// ------------------------- +// Vertically center elements in the navbar. +// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. +.navbar-vertical-align(@element-height) { + margin-top: ((@navbar-height - @element-height) / 2); + margin-bottom: ((@navbar-height - @element-height) / 2); +} + +// Progress bars +// ------------------------- +.progress-bar-variant(@color) { + background-color: @color; + .progress-striped & { + #gradient > .striped(); + } +} + +// Responsive utilities +// ------------------------- +// More easily include all the states for responsive-utilities.less. +.responsive-visibility() { + display: block !important; + table& { display: table; } + tr& { display: table-row !important; } + th&, + td& { display: table-cell !important; } +} + +.responsive-invisibility() { + &, + tr&, + th&, + td& { display: none !important; } +} + + +// Grid System +// ----------- + +// Centered container element +.container-fixed() { + margin-right: auto; + margin-left: auto; + padding-left: (@grid-gutter-width / 2); + padding-right: (@grid-gutter-width / 2); + &:extend(.clearfix all); +} + +// Creates a wrapper for a series of columns +.make-row(@gutter: @grid-gutter-width) { + margin-left: (@gutter / -2); + margin-right: (@gutter / -2); + &:extend(.clearfix all); +} + +// Generate the extra small columns +.make-xs-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + float: left; + width: percentage((@columns / @grid-columns)); + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); +} +.make-xs-column-offset(@columns) { + @media (min-width: @screen-xs-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-xs-column-push(@columns) { + @media (min-width: @screen-xs-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-xs-column-pull(@columns) { + @media (min-width: @screen-xs-min) { + right: percentage((@columns / @grid-columns)); + } +} + + +// Generate the small columns +.make-sm-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-sm-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-offset(@columns) { + @media (min-width: @screen-sm-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-push(@columns) { + @media (min-width: @screen-sm-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-pull(@columns) { + @media (min-width: @screen-sm-min) { + right: percentage((@columns / @grid-columns)); + } +} + + +// Generate the medium columns +.make-md-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-md-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-md-column-offset(@columns) { + @media (min-width: @screen-md-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-push(@columns) { + @media (min-width: @screen-md-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-pull(@columns) { + @media (min-width: @screen-md-min) { + right: percentage((@columns / @grid-columns)); + } +} + + +// Generate the large columns +.make-lg-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-lg-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-offset(@columns) { + @media (min-width: @screen-lg-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-push(@columns) { + @media (min-width: @screen-lg-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-pull(@columns) { + @media (min-width: @screen-lg-min) { + right: percentage((@columns / @grid-columns)); + } +} + + +// Framework grid generation +// +// Used only by Bootstrap to generate the correct number of grid classes given +// any value of `@grid-columns`. + +.make-grid-columns() { + // Common styles for all sizes of grid columns, widths 1-12 + .col(@index) when (@index = 1) { // initial + @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; + .col((@index + 1), @item); + } + .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo + @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; + .col((@index + 1), ~"@{list}, @{item}"); + } + .col(@index, @list) when (@index > @grid-columns) { // terminal + @{list} { + position: relative; + // Prevent columns from collapsing when empty + min-height: 1px; + // Inner gutter via padding + padding-left: (@grid-gutter-width / 2); + padding-right: (@grid-gutter-width / 2); + } + } + .col(1); // kickstart it +} + +.make-grid-columns-float(@class) { + .col(@index) when (@index = 1) { // initial + @item: ~".col-@{class}-@{index}"; + .col((@index + 1), @item); + } + .col(@index, @list) when (@index =< @grid-columns) { // general + @item: ~".col-@{class}-@{index}"; + .col((@index + 1), ~"@{list}, @{item}"); + } + .col(@index, @list) when (@index > @grid-columns) { // terminal + @{list} { + float: left; + } + } + .col(1); // kickstart it +} + +.calc-grid(@index, @class, @type) when (@type = width) and (@index > 0) { + .col-@{class}-@{index} { + width: percentage((@index / @grid-columns)); + } +} +.calc-grid(@index, @class, @type) when (@type = push) { + .col-@{class}-push-@{index} { + left: percentage((@index / @grid-columns)); + } +} +.calc-grid(@index, @class, @type) when (@type = pull) { + .col-@{class}-pull-@{index} { + right: percentage((@index / @grid-columns)); + } +} +.calc-grid(@index, @class, @type) when (@type = offset) { + .col-@{class}-offset-@{index} { + margin-left: percentage((@index / @grid-columns)); + } +} + +// Basic looping in LESS +.make-grid(@index, @class, @type) when (@index >= 0) { + .calc-grid(@index, @class, @type); + // next iteration + .make-grid((@index - 1), @class, @type); +} + + +// Form validation states +// +// Used in forms.less to generate the form validation CSS for warnings, errors, +// and successes. + +.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) { + // Color the label and help text + .help-block, + .control-label, + .radio, + .checkbox, + .radio-inline, + .checkbox-inline { + color: @text-color; + } + // Set the border and box shadow on specific inputs to match + .form-control { + border-color: @border-color; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work + &:focus { + border-color: darken(@border-color, 10%); + @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%); + .box-shadow(@shadow); + } + } + // Set validation states also for addons + .input-group-addon { + color: @text-color; + border-color: @border-color; + background-color: @background-color; + } + // Optional feedback icon + .form-control-feedback { + color: @text-color; + } +} + +// Form control focus state +// +// Generate a customized focus state and for any input with the specified color, +// which defaults to the `@input-focus-border` variable. +// +// We highly encourage you to not customize the default value, but instead use +// this to tweak colors on an as-needed basis. This aesthetic change is based on +// WebKit's default styles, but applicable to a wider range of browsers. Its +// usability and accessibility should be taken into account with any change. +// +// Example usage: change the default blue border and shadow to white for better +// contrast against a dark gray background. + +.form-control-focus(@color: @input-border-focus) { + @color-rgba: rgba(red(@color), green(@color), blue(@color), .6); + &:focus { + border-color: @color; + outline: 0; + .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}"); + } +} + +// Form control sizing +// +// Relative text size, padding, and border-radii changes for form controls. For +// horizontal sizing, wrap controls in the predefined grid classes. ` + *This field is required. + *This is not a valid name. + + + +
    +
    + +
    +
    + +
    +
    + + + +
    + + Send +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/windowcleaning/site/js/PIE.htc b/templates/windowcleaning/site/js/PIE.htc new file mode 100644 index 0000000..00b6383 --- /dev/null +++ b/templates/windowcleaning/site/js/PIE.htc @@ -0,0 +1,96 @@ + + + + + + + + + diff --git a/templates/windowcleaning/site/js/PIE.php b/templates/windowcleaning/site/js/PIE.php new file mode 100644 index 0000000..58a6f0a --- /dev/null +++ b/templates/windowcleaning/site/js/PIE.php @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/templates/windowcleaning/site/js/TMForm.js b/templates/windowcleaning/site/js/TMForm.js new file mode 100644 index 0000000..f935355 --- /dev/null +++ b/templates/windowcleaning/site/js/TMForm.js @@ -0,0 +1,344 @@ +//TMForm 1.0.1 +$(window).load(function(){ + $('#contact-form').TMForm({ + recaptchaPublicKey:'6LeZwukSAAAAAG8HbIAE0XeNvCon_cXThgu9afkj' + }) +}) + +;(function($){ + $.fn.TMForm=function(opt){ + return this.each(TMForm) + + function TMForm(){ + var form=$(this) + opt=$.extend({ + okClass:'ok' + ,emptyClass:'empty' + ,invalidClass:'invalid' + ,successClass:'success' + ,responseErrorClass:'response-error' + ,responseMessageClass:'response-message' + ,processingClass:'processing' + ,onceVerifiedClass:'once-verified' + ,mailHandlerURL:'bat/MailHandler.php' + ,successShowDelay:'4000' + ,stripHTML:true + ,recaptchaPublicKey:'' + ,capchaTheme:'clean' + },opt) + + init() + + function init(){ + form + .on('submit',formSubmit) + .on('reset',formReset) + .on('focus','[data-constraints]',function(){ + $(this).parents('label').removeClass(opt.emptyClass) + }) + .on('blur','[data-constraints]:not(.once-verified)',function(){ + $(this) + .addClass(opt.onceVerifiedClass) + .trigger('validate.form') + }) + .on('keyup','[data-constraints].once-verified',function(){ + $(this).trigger('validate.form') + }) + .on('keydown','input',function(e){ + var $this=$(this) + ,next=$this.parents('label').next('label').find('input,textarea') + if(e.keyCode===13) + if(next.length) + next.focus() + else + form.submit() + }) + .on('keydown','textarea',function(e){ + if(e.keyCode===13&&e.ctrlKey) + $(this).parents('label').next('label').find('input,textarea').focus() + }) + .on('change','input[type="file"]',function(){ + $(this).parents('label').next('label').find('input,textarea').focus() + }) + .attr({ + method:'POST' + ,action:opt.mailHandlerURL + }) + + if($('[data-constraints]',form).length!==0) + $('[data-constraints]',form) + .regula('bind') + .on('show.placeholder',function(){ + fieldDesolation($(this)) + }) + .on('validate.form',fieldValidate) + + + $('[placeholder]',form).TMPlaceholder() + + $('[data-type=submit]',form) + .click(function(){ + form.trigger('submit') + return false + }) + + $('[data-type=reset]',form) + .click(function(){ + form.trigger('reset') + return false + }) + + if(opt.stripHTML) + form.append('') + + if($('label.recaptcha',form).length!==0&&window.Recaptcha) + showRecaptcha() + + } + + function fieldValidate(el){ + var el=$(this) + ,result=el.regula('validate') + ,isEmpty=false + ,isInvalid=false + ,isRequired=!!~el.data('constraints').indexOf('@Required') + + $.each(result,function(){ + if(this.constraintName==='Required') + isEmpty=true + else + isInvalid=true + }) + + if(!el.hasClass(opt.onceVerifiedClass)&&!isEmpty) + el.addClass(opt.onceVerifiedClass) + + if(isEmpty) + el.parents('label').addClass(opt.emptyClass) + + if(isInvalid&&!isEmpty&&isRequired) + el.parents('label') + .removeClass(opt.emptyClass) + .removeClass(opt.okClass) + .addClass(opt.invalidClass) + + if(isInvalid&&!isRequired&&el.val()) + el.parents('label') + .removeClass(opt.emptyClass) + .removeClass(opt.okClass) + .addClass(opt.invalidClass) + + if(!result.length) + el.parents('label') + .removeClass(opt.invalidClass) + .removeClass(opt.emptyClass) + .addClass(opt.okClass) + } + + function fieldDesolation(el){ + el + .removeClass(opt.onceVerifiedClass) + .parents('label') + .removeClass(opt.invalidClass) + .removeClass(opt.emptyClass) + .removeClass(opt.okClass) + } + + function getValue(el){ + return el.val()||false + } + + function formSubmit(){ + var $this=$(this) + ,modal=$('.'+opt.responseMessageClass) + ,responseMessage + + modal.on('hidden.bs.modal',function(){ + if(responseMessage!=='success') + $('#recaptcha_reload',form).click() + ,$('#recaptcha_response_field',form).focus() + }) + + $('[data-constraints]',form).trigger('validate.form') + + if($('#recaptcha_response_field',form).val()==='') + $('label.recaptcha',form).addClass(opt.emptyClass) + + if(!$('label.'+opt.invalidClass+',label.'+opt.emptyClass,form).length&&!form.hasClass(opt.processingClass)){ + form.addClass(opt.processingClass) + $this.ajaxSubmit(function(e,d,a,c){ + responseMessage=e + if(e=='success'){ + form + .removeClass(opt.processingClass) + .addClass(opt.successClass) + + modal.find('.modal-title').text('Success!') + modal.find('.modal-body').text('Your message has been successfully sent!') + + setTimeout(function(){ + form + .removeClass(opt.successClass) + .trigger('reset') + },opt.successShowDelay) + }else{ + modal.find('.modal-title').text('Error!') + modal.find('.modal-body').html(e) + + form + .removeClass(opt.processingClass) + .addClass(opt.responseErrorClass) + + $('#recaptcha_response_field',form).val('') + + setTimeout(function(){ + form + .removeClass(opt.responseErrorClass) + //.trigger('reset') + },opt.successShowDelay) + } + modal.modal({keyboard:true}) + }) + } + return false + } + + function formReset(){ + fieldDesolation($('[data-constraints]',form)) + } + + function showRecaptcha(){ + $('label.recaptcha',form) + .append('
    ') + + Recaptcha.create( + opt.recaptchaPublicKey + ,'captchadiv' + , { + theme:opt.capchaTheme + } + ) + + form + .on('focus','#recaptcha_response_field',function(){ + $(this).parents('label').removeClass(opt.emptyClass) + }) + } + } + } +})(jQuery) + +;(function($){ + $.fn.TMPlaceholder=function(opt){ + return this.each(function(){ + var th=$(this) + ,placeholder_text + ,placeholder + + opt=$.extend({ + placeholderClass:'_placeholder' + ,placeholderFocusedClass:'focused' + ,placeholderHiddenClass:'hidden' + },opt) + + init() + + function init(){ + placeholder_text=th.attr('placeholder') + placeholder=$(document.createElement('span')) + placeholder + .addClass(opt.placeholderClass) + .css({ + left:th.prop('offsetLeft') + ,top:th.prop('offsetTop') + ,width:th.width() + ,height:th.outerHeight() + }) + .text(placeholder_text) + .appendTo(th.parent()) + .click(function(){ + th.focus() + return false + }) + .on('contextmenu',function(){ + th.trigger('hide.placeholder').focus() + }) + + th + .val('') + .removeAttr('placeholder') + .on('hide.placeholder',function(){ + placeholder.addClass(opt.placeholderHiddenClass) + }) + .on('show.placeholder',function(){ + placeholder.removeClass(opt.placeholderHiddenClass) + }) + .on('focus',function(){ + placeholder.addClass(opt.placeholderFocusedClass) + }) + .on('blur',function(){ + var val=th.val() + if(val===''||val===placeholder_text) + th.val('') + ,th.trigger('show.placeholder') + placeholder.removeClass(opt.placeholderFocusedClass) + }) + .on('keydown',function(e){ + if(e.keyCode===32||e.keyCode>46) + th.trigger('hide.placeholder') + }) + .on('keyup',function(){ + if(th.val()===''){ + th.trigger('show.placeholder') + return false + }else{ + th.trigger('hide.placeholder') + } + }) + .parents('form').on('reset',function(){ + th.trigger('show.placeholder') + }) + } + }) + } +})(jQuery) +//using suggested jQuery practice by passing jQuery into a function +//in order to have $ notation without conflicting with other libraries +//Author: Troy Ingram +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(4(a){3(n j===\'4\'&&j.w){j([\'x\'],a)}e{a(r)}}(4(b){u $=b,7={9:4(a){3(2 d b){3(!a)a={};3(2.8().c>0){$.g(h,a,{i:2.8()})}}5.9(a);6 2},k:4(a){3(2 d b){3(!a)a={};3(2.8().c>0){$.g(h,a,{i:2.8()})}}5.k(a);6 2},p:4(a){3(2 d b){3(!a)a={};3(2.8().c>0){$.g(h,a,{i:2.8()})}}6 5.p(a)},q:4(a){5.q(a);6 2},m:4(a){5.m(a);6 2},s:4(a){5.s(a);6 2}};7.t=7.9;7.v=7.k;$.C.5=f;$.5=f;4 f(a){3(7[a]){6 7[a].l(2,y.z.A.B(o,1))}e 3(n a===\'D\'||!a){6 7.9.l(2,o)}e{$.E(\'F \'+a+\' G H I t r.5\')}}}));',45,45,'||this|if|function|regula|return|methods|get|bind|||length|instanceof|else|CallMethod|extend|true|elements|define|unbind|apply|compound|typeof|arguments|validate|custom|jQuery|override|on|var|off|amd|jquery|Array|prototype|slice|call|fn|object|error|Method|does|not|exist'.split('|'),0,{})) +/* + Regula: An annotation-based form-validation framework in Javascript + Version 1.2.4-SNAPSHOT + + Written By Vivin Paliath (http://vivin.net) + License: BSD License + + TODO: Add step validation to regula (like html5 step validation) + TODO: Add URL validation to regula (like html5 url validation) + Copyright (C) 2010-2012 + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('1a 1v={4S:1e(){},2h:1e(){},3A:1e(){},1t:1e(){},1u:1e(){},26:1e(){},2I:1e(){},37:{},4J:{},4I:{}},1v=1e(){1e G(){i={1U:{}}}1e t(a,b){1a c=H.4q;"1s"!==1n b.4l&&(c=!b.4l);1j!(N.2j(a)&&!c)}1e O(){1a a=!1;1b("2q"===1m.1R.1T()&&""!==1m.1E.1J(/\\s/g,""))1i(1a b=I(2n.4g,"2e","1E",1m.1E),c=0;c=2u(a.1z));1j b},1k:o.3u,1t:!1,1u:!1,1o:["1z"],1D:"{1N} 2D 1p 1A 5Y 4K 2m 4G 1p {1z}."},3d:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=""!=1m.1z.1J(/\\s/g,"")&&2u(1m.1z)<=2u(a.2Q)&&2u(1m.1z)>=2u(a.2S));1j b},1k:o.3d,1t:!1,1u:!1,1o:["2S","2Q"],1D:"{1N} 2D 1p 1A 4z {2S} 2k {2Q}."},3g:{1y:!1,1B:P,1k:o.3g,1t:!1,1u:!1,1o:[],1D:"{1N} 3E 1A 4y."},3f:{1y:!1,1B:N,1k:o.3f,1t:!1,1u:!1,1o:[],1D:"{1N} 2D 1p 1A 4y."},3e:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b="24"===1n a.2O?a.2O.1J(/^\\//,"").1J(/\\/$/,""):a.2O,b=("1s"!==1n a.3z?2G(b.3R().1J(/^\\//,"").1J(/\\/[^\\/]*$/,""),a.3z):2G(b)).25(1m.1z));1j b},1k:o.3e,1t:!1,1u:!1,1o:["2O"],1D:"{1N} 2D 1p 4v {2O}{3z}."},3q:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/[a-2s-9!#$%&\'*+/=?^2C`{|}~-]+(?:\\.[a-2s-9!#$%&\'*+/=?^2C`{|}~-]+)*@(?:[a-2s-9](?:[a-2s-9-]*[a-2s-9])?\\.)+[a-2s-9](?:[a-2s-9-]*[a-2s-9])?/i.25(1m.1z));1j b},1k:o.3q,1t:!1,1u:!1,1o:[],1D:"{1N} 1P 23 a 2J 66."},3h:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^[A-3H-z]+$/.25(1m.1z));1j b},1k:o.3h,1t:!1,1u:!1,1o:[],1D:"{1N} 3o 2a 3Z 5v."},3J:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^[0-9]+$/.25(1m.1z));1j b},1k:o.3J,1t:!1,1u:!1,1o:[],1D:"{1N} 3o 2a 3Z 5u."},3j:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^[0-4R-3H-z]+$/.25(1m.1z));1j b},1k:o.3j,1t:!1,1u:!1,1o:[],1D:"{1N} 3o 2a 3Z 5u 2k 5v."},3i:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^-?[0-9]+$/.25(1m.1z));1j b},1k:o.3i,1t:!1,1u:!1,1o:[],1D:"{1N} 29 1A 1S 2R."},3G:{1y:!1,1B:1e(a){1a b=!0;t(1m,a)&&(b=/^-?([0-9]+(\\.[0-9]+)?|\\.[0-9]+)$/.25(1m.1z));1j b},1k:o.3G,1t:!1,1u:!1,1o:[],1D:"{1N} 29 1A a 6a 32."},3r:{1y:!0,1B:1e(){1i(1a a=[],b=0;b<1m.1O.1g;b++){1a c=1m.1O[b];Q.2j(c)||a.1I(c)}1j a},1k:o.3r,1t:!1,1u:!1,1o:[],1D:"{1N} 29 1A 6b 6c."},3M:{1y:!0,1B:1e(a){1a b=[],c=2n.2K(a.5t),a=2n.2K(a.5o);c.1z!=a.1z&&(b=[c,a]);1j b},1k:o.3M,1t:!1,1u:!1,1o:["5t","5o"],1D:"5C 6g 23 4v."},3x:{1y:!1,1B:Q,1k:o.3x,1t:!1,1u:!1,1o:[],1D:"{1N} 1P 4e."},3B:{1y:!1,1B:1e(a){1j 1m.1z.1g>=a.2S&&1m.1z.1g<=a.2Q},1k:o.3B,1t:!1,1u:!1,1o:["2S","2Q"],1D:"{1N} 1g 29 1A 4z {2S} 2k {2Q}."},3s:{1y:!1,1B:1e(a){1a b=!0;1b(t(1m,a)){1a c=1m.1z.1J(/\\s/g,""),d=c.2H(/\\./),b=!1;0a.3P);1j b},1k:o.3w,1t:!1,1u:!1,1o:["3W"],1D:"{1N} 29 1A 1l 1w 6l."}},y={3L:1e(){},3n:1e(){},2x:1e(){},4N:1e(){},42:1e(){},43:1e(){}},46=1e(a){1i(1a b={2L:a.2L,1E:a.1E,1R:a.1R,22:[]},c=0;ce.5b.3R().59("2w"))1r"1v.1t 1K 1w 1o 1G 1l 1w 1L 1W 1p 1A 1S 2B";1b("24"!=1n a)1r"1v.1t 1K 1w 1D 1G 1l 1w 1L 1W 1p 1A a 24";1b(h[b])1r"4L 1P 4C a 1M 4p "+b+". 2v 2p 5p 1p 26 1m 1M, 5l 1v.26";o[b]=E;q[E++]=b;h[b]={1y:c,1B:d,1k:o[b],1t:!0,1u:!1,1o:e,1D:a}},1u:1e(a){1b(!a)1r"1v.1u 1K 1L";1a b=a.1E,c=a.1V||[],d=a.1y||!1,e=a.1D||"",f=a.1o||[],a="1s"===1n a.38?!1:a.38;1b(!b)1r"1v.1u 1K a 1E 1G 1l 1w 1L 1W";1b("24"!=1n b)1r"1v.1u 1K 1E 1p 1A a 24 2g";1b(0>f.5b.3R().59("2w"))1r"1v.1u 1K 1w 1o 1G 1l 1w 1L 1W 1p 1A 1S 2B";1b(0==c.1g)1r"1v.1u 1K 1S 2B 3m 3Q 1V 5e a 1V 1G 1l 1w 1L 1W";1b(h[b])1r"1v.1u: 4L 1P 4C a 1M 4p "+b+". 2v 2p 5p 1p 26 1m 1M, 5l 1v.26";Y(b,c,f);o[b]=E;q[E++]=b;h[b]={1y:d,1k:o[b],1t:!0,1u:!0,1o:f,38:a,2N:c,1D:e,1B:5m};X(b,c)},26:1e(a){1b(!a)1r"1v.26 1K 1L";1b("1s"===1n a.1k)1r"1v.26 1K a 2J 1k 1G 1l 1w 1L 1W";1a b=q[a.1k];1b("1s"===1n b)1r"1v.26: I 6N 23 3K 1w 3F 1M. 6O 1Z 3N 23 2P 5g? 5q 5r: "+r(a);1a c=h[b].1y;h[b].1t&&(c="1s"===1n a.1y?h[b].1y:a.1y);1a d=h[b].1t&&!h[b].1u?a.1B||h[b].1B:h[b].1B,e=h[b].1t?a.1o||h[b].1o:h[b].1o,f=a.1D||h[b].1D,i=h[b].1u,m=a.1V||h[b].1V;1b("2T"!=1n c)1r"1v.26 1K 1w 1y 1G 1l 1w 1L 1W 1p 1A a 2T";1b("1e"!=1n d)1r"1v.26 1K 1w 1B 1G 1l 1w 1L 1W 1p 1A a 1e";1b(!(e 2V 2w))1r"1v.26 1K 1w 1o 1G 1l 1w 1L 1W 1p 1A 1S 2B";1b("24"!=1n f)1r"1v.26 1K 1w 1D 1G 1l 1w 1L 1W 1p 1A a 24";1b(i){Y(b,m,e);1a j=y.43();X(b,m);a=y.2x(y.3n(a.1k));1b(a.2x)1r y.42(j),"1v.26: 2r 6P 3Q-1V 2p 2f 3F 2f 6Q a 6R 6S: "+a.4f;}h[b]={1y:c,1k:o[b],1t:!0,1u:i,1o:e,2N:m,1D:f,1B:d}},37:o,4J:v,4I:{3U:"3U",3T:"3T",44:"44"}}}();',62,427,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||var|if|successful|message|function|data|length|null|for|return|constraintType|in|this|typeof|params|to|else|throw|undefined|custom|compound|regula|the|groups|formSpecific|value|be|validator|shift|defaultMessage|name|hasOwnProperty|attribute|id|push|replace|expects|options|constraint|label|elements|is|group|type|an|toLowerCase|Default|constraints|argument|elementId|element|it|||children|not|string|test|override|Invalid|form|must|only|select|__size__|tagName|input|have|parameter|bind|with|call|and|charAt|or|document|provided|you|radio|The|z0|Not|parseFloat|If|Array|cycleExists|textarea|bound|delete|array|_|needs|unshift|character|RegExp|split|validate|valid|getElementById|visited|definition|composingConstraints|regex|been|max|integer|min|boolean|independent|instanceof|are|Year|checkbox|starting|Can|include|number|error|any|failingElements|Selected|Constraint|reportAsSingleViolation|composingConstraintViolations|Checked|fraction|Month|Range|Pattern|Blank|NotBlank|Alpha|Integer|AlphaNumeric|list|Day|of|getNodeByType|can|but|Email|CompletelyFilled|Digits|Past|Min|Max|Future|Required|Element|flags|unbind|Length|Undefined|No|cannot|specified|Real|Za|trying|Numeric|find|addNode|PasswordsMatch|has|You|dateToTestAgainst|composing|toString|getAttribute|MDY|DMY|was|format|new|Date|contain|aa|text|setRoot|clone|YMD|dateToValidate|ca|button|empty|does|expected|constraintPassed|ba|Parameter|required|path|body|checked|void|removeChildren|regular|ignoreEmpty|expression|true|that|called|validateEmptyFields|Validation|Cannot|attached|arguments|match|Math|matching|blank|between|closing|fa|already|non|z_|after|equal|ga|DateFormat|Group|than|There|following|getRoot|box|constraintParameters|password|9A|configure|ha|ia|digits|ja|ka|separator|la|ma|substring|na|oa|Between|date|Matches|selectedIndex|Empty|indexOf|NotEmpty|constructor|found|IsAlpha|under|applicable|defined|IsNumeric|msg|ea|IsAlphaNumeric|use|da|all|field2|wish|Function|received|need|field1|numbers|letters|constraintName|Unterminated|literal|quoted|In|callee|Passwords|debug|hasn|__dontcare__|111|110|101|100|011|010|001|000|area|field|strings|enums|each|selected|overwriteParameters|lesser|overwriteConstraint|unexpected|greater|HTMLElement|nodeType|random|1E6|floor|generated|no|email|start|definitions|before|real|completely|filled|define|Unexpected|getElementsByTagName|do|up|digit|fractional|past|future|positive|parentheses|unmatched|might|false|negative|identifier|pop|missing|RootNode|still|parameters|optional|some|failed|requires|seem|However|concat|accept|least|at|boxes|nor|neither|buttons|checkboxes|could|Perhaps|overriding|created|cyclic|composition'.split('|'),0,{})); +/*! + * jQuery Form Plugin + * version: 3.50.0-2014.02.05 + * Requires jQuery v1.5 or later + * Copyright (c) 2013 M. Alsup + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses. + * https://github.com/malsup/form#copyright-and-license + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6(a){"3o 3p";3(1d 2E===\'6\'&&2E.4y){2E([\'2F\'],a)}R{a((1d(3q)!=\'1b\')?3q:1e.4z)}}(6($){"3o 3p";4 P={};P.2G=$("<1l S=\'2e\'/>").1T(0).3r!==1b;P.3s=1e.3t!==1b;4 Q=!!$.12.2H;$.12.1F=6(){3(!Q){8 5.1g.1G(5,24)}4 a=5.2H.1G(5,24);3((a&&a.2F)||1d a===\'2f\'){8 a}8 5.1g.1G(5,24)};$.12.1n=6(y){3(!5.Y){Z(\'1n: 4A 16 4B - 4C 4D 25\');8 5}4 z,1t,19,$9=5;3(1d y==\'6\'){y={1c:y}}R 3(y===1b){y={}}z=y.S||5.1F(\'3u\');1t=y.19||5.1F(\'1t\');19=(1d 1t===\'2f\')?$.4E(1t):\'\';19=19||1e.2I.2J||\'\';3(19){19=(19.4F(/^([^#]+)/)||[])[1]}y=$.2K(1j,{19:19,1c:$.1U.1c,S:z||$.1U.S,26:/^4G/i.1u(1e.2I.2J||\'\')?\'3v:18\':\'4H:4I\'},y);4 A={};5.1h(\'9-2L-3w\',[5,y,A]);3(A.3x){Z(\'1n: 16 3y 2g 9-2L-3w 1h\');8 5}3(y.2M&&y.2M(5,y)===18){Z(\'1n: 16 1o 2g 2M 2N\');8 5}4 B=y.2O;3(B===1b){B=$.1U.2O}4 C=[];4 D,a=5.2P(y.4J,C);3(y.1a){y.11=y.1a;D=$.1V(y.1a,B)}3(y.2Q&&y.2Q(a,5,y)===18){Z(\'1n: 16 1o 2g 2Q 2N\');8 5}5.1h(\'9-16-3z\',[a,5,y,A]);3(A.3x){Z(\'1n: 16 3y 2g 9-16-3z 1h\');8 5}4 q=$.1V(a,B);3(D){q=(q?(q+\'&\'+D):D)}3(y.S.4K()==\'4L\'){y.19+=(y.19.2h(\'?\')>=0?\'&\':\'?\')+q;y.1a=13}R{y.1a=q}4 E=[];3(y.2R){E.W(6(){$9.2R()})}3(y.2S){E.W(6(){$9.2S(y.4M)})}3(!y.27&&y.1v){4 F=y.1c||6(){};E.W(6(a){4 b=y.4N?\'3A\':\'4O\';$(y.1v)[b](a).1H(F,24)})}R 3(y.1c){E.W(y.1c)}y.1c=6(a,b,c){4 d=y.1i||5;1f(4 i=0,1p=E.Y;i<1p;i++){E[i].1G(d,[a,b,c||$9,$9])}};3(y.17){4 G=y.17;y.17=6(a,b,c){4 d=y.1i||5;G.1G(d,[a,b,c,$9])}}3(y.1I){4 H=y.1I;y.1I=6(a,b){4 c=y.1i||5;H.1G(c,[a,b,$9])}}4 I=$(\'1l[S=2e]:4P\',5).4Q(6(){8 $(5).1J()!==\'\'});4 J=I.Y>0;4 K=\'2i/9-1a\';4 L=($9.1g(\'2j\')==K||$9.1g(\'2T\')==K);4 M=P.2G&&P.3s;Z("4R :"+M);4 N=(J||L)&&!M;4 O;3(y.28!==18&&(y.28||N)){3(y.3B){$.1T(y.3B,6(){O=2U(a)})}R{O=2U(a)}}R 3((J||L)&&M){O=3C(a)}R{O=$.3D(y)}$9.4S(\'3E\').1a(\'3E\',O);1f(4 k=0;k\');$V.59({3M:\'5a\',3P:\'-3Q\',3R:\'-3Q\'})}V=$V[0];7={1o:0,1q:13,1X:13,1k:0,1y:\'n/a\',5b:6(){},2X:6(){},5c:6(){},1x:6(a){4 e=(a===\'1z\'?\'1z\':\'1o\');Z(\'5d 2m... \'+e);5.1o=1;1A{3(V.29.1r.3S){V.29.1r.3S(\'5e\')}}1N(5f){}$V.1g(\'2W\',s.26);7.17=e;3(s.17){s.17.1w(s.1i,7,e,a)}3(g){$.1O.1h("3T",[7,s,e])}3(s.1I){s.1I.1w(s.1i,7,e)}}};g=s.3U;3(g&&0===$.2Y++){$.1O.1h("5g")}3(g){$.1O.1h("5h",[7,s])}3(s.2n&&s.2n.1w(s.1i,7,s)===18){3(s.3U){$.2Y--}m.2a();8 m}3(7.1o){m.2a();8 m}1L=l.1B;3(1L){n=1L.T;3(n&&!1L.1M){s.11=s.11||{};s.11[n]=1L.U;3(1L.S=="1Y"){s.11[n+\'.x\']=l.1P;s.11[n+\'.y\']=l.1Q}}}4 o=1;4 p=2;6 2Z(a){4 b=13;1A{3(a.29){b=a.29.1r}}1N(1m){Z(\'30 1T 28.29 1r: \'+1m)}3(b){8 b}1A{b=a.31?a.31:a.1r}1N(1m){Z(\'30 1T 28.31: \'+1m);b=a.1r}8 b}4 q=$(\'3V[T=3W-5i]\').1g(\'2q\');4 r=$(\'3V[T=3W-1V]\').1g(\'2q\');3(r&&q){s.11=s.11||{};s.11[r]=q}6 32(){4 t=$9.1F(\'1v\'),a=$9.1F(\'1t\'),K=\'2i/9-1a\',3X=$9.1g(\'2j\')||$9.1g(\'2T\')||K;l.1Z(\'1v\',1K);3(!z||/3Y/i.1u(z)){l.1Z(\'3u\',\'3J\')}3(a!=s.19){l.1Z(\'1t\',s.19)}3(!s.5j&&(!z||/3Y/i.1u(z))){$9.1g({2T:\'2i/9-1a\',2j:\'2i/9-1a\'})}3(s.1z){1W=1R(6(){2o=1j;1C(o)},s.1z)}6 33(){1A{4 a=2Z(V).5k;Z(\'5l = \'+a);3(a&&a.20()==\'5m\'){1R(33,50)}}1N(e){Z(\'5n 1x: \',e,\' (\',e.T,\')\');1C(p);3(1W){3Z(1W)}1W=1b}}4 b=[];1A{3(s.11){1f(4 n 5o s.11){3(s.11.34(n)){3($.5p(s.11[n])&&s.11[n].34(\'T\')&&s.11[n].34(\'U\')){b.W($(\'<1l S="35" T="\'+s.11[n].T+\'">\').1J(s.11[n].U).36(l)[0])}R{b.W($(\'<1l S="35" T="\'+n+\'">\').1J(s.11[n]).36(l)[0])}}}}3(!s.2p){$V.36(\'21\')}3(V.40){V.40(\'41\',1C)}R{V.3L(\'42\',1C,18)}1R(33,15);1A{l.16()}1N(1m){4 c=1r.5q(\'9\').16;c.1G(l)}}5r{l.1Z(\'1t\',a);l.1Z(\'2j\',3X);3(t){l.1Z(\'1v\',t)}R{$9.3O(\'1v\')}$(b).43()}}3(s.5s){32()}R{1R(32,10)}4 u,14,44=50,37;6 1C(e){3(7.1o||37){8}14=2Z(V);3(!14){Z(\'30 5t 5u 1r\');e=p}3(e===o&&7){7.1x(\'1z\');m.2a(7,\'1z\');8}R 3(e==p&&7){7.1x(\'45 1x\');m.2a(7,\'17\',\'45 1x\');8}3(!14||14.2I.2J==s.26){3(!2o){8}}3(V.46){V.46(\'41\',1C)}R{V.5v(\'42\',1C,18)}4 c=\'1c\',1D;1A{3(2o){5w\'1z\';}4 d=s.27==\'1s\'||14.38||$.5x(14);Z(\'5y=\'+d);3(!d&&1e.2r&&(14.21===13||!14.21.47)){3(--44){Z(\'5z 5A 2N, 39 3a 5B\');1R(1C,5C);8}}4 f=14.21?14.21:14.2s;7.1q=f?f.47:13;7.1X=14.38?14.38:14;3(d){s.27=\'1s\'}7.2X=6(a){4 b={\'2q-S\':s.27};8 b[a.20()]};3(f){7.1k=48(f.2t(\'1k\'))||7.1k;7.1y=f.2t(\'1y\')||7.1y}4 h=(s.27||\'\').20();4 i=/(3b|49|2u)/.1u(h);3(i||s.2v){4 j=14.2w(\'2v\')[0];3(j){7.1q=j.U;7.1k=48(j.2t(\'1k\'))||7.1k;7.1y=j.2t(\'1y\')||7.1y}R 3(i){4 k=14.2w(\'2L\')[0];4 b=14.2w(\'21\')[0];3(k){7.1q=k.2x?k.2x:k.4a}R 3(b){7.1q=b.2x?b.2x:b.4a}}}R 3(h==\'1s\'&&!7.1X&&7.1q){7.1X=v(7.1q)}1A{u=x(7,h,s)}1N(1m){c=\'2y\';7.17=1D=(1m||c)}}1N(1m){Z(\'17 5D: \',1m);c=\'17\';7.17=1D=(1m||c)}3(7.1o){Z(\'2m 1o\');c=13}3(7.1k){c=(7.1k>=5E&&7.1k<5F||7.1k===5G)?\'1c\':\'17\'}3(c===\'1c\'){3(s.1c){s.1c.1w(s.1i,u,\'1c\',7)}m.5H(7.1q,\'1c\',7);3(g){$.1O.1h("5I",[7,s])}}R 3(c){3(1D===1b){1D=7.1y}3(s.17){s.17.1w(s.1i,7,c,1D)}m.2a(7,\'17\',1D);3(g){$.1O.1h("3T",[7,s,1D])}}3(g){$.1O.1h("5J",[7,s])}3(g&&!--$.2Y){$.1O.1h("5K")}3(s.1I){s.1I.1w(s.1i,7,c)}37=1j;3(s.1z){3Z(1W)}1R(6(){3(!s.2p){$V.43()}R{$V.1g(\'2W\',s.26)}7.1X=13},2V)}4 v=$.5L||6(s,a){3(1e.4b){a=2l 4b(\'5M.5N\');a.5O=\'18\';a.5P(s)}R{a=(2l 5Q()).5R(s,\'2u/1s\')}8(a&&a.2s&&a.2s.4c!=\'2y\')?a:13};4 w=$.5S||6(s){8 1e[\'5T\'](\'(\'+s+\')\')};4 x=6(a,b,s){4 c=a.2X(\'2q-S\')||\'\',1s=b===\'1s\'||!b&&c.2h(\'1s\')>=0,u=1s?a.1X:a.1q;3(1s&&u.2s.4c===\'2y\'){3($.17){$.17(\'2y\')}}3(s&&s.4d){u=s.4d(u,b)}3(1d u===\'2f\'){3(b===\'3b\'||!b&&c.2h(\'3b\')>=0){u=w(u)}R 3(b==="49"||!b&&c.2h("3v")>=0){$.5U(u)}}8 u};8 m}};$.12.3c=6(a){a=a||{};a.2z=a.2z&&$.5V($.12.3d);3(!a.2z&&5.Y===0){4 o={s:5.22,c:5.1i};3(!$.4e&&o.s){Z(\'39 3a 4f, 5W 3c\');$(6(){$(o.s,o.c).3c(a)});8 5}Z(\'5X; 5Y 4g 5Z 60 22\'+($.4e?\'\':\' (39 3a 4f)\'));8 5}3(a.2z){$(1r).4h(\'16.9-1E\',5.22,2A).4h(\'2B.9-1E\',5.22,2C).3d(\'16.9-1E\',5.22,a,2A).3d(\'2B.9-1E\',5.22,a,2C);8 5}8 5.4i().4j(\'16.9-1E\',a,2A).4j(\'2B.9-1E\',a,2C)};6 2A(e){4 a=e.1a;3(!e.61()){e.62();$(e.1v).1n(a)}}6 2C(e){4 a=e.1v;4 b=$(a);3(!(b.4k("[S=16],[S=1Y]"))){4 t=b.63(\'[S=16]\');3(t.Y===0){8}a=t[0]}4 c=5;c.1B=a;3(a.S==\'1Y\'){3(e.4l!==1b){c.1P=e.4l;c.1Q=e.64}R 3(1d $.12.4m==\'6\'){4 d=b.4m();c.1P=e.4n-d.3R;c.1Q=e.4o-d.3P}R{c.1P=e.4n-a.65;c.1Q=e.4o-a.66}}1R(6(){c.1B=c.1P=c.1Q=13},2V)}$.12.4i=6(){8 5.67(\'16.9-1E 2B.9-1E\')};$.12.2P=6(b,c){4 a=[];3(5.Y===0){8 a}4 d=5[0];4 e=5.1g(\'1K\');4 f=b?d.2w(\'*\'):d.4g;4 g;3(f&&!/4p [68]/.1u(4q.4r)){f=$(f).1T()}3(e){g=$(\':1l[9=\'+e+\']\').1T();3(g.Y){f=(f||[]).69(g)}}3(!f||!f.Y){8 a}4 i,j,n,v,X,1p,3e;1f(i=0,1p=f.Y;i<1p;i++){X=f[i];n=X.T;3(!n||X.1M){3f}3(b&&d.1B&&X.S=="1Y"){3(d.1B==X){a.W({T:n,U:$(X).1J(),S:X.S});a.W({T:n+\'.x\',U:d.1P},{T:n+\'.y\',U:d.1Q})}3f}v=$.2b(X,1j);3(v&&v.2D==2c){3(c){c.W(X)}1f(j=0,3e=v.Y;j<3e;j++){a.W({T:n,U:v[j]})}}R 3(P.2G&&X.S==\'2e\'){3(c){c.W(X)}4 h=X.3r;3(h.Y){1f(j=0;j' + ).wrapInner( + '
    ' + ); + + var fakeHover = $('.camera_fakehover',wrap); + + fakeHover.append( + '
    ' + ); + if(opts.overlayer == true){ + fakeHover.append( + '
    ' + ) + } + fakeHover.append( + '
    ' + ); + + var loader; + + if(opts.loader=='pie' && $.browser.msie && $.browser.version < 9){ + loader = 'bar'; + } else { + loader = opts.loader; + } + + if(loader == 'pie'){ + fakeHover.append( + '
    ' + ) + } else if (loader == 'bar') { + fakeHover.append( + '
    ' + ) + } else { + fakeHover.append( + '' + ) + } + + if(opts.playPause==true){ + fakeHover.append( + '
    ' + ) + } + + if(opts.navigation==true){ + fakeHover.append( + '
    ' + ).append( + '
    ' + ); + } + + if(opts.thumbnails==true){ + wrap.append( + '
    ' + ); + } + + if(opts.thumbnails==true && opts.pagination!=true){ + $('.camera_thumbs_cont',wrap).wrap( + '
    ' + ).wrap( + '
    ' + ).wrap( + '
    ' + ).wrap( + '
    ' + ); + } + + if(opts.pagination==true){ + wrap.append( + '
    ' + ); + } + + wrap.append( + '
    ' + ); + + $('.camera_caption',wrap).each(function(){ + $(this).wrapInner('
    '); + }); + + + var pieID = 'pie_'+wrap.index(), + elem = $('.camera_src',wrap), + target = $('.camera_target',wrap), + content = $('.camera_target_content',wrap), + pieContainer = $('.camera_pie',wrap), + barContainer = $('.camera_bar',wrap), + prevNav = $('.camera_prev',wrap), + nextNav = $('.camera_next',wrap), + commands = $('.camera_commands',wrap), + pagination = $('.camera_pag',wrap), + thumbs = $('.camera_thumbs_cont',wrap); + + + var w, + h; + + + var allImg = new Array(); + $('> div', elem).each( function() { + allImg.push($(this).attr('data-src')); + }); + + var allLinks = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-link')){ + allLinks.push($(this).attr('data-link')); + } else { + allLinks.push(''); + } + }); + + var allTargets = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-target')){ + allTargets.push($(this).attr('data-target')); + } else { + allTargets.push(''); + } + }); + + var allPor = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-portrait')){ + allPor.push($(this).attr('data-portrait')); + } else { + allPor.push(''); + } + }); + + var allAlign= new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-alignment')){ + allAlign.push($(this).attr('data-alignment')); + } else { + allAlign.push(''); + } + }); + + + var allThumbs = new Array(); + $('> div', elem).each( function() { + if($(this).attr('data-thumb')){ + allThumbs.push($(this).attr('data-thumb')); + } else { + allThumbs.push(''); + } + }); + + var amountSlide = allImg.length; + + $(content).append('
    '); + var loopMove; + for (loopMove=0;loopMove'); + if(allLinks[loopMove]!=''){ + //only for Wordpress plugin + var dataBox = $('> div ',elem).eq(loopMove).attr('data-box'); + if(typeof dataBox !== 'undefined' && dataBox !== false && dataBox != '') { + dataBox = 'data-box="'+$('> div ',elem).eq(loopMove).attr('data-box')+'"'; + } else { + dataBox = ''; + } + // + $('.camera_target_content .cameraContent:eq('+loopMove+')',wrap).append(''); + } + + } + $('.camera_caption',wrap).each(function(){ + var ind = $(this).parent().index(), + cont = wrap.find('.cameraContent').eq(ind); + $(this).appendTo(cont); + }); + + target.append('
    '); + var cameraCont = $('.cameraCont',wrap); + + + + var loop; + for (loop=0;loop'); + var div = $('> div:eq('+loop+')',elem); + target.find('.cameraSlide_'+loop).clone(div); + } + + + function thumbnailVisible() { + var wTh = $(thumbs).width(); + $('li', thumbs).removeClass('camera_visThumb'); + $('li', thumbs).each(function(){ + var pos = $(this).position(), + ulW = $('ul', thumbs).outerWidth(), + offUl = $('ul', thumbs).offset().left, + offDiv = $('> div',thumbs).offset().left, + ulLeft = offDiv-offUl; + if(ulLeft>0){ + $('.camera_prevThumbs',camera_thumbs_wrap).removeClass('hideNav'); + } else { + $('.camera_prevThumbs',camera_thumbs_wrap).addClass('hideNav'); + } + if((ulW-ulLeft)>wTh){ + $('.camera_nextThumbs',camera_thumbs_wrap).removeClass('hideNav'); + } else { + $('.camera_nextThumbs',camera_thumbs_wrap).addClass('hideNav'); + } + var left = pos.left, + right = pos.left+($(this).width()); + if(right-ulLeft<=wTh && left-ulLeft>=0){ + $(this).addClass('camera_visThumb'); + } + }); + } + + $(window).bind('load resize pageshow',function(){ + thumbnailPos(); + thumbnailVisible(); + }); + + + cameraCont.append('
    '); + + + var started; + + wrap.show(); + var w = target.width(); + var h = target.height(); + + var setPause; + + $(window).bind('resize pageshow',function(){ + if(started == true) { + resizeImage(); + } + $('ul', thumbs).animate({'margin-top':0},0,thumbnailPos); + if(!elem.hasClass('paused')){ + elem.addClass('paused'); + if($('.camera_stop',camera_thumbs_wrap).length){ + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).hide(); + } + } else { + if(loader!='none'){ + $('#'+pieID).hide(); + } + } + clearTimeout(setPause); + setPause = setTimeout(function(){ + elem.removeClass('paused'); + if($('.camera_play',camera_thumbs_wrap).length){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).fadeIn(); + } + } else { + if(loader!='none'){ + $('#'+pieID).fadeIn(); + } + } + },1500); + } + }); + + function resizeImage(){ + var res; + function resizeImageWork(){ + w = wrap.width(); + if(opts.height.indexOf('%')!=-1) { + var startH = Math.round(w / (100/parseFloat(opts.height))); + if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ + h = parseFloat(opts.minHeight); + } else { + h = startH; + } + wrap.css({height:h}); + } else if (opts.height=='auto') { + h = wrap.height(); + } else { + h = parseFloat(opts.height); + wrap.css({height:h}); + } + $('.camerarelative',target).css({'width':w,'height':h}); + $('.imgLoaded',target).each(function(){ + var t = $(this), + wT = t.attr('width'), + hT = t.attr('height'), + imgLoadIn = t.index(), + mTop, + mLeft, + alignment = t.attr('data-alignment'), + portrait = t.attr('data-portrait'); + + if(typeof alignment === 'undefined' || alignment === false || alignment === ''){ + alignment = opts.alignment; + } + + if(typeof portrait === 'undefined' || portrait === false || portrait === ''){ + portrait = opts.portrait; + } + + if(portrait==false||portrait=='false'){ + if((wT/hT)<(w/h)) { + var r = w / wT; + var d = (Math.abs(h - (hT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mTop = 0; + break; + case 'topCenter': + mTop = 0; + break; + case 'topRight': + mTop = 0; + break; + case 'centerLeft': + mTop = '-'+d+'px'; + break; + case 'center': + mTop = '-'+d+'px'; + break; + case 'centerRight': + mTop = '-'+d+'px'; + break; + case 'bottomLeft': + mTop = '-'+d*2+'px'; + break; + case 'bottomCenter': + mTop = '-'+d*2+'px'; + break; + case 'bottomRight': + mTop = '-'+d*2+'px'; + break; + } + t.css({ + 'height' : hT*r, + 'margin-left' : 0, + 'margin-top' : mTop, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : w + }); + } + else { + var r = h / hT; + var d = (Math.abs(w - (wT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mLeft = 0; + break; + case 'topCenter': + mLeft = '-'+d+'px'; + break; + case 'topRight': + mLeft = '-'+d*2+'px'; + break; + case 'centerLeft': + mLeft = 0; + break; + case 'center': + mLeft = '-'+d+'px'; + break; + case 'centerRight': + mLeft = '-'+d*2+'px'; + break; + case 'bottomLeft': + mLeft = 0; + break; + case 'bottomCenter': + mLeft = '-'+d+'px'; + break; + case 'bottomRight': + mLeft = '-'+d*2+'px'; + break; + } + t.css({ + 'height' : h, + 'margin-left' : mLeft, + 'margin-top' : 0, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : wT*r + }); + } + } else { + if((wT/hT)<(w/h)) { + var r = h / hT; + var d = (Math.abs(w - (wT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mLeft = 0; + break; + case 'topCenter': + mLeft = d+'px'; + break; + case 'topRight': + mLeft = d*2+'px'; + break; + case 'centerLeft': + mLeft = 0; + break; + case 'center': + mLeft = d+'px'; + break; + case 'centerRight': + mLeft = d*2+'px'; + break; + case 'bottomLeft': + mLeft = 0; + break; + case 'bottomCenter': + mLeft = d+'px'; + break; + case 'bottomRight': + mLeft = d*2+'px'; + break; + } + t.css({ + 'height' : h, + 'margin-left' : mLeft, + 'margin-top' : 0, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : wT*r + }); + } + else { + var r = w / wT; + var d = (Math.abs(h - (hT*r)))*0.5; + switch(alignment){ + case 'topLeft': + mTop = 0; + break; + case 'topCenter': + mTop = 0; + break; + case 'topRight': + mTop = 0; + break; + case 'centerLeft': + mTop = d+'px'; + break; + case 'center': + mTop = d+'px'; + break; + case 'centerRight': + mTop = d+'px'; + break; + case 'bottomLeft': + mTop = d*2+'px'; + break; + case 'bottomCenter': + mTop = d*2+'px'; + break; + case 'bottomRight': + mTop = d*2+'px'; + break; + } + t.css({ + 'height' : hT*r, + 'margin-left' : 0, + 'margin-top' : mTop, + 'position' : 'absolute', + 'visibility' : 'visible', + 'width' : w + }); + } + } + }); + } + if (started == true) { + clearTimeout(res); + res = setTimeout(resizeImageWork,200); + } else { + resizeImageWork(); + } + + started = true; + } + + + var u, + setT; + + var clickEv, + autoAdv, + navHover, + commands, + pagination; + + var videoHover, + videoPresent; + + if(isMobile() && opts.mobileAutoAdvance!=''){ + autoAdv = opts.mobileAutoAdvance; + } else { + autoAdv = opts.autoAdvance; + } + + if(autoAdv==false){ + elem.addClass('paused'); + } + + if(isMobile() && opts.mobileNavHover!=''){ + navHover = opts.mobileNavHover; + } else { + navHover = opts.navigationHover; + } + + if(elem.length!=0){ + + var selector = $('.cameraSlide',target); + selector.wrapInner('
    '); + + var navSlide; + + var barDirection = opts.barDirection; + + var camera_thumbs_wrap = wrap; + + + $('iframe',fakeHover).each(function(){ + var t = $(this); + var src = t.attr('src'); + t.attr('data-src',src); + var divInd = t.parent().index('.camera_src > div'); + $('.camera_target_content .cameraContent:eq('+divInd+')',wrap).append(t); + }); + function imgFake() { + $('iframe',fakeHover).each(function(){ + $('.camera_caption',fakeHover).show(); + var t = $(this); + var cloneSrc = t.attr('data-src'); + t.attr('src',cloneSrc); + var imgFakeUrl = opts.imagePath+'blank.gif'; + var imgFake = new Image(); + imgFake.src = imgFakeUrl; + if(opts.height.indexOf('%')!=-1) { + var startH = Math.round(w / (100/parseFloat(opts.height))); + if(opts.minHeight != '' && startH < parseFloat(opts.minHeight)){ + h = parseFloat(opts.minHeight); + } else { + h = startH; + } + } else if (opts.height=='auto') { + h = wrap.height(); + } else { + h = parseFloat(opts.height); + } + t.after($(imgFake).attr({'class':'imgFake','width':w,'height':h})); + var clone = t.clone(); + t.remove(); + $(imgFake).bind('click',function(){ + if($(this).css('position')=='absolute') { + $(this).remove(); + if(cloneSrc.indexOf('vimeo') != -1 || cloneSrc.indexOf('youtube') != -1) { + if(cloneSrc.indexOf('?') != -1){ + autoplay = '&autoplay=1'; + } else { + autoplay = '?autoplay=1'; + } + } else if(cloneSrc.indexOf('dailymotion') != -1) { + if(cloneSrc.indexOf('?') != -1){ + autoplay = '&autoPlay=1'; + } else { + autoplay = '?autoPlay=1'; + } + } + clone.attr('src',cloneSrc+autoplay); + videoPresent = true; + } else { + $(this).css({position:'absolute',top:0,left:0,zIndex:10}).after(clone); + clone.css({position:'absolute',top:0,left:0,zIndex:9}); + } + }); + }); + } + + imgFake(); + + + if(opts.hover==true){ + if(!isMobile()){ + fakeHover.hover(function(){ + elem.addClass('hovered'); + },function(){ + elem.removeClass('hovered'); + }); + } + } + + + + + $('.camera_stop',camera_thumbs_wrap).live('click',function(){ + autoAdv = false; + elem.addClass('paused'); + if($('.camera_stop',camera_thumbs_wrap).length){ + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).hide(); + } + } else { + if(loader!='none'){ + $('#'+pieID).hide(); + } + } + }); + + $('.camera_play',camera_thumbs_wrap).live('click',function(){ + autoAdv = true; + elem.removeClass('paused'); + if($('.camera_play',camera_thumbs_wrap).length){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + if(loader!='none'){ + $('#'+pieID).show(); + } + } else { + if(loader!='none'){ + $('#'+pieID).show(); + } + } + }); + + if(opts.pauseOnClick==true){ + $('.camera_target_content',fakeHover).mouseup(function(){ + autoAdv = false; + elem.addClass('paused'); + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + $('#'+pieID).hide(); + }); + } + $('.cameraContent, .imgFake',fakeHover).hover(function(){ + videoHover = true; + },function(){ + videoHover = false; + }); + + $('.cameraContent, .imgFake',fakeHover).bind('click',function(){ + if(videoPresent == true && videoHover == true) { + autoAdv = false; + $('.camera_caption',fakeHover).hide(); + elem.addClass('paused'); + $('.camera_stop',camera_thumbs_wrap).hide() + $('.camera_play',camera_thumbs_wrap).show(); + $('#'+pieID).hide(); + } + }); + + + } + + + function shuffle(arr) { + for( + var j, x, i = arr.length; i; + j = parseInt(Math.random() * i), + x = arr[--i], arr[i] = arr[j], arr[j] = x + ); + return arr; + } + + function isInteger(s) { + return Math.ceil(s) == Math.floor(s); + } + + if (loader != 'pie') { + barContainer.append(''); + $('.camera_bar_cont',barContainer) + .animate({opacity:opts.loaderOpacity},0) + .css({'position':'absolute', 'left':0, 'right':0, 'top':0, 'bottom':0, 'background-color':opts.loaderBgColor}) + .append(''); + $('#'+pieID).animate({opacity:0},0); + var canvas = $('#'+pieID); + canvas.css({'position':'absolute', 'background-color':opts.loaderColor}); + switch(opts.barPosition){ + case 'left': + barContainer.css({right:'auto',width:opts.loaderStroke}); + break; + case 'right': + barContainer.css({left:'auto',width:opts.loaderStroke}); + break; + case 'top': + barContainer.css({bottom:'auto',height:opts.loaderStroke}); + break; + case 'bottom': + barContainer.css({top:'auto',height:opts.loaderStroke}); + break; + } + switch(barDirection){ + case 'leftToRight': + canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); + break; + case 'rightToLeft': + canvas.css({'left':0, 'right':0, 'top':opts.loaderPadding, 'bottom':opts.loaderPadding}); + break; + case 'topToBottom': + canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); + break; + case 'bottomToTop': + canvas.css({'left':opts.loaderPadding, 'right':opts.loaderPadding, 'top':0, 'bottom':0}); + break; + } + } else { + pieContainer.append(''); + var G_vmlCanvasManager; + var canvas = document.getElementById(pieID); + canvas.setAttribute("width", opts.pieDiameter); + canvas.setAttribute("height", opts.pieDiameter); + var piePosition; + switch(opts.piePosition){ + case 'leftTop' : + piePosition = 'left:0; top:0;'; + break; + case 'rightTop' : + piePosition = 'right:0; top:0;'; + break; + case 'leftBottom' : + piePosition = 'left:0; bottom:0;'; + break; + case 'rightBottom' : + piePosition = 'right:0; bottom:0;'; + break; + } + canvas.setAttribute("style", "position:absolute; z-index:1002; "+piePosition); + var rad; + var radNew; + + if (canvas && canvas.getContext) { + var ctx = canvas.getContext("2d"); + ctx.rotate(Math.PI*(3/2)); + ctx.translate(-opts.pieDiameter,0); + } + + } + if(loader=='none' || autoAdv==false) { + $('#'+pieID).hide(); + $('.camera_canvas_wrap',camera_thumbs_wrap).hide(); + } + + if($(pagination).length) { + $(pagination).append('
      '); + var li; + for (li = 0; li < amountSlide; li++){ + $('.camera_pag_ul',wrap).append('
    • '+li+'
    • '); + } + $('.camera_pag_ul li',wrap).hover(function(){ + $(this).addClass('camera_hover'); + if($('.camera_thumb',this).length){ + var wTh = $('.camera_thumb',this).outerWidth(), + hTh = $('.camera_thumb',this).outerHeight(), + wTt = $(this).outerWidth(); + $('.camera_thumb',this).show().css({'top':'-'+hTh+'px','left':'-'+(wTh-wTt)/2+'px'}).animate({'opacity':1,'margin-top':'-3px'},200); + $('.thumb_arrow',this).show().animate({'opacity':1,'margin-top':'-3px'},200); + } + },function(){ + $(this).removeClass('camera_hover'); + $('.camera_thumb',this).animate({'margin-top':'-20px','opacity':0},200,function(){ + $(this).css({marginTop:'5px'}).hide(); + }); + $('.thumb_arrow',this).animate({'margin-top':'-20px','opacity':0},200,function(){ + $(this).css({marginTop:'5px'}).hide(); + }); + }); + } + + + + if($(thumbs).length) { + var thumbUrl; + if(!$(pagination).length) { + $(thumbs).append('
      '); + $(thumbs).before('
      ').before('
      '); + $('> div',thumbs).append('
        '); + $.each(allThumbs, function(i, val) { + if($('> div', elem).eq(i).attr('data-thumb')!='') { + var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), + newImg = new Image(); + newImg.src = thumbUrl; + $('ul',thumbs).append('
      • '); + $('li.pix_thumb_'+i,thumbs).append($(newImg).attr('class','camera_thumb')); + } + }); + } else { + $.each(allThumbs, function(i, val) { + if($('> div', elem).eq(i).attr('data-thumb')!='') { + var thumbUrl = $('> div', elem).eq(i).attr('data-thumb'), + newImg = new Image(); + newImg.src = thumbUrl; + $('li.pag_nav_'+i,pagination).append($(newImg).attr('class','camera_thumb').css({'position':'absolute'}).animate({opacity:0},0)); + $('li.pag_nav_'+i+' > img',pagination).after('
        '); + $('li.pag_nav_'+i+' > .thumb_arrow',pagination).animate({opacity:0},0); + } + }); + wrap.css({marginBottom:$(pagination).outerHeight()}); + } + } else if(!$(thumbs).length && $(pagination).length) { + wrap.css({marginBottom:$(pagination).outerHeight()}); + } + + + var firstPos = true; + + function thumbnailPos() { + if($(thumbs).length && !$(pagination).length) { + var wTh = $(thumbs).outerWidth(), + owTh = $('ul > li',thumbs).outerWidth(), + pos = $('li.cameracurrent', thumbs).length ? $('li.cameracurrent', thumbs).position() : '', + ulW = ($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()), + offUl = $('ul', thumbs).offset().left, + offDiv = $('> div', thumbs).offset().left, + ulLeft; + + if(offUl<0){ + ulLeft = '-'+ (offDiv-offUl); + } else { + ulLeft = offDiv-offUl; + } + + + + if(firstPos == true) { + $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); + if($(thumbs).length && !$(pagination).lenght) { + wrap.css({marginBottom:$(thumbs).outerHeight()}); + } + thumbnailVisible(); + /*I repeat this two lines because of a problem with iPhones*/ + $('ul', thumbs).width($('ul > li', thumbs).length * $('ul > li', thumbs).outerWidth()); + if($(thumbs).length && !$(pagination).lenght) { + wrap.css({marginBottom:$(thumbs).outerHeight()}); + } + /*...*/ + } + firstPos = false; + + var left = $('li.cameracurrent', thumbs).length ? pos.left : '', + right = $('li.cameracurrent', thumbs).length ? pos.left+($('li.cameracurrent', thumbs).outerWidth()) : ''; + if(left<$('li.cameracurrent', thumbs).outerWidth()) { + left = 0; + } + if(right-ulLeft>wTh){ + if((left+wTh)
        ').append('
        '); + if(autoAdv==true){ + $('.camera_play',camera_thumbs_wrap).hide(); + $('.camera_stop',camera_thumbs_wrap).show(); + } else { + $('.camera_stop',camera_thumbs_wrap).hide(); + $('.camera_play',camera_thumbs_wrap).show(); + } + + } + + + function canvasLoader() { + rad = 0; + var barWidth = $('.camera_bar_cont',camera_thumbs_wrap).width(), + barHeight = $('.camera_bar_cont',camera_thumbs_wrap).height(); + + if (loader != 'pie') { + switch(barDirection){ + case 'leftToRight': + $('#'+pieID).css({'right':barWidth}); + break; + case 'rightToLeft': + $('#'+pieID).css({'left':barWidth}); + break; + case 'topToBottom': + $('#'+pieID).css({'bottom':barHeight}); + break; + case 'bottomToTop': + $('#'+pieID).css({'top':barHeight}); + break; + } + } else { + ctx.clearRect(0,0,opts.pieDiameter,opts.pieDiameter); + } + } + + + canvasLoader(); + + + $('.moveFromLeft, .moveFromRight, .moveFromTop, .moveFromBottom, .fadeIn, .fadeFromLeft, .fadeFromRight, .fadeFromTop, .fadeFromBottom',fakeHover).each(function(){ + $(this).css('visibility','hidden'); + }); + + opts.onStartLoading.call(this); + + nextSlide(); + + + /*************************** FUNCTION nextSlide() ***************************/ + + function nextSlide(navSlide){ + elem.addClass('camerasliding'); + + videoPresent = false; + var vis = parseFloat($('div.cameraSlide.cameracurrent',target).index()); + + if(navSlide>0){ + var slideI = navSlide-1; + } else if (vis == amountSlide-1) { + var slideI = 0; + } else { + var slideI = vis+1; + } + + + var slide = $('.cameraSlide:eq('+slideI+')',target); + var slideNext = $('.cameraSlide:eq('+(slideI+1)+')',target).addClass('cameranext'); + if( vis != slideI+1 ) { + slideNext.hide(); + } + $('.cameraContent',fakeHover).fadeOut(600); + $('.camera_caption',fakeHover).show(); + + $('.camerarelative',slide).append($('> div ',elem).eq(slideI).find('> div.camera_effected')); + + $('.camera_target_content .cameraContent:eq('+slideI+')',wrap).append($('> div ',elem).eq(slideI).find('> div')); + + if(!$('.imgLoaded',slide).length){ + var imgUrl = allImg[slideI]; + var imgLoaded = new Image(); + imgLoaded.src = imgUrl +"?"+ new Date().getTime(); + slide.css('visibility','hidden'); + slide.prepend($(imgLoaded).attr('class','imgLoaded').css('visibility','hidden')); + var wT, hT; + if (!$(imgLoaded).get(0).complete || wT == '0' || hT == '0' || typeof wT === 'undefined' || wT === false || typeof hT === 'undefined' || hT === false) { + $('.camera_loader',wrap).delay(500).fadeIn(400); + imgLoaded.onload = function() { + wT = imgLoaded.naturalWidth; + hT = imgLoaded.naturalHeight; + $(imgLoaded).attr('data-alignment',allAlign[slideI]).attr('data-portrait',allPor[slideI]); + $(imgLoaded).attr('width',wT); + $(imgLoaded).attr('height',hT); + target.find('.cameraSlide_'+slideI).hide().css('visibility','visible'); + resizeImage(); + nextSlide(slideI+1); + }; + } + } else { + if( allImg.length > (slideI+1) && !$('.imgLoaded',slideNext).length ){ + var imgUrl2 = allImg[(slideI+1)]; + var imgLoaded2 = new Image(); + imgLoaded2.src = imgUrl2 +"?"+ new Date().getTime(); + slideNext.prepend($(imgLoaded2).attr('class','imgLoaded').css('visibility','hidden')); + imgLoaded2.onload = function() { + wT = imgLoaded2.naturalWidth; + hT = imgLoaded2.naturalHeight; + $(imgLoaded2).attr('data-alignment',allAlign[slideI+1]).attr('data-portrait',allPor[slideI+1]); + $(imgLoaded2).attr('width',wT); + $(imgLoaded2).attr('height',hT); + resizeImage(); + }; + } + opts.onLoaded.call(this); + if($('.camera_loader',wrap).is(':visible')){ + $('.camera_loader',wrap).fadeOut(400); + } else { + $('.camera_loader',wrap).css({'visibility':'hidden'}); + $('.camera_loader',wrap).fadeOut(400,function(){ + $('.camera_loader',wrap).css({'visibility':'visible'}); + }); + } + var rows = opts.rows, + cols = opts.cols, + couples = 1, + difference = 0, + dataSlideOn, + time, + transPeriod, + fx, + easing, + randomFx = new Array('simpleFade','curtainTopLeft','curtainTopRight','curtainBottomLeft','curtainBottomRight','curtainSliceLeft','curtainSliceRight','blindCurtainTopLeft','blindCurtainTopRight','blindCurtainBottomLeft','blindCurtainBottomRight','blindCurtainSliceBottom','blindCurtainSliceTop','stampede','mosaic','mosaicReverse','mosaicRandom','mosaicSpiral','mosaicSpiralReverse','topLeftBottomRight','bottomRightTopLeft','bottomLeftTopRight','topRightBottomLeft','scrollLeft','scrollRight','scrollTop','scrollBottom','scrollHorz'); + marginLeft = 0, + marginTop = 0, + opacityOnGrid = 0; + + if(opts.opacityOnGrid==true){ + opacityOnGrid = 0; + } else { + opacityOnGrid = 1; + } + + + + var dataFx = $(' > div',elem).eq(slideI).attr('data-fx'); + + if(isMobile()&&opts.mobileFx!=''&&opts.mobileFx!='default'){ + fx = opts.mobileFx; + } else { + if(typeof dataFx !== 'undefined' && dataFx!== false && dataFx!== 'default'){ + fx = dataFx; + } else { + fx = opts.fx; + } + } + + if(fx=='random') { + fx = shuffle(randomFx); + fx = fx[0]; + } else { + fx = fx; + if(fx.indexOf(',')>0){ + fx = fx.replace(/ /g,''); + fx = fx.split(','); + fx = shuffle(fx); + fx = fx[0]; + } + } + + dataEasing = $(' > div',elem).eq(slideI).attr('data-easing'); + mobileEasing = $(' > div',elem).eq(slideI).attr('data-mobileEasing'); + + if(isMobile()&&opts.mobileEasing!=''&&opts.mobileEasing!='default'){ + if(typeof mobileEasing !== 'undefined' && mobileEasing!== false && mobileEasing!== 'default') { + easing = mobileEasing; + } else { + easing = opts.mobileEasing; + } + } else { + if(typeof dataEasing !== 'undefined' && dataEasing!== false && dataEasing!== 'default') { + easing = dataEasing; + } else { + easing = opts.easing; + } + } + + dataSlideOn = $(' > div',elem).eq(slideI).attr('data-slideOn'); + if(typeof dataSlideOn !== 'undefined' && dataSlideOn!== false){ + slideOn = dataSlideOn; + } else { + if(opts.slideOn=='random'){ + var slideOn = new Array('next','prev'); + slideOn = shuffle(slideOn); + slideOn = slideOn[0]; + } else { + slideOn = opts.slideOn; + } + } + + var dataTime = $(' > div',elem).eq(slideI).attr('data-time'); + if(typeof dataTime !== 'undefined' && dataTime!== false && dataTime!== ''){ + time = parseFloat(dataTime); + } else { + time = opts.time; + } + + var dataTransPeriod = $(' > div',elem).eq(slideI).attr('data-transPeriod'); + if(typeof dataTransPeriod !== 'undefined' && dataTransPeriod!== false && dataTransPeriod!== ''){ + transPeriod = parseFloat(dataTransPeriod); + } else { + transPeriod = opts.transPeriod; + } + + if(!$(elem).hasClass('camerastarted')){ + fx = 'simpleFade'; + slideOn = 'next'; + easing = ''; + transPeriod = 400; + $(elem).addClass('camerastarted') + } + + switch(fx){ + case 'simpleFade': + cols = 1; + rows = 1; + break; + case 'curtainTopLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainTopRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainBottomLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainBottomRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainSliceLeft': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'curtainSliceRight': + if(opts.slicedCols == 0) { + cols = opts.cols; + } else { + cols = opts.slicedCols; + } + rows = 1; + break; + case 'blindCurtainTopLeft': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainTopRight': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainBottomLeft': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainBottomRight': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainSliceTop': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'blindCurtainSliceBottom': + if(opts.slicedRows == 0) { + rows = opts.rows; + } else { + rows = opts.slicedRows; + } + cols = 1; + break; + case 'stampede': + difference = '-'+transPeriod; + break; + case 'mosaic': + difference = opts.gridDifference; + break; + case 'mosaicReverse': + difference = opts.gridDifference; + break; + case 'mosaicRandom': + break; + case 'mosaicSpiral': + difference = opts.gridDifference; + couples = 1.7; + break; + case 'mosaicSpiralReverse': + difference = opts.gridDifference; + couples = 1.7; + break; + case 'topLeftBottomRight': + difference = opts.gridDifference; + couples = 6; + break; + case 'bottomRightTopLeft': + difference = opts.gridDifference; + couples = 6; + break; + case 'bottomLeftTopRight': + difference = opts.gridDifference; + couples = 6; + break; + case 'topRightBottomLeft': + difference = opts.gridDifference; + couples = 6; + break; + case 'scrollLeft': + cols = 1; + rows = 1; + break; + case 'scrollRight': + cols = 1; + rows = 1; + break; + case 'scrollTop': + cols = 1; + rows = 1; + break; + case 'scrollBottom': + cols = 1; + rows = 1; + break; + case 'scrollHorz': + cols = 1; + rows = 1; + break; + } + + var cycle = 0; + var blocks = rows*cols; + var leftScrap = w-(Math.floor(w/cols)*cols); + var topScrap = h-(Math.floor(h/rows)*rows); + var addLeft; + var addTop; + var tAppW = 0; + var tAppH = 0; + var arr = new Array(); + var delay = new Array(); + var order = new Array(); + while(cycle < blocks){ + arr.push(cycle); + delay.push(cycle); + cameraCont.append('