Landing Baru, K-means utama di service, ada SSE di Kmeans controller

This commit is contained in:
daffarahman11 2025-04-10 21:16:50 +07:00
parent 797d823cad
commit 90cb4d4af4
99 changed files with 102552 additions and 99 deletions

View File

@ -6,6 +6,7 @@
use App\Models\Curanmor;
use App\Models\Kecamatan;
use Illuminate\Http\Request;
use App\Services\KMeansService;
use Illuminate\Validation\Rule;
class CuranmorController extends Controller
@ -90,7 +91,7 @@ public function update(Request $request, Curanmor $curanmor)
Rule::unique('curanmors')->ignore($curanmor->id),
],
'klaster_id' => 'required|exists:klasters,id',
'jumlah_curanmor' => 'required|integer|min:0',
'jumlah_curanmor' => 'required|numeric|min:0',
]);
// Update data
@ -99,6 +100,12 @@ public function update(Request $request, Curanmor $curanmor)
'klaster_id' => $request->klaster_id,
'jumlah_curanmor' => $request->jumlah_curanmor,
]);
$service = new KMeansService();
$hasil = $service->hitungKMeansCuranmor();
// simpan hasil ke file json
file_put_contents(storage_path('app/public/hasil_kmeans_curanmor.json'), json_encode($hasil));
return redirect('/curanmor')->with('succes', 'Data Kecamatan Berhasil Diubah');
} catch (\Exception $e) {

View File

@ -6,6 +6,7 @@
use App\Models\Klaster;
use App\Models\Kecamatan;
use Illuminate\Http\Request;
use App\Services\KMeansService;
use Illuminate\Validation\Rule;
class CurasController extends Controller
@ -106,6 +107,12 @@ public function update(Request $request, $id)
'jumlah_curas' => $request->jumlah_curas,
]);
$service = new KMeansService();
$hasil = $service->hitungKMeansCuras();
// simpan hasil ke file json
file_put_contents(storage_path('app/public/hasil_kmeans_curas.json'), json_encode($hasil));
return redirect('/curas')->with('succes', 'Data Kecamatan Berhasil Diubah');
} catch (\Exception $e) {
return redirect('/curas')->with('error', 'Data Kecamatan Gagal Diubah: ' . $e->getMessage());

View File

@ -0,0 +1,219 @@
<?php
namespace App\Http\Controllers;
use App\Models\Curas;
use App\Models\Klaster;
use App\Models\Curanmor;
use Illuminate\Http\Request;
class KmeansController extends Controller
{
public function KMeansCuras()
{
$data = Curas::select('id', 'kecamatan_id', 'klaster_id', 'jumlah_curas')->orderBy('jumlah_curas', 'asc')->get();
$k = Klaster::count('id');
$maxIterasi = 100;
$centroids = $data->random($k)->values()->map(function ($item) {
return [
'jumlah_curas' => $item->jumlah_curas,
];
});
$iterasi = [];
$prevAssignment = [];
for ($i = 0; $i < $maxIterasi; $i++) {
$clustered = [];
$currentAssignment = [];
foreach ($data as $item) {
$jarak = [];
foreach ($centroids as $idx => $centroid) {
$dist = abs($item->jumlah_curas - $centroid['jumlah_curas']);
$jarak["jarakC" . ($idx + 1)] = $dist;
}
$iterasi[$i][] = array_merge(['kecamatan_id' => $item->kecamatan_id], $jarak);
$minIndex = array_keys($jarak, min($jarak))[0]; // e.g. "jarakC2"
$clusterNumber = (int) str_replace("jarakC", "", $minIndex);
$clustered[$clusterNumber][] = $item;
$item->temp_klaster = $clusterNumber;
$currentAssignment[$item->id] = $clusterNumber;
}
// ✨ Cek konvergensi: jika assignment sekarang == sebelumnya, break
if ($currentAssignment === $prevAssignment) {
break;
}
$prevAssignment = $currentAssignment;
// Update centroid berdasarkan rata-rata
foreach ($clustered as $key => $group) {
$avg = collect($group)->avg('jumlah_curas');
$centroids = $centroids->map(function ($item, $index) use ($key, $avg) {
return $index === ($key - 1)
? ['jumlah_curas' => $avg]
: $item;
});
}
}
// Final mapping centroid ke klaster_id (aman/sedang/rawan)
$finalCentroids = $centroids->map(function ($item, $index) {
return ['index' => $index + 1, 'jumlah_curas' => $item['jumlah_curas']];
})->sortBy('jumlah_curas')->values();
$centroidToKlaster = [];
foreach ($finalCentroids as $i => $centroid) {
// Klaster ID mulai dari 1 (asumsi klaster di DB bernomor 1, 2, 3, ...)
$centroidToKlaster[$centroid['index']] = $i + 1;
}
// Update ke database
foreach ($data as $item) {
Curas::where('id', $item->id)->update([
'klaster_id' => $centroidToKlaster[$item->temp_klaster],
]);
}
session(['hasil_iterasi' => $iterasi]);
return response()->json($iterasi);
}
public function KMeansCuranmor()
{
$data = Curanmor::select('id', 'kecamatan_id', 'klaster_id', 'jumlah_curanmor')->orderBy('jumlah_curanmor', 'asc')->get();
$maxIterasi = 100;
$hasilElbow = [];
for ($k = 1; $k <= 10; $k++) {
// Ambil centroid awal secara acak
$centroids = $data->random($k)->values()->map(function ($item) {
return ['jumlah_curanmor' => $item->jumlah_curanmor];
});
$prevAssignment = [];
for ($i = 0; $i < $maxIterasi; $i++) {
$clustered = [];
$currentAssignment = [];
foreach ($data as $item) {
$jarak = [];
foreach ($centroids as $idx => $centroid) {
$dist = abs($item->jumlah_curanmor - $centroid['jumlah_curanmor']);
$jarak[$idx] = $dist;
}
$minIndex = array_keys($jarak, min($jarak))[0];
$clustered[$minIndex][] = $item;
$currentAssignment[$item->id] = $minIndex;
$item->temp_klaster = $minIndex;
}
if ($currentAssignment === $prevAssignment) break;
$prevAssignment = $currentAssignment;
foreach ($clustered as $key => $group) {
$avg = collect($group)->avg('jumlah_curanmor');
$centroids[$key] = ['jumlah_curanmor' => $avg];
}
}
// Hitung SSE (Sum of Squared Errors)
$sse = 0;
foreach ($data as $item) {
$centroidVal = $centroids[$item->temp_klaster]['jumlah_curanmor'];
$sse += pow($item->jumlah_curanmor - $centroidVal, 2);
}
$hasilElbow[] = ['k' => $k, 'sse' => $sse];
}
// Simpan hasil Elbow Method ke file
file_put_contents(storage_path('app/public/hasil_elbow_curanmor.json'), json_encode($hasilElbow, JSON_PRETTY_PRINT));
// ===================== //
// === Hitung k akhir === //
// ===================== //
$k = Klaster::count(); // misalnya 3
$centroids = $data->random($k)->values()->map(function ($item) {
return ['jumlah_curanmor' => $item->jumlah_curanmor];
});
$iterasi = [];
$prevAssignment = [];
for ($i = 0; $i < $maxIterasi; $i++) {
$clustered = [];
$currentAssignment = [];
foreach ($data as $item) {
$jarak = [];
foreach ($centroids as $idx => $centroid) {
$dist = abs($item->jumlah_curanmor - $centroid['jumlah_curanmor']);
$jarak["jarakC" . ($idx + 1)] = $dist;
}
$iterasi[$i][] = array_merge(['kecamatan_id' => $item->kecamatan_id], $jarak);
$minIndex = array_keys($jarak, min($jarak))[0];
$clusterNumber = (int) str_replace("jarakC", "", $minIndex);
$clustered[$clusterNumber][] = $item;
$item->temp_klaster = $clusterNumber;
$currentAssignment[$item->id] = $clusterNumber;
}
if ($currentAssignment === $prevAssignment) {
break;
}
$prevAssignment = $currentAssignment;
foreach ($clustered as $key => $group) {
$avg = collect($group)->avg('jumlah_curanmor');
$centroids = $centroids->map(function ($item, $index) use ($key, $avg) {
return $index === ($key - 1)
? ['jumlah_curanmor' => $avg]
: $item;
});
}
}
$finalCentroids = $centroids->map(function ($item, $index) {
return ['index' => $index + 1, 'jumlah_curanmor' => $item['jumlah_curanmor']];
})->sortBy('jumlah_curanmor')->values();
$centroidToKlaster = [];
foreach ($finalCentroids as $i => $centroid) {
$centroidToKlaster[$centroid['index']] = $i + 1;
}
foreach ($data as $item) {
Curanmor::where('id', $item->id)->update([
'klaster_id' => $centroidToKlaster[$item->temp_klaster],
]);
}
session(['hasil_iterasi' => $iterasi]);
return $iterasi;
}
}

View File

@ -1,94 +0,0 @@
<?php
namespace App\Http\Controllers;
use App\Models\Curas;
use Illuminate\Http\Request;
use App\Models\Klaster;
class curasKmeansController extends Controller
{
public function hitungKMeans()
{
$data = Curas::select('id', 'kecamatan_id', 'klaster_id', 'jumlah_curas')->orderBy('jumlah_curas', 'asc')->get();
$k = Klaster::count('id');
$maxIterasi = 100;
$centroids = $data->random($k)->values()->map(function ($item) {
return [
'jumlah_curas' => $item->jumlah_curas,
];
});
$iterasi = [];
$prevAssignment = [];
for ($i = 0; $i < $maxIterasi; $i++) {
$clustered = [];
$currentAssignment = [];
foreach ($data as $item) {
$jarak = [];
foreach ($centroids as $idx => $centroid) {
$dist = abs($item->jumlah_curas - $centroid['jumlah_curas']);
$jarak["jarakC" . ($idx + 1)] = $dist;
}
$iterasi[$i][] = array_merge(['kecamatan_id' => $item->kecamatan_id], $jarak);
$minIndex = array_keys($jarak, min($jarak))[0]; // e.g. "jarakC2"
$clusterNumber = (int) str_replace("jarakC", "", $minIndex);
$clustered[$clusterNumber][] = $item;
$item->temp_klaster = $clusterNumber;
$currentAssignment[$item->id] = $clusterNumber;
}
// ✨ Cek konvergensi: jika assignment sekarang == sebelumnya, break
if ($currentAssignment === $prevAssignment) {
break;
}
$prevAssignment = $currentAssignment;
// Update centroid berdasarkan rata-rata
foreach ($clustered as $key => $group) {
$avg = collect($group)->avg('jumlah_curas');
$centroids = $centroids->map(function ($item, $index) use ($key, $avg) {
return $index === ($key - 1)
? ['jumlah_curas' => $avg]
: $item;
});
}
}
// Final mapping centroid ke klaster_id (aman/sedang/rawan)
$finalCentroids = $centroids->map(function ($item, $index) {
return ['index' => $index + 1, 'jumlah_curas' => $item['jumlah_curas']];
})->sortBy('jumlah_curas')->values();
$centroidToKlaster = [];
foreach ($finalCentroids as $i => $centroid) {
// Klaster ID mulai dari 1 (asumsi klaster di DB bernomor 1, 2, 3, ...)
$centroidToKlaster[$centroid['index']] = $i + 1;
}
// Update ke database
foreach ($data as $item) {
Curas::where('id', $item->id)->update([
'klaster_id' => $centroidToKlaster[$item->temp_klaster],
]);
}
session(['hasil_iterasi' => $iterasi]);
return response()->json($iterasi);
}
}

View File

@ -0,0 +1,177 @@
<?php
namespace App\Services;
use App\Models\Curas;
use App\Models\Klaster;
use App\Models\Curanmor;
class KMeansService
{
public function hitungKMeansCuras()
{
$data = Curas::select('id', 'kecamatan_id', 'klaster_id', 'jumlah_curas')->orderBy('jumlah_curas', 'asc')->get();
$k = Klaster::count('id');
$maxIterasi = 100;
$centroids = $data->random($k)->values()->map(function ($item) {
return [
'jumlah_curas' => $item->jumlah_curas,
];
});
$iterasi = [];
$prevAssignment = [];
for ($i = 0; $i < $maxIterasi; $i++) {
$clustered = [];
$currentAssignment = [];
foreach ($data as $item) {
$jarak = [];
foreach ($centroids as $idx => $centroid) {
$dist = abs($item->jumlah_curas - $centroid['jumlah_curas']);
$jarak["jarakC" . ($idx + 1)] = $dist;
}
$iterasi[$i][] = array_merge(['kecamatan_id' => $item->kecamatan_id], $jarak);
$minIndex = array_keys($jarak, min($jarak))[0]; // e.g. "jarakC2"
$clusterNumber = (int) str_replace("jarakC", "", $minIndex);
$clustered[$clusterNumber][] = $item;
$item->temp_klaster = $clusterNumber;
$currentAssignment[$item->id] = $clusterNumber;
}
// ✨ Cek konvergensi: jika assignment sekarang == sebelumnya, break
if ($currentAssignment === $prevAssignment) {
break;
}
$prevAssignment = $currentAssignment;
// Update centroid berdasarkan rata-rata
foreach ($clustered as $key => $group) {
$avg = collect($group)->avg('jumlah_curas');
$centroids = $centroids->map(function ($item, $index) use ($key, $avg) {
return $index === ($key - 1)
? ['jumlah_curas' => $avg]
: $item;
});
}
}
// Final mapping centroid ke klaster_id (aman/sedang/rawan)
$finalCentroids = $centroids->map(function ($item, $index) {
return ['index' => $index + 1, 'jumlah_curas' => $item['jumlah_curas']];
})->sortBy('jumlah_curas')->values();
$centroidToKlaster = [];
foreach ($finalCentroids as $i => $centroid) {
// Klaster ID mulai dari 1 (asumsi klaster di DB bernomor 1, 2, 3, ...)
$centroidToKlaster[$centroid['index']] = $i + 1;
}
// Update ke database
foreach ($data as $item) {
Curas::where('id', $item->id)->update([
'klaster_id' => $centroidToKlaster[$item->temp_klaster],
]);
}
return $iterasi;
}
public function hitungKMeansCuranmor()
{
$data = Curanmor::select('id', 'kecamatan_id', 'klaster_id', 'jumlah_curanmor')->orderBy('jumlah_curanmor', 'asc')->get();
$k = Klaster::count('id');
$maxIterasi = 100;
$centroids = $data->random($k)->values()->map(function ($item) {
return [
'jumlah_curanmor' => $item->jumlah_curanmor,
];
});
$iterasi = [];
$prevAssignment = [];
for ($i = 0; $i < $maxIterasi; $i++) {
$clustered = [];
$currentAssignment = [];
foreach ($data as $item) {
$jarak = [];
foreach ($centroids as $idx => $centroid) {
$dist = abs($item->jumlah_curanmor - $centroid['jumlah_curanmor']);
$jarak["jarakC" . ($idx + 1)] = $dist;
}
$iterasi[$i][] = array_merge(['kecamatan_id' => $item->kecamatan_id], $jarak);
$minIndex = array_keys($jarak, min($jarak))[0]; // e.g. "jarakC2"
$clusterNumber = (int) str_replace("jarakC", "", $minIndex);
$clustered[$clusterNumber][] = $item;
$item->temp_klaster = $clusterNumber;
$currentAssignment[$item->id] = $clusterNumber;
}
// ✨ Cek konvergensi: jika assignment sekarang == sebelumnya, break
if ($currentAssignment === $prevAssignment) {
break;
}
$prevAssignment = $currentAssignment;
// Update centroid berdasarkan rata-rata
foreach ($clustered as $key => $group) {
$avg = collect($group)->avg('jumlah_curanmor');
$centroids = $centroids->map(function ($item, $index) use ($key, $avg) {
return $index === ($key - 1)
? ['jumlah_curanmor' => $avg]
: $item;
});
}
}
// Final mapping centroid ke klaster_id (aman/sedang/rawan)
$finalCentroids = $centroids->map(function ($item, $index) {
return ['index' => $index + 1, 'jumlah_curanmor' => $item['jumlah_curanmor']];
})->sortBy('jumlah_curanmor')->values();
$centroidToKlaster = [];
foreach ($finalCentroids as $i => $centroid) {
// Klaster ID mulai dari 1 (asumsi klaster di DB bernomor 1, 2, 3, ...)
$centroidToKlaster[$centroid['index']] = $i + 1;
}
// Update ke database
foreach ($data as $item) {
Curanmor::where('id', $item->id)->update([
'klaster_id' => $centroidToKlaster[$item->temp_klaster],
]);
}
session(['hasil_iterasi' => $iterasi]);
return $iterasi;
}
}

4298
public/assets/assetLanding/css/all.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,420 @@
/* Magnific Popup CSS */
.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1042;
overflow: hidden;
position: fixed;
background: #0b0b0b;
opacity: 0.8;
}
.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1043;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden;
}
.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 8px;
box-sizing: border-box;
}
.mfp-container:before {
content: "";
display: inline-block;
height: 100%;
vertical-align: middle;
}
.mfp-align-top .mfp-container:before {
display: none;
}
.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 1045;
}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
width: 100%;
cursor: auto;
}
.mfp-ajax-cur {
cursor: progress;
}
.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out;
}
.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in;
}
.mfp-auto-cursor .mfp-content {
cursor: auto;
}
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.mfp-loading.mfp-figure {
display: none;
}
.mfp-hide {
display: none !important;
}
.mfp-preloader {
color: #ccc;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 1044;
}
.mfp-preloader a {
color: #ccc;
}
.mfp-preloader a:hover {
color: #fff;
}
.mfp-s-ready .mfp-preloader {
display: none;
}
.mfp-s-error .mfp-content {
display: none;
}
button.mfp-close,
button.mfp-arrow {
overflow: visible;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 1046;
box-shadow: none;
touch-action: manipulation;
}
button::-moz-focus-inner {
padding: 0;
border: 0;
}
.mfp-close {
width: 44px;
height: 44px;
line-height: 44px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
opacity: 0.65;
padding: 0 0 18px 10px;
color: #fff;
font-style: normal;
font-size: 28px;
font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover,
.mfp-close:focus {
opacity: 1;
}
.mfp-close:active {
top: 1px;
}
.mfp-close-btn-in .mfp-close {
color: #333;
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
color: #fff;
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%;
}
.mfp-counter {
position: absolute;
top: 0;
right: 0;
color: #ccc;
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {
margin-top: -54px;
}
.mfp-arrow:hover,
.mfp-arrow:focus {
opacity: 1;
}
.mfp-arrow:before,
.mfp-arrow:after {
content: "";
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent;
}
.mfp-arrow:after {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px;
}
.mfp-arrow:before {
border-top-width: 21px;
border-bottom-width: 21px;
opacity: 0.7;
}
.mfp-arrow-left {
left: 0;
}
.mfp-arrow-left:after {
border-right: 17px solid #fff;
margin-left: 31px;
}
.mfp-arrow-left:before {
margin-left: 25px;
border-right: 27px solid #3f3f3f;
}
.mfp-arrow-right {
right: 0;
}
.mfp-arrow-right:after {
border-left: 17px solid #fff;
margin-left: 39px;
}
.mfp-arrow-right:before {
border-left: 27px solid #3f3f3f;
}
.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
top: -40px;
}
.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #000;
}
/* Main image in popup */
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
box-sizing: border-box;
padding: 40px 0 40px;
margin: 0 auto;
}
/* The shadow behind the image */
.mfp-figure {
line-height: 0;
}
.mfp-figure:after {
content: "";
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #444;
}
.mfp-figure small {
color: #bdbdbd;
display: block;
font-size: 12px;
line-height: 14px;
}
.mfp-figure figure {
margin: 0;
}
.mfp-bottom-bar {
margin-top: -36px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto;
}
.mfp-title {
text-align: left;
line-height: 18px;
color: #f3f3f3;
word-wrap: break-word;
padding-right: 36px;
}
.mfp-image-holder .mfp-content {
max-width: 100%;
}
.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer;
}
@media screen and (max-width: 800px) and (orientation: landscape),
screen and (max-height: 300px) {
/**
* Remove all paddings around the image on small screen
*/
.mfp-img-mobile .mfp-image-holder {
padding-left: 0;
padding-right: 0;
}
.mfp-img-mobile img.mfp-img {
padding: 0;
}
.mfp-img-mobile .mfp-figure:after {
top: 0;
bottom: 0;
}
.mfp-img-mobile .mfp-figure small {
display: inline;
margin-left: 5px;
}
.mfp-img-mobile .mfp-bottom-bar {
background: rgba(0, 0, 0, 0.6);
bottom: 0;
margin: 0;
top: auto;
padding: 3px 5px;
position: fixed;
box-sizing: border-box;
}
.mfp-img-mobile .mfp-bottom-bar:empty {
padding: 0;
}
.mfp-img-mobile .mfp-counter {
right: 5px;
top: 3px;
}
.mfp-img-mobile .mfp-close {
top: 0;
right: 0;
width: 35px;
height: 35px;
line-height: 35px;
background: rgba(0, 0, 0, 0.6);
position: fixed;
text-align: center;
padding: 0;
}
}
@media all and (max-width: 900px) {
.mfp-arrow {
-webkit-transform: scale(0.75);
transform: scale(0.75);
}
.mfp-arrow-left {
-webkit-transform-origin: 0;
transform-origin: 0;
}
.mfp-arrow-right {
-webkit-transform-origin: 100%;
transform-origin: 100%;
}
.mfp-container {
padding-left: 6px;
padding-right: 6px;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,179 @@
/*
Template: Markethon - Digital Marketing Agency Responsive HTML5 Template
Author: iqonicthemes.in
Design and Developed by: iqonicthemes.in
NOTE: This file contains the styling for responsive Template.
*/
.mega-menu * {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
.mega-menu article,
.mega-menu aside,
.mega-menu details,
.mega-menu figcaption,
.mega-menu figure,
.mega-menu footer,
.mega-menu header,
.mega-menu main,
.mega-menu menu,
.mega-menu nav,
.mega-menu section,
.mega-menu summary {
display: block;
}
.mega-menu audio,
.mega-menu canvas,
.mega-menu progress,
.mega-menu video {
display: inline-block;
vertical-align: baseline;
}
.mega-menu audio:not([controls]) {
display: none;
height: 0;
}
.mega-menu [hidden],
.mega-menu template {
display: none;
}
.mega-menu a {
background-color: transparent;
}
.mega-menu a:active,
.mega-menu a:hover {
outline: 0;
}
.mega-menu abbr[title] {
border-bottom: 1px dotted;
}
.mega-menu b,
.mega-menu strong {
font-weight: bold;
}
.mega-menu dfn {
font-style: italic;
}
.mega-menu h1 {
font-size: 2em;
margin: 0.67em 0;
}
.mega-menu mark {
background: #ff0;
color: #000;
}
.mega-menu small {
font-size: 80%;
}
.mega-menu sub,
.mega-menu sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.mega-menu sup {
top: -0.5em;
}
.mega-menu sub {
bottom: -0.25em;
}
.mega-menu img {
border: 0;
}
.mega-menu svg:not(:root) {
overflow: hidden;
}
.mega-menu figure {
margin: 1em 40px;
}
.mega-menu hr {
box-sizing: content-box;
height: 0;
}
.mega-menu pre {
overflow: auto;
}
.mega-menu code,
.mega-menu kbd,
.mega-menu pre,
.mega-menu samp {
font-family: monospace, monospace;
font-size: 1em;
}
.mega-menu button,
.mega-menu input,
.mega-menu optgroup,
.mega-menu select,
.mega-menu textarea {
color: inherit;
font: inherit;
margin: 0;
}
.mega-menu button {
overflow: visible;
}
.mega-menu button,
.mega-menu select {
text-transform: none;
}
.mega-menu button,
.mega-menu html input[type="button"],
.mega-menu input[type="reset"],
.mega-menu input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
}
.mega-menu button[disabled],
.mega-menu input[disabled] {
cursor: default;
}
.mega-menu button::-moz-focus-inner,
.mega-menu input::-moz-focus-inner {
border: 0;
padding: 0;
}
.mega-menu input {
line-height: normal;
}
.mega-menu input[type="checkbox"],
.mega-menu input[type="radio"] {
box-sizing: border-box;
padding: 0;
}
.mega-menu input[type="number"]::-webkit-inner-spin-button,
.mega-menu input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
.mega-menu input[type="search"] {
-webkit-appearance: textfield;
box-sizing: content-box;
}
.mega-menu input[type="search"]::-webkit-search-cancel-button,
.mega-menu input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.mega-menu fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
.mega-menu legend {
border: 0;
padding: 0;
}
.mega-menu textarea {
overflow: auto;
}
.mega-menu optgroup {
font-weight: bold;
}
.mega-menu table {
border-collapse: collapse;
border-spacing: 0;
}
.mega-menu td,
.mega-menu th {
padding: 0;
}

View File

@ -0,0 +1,184 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-carousel,
.owl-carousel .owl-item {
-webkit-tap-highlight-color: transparent;
position: relative;
}
.owl-carousel {
display: none;
width: 100%;
z-index: 1;
}
.owl-carousel .owl-stage {
position: relative;
-ms-touch-action: pan-Y;
touch-action: manipulation;
-moz-backface-visibility: hidden;
}
.owl-carousel .owl-stage:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.owl-carousel .owl-stage-outer {
position: relative;
overflow: hidden;
-webkit-transform: translate3d(0, 0, 0);
}
.owl-carousel .owl-item,
.owl-carousel .owl-wrapper {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
}
.owl-carousel .owl-item {
min-height: 1px;
float: left;
-webkit-backface-visibility: hidden;
-webkit-touch-callout: none;
}
.owl-carousel .owl-item img {
display: block;
width: 100%;
}
.owl-carousel .owl-dots.disabled,
.owl-carousel .owl-nav.disabled {
display: none;
}
.no-js .owl-carousel,
.owl-carousel.owl-loaded {
display: block;
}
.owl-carousel .owl-dot,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {
cursor: pointer;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
background: 0 0;
color: inherit;
border: none;
padding: 0 !important;
font: inherit;
}
.owl-carousel.owl-loading {
opacity: 0;
display: block;
}
.owl-carousel.owl-hidden {
opacity: 0;
}
.owl-carousel.owl-refresh .owl-item {
visibility: hidden;
}
.owl-carousel.owl-drag .owl-item {
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.owl-carousel.owl-grab {
cursor: move;
cursor: grab;
}
.owl-carousel.owl-rtl {
direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
float: right;
}
.owl-carousel .animated {
animation-duration: 1s;
animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
z-index: 0;
}
.owl-carousel .owl-animated-out {
z-index: 1;
}
.owl-carousel .fadeOut {
animation-name: fadeOut;
}
@keyframes fadeOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
.owl-height {
transition: height 0.5s ease-in-out;
}
.owl-carousel .owl-item .owl-lazy {
opacity: 0;
transition: opacity 0.4s ease;
}
.owl-carousel .owl-item .owl-lazy:not([src]),
.owl-carousel .owl-item .owl-lazy[src^=""] {
max-height: 0;
}
.owl-carousel .owl-item img.owl-lazy {
transform-style: preserve-3d;
}
.owl-carousel .owl-video-wrapper {
position: relative;
height: 100%;
background: #000;
}
.owl-carousel .owl-video-play-icon {
position: absolute;
height: 80px;
width: 80px;
left: 50%;
top: 50%;
margin-left: -40px;
margin-top: -40px;
background: url(owl.video.play.png) no-repeat;
cursor: pointer;
z-index: 1;
-webkit-backface-visibility: hidden;
transition: transform 0.1s ease;
}
.owl-carousel .owl-video-play-icon:hover {
-ms-transform: scale(1.3, 1.3);
transform: scale(1.3, 1.3);
}
.owl-carousel .owl-video-playing .owl-video-play-icon,
.owl-carousel .owl-video-playing .owl-video-tn {
display: none;
}
.owl-carousel .owl-video-tn {
opacity: 0;
height: 100%;
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
transition: opacity 0.4s ease;
}
.owl-carousel .owl-video-frame {
position: relative;
z-index: 1;
height: 100%;
width: 100%;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,350 @@
.cd-horizontal-timeline {
opacity: 0;
width: 100%;
-webkit-transition: opacity 0.2s;
-moz-transition: opacity 0.2s;
transition: opacity 0.2s;
}
.cd-horizontal-timeline::before {
content: "mobile";
display: none;
}
.cd-horizontal-timeline.loaded {
opacity: 1;
}
.cd-horizontal-timeline .timeline {
position: relative;
height: 100px;
width: 100%;
max-width: 100%;
margin: 0 auto;
}
.cd-horizontal-timeline .events-wrapper {
position: relative;
height: 100%;
margin: 0 38px;
overflow: hidden;
}
.cd-horizontal-timeline .events {
position: absolute;
z-index: 1;
left: 0;
top: 49px;
height: 2px;
background: #dfdfdf;
-webkit-transition: -webkit-transform 0.4s;
-moz-transition: -moz-transform 0.4s;
transition: transform 0.4s;
}
.cd-horizontal-timeline .filling-line {
position: absolute;
z-index: 1;
left: 0;
top: 0;
height: 100%;
width: 100%;
background-color: #7c60d5;
-webkit-transform: scaleX(0);
-moz-transform: scaleX(0);
-ms-transform: scaleX(0);
-o-transform: scaleX(0);
transform: scaleX(0);
-webkit-transform-origin: left center;
-moz-transform-origin: left center;
-ms-transform-origin: left center;
-o-transform-origin: left center;
transform-origin: left center;
-webkit-transition: -webkit-transform 0.3s;
-moz-transition: -moz-transform 0.3s;
transition: transform 0.3s;
}
.cd-horizontal-timeline .events a {
position: absolute;
bottom: 0;
z-index: 2;
text-align: center;
font-size: 14px;
padding-bottom: 15px;
color: #1b0e3d;
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);
}
.cd-horizontal-timeline .events a::after {
content: "";
position: absolute;
left: 50%;
right: auto;
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-ms-transform: translateX(-50%);
-o-transform: translateX(-50%);
transform: translateX(-50%);
bottom: -5px;
height: 12px;
width: 12px;
border-radius: 50%;
border: 2px solid #7c60d5;
background-color: #f8f8f8;
-webkit-transition: background-color 0.3s, border-color 0.3s;
-moz-transition: background-color 0.3s, border-color 0.3s;
transition: background-color 0.3s, border-color 0.3s;
}
.no-touch .cd-horizontal-timeline .events a:hover::after {
background-color: #7c60d5;
border-color: #7c60d5;
}
.cd-horizontal-timeline .events a.selected {
pointer-events: none;
}
.cd-horizontal-timeline .events a.selected::after {
background-color: #7c60d5;
border-color: #7c60d5;
}
.cd-horizontal-timeline .events a.older-event::after {
border-color: #7c60d5;
}
.cd-horizontal-timeline .events ol,
ul {
list-style: none;
}
@media only screen and (min-width: 1100px) {
.cd-horizontal-timeline::before {
content: "desktop";
}
}
.cd-timeline-navigation a {
position: absolute;
z-index: 1;
top: 50%;
bottom: auto;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
height: 38px;
width: 38px;
border-radius: 50%;
border: 2px solid #7c60d5;
background: #7c60d5;
overflow: hidden;
color: transparent;
text-indent: 100%;
white-space: nowrap;
-webkit-transition: border-color 0.3s;
-moz-transition: border-color 0.3s;
transition: border-color 0.3s;
}
.cd-timeline-navigation a::after {
content: "\f104";
font-size: 18px;
font-family: "Font Awesome 5 Free";
position: absolute;
line-height: 38px;
display: inline-block;
top: -3px;
left: 4px;
font-weight: 900;
color: #fff;
text-align: center;
}
.cd-timeline-navigation a.prev::after {
content: "\f104";
}
.cd-timeline-navigation a.next::after {
content: "\f105";
}
.cd-timeline-navigation a.next {
right: 0;
}
.cd-timeline-navigation a.prev {
left: 0;
}
.no-touch .cd-timeline-navigation a:hover {
border-color: #7b9d6f;
}
.cd-timeline-navigation a.inactive {
cursor: not-allowed;
}
.cd-timeline-navigation a.inactive::after {
background-position: 0 -16px;
}
.no-touch .cd-timeline-navigation a.inactive:hover {
border-color: #dfdfdf;
}
.cd-horizontal-timeline .events-content {
position: relative;
width: 100%;
height: 100% !important;
margin: 0 0 0;
overflow: hidden;
-webkit-transition: height 0.4s;
-moz-transition: height 0.4s;
transition: height 0.4s;
}
.cd-horizontal-timeline .events-content li {
position: absolute;
z-index: 1;
width: 80%;
left: 0;
margin: 0 auto;
list-style: none;
top: 0;
text-align: center;
-webkit-transform: translateX(-100%);
-moz-transform: translateX(-100%);
-ms-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
background: #33e2a0;
padding: 60px 30px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
opacity: 0;
-webkit-animation-duration: 0.4s;
-moz-animation-duration: 0.4s;
animation-duration: 0.4s;
-webkit-animation-timing-function: ease-in-out;
-moz-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
}
.cd-horizontal-timeline .events-content ol {
margin: 0;
}
.cd-horizontal-timeline .events-content li.selected {
position: relative;
z-index: 2;
opacity: 1;
-webkit-transform: translateX(0);
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-o-transform: translateX(0);
transform: translateX(0);
background: #33e2a0;
}
.cd-horizontal-timeline .events-content li.enter-right,
.cd-horizontal-timeline .events-content li.leave-right {
-webkit-animation-name: cd-enter-right;
-moz-animation-name: cd-enter-right;
animation-name: cd-enter-right;
}
.cd-horizontal-timeline .events-content li.enter-left,
.cd-horizontal-timeline .events-content li.leave-left {
-webkit-animation-name: cd-enter-left;
-moz-animation-name: cd-enter-left;
animation-name: cd-enter-left;
}
.cd-horizontal-timeline .events-content li.leave-right,
.cd-horizontal-timeline .events-content li.leave-left {
-webkit-animation-direction: reverse;
-moz-animation-direction: reverse;
animation-direction: reverse;
}
.cd-horizontal-timeline .events-content li > * {
max-width: 800px;
margin: 0 auto;
}
.cd-horizontal-timeline .events-content h2 {
font-weight: bold;
font-size: 2.6rem;
font-family: "Playfair Display", serif;
font-weight: 700;
line-height: 1.2;
}
.cd-horizontal-timeline .events-content em {
display: block;
font-style: italic;
margin: 10px auto;
}
.cd-horizontal-timeline .events-content em::before {
content: "- ";
}
.cd-horizontal-timeline .events-content p {
font-size: 1.4rem;
color: #959595;
}
.cd-horizontal-timeline .events-content em,
.cd-horizontal-timeline .events-content p {
line-height: 1.6;
font-size: 16px;
}
@-webkit-keyframes cd-enter-right {
0% {
opacity: 0;
-webkit-transform: translateX(100%);
}
100% {
opacity: 1;
-webkit-transform: translateX(0%);
}
}
@-moz-keyframes cd-enter-right {
0% {
opacity: 0;
-moz-transform: translateX(100%);
}
100% {
opacity: 1;
-moz-transform: translateX(0%);
}
}
@keyframes cd-enter-right {
0% {
opacity: 0;
-webkit-transform: translateX(100%);
-moz-transform: translateX(100%);
-ms-transform: translateX(100%);
-o-transform: translateX(100%);
transform: translateX(100%);
}
100% {
opacity: 1;
-webkit-transform: translateX(0%);
-moz-transform: translateX(0%);
-ms-transform: translateX(0%);
-o-transform: translateX(0%);
transform: translateX(0%);
}
}
@-webkit-keyframes cd-enter-left {
0% {
opacity: 0;
-webkit-transform: translateX(-100%);
}
100% {
opacity: 1;
-webkit-transform: translateX(0%);
}
}
@-moz-keyframes cd-enter-left {
0% {
opacity: 0;
-moz-transform: translateX(-100%);
}
100% {
opacity: 1;
-moz-transform: translateX(0%);
}
}
@keyframes cd-enter-left {
0% {
opacity: 0;
-webkit-transform: translateX(-100%);
-moz-transform: translateX(-100%);
-ms-transform: translateX(-100%);
-o-transform: translateX(-100%);
transform: translateX(-100%);
}
100% {
opacity: 1;
-webkit-transform: translateX(0%);
-moz-transform: translateX(0%);
-ms-transform: translateX(0%);
-o-transform: translateX(0%);
transform: translateX(0%);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,97 @@
(function ($) {
$.fn.appear = function (fn, options) {
var settings = $.extend(
{ data: undefined, one: true, accX: 0, accY: 0 },
options
);
return this.each(function () {
var t = $(this);
t.appeared = false;
if (!fn) {
t.trigger("appear", settings.data);
return;
}
var w = $(window);
var check = function () {
if (!t.is(":visible")) {
t.appeared = false;
return;
}
var a = w.scrollLeft();
var b = w.scrollTop();
var o = t.offset();
var x = o.left;
var y = o.top;
var ax = settings.accX;
var ay = settings.accY;
var th = t.height();
var wh = w.height();
var tw = t.width();
var ww = w.width();
if (
y + th + ay >= b &&
y <= b + wh + ay &&
x + tw + ax >= a &&
x <= a + ww + ax
) {
if (!t.appeared) t.trigger("appear", settings.data);
} else {
t.appeared = false;
}
};
var modifiedFn = function () {
t.appeared = true;
if (settings.one) {
w.unbind("scroll", check);
var i = $.inArray(check, $.fn.appear.checks);
if (i >= 0) $.fn.appear.checks.splice(i, 1);
}
fn.apply(this, arguments);
};
if (settings.one) t.one("appear", settings.data, modifiedFn);
else t.bind("appear", settings.data, modifiedFn);
w.scroll(check);
$.fn.appear.checks.push(check);
check();
});
};
$.extend($.fn.appear, {
checks: [],
timeout: null,
checkAll: function () {
var length = $.fn.appear.checks.length;
if (length > 0) while (length--) $.fn.appear.checks[length]();
},
run: function () {
if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout);
$.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20);
},
});
$.each(
[
"append",
"prepend",
"after",
"before",
"attr",
"removeAttr",
"addClass",
"removeClass",
"toggleClass",
"remove",
"css",
"show",
"hide",
],
function (i, n) {
var old = $.fn[n];
if (old) {
$.fn[n] = function () {
var r = old.apply(this, arguments);
$.fn.appear.run();
return r;
};
}
}
);
})(jQuery);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,240 @@
/**
* jquery-circle-progress - jQuery Plugin to draw animated circular progress bars:
* {@link http://kottenator.github.io/jquery-circle-progress/}
*
* @author Rostyslav Bryzgunov <kottenator@gmail.com>
* @version 1.2.2
* @licence MIT
* @preserve
*/
!(function (i) {
if ("function" == typeof define && define.amd) define(["jquery"], i);
else if ("object" == typeof module && module.exports) {
var t = require("jquery");
i(t), (module.exports = t);
} else i(jQuery);
})(function (i) {
function t(i) {
this.init(i);
}
(t.prototype = {
value: 0,
size: 130,
startAngle: -Math.PI,
thickness: "auto",
fill: { gradient: ["#3aeabb", "#fdd250"] },
emptyFill: "rgba(0, 0, 0, .1)",
animation: { duration: 1200, easing: "circleProgressEasing" },
animationStartValue: 0,
reverse: !1,
lineCap: "butt",
insertMode: "prepend",
constructor: t,
el: null,
canvas: null,
ctx: null,
radius: 0,
arcFill: null,
lastFrameValue: 0,
init: function (t) {
i.extend(this, t),
(this.radius = this.size / 2),
this.initWidget(),
this.initFill(),
this.draw(),
this.el.trigger("circle-inited");
},
initWidget: function () {
this.canvas ||
(this.canvas = i("<canvas>")[
"prepend" == this.insertMode ? "prependTo" : "appendTo"
](this.el)[0]);
var t = this.canvas;
if (
((t.width = this.size),
(t.height = this.size),
(this.ctx = t.getContext("2d")),
window.devicePixelRatio > 1)
) {
var e = window.devicePixelRatio;
(t.style.width = t.style.height = this.size + "px"),
(t.width = t.height = this.size * e),
this.ctx.scale(e, e);
}
},
initFill: function () {
function t() {
var t = i("<canvas>")[0];
(t.width = e.size),
(t.height = e.size),
t.getContext("2d").drawImage(g, 0, 0, r, r),
(e.arcFill = e.ctx.createPattern(t, "no-repeat")),
e.drawFrame(e.lastFrameValue);
}
var e = this,
a = this.fill,
n = this.ctx,
r = this.size;
if (!a) throw Error("The fill is not specified!");
if (
("string" == typeof a && (a = { color: a }),
a.color && (this.arcFill = a.color),
a.gradient)
) {
var s = a.gradient;
if (1 == s.length) this.arcFill = s[0];
else if (s.length > 1) {
for (
var l = a.gradientAngle || 0,
o = a.gradientDirection || [
(r / 2) * (1 - Math.cos(l)),
(r / 2) * (1 + Math.sin(l)),
(r / 2) * (1 + Math.cos(l)),
(r / 2) * (1 - Math.sin(l)),
],
h = n.createLinearGradient.apply(n, o),
c = 0;
c < s.length;
c++
) {
var d = s[c],
u = c / (s.length - 1);
i.isArray(d) && ((u = d[1]), (d = d[0])), h.addColorStop(u, d);
}
this.arcFill = h;
}
}
if (a.image) {
var g;
a.image instanceof Image
? (g = a.image)
: ((g = new Image()), (g.src = a.image)),
g.complete ? t() : (g.onload = t);
}
},
draw: function () {
this.animation
? this.drawAnimated(this.value)
: this.drawFrame(this.value);
},
drawFrame: function (i) {
(this.lastFrameValue = i),
this.ctx.clearRect(0, 0, this.size, this.size),
this.drawEmptyArc(i),
this.drawArc(i);
},
drawArc: function (i) {
if (0 !== i) {
var t = this.ctx,
e = this.radius,
a = this.getThickness(),
n = this.startAngle;
t.save(),
t.beginPath(),
this.reverse
? t.arc(e, e, e - a / 2, n - 2 * Math.PI * i, n)
: t.arc(e, e, e - a / 2, n, n + 2 * Math.PI * i),
(t.lineWidth = a),
(t.lineCap = this.lineCap),
(t.strokeStyle = this.arcFill),
t.stroke(),
t.restore();
}
},
drawEmptyArc: function (i) {
var t = this.ctx,
e = this.radius,
a = this.getThickness(),
n = this.startAngle;
i < 1 &&
(t.save(),
t.beginPath(),
i <= 0
? t.arc(e, e, e - a / 2, 0, 2 * Math.PI)
: this.reverse
? t.arc(e, e, e - a / 2, n, n - 2 * Math.PI * i)
: t.arc(e, e, e - a / 2, n + 2 * Math.PI * i, n),
(t.lineWidth = a),
(t.strokeStyle = this.emptyFill),
t.stroke(),
t.restore());
},
drawAnimated: function (t) {
var e = this,
a = this.el,
n = i(this.canvas);
n.stop(!0, !1),
a.trigger("circle-animation-start"),
n
.css({ animationProgress: 0 })
.animate(
{ animationProgress: 1 },
i.extend({}, this.animation, {
step: function (i) {
var n = e.animationStartValue * (1 - i) + t * i;
e.drawFrame(n), a.trigger("circle-animation-progress", [i, n]);
},
})
)
.promise()
.always(function () {
a.trigger("circle-animation-end");
});
},
getThickness: function () {
return i.isNumeric(this.thickness) ? this.thickness : this.size / 14;
},
getValue: function () {
return this.value;
},
setValue: function (i) {
this.animation && (this.animationStartValue = this.lastFrameValue),
(this.value = i),
this.draw();
},
}),
(i.circleProgress = { defaults: t.prototype }),
(i.easing.circleProgressEasing = function (i) {
return i < 0.5
? ((i = 2 * i), 0.5 * i * i * i)
: ((i = 2 - 2 * i), 1 - 0.5 * i * i * i);
}),
(i.fn.circleProgress = function (e, a) {
var n = "circle-progress",
r = this.data(n);
if ("widget" == e) {
if (!r)
throw Error(
'Calling "widget" method on not initialized instance is forbidden'
);
return r.canvas;
}
if ("value" == e) {
if (!r)
throw Error(
'Calling "value" method on not initialized instance is forbidden'
);
if ("undefined" == typeof a) return r.getValue();
var s = arguments[1];
return this.each(function () {
i(this).data(n).setValue(s);
});
}
return this.each(function () {
var a = i(this),
r = a.data(n),
s = i.isPlainObject(e) ? e : {};
if (r) r.init(s);
else {
var l = i.extend({}, a.data());
"string" == typeof l.fill && (l.fill = JSON.parse(l.fill)),
"string" == typeof l.animation &&
(l.animation = JSON.parse(l.animation)),
(s = i.extend(l, s)),
(s.el = a),
(r = new t(s)),
a.data(n, r);
}
});
});
});

View File

@ -0,0 +1,59 @@
/*************************
CountDown Clock
*************************/
!(function (e) {
e.fn.countdown = function (t, n) {
var o = e.extend(
{
date: null,
offset: null,
day: "Day",
days: "Days",
hour: "Hour",
hours: "Hours",
minute: "Minute",
minutes: "Minutes",
second: "Second",
seconds: "Seconds",
},
t
);
o.date || e.error("Date is not defined."),
Date.parse(o.date) ||
e.error(
"Incorrect date format, it should look like this, 12/24/2012 12:00:00."
);
var r = this,
i = function () {
var e = new Date(),
t = e.getTime() + 6e4 * e.getTimezoneOffset();
return new Date(t + 36e5 * o.offset);
};
var s = setInterval(function () {
var e = new Date(o.date) - i();
if (e < 0)
return clearInterval(s), void (n && "function" == typeof n && n());
var t = 36e5,
a = Math.floor(e / 864e5),
d = Math.floor((e % 864e5) / t),
f = Math.floor((e % t) / 6e4),
u = Math.floor((e % 6e4) / 1e3),
l = 1 === a ? o.day : o.days,
c = 1 === d ? o.hour : o.hours,
h = 1 === f ? o.minute : o.minutes,
x = 1 === u ? o.second : o.seconds;
(a = String(a).length >= 2 ? a : "0" + a),
(d = String(d).length >= 2 ? d : "0" + d),
(f = String(f).length >= 2 ? f : "0" + f),
(u = String(u).length >= 2 ? u : "0" + u),
r.find(".days").text(a),
r.find(".hours").text(d),
r.find(".minutes").text(f),
r.find(".seconds").text(u),
r.find(".days_text").text(l),
r.find(".hours_text").text(c),
r.find(".minutes_text").text(h),
r.find(".seconds_text").text(x);
}, 1e3);
};
})(jQuery);

View File

@ -0,0 +1,431 @@
/*
Template: Markethon - Digital Marketing Agency Responsive HTML5 Template
Author: iqonicthemes.in
Design and Developed by: iqonicthemes.in
NOTE: This file contains the styling for responsive Template.
*/
/*----------------------------------------------
Index Of Script
------------------------------------------------
1.Page Loader
2.Isotope
3.Masonry
4.Progress Bar
5.Pie chart
6.Mega Menu
7.Back To Top
8.Counter
9.Accordion
10.Magnific Popup
11.Wow Animation
12.Owl Carousel
1.Countdown
14.Circle Progressbar
15.Side Menu
------------------------------------------------
Index Of Script
----------------------------------------------*/
"use strict";
$(document).ready(function () {
$(window).on("load", function () {
/*------------------------
1 Page Loader
--------------------------*/
jQuery("#load").fadeOut();
jQuery("#loading").delay(0).fadeOut("slow");
$(".navbar a").on("click", function (event) {
if (!$(event.target).closest(".nav-item.dropdown").length) {
$(".navbar-collapse").collapse("hide");
}
});
/*------------------------
2 Isotope
--------------------------*/
$(".isotope").isotope({
itemSelector: ".iq-grid-item",
});
// filter items on button click
$(".isotope-filters").on("click", "button", function () {
var filterValue = $(this).attr("data-filter");
$(".isotope").isotope({
resizable: true,
filter: filterValue,
});
$(".isotope-filters button").removeClass("active");
$(this).addClass("active");
});
function sticky_relocate() {
var window_top = $(window).scrollTop();
if ($(".iq-works").length && $(".iq-features").length) {
var div_top = $(".iq-works").offset().top + 900;
var div_features = $(".iq-features").offset().top - 155;
if (window_top > div_top) {
$(".our-info").addClass("menu-sticky").show();
if (window_top > div_features) {
$(".our-info").removeClass("menu-sticky").hide();
}
} else {
$(".our-info").removeClass("menu-sticky").show();
}
}
}
$(function () {
$(window).scroll(sticky_relocate);
sticky_relocate();
});
/*------------------------
3 Masonry
--------------------------*/
var $msnry = $(".iq-masonry-block .iq-masonry");
if ($msnry) {
var $filter = $(".iq-masonry-block .isotope-filters");
$msnry.isotope({
percentPosition: true,
resizable: true,
itemSelector: ".iq-masonry-block .iq-masonry-item",
masonry: {
gutterWidth: 0,
},
});
// bind filter button click
$filter.on("click", "button", function () {
var filterValue = $(this).attr("data-filter");
$msnry.isotope({
filter: filterValue,
});
});
$filter.each(function (i, buttonGroup) {
var $buttonGroup = $(buttonGroup);
$buttonGroup.on("click", "button", function () {
$buttonGroup.find(".active").removeClass("active");
$(this).addClass("active");
});
});
}
/*------------------------
4 Progress Bar
--------------------------*/
$(".iq-progress-bar > span").each(function () {
var $this = $(this);
var width = $(this).data("percent");
$this.css({
transition: "width 2s",
});
setTimeout(function () {
$this.appear(function () {
$this.css("width", width + "%");
});
}, 500);
});
/*-----------------
5 Pie chart
-----------------*/
if ($("#chartContainer").length) {
var chart = new CanvasJS.Chart("chartContainer", {
theme: "light2",
animationEnabled: true,
data: [
{
type: "pie",
indexLabelFontSize: 18,
radius: 80,
indexLabel: "{label} - {y}",
yValueFormatString: '###0.0"%"',
click: explodePie,
dataPoints: [
{
y: 42,
label: "Data Analysis",
},
{
y: 21,
label: "Social Media Marketing",
},
{
y: 24.5,
label: "Business Analysis",
},
{
y: 9,
label: "Research And Strategy",
},
],
},
],
});
chart.render();
function explodePie(e) {
for (var i = 0; i < e.dataSeries.dataPoints.length; i++) {
if (i !== e.dataPointIndex)
e.dataSeries.dataPoints[i].exploded = false;
}
}
}
});
/*------------------------
6 Mega Menu
--------------------------*/
$("#menu-1").megaMenu({
// DESKTOP MODE SETTINGS
logo_align: "left", // align the logo left or right. options (left) or (right)
links_align: "left", // align the links left or right. options (left) or (right)
socialBar_align: "left", // align the socialBar left or right. options (left) or (right)
searchBar_align: "right", // align the search bar left or right. options (left) or (right)
trigger: "hover", // show drop down using click or hover. options (hover) or (click)
effect: "fade", // drop down effects. options (fade), (scale), (expand-top), (expand-bottom), (expand-left), (expand-right)
effect_speed: 400, // drop down show speed in milliseconds
sibling: true, // hide the others showing drop downs if this option true. this option works on if the trigger option is "click". options (true) or (false)
outside_click_close: true, // hide the showing drop downs when user click outside the menu. this option works if the trigger option is "click". options (true) or (false)
top_fixed: false, // fixed the menu top of the screen. options (true) or (false)
sticky_header: true, // menu fixed on top when scroll down down. options (true) or (false)
sticky_header_height: 200, // sticky header height top of the screen. activate sticky header when meet the height. option change the height in px value.
menu_position: "horizontal", // change the menu position. options (horizontal), (vertical-left) or (vertical-right)
full_width: true, // make menu full width. options (true) or (false)
// MOBILE MODE SETTINGS
mobile_settings: {
collapse: true, // collapse the menu on click. options (true) or (false)
sibling: true, // hide the others showing drop downs when click on current drop down. options (true) or (false)
scrollBar: true, // enable the scroll bar. options (true) or (false)
scrollBar_height: 400, // scroll bar height in px value. this option works if the scrollBar option true.
top_fixed: false, // fixed menu top of the screen. options (true) or (false)
sticky_header: true, // menu fixed on top when scroll down down. options (true) or (false)
sticky_header_height: 200, // sticky header height top of the screen. activate sticky header when meet the height. option change the height in px value.
},
});
/*------------------------
7 Back To Top
--------------------------*/
$("#back-to-top").fadeOut();
$(window).on("scroll", function () {
if ($(this).scrollTop() > 250) {
$("#back-to-top").fadeIn(1400);
} else {
$("#back-to-top").fadeOut(400);
}
});
// scroll body to 0px on click
$("#top").on("click", function () {
$("top").tooltip("hide");
$("body,html").animate(
{
scrollTop: 0,
},
800
);
return false;
});
/*------------------------
8 Counter
--------------------------*/
$(".counter").counterUp({
delay: 10,
time: 1000,
});
/*------------------------
9 Accordion
--------------------------*/
$(".iq-accordion .iq-ad-block .ad-details").hide();
$(".iq-accordion .iq-ad-block:first")
.addClass("ad-active")
.children()
.slideDown("slow");
$(".iq-accordion .iq-ad-block").on("click", function () {
if ($(this).children("div").is(":hidden")) {
$(".iq-accordion .iq-ad-block")
.removeClass("ad-active")
.children("div")
.slideUp("slow");
$(this).toggleClass("ad-active").children("div").slideDown("slow");
}
});
/*------------------------
10 Magnific Popup
--------------------------*/
$(".popup-gallery").magnificPopup({
delegate: "a.popup-img",
tLoading: "Loading image #%curr%...",
type: "image",
mainClass: "mfp-img-mobile",
gallery: {
navigateByImgClick: true,
enabled: true,
preload: [0, 1],
},
image: {
tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
},
});
$(".popup-youtube, .popup-vimeo, .popup-gmaps").magnificPopup({
type: "iframe",
disableOn: 700,
mainClass: "mfp-fade",
preloader: false,
removalDelay: 160,
fixedContentPos: false,
});
/*------------------------
11 Wow Animation
--------------------------*/
new WOW().init();
/*------------------------
12 Owl Carousel
--------------------------*/
$(".owl-carousel").each(function () {
var $carousel = $(this);
$carousel.owlCarousel({
items: $carousel.data("items"),
loop: $carousel.data("loop"),
margin: $carousel.data("margin"),
nav: $carousel.data("nav"),
dots: $carousel.data("dots"),
autoplay: $carousel.data("autoplay"),
autoplayTimeout: $carousel.data("autoplay-timeout"),
navText: [
'<i class="ion-arrow-left-c"></i>',
'<i class="ion-arrow-right-c"></i>',
],
responsiveClass: true,
responsive: {
// breakpoint from 0 up
0: {
items: $carousel.data("items-mobile-sm"),
},
// breakpoint from 480 up
480: {
items: $carousel.data("items-mobile"),
},
// breakpoint from 786 up
786: {
items: $carousel.data("items-tab"),
},
// breakpoint from 1023 up
1023: {
items: $carousel.data("items-laptop"),
},
1199: {
items: $carousel.data("items"),
},
},
});
});
/*------------------------
13 Countdown
--------------------------*/
$("#countdown").countdown({
date: "12/31/2024 23:59:59",
day: "Day",
days: "Days",
});
/*------------------------
14 Circle Progressbar
--------------------------*/
function animateElements() {
$(".progressbar").each(function () {
var elementPos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
var percent = $(this).find(".circle").attr("data-percent");
var percentage = parseInt(percent, 10) / parseInt(100, 10);
var animate = $(this).data("animate");
if (elementPos < topOfWindow + $(window).height() - 30 && !animate) {
$(this).data("animate", true);
$(this)
.find(".circle")
.circleProgress({
startAngle: -Math.PI / 2,
value: percent / 100,
thickness: 9,
fill: {
color: "#1B58B8",
},
})
.stop();
$(this)
.find(".circle.purple")
.circleProgress({
fill: {
color: "#6934cb",
},
});
$(this)
.find(".circle.light-purple")
.circleProgress({
fill: {
color: "#7c60d5",
},
});
$(this)
.find(".circle.green")
.circleProgress({
fill: {
color: "#33e2a0",
},
});
}
});
}
// Show animated elements
animateElements();
$(window).scroll(animateElements);
/*------------------------
About menu
--------------------------*/
$(document).ready(function () {
$(".our-info ul.about-us li a").on("click", function () {
var id = $(this).attr("href");
//alert(id);
$(id).css({
"padding-top": "250px",
});
$(".our-info ul.about-us li a.active").removeClass("active");
$(this).addClass("active");
});
});
/*------------------------
15 Side Menu
--------------------------*/
$(function () {
$("body").addClass("js");
var $hamburger = $(".hamburger"),
$nav = $("#site-nav"),
$masthead = $("#masthead");
$hamburger.click(function () {
$(this).toggleClass("is-active");
$nav.toggleClass("is-active");
$masthead.toggleClass("is-active");
return false;
});
});
});

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
/*!
* jquery.counterup.js 1.0
*
* Copyright 2013, Benjamin Intal http://gambit.ph @bfintal
* Released under the GPL v2 License
*
* Date: Nov 26, 2013
*/ (function (e) {
"use strict";
e.fn.counterUp = function (t) {
var n = e.extend({ time: 400, delay: 10 }, t);
return this.each(function () {
var t = e(this),
r = n,
i = function () {
var e = [],
n = r.time / r.delay,
i = t.text(),
s = /[0-9]+,[0-9]+/.test(i);
i = i.replace(/,/g, "");
var o = /^[0-9]+$/.test(i),
u = /^[0-9]+\.[0-9]+$/.test(i),
a = u ? (i.split(".")[1] || []).length : 0;
for (var f = n; f >= 1; f--) {
var l = parseInt((i / n) * f);
u && (l = parseFloat((i / n) * f).toFixed(a));
if (s)
while (/(\d+)(\d{3})/.test(l.toString()))
l = l.toString().replace(/(\d+)(\d{3})/, "$1,$2");
e.unshift(l);
}
t.data("counterup-nums", e);
t.text("0");
var c = function () {
t.text(t.data("counterup-nums").shift());
if (t.data("counterup-nums").length)
setTimeout(t.data("counterup-func"), r.delay);
else {
delete t.data("counterup-nums");
t.data("counterup-nums", null);
t.data("counterup-func", null);
}
};
t.data("counterup-func", c);
setTimeout(t.data("counterup-func"), r.delay);
};
t.waypoint(i, { offset: "100%", triggerOnce: !0 });
});
};
})(jQuery);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,318 @@
// ----------------------------------------------------------------------------------------------------
// ScrollMe
// A jQuery plugin for adding simple scrolling effects to web pages
// http://scrollme.nckprsn.com
// ----------------------------------------------------------------------------------------------------
var scrollme = (function (a) {
var d = {};
var c = a(document);
var b = a(window);
d.body_height = 0;
d.viewport_height = 0;
d.viewport_top = 0;
d.viewport_bottom = 0;
d.viewport_top_previous = -1;
d.elements = [];
d.elements_in_view = [];
d.property_defaults = {
opacity: 1,
translatex: 0,
translatey: 0,
translatez: 0,
rotatex: 0,
rotatey: 0,
rotatez: 0,
scale: 1,
scalex: 1,
scaley: 1,
scalez: 1,
};
d.scrollme_selector = ".scrollme";
d.animateme_selector = ".animateme";
d.update_interval = 10;
d.easing_functions = {
linear: function (e) {
return e;
},
easeout: function (e) {
return e * e * e;
},
easein: function (e) {
e = 1 - e;
return 1 - e * e * e;
},
easeinout: function (e) {
if (e < 0.5) {
return 4 * e * e * e;
} else {
e = 1 - e;
return 1 - 4 * e * e * e;
}
},
};
d.init_events = ["ready", "page:load", "page:change"];
d.init_if = function () {
return true;
};
d.init = function () {
if (!d.init_if()) {
return false;
}
d.init_elements();
d.on_resize();
b.on("resize orientationchange", function () {
d.on_resize();
});
b.load(function () {
setTimeout(function () {
d.on_resize();
}, 100);
});
setInterval(d.update, d.update_interval);
return true;
};
d.init_elements = function () {
a(d.scrollme_selector).each(function () {
var e = {};
e.element = a(this);
var f = [];
a(this)
.find(d.animateme_selector)
.addBack(d.animateme_selector)
.each(function () {
var h = {};
h.element = a(this);
h.when = h.element.data("when");
h.from = h.element.data("from");
h.to = h.element.data("to");
if (h.element.is("[data-crop]")) {
h.crop = h.element.data("crop");
} else {
h.crop = true;
}
if (h.element.is("[data-easing]")) {
h.easing = d.easing_functions[h.element.data("easing")];
} else {
h.easing = d.easing_functions.easeout;
}
var g = {};
if (h.element.is("[data-opacity]")) {
g.opacity = h.element.data("opacity");
}
if (h.element.is("[data-translatex]")) {
g.translatex = h.element.data("translatex");
}
if (h.element.is("[data-translatey]")) {
g.translatey = h.element.data("translatey");
}
if (h.element.is("[data-translatez]")) {
g.translatez = h.element.data("translatez");
}
if (h.element.is("[data-rotatex]")) {
g.rotatex = h.element.data("rotatex");
}
if (h.element.is("[data-rotatey]")) {
g.rotatey = h.element.data("rotatey");
}
if (h.element.is("[data-rotatez]")) {
g.rotatez = h.element.data("rotatez");
}
if (h.element.is("[data-scale]")) {
g.scale = h.element.data("scale");
}
if (h.element.is("[data-scalex]")) {
g.scalex = h.element.data("scalex");
}
if (h.element.is("[data-scaley]")) {
g.scaley = h.element.data("scaley");
}
if (h.element.is("[data-scalez]")) {
g.scalez = h.element.data("scalez");
}
h.properties = g;
f.push(h);
});
e.effects = f;
d.elements.push(e);
});
};
d.update = function () {
window.requestAnimationFrame(function () {
d.update_viewport_position();
if (d.viewport_top_previous != d.viewport_top) {
d.update_elements_in_view();
d.animate();
}
d.viewport_top_previous = d.viewport_top;
});
};
d.animate = function () {
var C = d.elements_in_view.length;
for (var A = 0; A < C; A++) {
var h = d.elements_in_view[A];
var f = h.effects.length;
for (var D = 0; D < f; D++) {
var w = h.effects[D];
switch (w.when) {
case "view":
case "span":
var r = h.top - d.viewport_height;
var n = h.bottom;
break;
case "exit":
var r = h.bottom - d.viewport_height;
var n = h.bottom;
break;
default:
var r = h.top - d.viewport_height;
var n = h.top;
break;
}
if (w.crop) {
if (r < 0) {
r = 0;
}
if (n > d.body_height - d.viewport_height) {
n = d.body_height - d.viewport_height;
}
}
var g = (d.viewport_top - r) / (n - r);
var x = w.from;
var j = w.to;
var o = j - x;
var k = (g - x) / o;
var v = w.easing(k);
var l = d.animate_value(g, v, x, j, w, "opacity");
var t = d.animate_value(g, v, x, j, w, "translatey");
var u = d.animate_value(g, v, x, j, w, "translatex");
var s = d.animate_value(g, v, x, j, w, "translatez");
var B = d.animate_value(g, v, x, j, w, "rotatex");
var z = d.animate_value(g, v, x, j, w, "rotatey");
var y = d.animate_value(g, v, x, j, w, "rotatez");
var E = d.animate_value(g, v, x, j, w, "scale");
var q = d.animate_value(g, v, x, j, w, "scalex");
var p = d.animate_value(g, v, x, j, w, "scaley");
var m = d.animate_value(g, v, x, j, w, "scalez");
if ("scale" in w.properties) {
q = E;
p = E;
m = E;
}
w.element.css({
opacity: l,
transform:
"translate3d( " +
u +
"px , " +
t +
"px , " +
s +
"px ) rotateX( " +
B +
"deg ) rotateY( " +
z +
"deg ) rotateZ( " +
y +
"deg ) scale3d( " +
q +
" , " +
p +
" , " +
m +
" )",
});
}
}
};
d.animate_value = function (i, h, j, k, n, m) {
var g = d.property_defaults[m];
if (!(m in n.properties)) {
return g;
}
var e = n.properties[m];
var f = k > j ? true : false;
if (i < j && f) {
return g;
}
if (i > k && f) {
return e;
}
if (i > j && !f) {
return g;
}
if (i < k && !f) {
return e;
}
var l = g + h * (e - g);
switch (m) {
case "opacity":
l = l.toFixed(2);
break;
case "translatex":
l = l.toFixed(0);
break;
case "translatey":
l = l.toFixed(0);
break;
case "translatez":
l = l.toFixed(0);
break;
case "rotatex":
l = l.toFixed(1);
break;
case "rotatey":
l = l.toFixed(1);
break;
case "rotatez":
l = l.toFixed(1);
break;
case "scale":
l = l.toFixed(3);
break;
default:
break;
}
return l;
};
d.update_viewport_position = function () {
d.viewport_top = b.scrollTop();
d.viewport_bottom = d.viewport_top + d.viewport_height;
};
d.update_elements_in_view = function () {
d.elements_in_view = [];
var f = d.elements.length;
for (var e = 0; e < f; e++) {
if (
d.elements[e].top < d.viewport_bottom &&
d.elements[e].bottom > d.viewport_top
) {
d.elements_in_view.push(d.elements[e]);
}
}
};
d.on_resize = function () {
d.update_viewport();
d.update_element_heights();
d.update_viewport_position();
d.update_elements_in_view();
d.animate();
};
d.update_viewport = function () {
d.body_height = c.height();
d.viewport_height = b.height();
};
d.update_element_heights = function () {
var g = d.elements.length;
for (var f = 0; f < g; f++) {
var h = d.elements[f].element.outerHeight();
var e = d.elements[f].element.offset();
d.elements[f].height = h;
d.elements[f].top = e.top;
d.elements[f].bottom = e.top + h;
}
};
c.on(d.init_events.join(" "), function () {
d.init();
});
return d;
})(jQuery);

View File

@ -0,0 +1,280 @@
!(function (e) {
var o = {
logo_align: "left",
links_align: "left",
socialBar_align: "left",
searchBar_align: "right",
trigger: "hover",
effect: "fade",
effect_speed: 400,
sibling: !0,
outside_click_close: !0,
top_fixed: !1,
sticky_header: !1,
sticky_header_height: 200,
menu_position: "horizontal",
full_width: !0,
mobile_settings: {
collapse: !1,
sibling: !0,
scrollBar: !0,
scrollBar_height: 400,
top_fixed: !1,
sticky_header: !1,
sticky_header_height: 200,
},
};
e.fn.megaMenu = function (i) {
return (
(i = e.extend({}, o, i || {})),
this.each(function () {
var o,
s = e(this),
t = "ul",
n = "li",
a = "a",
r = s.find(".menu-logo"),
l = r.children(n),
d = s.find(".menu-links"),
c = d.children(n),
_ = s.find(".menu-social-bar"),
f = s.find(".menu-search-bar"),
p = ".menu-mobile-collapse-trigger",
u = ".mobileTriggerButton",
g = ".desktopTriggerButton",
h = "active",
m = "activeTrigger",
b = "activeTriggerMobile",
v = ".drop-down-multilevel, .drop-down, .drop-down-tab-bar",
w = "desktopTopFixed",
C = "mobileTopFixed",
k = "menuFullWidth",
y = s.find(".menu-contact-form"),
x = y.find(".nav_form_notification");
(o = {
contact_form_ajax: function () {
e(y).submit(function (o) {
var i = e(this);
o.preventDefault();
var s = e(this).serialize();
i.find("button i.fa").css("display", "inline-block"),
e
.ajax({ type: "POST", url: e(this).attr("action"), data: s })
.done(function (e) {
x.text(e),
i.find('input[type="text"]').val(""),
i.find('input[type="email"]').val(""),
i.find("textarea").val(""),
i.find("button i.fa").css("display", "none");
})
.fail(function (e) {
"" !== e.responseText && x.text("Error"),
i.find("button i.fa").css("display", "none");
});
});
},
menu_full_width: function () {
i.full_width === !0 && s.addClass(k);
},
logo_Align: function () {
"right" === i.logo_align && r.addClass("menu-logo-align-right");
},
links_Align: function () {
"right" === i.links_align && d.addClass("menu-links-align-right");
},
social_bar_Align: function () {
"right" === i.socialBar_align &&
_.addClass("menu-social-bar-right");
},
search_bar_Align: function () {
"left" === i.searchBar_align && f.addClass("menu-search-bar-left");
},
collapse_trigger_button: function () {
if (i.mobile_settings.collapse === !0) {
l.append(
'<div class="menu-mobile-collapse-trigger"><span></span></div>'
);
var o = d.add(_);
o.hide(0),
f.addClass(h),
s.find(p).on("click", function () {
return (
o.is(":hidden")
? (e(this).addClass(h), o.show(0))
: (e(this).removeClass(h), o.hide(0)),
!1
);
});
}
},
switch_effects: function () {
switch (i.effect) {
case "fade":
s.find(v).addClass("effect-fade");
break;
case "scale":
s.find(v).addClass("effect-scale");
break;
case "expand-top":
s.find(v).addClass("effect-expand-top");
break;
case "expand-bottom":
s.find(v).addClass("effect-expand-bottom");
break;
case "expand-left":
s.find(v).addClass("effect-expand-left");
break;
case "expand-right":
s.find(v).addClass("effect-expand-right");
}
},
transition_delay: function () {
s.find(v).css({
webkitTransition: "all " + i.effect_speed + "ms ease ",
transition: "all " + i.effect_speed + "ms ease ",
});
},
hover_trigger: function () {
"hover" === i.trigger &&
(o.transition_delay(),
s.find(v).parents(n).addClass("hoverTrigger"),
o.switch_effects());
},
mobile_trigger: function () {
s.find(v).prev(a).append('<div class="mobileTriggerButton"></div>'),
s.find(u).on("click", function () {
var o = e(this),
r = o.parents(a),
l = r.next(v);
return (
l.is(":hidden")
? (i.mobile_settings.sibling === !0 &&
(o
.parents(s)
.siblings(t + "," + n)
.find(v)
.hide(0),
o.parents(s).siblings(n).removeClass(b),
o.parents(s).siblings(t).find(n).removeClass(b)),
r.parent(n).addClass(b),
l.show(0))
: (r.parent(n).removeClass(b), l.hide(0)),
!1
);
}),
s.find("i.fa.fa-indicator").on("click", function () {
return !1;
});
},
click_trigger: function () {
"click" === i.trigger &&
(s
.find(v)
.prev(a)
.append('<div class="desktopTriggerButton"></div>'),
s.find(v).parents(n).addClass("ClickTrigger"),
o.switch_effects(),
o.transition_delay(),
s.find(g).on("click", function (o) {
o.stopPropagation(), o.stopImmediatePropagation();
var r = e(this),
l = r.parents(a),
d = l.next(v);
d.hasClass(h)
? (l.parent(n).removeClass(m), d.removeClass(h))
: (i.sibling === !0 &&
(r
.parents(s)
.siblings(t + "," + n)
.find(v)
.removeClass(h),
r.parents(s).siblings(n).removeClass(m),
r.parents(s).siblings(t).find(n).removeClass(m)),
l.parent(n).addClass(m),
d.addClass(h));
}));
},
outside_close: function () {
i.outside_click_close === !0 &&
"click" === i.trigger &&
s.find(v).is(":visible")
? e(document)
.off("click")
.on("click", function (e) {
s.is(e.target) ||
0 !== s.has(e.target).length ||
(s.find(v).removeClass(h),
c.removeClass("activeTrigger"));
})
: e(document).off("click");
},
scroll_bar: function () {
i.mobile_settings.scrollBar === !0 &&
d.css({
maxHeight: i.mobile_settings.scrollBar_height + "px",
overflow: "auto",
});
},
top_Fixed: function () {
i.top_fixed === !0 && s.addClass(w),
i.mobile_settings.top_fixed && s.addClass(C);
},
sticky_Header: function () {
var o = e(window),
t = !0,
n = !0;
s.find(v).is(":hidden")
? (o.off("scroll"),
i.mobile_settings.sticky_header === !0 &&
i.top_fixed === !1 &&
o.on("scroll", function () {
o.scrollTop() > i.mobile_settings.sticky_header_height
? n === !0 && (s.addClass(C), (n = !1))
: n === !1 && (s.removeClass(C), (n = !0));
}))
: (o.off("scroll"),
i.sticky_header === !0 &&
"horizontal" === i.menu_position &&
i.top_fixed === !1 &&
o.on("scroll", function () {
o.scrollTop() > i.sticky_header_height
? t === !0 &&
(s.fadeOut(200, function () {
e(this).addClass(w).fadeIn(200);
}),
(t = !1))
: t === !1 &&
(s.fadeOut(200, function () {
e(this).removeClass(w).fadeIn(200);
}),
(t = !0));
}));
},
position: function () {
"vertical-left" === i.menu_position
? s.addClass("vertical-left")
: "vertical-right" === i.menu_position &&
s.addClass("vertical-right");
},
}),
o.menu_full_width(),
o.logo_Align(),
o.links_Align(),
o.social_bar_Align(),
o.search_bar_Align(),
o.collapse_trigger_button(),
o.hover_trigger(),
o.mobile_trigger(),
o.click_trigger(),
o.scroll_bar(),
o.top_Fixed(),
o.sticky_Header(),
o.position(),
o.contact_form_ajax(),
e(window).resize(function () {
o.outside_close(), o.sticky_Header();
});
})
);
};
})(jQuery);

View File

@ -0,0 +1,625 @@
window.Modernizr = (function (e, t, n) {
function r(e) {
b.cssText = e;
}
function o(e, t) {
return r(S.join(e + ";") + (t || ""));
}
function a(e, t) {
return typeof e === t;
}
function i(e, t) {
return !!~("" + e).indexOf(t);
}
function c(e, t) {
for (var r in e) {
var o = e[r];
if (!i(o, "-") && b[o] !== n) return "pfx" == t ? o : !0;
}
return !1;
}
function s(e, t, r) {
for (var o in e) {
var i = t[e[o]];
if (i !== n)
return r === !1 ? e[o] : a(i, "function") ? i.bind(r || t) : i;
}
return !1;
}
function u(e, t, n) {
var r = e.charAt(0).toUpperCase() + e.slice(1),
o = (e + " " + k.join(r + " ") + r).split(" ");
return a(t, "string") || a(t, "undefined")
? c(o, t)
: ((o = (e + " " + T.join(r + " ") + r).split(" ")), s(o, t, n));
}
function l() {
(p.input = (function (n) {
for (var r = 0, o = n.length; o > r; r++) j[n[r]] = !!(n[r] in E);
return (
j.list &&
(j.list = !(!t.createElement("datalist") || !e.HTMLDataListElement)),
j
);
})(
"autocomplete autofocus list placeholder max min multiple pattern required step".split(
" "
)
)),
(p.inputtypes = (function (e) {
for (var r, o, a, i = 0, c = e.length; c > i; i++)
E.setAttribute("type", (o = e[i])),
(r = "text" !== E.type),
r &&
((E.value = x),
(E.style.cssText = "position:absolute;visibility:hidden;"),
/^range$/.test(o) && E.style.WebkitAppearance !== n
? (g.appendChild(E),
(a = t.defaultView),
(r =
a.getComputedStyle &&
"textfield" !==
a.getComputedStyle(E, null).WebkitAppearance &&
0 !== E.offsetHeight),
g.removeChild(E))
: /^(search|tel)$/.test(o) ||
(r = /^(url|email)$/.test(o)
? E.checkValidity && E.checkValidity() === !1
: E.value != x)),
(P[e[i]] = !!r);
return P;
})(
"search tel url email datetime date month week time datetime-local number range color".split(
" "
)
));
}
var d,
f,
m = "2.8.3",
p = {},
h = !0,
g = t.documentElement,
v = "modernizr",
y = t.createElement(v),
b = y.style,
E = t.createElement("input"),
x = ":)",
w = {}.toString,
S = " -webkit- -moz- -o- -ms- ".split(" "),
C = "Webkit Moz O ms",
k = C.split(" "),
T = C.toLowerCase().split(" "),
N = { svg: "http://www.w3.org/2000/svg" },
M = {},
P = {},
j = {},
$ = [],
D = $.slice,
F = function (e, n, r, o) {
var a,
i,
c,
s,
u = t.createElement("div"),
l = t.body,
d = l || t.createElement("body");
if (parseInt(r, 10))
for (; r--; )
(c = t.createElement("div")),
(c.id = o ? o[r] : v + (r + 1)),
u.appendChild(c);
return (
(a = ["&#173;", '<style id="s', v, '">', e, "</style>"].join("")),
(u.id = v),
((l ? u : d).innerHTML += a),
d.appendChild(u),
l ||
((d.style.background = ""),
(d.style.overflow = "hidden"),
(s = g.style.overflow),
(g.style.overflow = "hidden"),
g.appendChild(d)),
(i = n(u, e)),
l
? u.parentNode.removeChild(u)
: (d.parentNode.removeChild(d), (g.style.overflow = s)),
!!i
);
},
z = function (t) {
var n = e.matchMedia || e.msMatchMedia;
if (n) return (n(t) && n(t).matches) || !1;
var r;
return (
F(
"@media " + t + " { #" + v + " { position: absolute; } }",
function (t) {
r =
"absolute" ==
(e.getComputedStyle ? getComputedStyle(t, null) : t.currentStyle)
.position;
}
),
r
);
},
A = (function () {
function e(e, o) {
(o = o || t.createElement(r[e] || "div")), (e = "on" + e);
var i = e in o;
return (
i ||
(o.setAttribute || (o = t.createElement("div")),
o.setAttribute &&
o.removeAttribute &&
(o.setAttribute(e, ""),
(i = a(o[e], "function")),
a(o[e], "undefined") || (o[e] = n),
o.removeAttribute(e))),
(o = null),
i
);
}
var r = {
select: "input",
change: "input",
submit: "form",
reset: "form",
error: "img",
load: "img",
abort: "img",
};
return e;
})(),
L = {}.hasOwnProperty;
(f =
a(L, "undefined") || a(L.call, "undefined")
? function (e, t) {
return t in e && a(e.constructor.prototype[t], "undefined");
}
: function (e, t) {
return L.call(e, t);
}),
Function.prototype.bind ||
(Function.prototype.bind = function (e) {
var t = this;
if ("function" != typeof t) throw new TypeError();
var n = D.call(arguments, 1),
r = function () {
if (this instanceof r) {
var o = function () {};
o.prototype = t.prototype;
var a = new o(),
i = t.apply(a, n.concat(D.call(arguments)));
return Object(i) === i ? i : a;
}
return t.apply(e, n.concat(D.call(arguments)));
};
return r;
}),
(M.flexbox = function () {
return u("flexWrap");
}),
(M.flexboxlegacy = function () {
return u("boxDirection");
}),
(M.canvas = function () {
var e = t.createElement("canvas");
return !(!e.getContext || !e.getContext("2d"));
}),
(M.canvastext = function () {
return !(
!p.canvas ||
!a(t.createElement("canvas").getContext("2d").fillText, "function")
);
}),
(M.webgl = function () {
return !!e.WebGLRenderingContext;
}),
(M.touch = function () {
var n;
return (
"ontouchstart" in e || (e.DocumentTouch && t instanceof DocumentTouch)
? (n = !0)
: F(
[
"@media (",
S.join("touch-enabled),("),
v,
")",
"{#modernizr{top:9px;position:absolute}}",
].join(""),
function (e) {
n = 9 === e.offsetTop;
}
),
n
);
}),
(M.geolocation = function () {
return "geolocation" in navigator;
}),
(M.postmessage = function () {
return !!e.postMessage;
}),
(M.websqldatabase = function () {
return !!e.openDatabase;
}),
(M.indexedDB = function () {
return !!u("indexedDB", e);
}),
(M.hashchange = function () {
return A("hashchange", e) && (t.documentMode === n || t.documentMode > 7);
}),
(M.history = function () {
return !(!e.history || !history.pushState);
}),
(M.draganddrop = function () {
var e = t.createElement("div");
return "draggable" in e || ("ondragstart" in e && "ondrop" in e);
}),
(M.websockets = function () {
return "WebSocket" in e || "MozWebSocket" in e;
}),
(M.rgba = function () {
return (
r("background-color:rgba(150,255,150,.5)"), i(b.backgroundColor, "rgba")
);
}),
(M.hsla = function () {
return (
r("background-color:hsla(120,40%,100%,.5)"),
i(b.backgroundColor, "rgba") || i(b.backgroundColor, "hsla")
);
}),
(M.multiplebgs = function () {
return (
r("background:url(https://),url(https://),red url(https://)"),
/(url\s*\(.*?){3}/.test(b.background)
);
}),
(M.backgroundsize = function () {
return u("backgroundSize");
}),
(M.borderimage = function () {
return u("borderImage");
}),
(M.borderradius = function () {
return u("borderRadius");
}),
(M.boxshadow = function () {
return u("boxShadow");
}),
(M.textshadow = function () {
return "" === t.createElement("div").style.textShadow;
}),
(M.opacity = function () {
return o("opacity:.55"), /^0.55$/.test(b.opacity);
}),
(M.cssanimations = function () {
return u("animationName");
}),
(M.csscolumns = function () {
return u("columnCount");
}),
(M.cssgradients = function () {
var e = "background-image:",
t = "gradient(linear,left top,right bottom,from(#9f9),to(white));",
n = "linear-gradient(left top,#9f9, white);";
return (
r(
(e + "-webkit- ".split(" ").join(t + e) + S.join(n + e)).slice(
0,
-e.length
)
),
i(b.backgroundImage, "gradient")
);
}),
(M.cssreflections = function () {
return u("boxReflect");
}),
(M.csstransforms = function () {
return !!u("transform");
}),
(M.csstransforms3d = function () {
var e = !!u("perspective");
return (
e &&
"webkitPerspective" in g.style &&
F(
"@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",
function (t) {
e = 9 === t.offsetLeft && 3 === t.offsetHeight;
}
),
e
);
}),
(M.csstransitions = function () {
return u("transition");
}),
(M.fontface = function () {
var e;
return (
F(
'@font-face {font-family:"font";src:url("https://")}',
function (n, r) {
var o = t.getElementById("smodernizr"),
a = o.sheet || o.styleSheet,
i = a
? a.cssRules && a.cssRules[0]
? a.cssRules[0].cssText
: a.cssText || ""
: "";
e = /src/i.test(i) && 0 === i.indexOf(r.split(" ")[0]);
}
),
e
);
}),
(M.generatedcontent = function () {
var e;
return (
F(
[
"#",
v,
"{font:0/0 a}#",
v,
':after{content:"',
x,
'";visibility:hidden;font:3px/1 a}',
].join(""),
function (t) {
e = t.offsetHeight >= 3;
}
),
e
);
}),
(M.video = function () {
var e = t.createElement("video"),
n = !1;
try {
(n = !!e.canPlayType) &&
((n = new Boolean(n)),
(n.ogg = e
.canPlayType('video/ogg; codecs="theora"')
.replace(/^no$/, "")),
(n.h264 = e
.canPlayType('video/mp4; codecs="avc1.42E01E"')
.replace(/^no$/, "")),
(n.webm = e
.canPlayType('video/webm; codecs="vp8, vorbis"')
.replace(/^no$/, "")));
} catch (r) {}
return n;
}),
(M.audio = function () {
var e = t.createElement("audio"),
n = !1;
try {
(n = !!e.canPlayType) &&
((n = new Boolean(n)),
(n.ogg = e
.canPlayType('audio/ogg; codecs="vorbis"')
.replace(/^no$/, "")),
(n.mp3 = e.canPlayType("audio/mpeg;").replace(/^no$/, "")),
(n.wav = e.canPlayType('audio/wav; codecs="1"').replace(/^no$/, "")),
(n.m4a = (
e.canPlayType("audio/x-m4a;") || e.canPlayType("audio/aac;")
).replace(/^no$/, "")));
} catch (r) {}
return n;
}),
(M.localstorage = function () {
try {
return localStorage.setItem(v, v), localStorage.removeItem(v), !0;
} catch (e) {
return !1;
}
}),
(M.sessionstorage = function () {
try {
return sessionStorage.setItem(v, v), sessionStorage.removeItem(v), !0;
} catch (e) {
return !1;
}
}),
(M.webworkers = function () {
return !!e.Worker;
}),
(M.applicationcache = function () {
return !!e.applicationCache;
}),
(M.svg = function () {
return (
!!t.createElementNS && !!t.createElementNS(N.svg, "svg").createSVGRect
);
}),
(M.inlinesvg = function () {
var e = t.createElement("div");
return (
(e.innerHTML = "<svg/>"),
(e.firstChild && e.firstChild.namespaceURI) == N.svg
);
}),
(M.smil = function () {
return (
!!t.createElementNS &&
/SVGAnimate/.test(w.call(t.createElementNS(N.svg, "animate")))
);
}),
(M.svgclippaths = function () {
return (
!!t.createElementNS &&
/SVGClipPath/.test(w.call(t.createElementNS(N.svg, "clipPath")))
);
});
for (var H in M)
f(M, H) &&
((d = H.toLowerCase()), (p[d] = M[H]()), $.push((p[d] ? "" : "no-") + d));
return (
p.input || l(),
(p.addTest = function (e, t) {
if ("object" == typeof e) for (var r in e) f(e, r) && p.addTest(r, e[r]);
else {
if (((e = e.toLowerCase()), p[e] !== n)) return p;
(t = "function" == typeof t ? t() : t),
"undefined" != typeof h &&
h &&
(g.className += " " + (t ? "" : "no-") + e),
(p[e] = t);
}
return p;
}),
r(""),
(y = E = null),
(function (e, t) {
function n(e, t) {
var n = e.createElement("p"),
r = e.getElementsByTagName("head")[0] || e.documentElement;
return (
(n.innerHTML = "x<style>" + t + "</style>"),
r.insertBefore(n.lastChild, r.firstChild)
);
}
function r() {
var e = y.elements;
return "string" == typeof e ? e.split(" ") : e;
}
function o(e) {
var t = v[e[h]];
return t || ((t = {}), g++, (e[h] = g), (v[g] = t)), t;
}
function a(e, n, r) {
if ((n || (n = t), l)) return n.createElement(e);
r || (r = o(n));
var a;
return (
(a = r.cache[e]
? r.cache[e].cloneNode()
: p.test(e)
? (r.cache[e] = r.createElem(e)).cloneNode()
: r.createElem(e)),
!a.canHaveChildren || m.test(e) || a.tagUrn
? a
: r.frag.appendChild(a)
);
}
function i(e, n) {
if ((e || (e = t), l)) return e.createDocumentFragment();
n = n || o(e);
for (
var a = n.frag.cloneNode(), i = 0, c = r(), s = c.length;
s > i;
i++
)
a.createElement(c[i]);
return a;
}
function c(e, t) {
t.cache ||
((t.cache = {}),
(t.createElem = e.createElement),
(t.createFrag = e.createDocumentFragment),
(t.frag = t.createFrag())),
(e.createElement = function (n) {
return y.shivMethods ? a(n, e, t) : t.createElem(n);
}),
(e.createDocumentFragment = Function(
"h,f",
"return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" +
r()
.join()
.replace(/[\w\-]+/g, function (e) {
return (
t.createElem(e), t.frag.createElement(e), 'c("' + e + '")'
);
}) +
");return n}"
)(y, t.frag));
}
function s(e) {
e || (e = t);
var r = o(e);
return (
!y.shivCSS ||
u ||
r.hasCSS ||
(r.hasCSS = !!n(
e,
"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}"
)),
l || c(e, r),
e
);
}
var u,
l,
d = "3.7.0",
f = e.html5 || {},
m =
/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,
p =
/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,
h = "_html5shiv",
g = 0,
v = {};
!(function () {
try {
var e = t.createElement("a");
(e.innerHTML = "<xyz></xyz>"),
(u = "hidden" in e),
(l =
1 == e.childNodes.length ||
(function () {
t.createElement("a");
var e = t.createDocumentFragment();
return (
"undefined" == typeof e.cloneNode ||
"undefined" == typeof e.createDocumentFragment ||
"undefined" == typeof e.createElement
);
})());
} catch (n) {
(u = !0), (l = !0);
}
})();
var y = {
elements:
f.elements ||
"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",
version: d,
shivCSS: f.shivCSS !== !1,
supportsUnknownElements: l,
shivMethods: f.shivMethods !== !1,
type: "default",
shivDocument: s,
createElement: a,
createDocumentFragment: i,
};
(e.html5 = y), s(t);
})(this, t),
(p._version = m),
(p._prefixes = S),
(p._domPrefixes = T),
(p._cssomPrefixes = k),
(p.mq = z),
(p.hasEvent = A),
(p.testProp = function (e) {
return c([e]);
}),
(p.testAllProps = u),
(p.testStyles = F),
(p.prefixed = function (e, t, n) {
return t ? u(e, t, n) : u(e, "pfx");
}),
(g.className =
g.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") +
(h ? " js " + $.join(" ") : "")),
p
);
})(this, this.document);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,126 @@
/*!
* Retina.js v1.3.0
*
* Copyright 2014 Imulus, LLC
* Released under the MIT license
*
* Retina.js is an open source script that makes it easy to serve
* high-resolution images to devices with retina displays.
*/
!(function () {
function a() {}
function b(a) {
return f.retinaImageSuffix + a;
}
function c(a, c) {
if (((this.path = a || ""), "undefined" != typeof c && null !== c))
(this.at_2x_path = c), (this.perform_check = !1);
else {
if (void 0 !== document.createElement) {
var d = document.createElement("a");
(d.href = this.path),
(d.pathname = d.pathname.replace(g, b)),
(this.at_2x_path = d.href);
} else {
var e = this.path.split("?");
(e[0] = e[0].replace(g, b)), (this.at_2x_path = e.join("?"));
}
this.perform_check = !0;
}
}
function d(a) {
(this.el = a),
(this.path = new c(
this.el.getAttribute("src"),
this.el.getAttribute("data-at2x")
));
var b = this;
this.path.check_2x_variant(function (a) {
a && b.swap();
});
}
var e = "undefined" == typeof exports ? window : exports,
f = {
retinaImageSuffix: "@2x",
check_mime_type: !0,
force_original_dimensions: !0,
};
(e.Retina = a),
(a.configure = function (a) {
null === a && (a = {});
for (var b in a) a.hasOwnProperty(b) && (f[b] = a[b]);
}),
(a.init = function (a) {
null === a && (a = e);
var b = a.onload || function () {};
a.onload = function () {
var a,
c,
e = document.getElementsByTagName("img"),
f = [];
for (a = 0; a < e.length; a += 1)
(c = e[a]), c.getAttributeNode("data-no-retina") || f.push(new d(c));
b();
};
}),
(a.isRetina = function () {
var a =
"(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)";
return e.devicePixelRatio > 1
? !0
: e.matchMedia && e.matchMedia(a).matches
? !0
: !1;
});
var g = /\.\w+$/;
(e.RetinaImagePath = c),
(c.confirmed_paths = []),
(c.prototype.is_external = function () {
return !(
!this.path.match(/^https?\:/i) ||
this.path.match("//" + document.domain)
);
}),
(c.prototype.check_2x_variant = function (a) {
var b,
d = this;
return this.is_external()
? a(!1)
: this.perform_check ||
"undefined" == typeof this.at_2x_path ||
null === this.at_2x_path
? this.at_2x_path in c.confirmed_paths
? a(!0)
: ((b = new XMLHttpRequest()),
b.open("HEAD", this.at_2x_path),
(b.onreadystatechange = function () {
if (4 !== b.readyState) return a(!1);
if (b.status >= 200 && b.status <= 399) {
if (f.check_mime_type) {
var e = b.getResponseHeader("Content-Type");
if (null === e || !e.match(/^image/i)) return a(!1);
}
return c.confirmed_paths.push(d.at_2x_path), a(!0);
}
return a(!1);
}),
b.send(),
void 0)
: a(!0);
}),
(e.RetinaImage = d),
(d.prototype.swap = function (a) {
function b() {
c.el.complete
? (f.force_original_dimensions &&
(c.el.setAttribute("width", c.el.offsetWidth),
c.el.setAttribute("height", c.el.offsetHeight)),
c.el.setAttribute("src", a))
: setTimeout(b, 5);
}
"undefined" == typeof a && (a = this.path.at_2x_path);
var c = this;
b();
}),
a.isRetina() && a.init(e);
})();

View File

@ -0,0 +1,391 @@
jQuery(document).ready(function ($) {
var timelines = $(".cd-horizontal-timeline"),
eventsMinDistance = 60;
timelines.length > 0 && initTimeline(timelines);
function initTimeline(timelines) {
timelines.each(function () {
var timeline = $(this),
timelineComponents = {};
//cache timeline components
timelineComponents["timelineWrapper"] = timeline.find(".events-wrapper");
timelineComponents["eventsWrapper"] =
timelineComponents["timelineWrapper"].children(".events");
timelineComponents["fillingLine"] =
timelineComponents["eventsWrapper"].children(".filling-line");
timelineComponents["timelineEvents"] =
timelineComponents["eventsWrapper"].find("a");
timelineComponents["timelineDates"] = parseDate(
timelineComponents["timelineEvents"]
);
timelineComponents["eventsMinLapse"] = minLapse(
timelineComponents["timelineDates"]
);
timelineComponents["timelineNavigation"] = timeline.find(
".cd-timeline-navigation"
);
timelineComponents["eventsContent"] =
timeline.children(".events-content");
//assign a left postion to the single events along the timeline
setDatePosition(timelineComponents, eventsMinDistance);
//assign a width to the timeline
var timelineTotWidth = setTimelineWidth(
timelineComponents,
eventsMinDistance
);
//the timeline has been initialize - show it
timeline.addClass("loaded");
//detect click on the next arrow
timelineComponents["timelineNavigation"].on(
"click",
".next",
function (event) {
event.preventDefault();
updateSlide(timelineComponents, timelineTotWidth, "next");
}
);
//detect click on the prev arrow
timelineComponents["timelineNavigation"].on(
"click",
".prev",
function (event) {
event.preventDefault();
updateSlide(timelineComponents, timelineTotWidth, "prev");
}
);
//detect click on the a single event - show new event content
timelineComponents["eventsWrapper"].on("click", "a", function (event) {
event.preventDefault();
timelineComponents["timelineEvents"].removeClass("selected");
$(this).addClass("selected");
updateOlderEvents($(this));
updateFilling(
$(this),
timelineComponents["fillingLine"],
timelineTotWidth
);
updateVisibleContent($(this), timelineComponents["eventsContent"]);
});
//on swipe, show next/prev event content
timelineComponents["eventsContent"].on("swipeleft", function () {
var mq = checkMQ();
mq == "mobile" &&
showNewContent(timelineComponents, timelineTotWidth, "next");
});
timelineComponents["eventsContent"].on("swiperight", function () {
var mq = checkMQ();
mq == "mobile" &&
showNewContent(timelineComponents, timelineTotWidth, "prev");
});
//keyboard navigation
$(document).keyup(function (event) {
if (event.which == "37" && elementInViewport(timeline.get(0))) {
showNewContent(timelineComponents, timelineTotWidth, "prev");
} else if (event.which == "39" && elementInViewport(timeline.get(0))) {
showNewContent(timelineComponents, timelineTotWidth, "next");
}
});
});
}
function updateSlide(timelineComponents, timelineTotWidth, string) {
//retrieve translateX value of timelineComponents['eventsWrapper']
var translateValue = getTranslateValue(timelineComponents["eventsWrapper"]),
wrapperWidth = Number(
timelineComponents["timelineWrapper"].css("width").replace("px", "")
);
//translate the timeline to the left('next')/right('prev')
string == "next"
? translateTimeline(
timelineComponents,
translateValue - wrapperWidth + eventsMinDistance,
wrapperWidth - timelineTotWidth
)
: translateTimeline(
timelineComponents,
translateValue + wrapperWidth - eventsMinDistance
);
}
function showNewContent(timelineComponents, timelineTotWidth, string) {
//go from one event to the next/previous one
var visibleContent = timelineComponents["eventsContent"].find(".selected"),
newContent =
string == "next" ? visibleContent.next() : visibleContent.prev();
if (newContent.length > 0) {
//if there's a next/prev event - show it
var selectedDate = timelineComponents["eventsWrapper"].find(".selected"),
newEvent =
string == "next"
? selectedDate.parent("li").next("li").children("a")
: selectedDate.parent("li").prev("li").children("a");
updateFilling(
newEvent,
timelineComponents["fillingLine"],
timelineTotWidth
);
updateVisibleContent(newEvent, timelineComponents["eventsContent"]);
newEvent.addClass("selected");
selectedDate.removeClass("selected");
updateOlderEvents(newEvent);
updateTimelinePosition(string, newEvent, timelineComponents);
}
}
function updateTimelinePosition(string, event, timelineComponents) {
//translate timeline to the left/right according to the position of the selected event
var eventStyle = window.getComputedStyle(event.get(0), null),
eventLeft = Number(eventStyle.getPropertyValue("left").replace("px", "")),
timelineWidth = Number(
timelineComponents["timelineWrapper"].css("width").replace("px", "")
),
timelineTotWidth = Number(
timelineComponents["eventsWrapper"].css("width").replace("px", "")
);
var timelineTranslate = getTranslateValue(
timelineComponents["eventsWrapper"]
);
if (
(string == "next" && eventLeft > timelineWidth - timelineTranslate) ||
(string == "prev" && eventLeft < -timelineTranslate)
) {
translateTimeline(
timelineComponents,
-eventLeft + timelineWidth / 2,
timelineWidth - timelineTotWidth
);
}
}
function translateTimeline(timelineComponents, value, totWidth) {
var eventsWrapper = timelineComponents["eventsWrapper"].get(0);
value = value > 0 ? 0 : value; //only negative translate value
value =
!(typeof totWidth === "undefined") && value < totWidth ? totWidth : value; //do not translate more than timeline width
setTransformValue(eventsWrapper, "translateX", value + "px");
//update navigation arrows visibility
value == 0
? timelineComponents["timelineNavigation"]
.find(".prev")
.addClass("inactive")
: timelineComponents["timelineNavigation"]
.find(".prev")
.removeClass("inactive");
value == totWidth
? timelineComponents["timelineNavigation"]
.find(".next")
.addClass("inactive")
: timelineComponents["timelineNavigation"]
.find(".next")
.removeClass("inactive");
}
function updateFilling(selectedEvent, filling, totWidth) {
//change .filling-line length according to the selected event
var eventStyle = window.getComputedStyle(selectedEvent.get(0), null),
eventLeft = eventStyle.getPropertyValue("left"),
eventWidth = eventStyle.getPropertyValue("width");
eventLeft =
Number(eventLeft.replace("px", "")) +
Number(eventWidth.replace("px", "")) / 2;
var scaleValue = eventLeft / totWidth;
setTransformValue(filling.get(0), "scaleX", scaleValue);
}
function setDatePosition(timelineComponents, min) {
for (i = 0; i < timelineComponents["timelineDates"].length; i++) {
var distance = daydiff(
timelineComponents["timelineDates"][0],
timelineComponents["timelineDates"][i]
),
distanceNorm =
Math.round(distance / timelineComponents["eventsMinLapse"]) + 2;
timelineComponents["timelineEvents"]
.eq(i)
.css("left", distanceNorm * min + "px");
}
}
function setTimelineWidth(timelineComponents, width) {
var timeSpan = daydiff(
timelineComponents["timelineDates"][0],
timelineComponents["timelineDates"][
timelineComponents["timelineDates"].length - 1
]
),
timeSpanNorm = timeSpan / timelineComponents["eventsMinLapse"],
timeSpanNorm = Math.round(timeSpanNorm) + 4,
totalWidth = timeSpanNorm * width;
timelineComponents["eventsWrapper"].css("width", totalWidth + "px");
updateFilling(
timelineComponents["eventsWrapper"].find("a.selected"),
timelineComponents["fillingLine"],
totalWidth
);
updateTimelinePosition(
"next",
timelineComponents["eventsWrapper"].find("a.selected"),
timelineComponents
);
return totalWidth;
}
function updateVisibleContent(event, eventsContent) {
var eventDate = event.data("date"),
visibleContent = eventsContent.find(".selected"),
selectedContent = eventsContent.find('[data-date="' + eventDate + '"]'),
selectedContentHeight = selectedContent.height();
if (selectedContent.index() > visibleContent.index()) {
var classEnetering = "selected enter-right",
classLeaving = "leave-left";
} else {
var classEnetering = "selected enter-left",
classLeaving = "leave-right";
}
selectedContent.attr("class", classEnetering);
visibleContent
.attr("class", classLeaving)
.one(
"webkitAnimationEnd oanimationend msAnimationEnd animationend",
function () {
visibleContent.removeClass("leave-right leave-left");
selectedContent.removeClass("enter-left enter-right");
}
);
eventsContent.css("height", selectedContentHeight + "px");
}
function updateOlderEvents(event) {
event
.parent("li")
.prevAll("li")
.children("a")
.addClass("older-event")
.end()
.end()
.nextAll("li")
.children("a")
.removeClass("older-event");
}
function getTranslateValue(timeline) {
var timelineStyle = window.getComputedStyle(timeline.get(0), null),
timelineTranslate =
timelineStyle.getPropertyValue("-webkit-transform") ||
timelineStyle.getPropertyValue("-moz-transform") ||
timelineStyle.getPropertyValue("-ms-transform") ||
timelineStyle.getPropertyValue("-o-transform") ||
timelineStyle.getPropertyValue("transform");
if (timelineTranslate.indexOf("(") >= 0) {
var timelineTranslate = timelineTranslate.split("(")[1];
timelineTranslate = timelineTranslate.split(")")[0];
timelineTranslate = timelineTranslate.split(",");
var translateValue = timelineTranslate[4];
} else {
var translateValue = 0;
}
return Number(translateValue);
}
function setTransformValue(element, property, value) {
element.style["-webkit-transform"] = property + "(" + value + ")";
element.style["-moz-transform"] = property + "(" + value + ")";
element.style["-ms-transform"] = property + "(" + value + ")";
element.style["-o-transform"] = property + "(" + value + ")";
element.style["transform"] = property + "(" + value + ")";
}
//based on http://stackoverflow.com/questions/542938/how-do-i-get-the-number-of-days-between-two-dates-in-javascript
function parseDate(events) {
var dateArrays = [];
events.each(function () {
var singleDate = $(this),
dateComp = singleDate.data("date").split("T");
if (dateComp.length > 1) {
//both DD/MM/YEAR and time are provided
var dayComp = dateComp[0].split("/"),
timeComp = dateComp[1].split(":");
} else if (dateComp[0].indexOf(":") >= 0) {
//only time is provide
var dayComp = ["2000", "0", "0"],
timeComp = dateComp[0].split(":");
} else {
//only DD/MM/YEAR
var dayComp = dateComp[0].split("/"),
timeComp = ["0", "0"];
}
var newDate = new Date(
dayComp[2],
dayComp[1] - 1,
dayComp[0],
timeComp[0],
timeComp[1]
);
dateArrays.push(newDate);
});
return dateArrays;
}
function daydiff(first, second) {
return Math.round(second - first);
}
function minLapse(dates) {
//determine the minimum distance among events
var dateDistances = [];
for (i = 1; i < dates.length; i++) {
var distance = daydiff(dates[i - 1], dates[i]);
dateDistances.push(distance);
}
return Math.min.apply(null, dateDistances);
}
/*
How to tell if a DOM element is visible in the current viewport?
http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport
*/
function elementInViewport(el) {
var top = el.offsetTop;
var left = el.offsetLeft;
var width = el.offsetWidth;
var height = el.offsetHeight;
while (el.offsetParent) {
el = el.offsetParent;
top += el.offsetTop;
left += el.offsetLeft;
}
return (
top < window.pageYOffset + window.innerHeight &&
left < window.pageXOffset + window.innerWidth &&
top + height > window.pageYOffset &&
left + width > window.pageXOffset
);
}
function checkMQ() {
//check if mobile or desktop device
return window
.getComputedStyle(
document.querySelector(".cd-horizontal-timeline"),
"::before"
)
.getPropertyValue("content")
.replace(/'/g, "")
.replace(/"/g, "");
}
});

View File

@ -0,0 +1,486 @@
// Generated by CoffeeScript 1.6.2
/*
jQuery Waypoints - v2.0.3
Copyright (c) 2011-2013 Caleb Troughton
Dual licensed under the MIT license and GPL license.
https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt
*/
(function () {
var t =
[].indexOf ||
function (t) {
for (var e = 0, n = this.length; e < n; e++) {
if (e in this && this[e] === t) return e;
}
return -1;
},
e = [].slice;
(function (t, e) {
if (typeof define === "function" && define.amd) {
return define("waypoints", ["jquery"], function (n) {
return e(n, t);
});
} else {
return e(t.jQuery, t);
}
})(this, function (n, r) {
var i, o, l, s, f, u, a, c, h, d, p, y, v, w, g, m;
i = n(r);
c = t.call(r, "ontouchstart") >= 0;
s = { horizontal: {}, vertical: {} };
f = 1;
a = {};
u = "waypoints-context-id";
p = "resize.waypoints";
y = "scroll.waypoints";
v = 1;
w = "waypoints-waypoint-ids";
g = "waypoint";
m = "waypoints";
o = (function () {
function t(t) {
var e = this;
this.$element = t;
this.element = t[0];
this.didResize = false;
this.didScroll = false;
this.id = "context" + f++;
this.oldScroll = { x: t.scrollLeft(), y: t.scrollTop() };
this.waypoints = { horizontal: {}, vertical: {} };
t.data(u, this.id);
a[this.id] = this;
t.bind(y, function () {
var t;
if (!(e.didScroll || c)) {
e.didScroll = true;
t = function () {
e.doScroll();
return (e.didScroll = false);
};
return r.setTimeout(t, n[m].settings.scrollThrottle);
}
});
t.bind(p, function () {
var t;
if (!e.didResize) {
e.didResize = true;
t = function () {
n[m]("refresh");
return (e.didResize = false);
};
return r.setTimeout(t, n[m].settings.resizeThrottle);
}
});
}
t.prototype.doScroll = function () {
var t,
e = this;
t = {
horizontal: {
newScroll: this.$element.scrollLeft(),
oldScroll: this.oldScroll.x,
forward: "right",
backward: "left",
},
vertical: {
newScroll: this.$element.scrollTop(),
oldScroll: this.oldScroll.y,
forward: "down",
backward: "up",
},
};
if (c && (!t.vertical.oldScroll || !t.vertical.newScroll)) {
n[m]("refresh");
}
n.each(t, function (t, r) {
var i, o, l;
l = [];
o = r.newScroll > r.oldScroll;
i = o ? r.forward : r.backward;
n.each(e.waypoints[t], function (t, e) {
var n, i;
if (r.oldScroll < (n = e.offset) && n <= r.newScroll) {
return l.push(e);
} else if (r.newScroll < (i = e.offset) && i <= r.oldScroll) {
return l.push(e);
}
});
l.sort(function (t, e) {
return t.offset - e.offset;
});
if (!o) {
l.reverse();
}
return n.each(l, function (t, e) {
if (e.options.continuous || t === l.length - 1) {
return e.trigger([i]);
}
});
});
return (this.oldScroll = {
x: t.horizontal.newScroll,
y: t.vertical.newScroll,
});
};
t.prototype.refresh = function () {
var t,
e,
r,
i = this;
r = n.isWindow(this.element);
e = this.$element.offset();
this.doScroll();
t = {
horizontal: {
contextOffset: r ? 0 : e.left,
contextScroll: r ? 0 : this.oldScroll.x,
contextDimension: this.$element.width(),
oldScroll: this.oldScroll.x,
forward: "right",
backward: "left",
offsetProp: "left",
},
vertical: {
contextOffset: r ? 0 : e.top,
contextScroll: r ? 0 : this.oldScroll.y,
contextDimension: r
? n[m]("viewportHeight")
: this.$element.height(),
oldScroll: this.oldScroll.y,
forward: "down",
backward: "up",
offsetProp: "top",
},
};
return n.each(t, function (t, e) {
return n.each(i.waypoints[t], function (t, r) {
var i, o, l, s, f;
i = r.options.offset;
l = r.offset;
o = n.isWindow(r.element) ? 0 : r.$element.offset()[e.offsetProp];
if (n.isFunction(i)) {
i = i.apply(r.element);
} else if (typeof i === "string") {
i = parseFloat(i);
if (r.options.offset.indexOf("%") > -1) {
i = Math.ceil((e.contextDimension * i) / 100);
}
}
r.offset = o - e.contextOffset + e.contextScroll - i;
if ((r.options.onlyOnScroll && l != null) || !r.enabled) {
return;
}
if (l !== null && l < (s = e.oldScroll) && s <= r.offset) {
return r.trigger([e.backward]);
} else if (l !== null && l > (f = e.oldScroll) && f >= r.offset) {
return r.trigger([e.forward]);
} else if (l === null && e.oldScroll >= r.offset) {
return r.trigger([e.forward]);
}
});
});
};
t.prototype.checkEmpty = function () {
if (
n.isEmptyObject(this.waypoints.horizontal) &&
n.isEmptyObject(this.waypoints.vertical)
) {
this.$element.unbind([p, y].join(" "));
return delete a[this.id];
}
};
return t;
})();
l = (function () {
function t(t, e, r) {
var i, o;
r = n.extend({}, n.fn[g].defaults, r);
if (r.offset === "bottom-in-view") {
r.offset = function () {
var t;
t = n[m]("viewportHeight");
if (!n.isWindow(e.element)) {
t = e.$element.height();
}
return t - n(this).outerHeight();
};
}
this.$element = t;
this.element = t[0];
this.axis = r.horizontal ? "horizontal" : "vertical";
this.callback = r.handler;
this.context = e;
this.enabled = r.enabled;
this.id = "waypoints" + v++;
this.offset = null;
this.options = r;
e.waypoints[this.axis][this.id] = this;
s[this.axis][this.id] = this;
i = (o = t.data(w)) != null ? o : [];
i.push(this.id);
t.data(w, i);
}
t.prototype.trigger = function (t) {
if (!this.enabled) {
return;
}
if (this.callback != null) {
this.callback.apply(this.element, t);
}
if (this.options.triggerOnce) {
return this.destroy();
}
};
t.prototype.disable = function () {
return (this.enabled = false);
};
t.prototype.enable = function () {
this.context.refresh();
return (this.enabled = true);
};
t.prototype.destroy = function () {
delete s[this.axis][this.id];
delete this.context.waypoints[this.axis][this.id];
return this.context.checkEmpty();
};
t.getWaypointsByElement = function (t) {
var e, r;
r = n(t).data(w);
if (!r) {
return [];
}
e = n.extend({}, s.horizontal, s.vertical);
return n.map(r, function (t) {
return e[t];
});
};
return t;
})();
d = {
init: function (t, e) {
var r;
if (e == null) {
e = {};
}
if ((r = e.handler) == null) {
e.handler = t;
}
this.each(function () {
var t, r, i, s;
t = n(this);
i = (s = e.context) != null ? s : n.fn[g].defaults.context;
if (!n.isWindow(i)) {
i = t.closest(i);
}
i = n(i);
r = a[i.data(u)];
if (!r) {
r = new o(i);
}
return new l(t, r, e);
});
n[m]("refresh");
return this;
},
disable: function () {
return d._invoke(this, "disable");
},
enable: function () {
return d._invoke(this, "enable");
},
destroy: function () {
return d._invoke(this, "destroy");
},
prev: function (t, e) {
return d._traverse.call(this, t, e, function (t, e, n) {
if (e > 0) {
return t.push(n[e - 1]);
}
});
},
next: function (t, e) {
return d._traverse.call(this, t, e, function (t, e, n) {
if (e < n.length - 1) {
return t.push(n[e + 1]);
}
});
},
_traverse: function (t, e, i) {
var o, l;
if (t == null) {
t = "vertical";
}
if (e == null) {
e = r;
}
l = h.aggregate(e);
o = [];
this.each(function () {
var e;
e = n.inArray(this, l[t]);
return i(o, e, l[t]);
});
return this.pushStack(o);
},
_invoke: function (t, e) {
t.each(function () {
var t;
t = l.getWaypointsByElement(this);
return n.each(t, function (t, n) {
n[e]();
return true;
});
});
return this;
},
};
n.fn[g] = function () {
var t, r;
(r = arguments[0]),
(t = 2 <= arguments.length ? e.call(arguments, 1) : []);
if (d[r]) {
return d[r].apply(this, t);
} else if (n.isFunction(r)) {
return d.init.apply(this, arguments);
} else if (n.isPlainObject(r)) {
return d.init.apply(this, [null, r]);
} else if (!r) {
return n.error(
"jQuery Waypoints needs a callback function or handler option."
);
} else {
return n.error(
"The " + r + " method does not exist in jQuery Waypoints."
);
}
};
n.fn[g].defaults = {
context: r,
continuous: true,
enabled: true,
horizontal: false,
offset: 0,
triggerOnce: false,
};
h = {
refresh: function () {
return n.each(a, function (t, e) {
return e.refresh();
});
},
viewportHeight: function () {
var t;
return (t = r.innerHeight) != null ? t : i.height();
},
aggregate: function (t) {
var e, r, i;
e = s;
if (t) {
e = (i = a[n(t).data(u)]) != null ? i.waypoints : void 0;
}
if (!e) {
return [];
}
r = { horizontal: [], vertical: [] };
n.each(r, function (t, i) {
n.each(e[t], function (t, e) {
return i.push(e);
});
i.sort(function (t, e) {
return t.offset - e.offset;
});
r[t] = n.map(i, function (t) {
return t.element;
});
return (r[t] = n.unique(r[t]));
});
return r;
},
above: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "vertical", function (t, e) {
return e.offset <= t.oldScroll.y;
});
},
below: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "vertical", function (t, e) {
return e.offset > t.oldScroll.y;
});
},
left: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "horizontal", function (t, e) {
return e.offset <= t.oldScroll.x;
});
},
right: function (t) {
if (t == null) {
t = r;
}
return h._filter(t, "horizontal", function (t, e) {
return e.offset > t.oldScroll.x;
});
},
enable: function () {
return h._invoke("enable");
},
disable: function () {
return h._invoke("disable");
},
destroy: function () {
return h._invoke("destroy");
},
extendFn: function (t, e) {
return (d[t] = e);
},
_invoke: function (t) {
var e;
e = n.extend({}, s.vertical, s.horizontal);
return n.each(e, function (e, n) {
n[t]();
return true;
});
},
_filter: function (t, e, r) {
var i, o;
i = a[n(t).data(u)];
if (!i) {
return [];
}
o = [];
n.each(i.waypoints[e], function (t, e) {
if (r(i, e)) {
return o.push(e);
}
});
o.sort(function (t, e) {
return t.offset - e.offset;
});
return n.map(o, function (t) {
return t.element;
});
},
};
n[m] = function () {
var t, n;
(n = arguments[0]),
(t = 2 <= arguments.length ? e.call(arguments, 1) : []);
if (h[n]) {
return h[n].apply(null, t);
} else {
return h.aggregate.call(null, n);
}
};
n[m].settings = { resizeThrottle: 100, scrollThrottle: 30 };
return i.load(function () {
return n[m]("refresh");
});
});
}.call(this));

473
public/assets/assetLanding/js/wow.min.js vendored Normal file
View File

@ -0,0 +1,473 @@
/*! WOW wow.js - v1.3.0 - 2016-10-04
* https://wowjs.uk
* Copyright (c) 2016 Thomas Grainger; Licensed MIT */ !(function (a, b) {
if ("function" == typeof define && define.amd)
define(["module", "exports"], b);
else if ("undefined" != typeof exports) b(module, exports);
else {
var c = { exports: {} };
b(c, c.exports), (a.WOW = c.exports);
}
})(this, function (a, b) {
"use strict";
function c(a, b) {
if (!(a instanceof b))
throw new TypeError("Cannot call a class as a function");
}
function d(a, b) {
return b.indexOf(a) >= 0;
}
function e(a, b) {
for (var c in b)
if (null == a[c]) {
var d = b[c];
a[c] = d;
}
return a;
}
function f(a) {
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
a
);
}
function g(a) {
var b =
arguments.length <= 1 || void 0 === arguments[1] ? !1 : arguments[1],
c = arguments.length <= 2 || void 0 === arguments[2] ? !1 : arguments[2],
d =
arguments.length <= 3 || void 0 === arguments[3] ? null : arguments[3],
e = void 0;
return (
null != document.createEvent
? ((e = document.createEvent("CustomEvent")),
e.initCustomEvent(a, b, c, d))
: null != document.createEventObject
? ((e = document.createEventObject()), (e.eventType = a))
: (e.eventName = a),
e
);
}
function h(a, b) {
null != a.dispatchEvent
? a.dispatchEvent(b)
: b in (null != a)
? a[b]()
: "on" + b in (null != a) && a["on" + b]();
}
function i(a, b, c) {
null != a.addEventListener
? a.addEventListener(b, c, !1)
: null != a.attachEvent
? a.attachEvent("on" + b, c)
: (a[b] = c);
}
function j(a, b, c) {
null != a.removeEventListener
? a.removeEventListener(b, c, !1)
: null != a.detachEvent
? a.detachEvent("on" + b, c)
: delete a[b];
}
function k() {
return "innerHeight" in window
? window.innerHeight
: document.documentElement.clientHeight;
}
Object.defineProperty(b, "__esModule", { value: !0 });
var l,
m,
n = (function () {
function a(a, b) {
for (var c = 0; c < b.length; c++) {
var d = b[c];
(d.enumerable = d.enumerable || !1),
(d.configurable = !0),
"value" in d && (d.writable = !0),
Object.defineProperty(a, d.key, d);
}
}
return function (b, c, d) {
return c && a(b.prototype, c), d && a(b, d), b;
};
})(),
o =
window.WeakMap ||
window.MozWeakMap ||
(function () {
function a() {
c(this, a), (this.keys = []), (this.values = []);
}
return (
n(a, [
{
key: "get",
value: function (a) {
for (var b = 0; b < this.keys.length; b++) {
var c = this.keys[b];
if (c === a) return this.values[b];
}
},
},
{
key: "set",
value: function (a, b) {
for (var c = 0; c < this.keys.length; c++) {
var d = this.keys[c];
if (d === a) return (this.values[c] = b), this;
}
return this.keys.push(a), this.values.push(b), this;
},
},
]),
a
);
})(),
p =
window.MutationObserver ||
window.WebkitMutationObserver ||
window.MozMutationObserver ||
((m = l =
(function () {
function a() {
c(this, a),
"undefined" != typeof console &&
null !== console &&
(console.warn(
"MutationObserver is not supported by your browser."
),
console.warn(
"WOW.js cannot detect dom mutations, please call .sync() after loading new content."
));
}
return n(a, [{ key: "observe", value: function () {} }]), a;
})()),
(l.notSupported = !0),
m),
q =
window.getComputedStyle ||
function (a) {
var b = /(\-([a-z]){1})/g;
return {
getPropertyValue: function (c) {
"float" === c && (c = "styleFloat"),
b.test(c) &&
c.replace(b, function (a, b) {
return b.toUpperCase();
});
var d = a.currentStyle;
return (null != d ? d[c] : void 0) || null;
},
};
},
r = (function () {
function a() {
var b =
arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0];
c(this, a),
(this.defaults = {
boxClass: "wow",
animateClass: "animated",
offset: 0,
mobile: !0,
live: !0,
callback: null,
scrollContainer: null,
resetAnimation: !0,
}),
(this.animate = (function () {
return "requestAnimationFrame" in window
? function (a) {
return window.requestAnimationFrame(a);
}
: function (a) {
return a();
};
})()),
(this.vendors = ["moz", "webkit"]),
(this.start = this.start.bind(this)),
(this.resetAnimation = this.resetAnimation.bind(this)),
(this.scrollHandler = this.scrollHandler.bind(this)),
(this.scrollCallback = this.scrollCallback.bind(this)),
(this.scrolled = !0),
(this.config = e(b, this.defaults)),
null != b.scrollContainer &&
(this.config.scrollContainer = document.querySelector(
b.scrollContainer
)),
(this.animationNameCache = new o()),
(this.wowEvent = g(this.config.boxClass));
}
return (
n(a, [
{
key: "init",
value: function () {
(this.element = window.document.documentElement),
d(document.readyState, ["interactive", "complete"])
? this.start()
: i(document, "DOMContentLoaded", this.start),
(this.finished = []);
},
},
{
key: "start",
value: function () {
var a = this;
if (
((this.stopped = !1),
(this.boxes = [].slice.call(
this.element.querySelectorAll("." + this.config.boxClass)
)),
(this.all = this.boxes.slice(0)),
this.boxes.length)
)
if (this.disabled()) this.resetStyle();
else
for (var b = 0; b < this.boxes.length; b++) {
var c = this.boxes[b];
this.applyStyle(c, !0);
}
if (
(this.disabled() ||
(i(
this.config.scrollContainer || window,
"scroll",
this.scrollHandler
),
i(window, "resize", this.scrollHandler),
(this.interval = setInterval(this.scrollCallback, 50))),
this.config.live)
) {
var d = new p(function (b) {
for (var c = 0; c < b.length; c++)
for (var d = b[c], e = 0; e < d.addedNodes.length; e++) {
var f = d.addedNodes[e];
a.doSync(f);
}
});
d.observe(document.body, { childList: !0, subtree: !0 });
}
},
},
{
key: "stop",
value: function () {
(this.stopped = !0),
j(
this.config.scrollContainer || window,
"scroll",
this.scrollHandler
),
j(window, "resize", this.scrollHandler),
null != this.interval && clearInterval(this.interval);
},
},
{
key: "sync",
value: function () {
p.notSupported && this.doSync(this.element);
},
},
{
key: "doSync",
value: function (a) {
if (
(("undefined" != typeof a && null !== a) || (a = this.element),
1 === a.nodeType)
) {
a = a.parentNode || a;
for (
var b = a.querySelectorAll("." + this.config.boxClass), c = 0;
c < b.length;
c++
) {
var e = b[c];
d(e, this.all) ||
(this.boxes.push(e),
this.all.push(e),
this.stopped || this.disabled()
? this.resetStyle()
: this.applyStyle(e, !0),
(this.scrolled = !0));
}
}
},
},
{
key: "show",
value: function (a) {
return (
this.applyStyle(a),
(a.className = a.className + " " + this.config.animateClass),
null != this.config.callback && this.config.callback(a),
h(a, this.wowEvent),
this.config.resetAnimation &&
(i(a, "animationend", this.resetAnimation),
i(a, "oanimationend", this.resetAnimation),
i(a, "webkitAnimationEnd", this.resetAnimation),
i(a, "MSAnimationEnd", this.resetAnimation)),
a
);
},
},
{
key: "applyStyle",
value: function (a, b) {
var c = this,
d = a.getAttribute("data-wow-duration"),
e = a.getAttribute("data-wow-delay"),
f = a.getAttribute("data-wow-iteration");
return this.animate(function () {
return c.customStyle(a, b, d, e, f);
});
},
},
{
key: "resetStyle",
value: function () {
for (var a = 0; a < this.boxes.length; a++) {
var b = this.boxes[a];
b.style.visibility = "visible";
}
},
},
{
key: "resetAnimation",
value: function (a) {
if (a.type.toLowerCase().indexOf("animationend") >= 0) {
var b = a.target || a.srcElement;
b.className = b.className
.replace(this.config.animateClass, "")
.trim();
}
},
},
{
key: "customStyle",
value: function (a, b, c, d, e) {
return (
b && this.cacheAnimationName(a),
(a.style.visibility = b ? "hidden" : "visible"),
c && this.vendorSet(a.style, { animationDuration: c }),
d && this.vendorSet(a.style, { animationDelay: d }),
e && this.vendorSet(a.style, { animationIterationCount: e }),
this.vendorSet(a.style, {
animationName: b ? "none" : this.cachedAnimationName(a),
}),
a
);
},
},
{
key: "vendorSet",
value: function (a, b) {
for (var c in b)
if (b.hasOwnProperty(c)) {
var d = b[c];
a["" + c] = d;
for (var e = 0; e < this.vendors.length; e++) {
var f = this.vendors[e];
a["" + f + c.charAt(0).toUpperCase() + c.substr(1)] = d;
}
}
},
},
{
key: "vendorCSS",
value: function (a, b) {
for (
var c = q(a), d = c.getPropertyCSSValue(b), e = 0;
e < this.vendors.length;
e++
) {
var f = this.vendors[e];
d = d || c.getPropertyCSSValue("-" + f + "-" + b);
}
return d;
},
},
{
key: "animationName",
value: function (a) {
var b = void 0;
try {
b = this.vendorCSS(a, "animation-name").cssText;
} catch (c) {
b = q(a).getPropertyValue("animation-name");
}
return "none" === b ? "" : b;
},
},
{
key: "cacheAnimationName",
value: function (a) {
return this.animationNameCache.set(a, this.animationName(a));
},
},
{
key: "cachedAnimationName",
value: function (a) {
return this.animationNameCache.get(a);
},
},
{
key: "scrollHandler",
value: function () {
this.scrolled = !0;
},
},
{
key: "scrollCallback",
value: function () {
if (this.scrolled) {
this.scrolled = !1;
for (var a = [], b = 0; b < this.boxes.length; b++) {
var c = this.boxes[b];
if (c) {
if (this.isVisible(c)) {
this.show(c);
continue;
}
a.push(c);
}
}
(this.boxes = a),
this.boxes.length || this.config.live || this.stop();
}
},
},
{
key: "offsetTop",
value: function (a) {
for (; void 0 === a.offsetTop; ) a = a.parentNode;
for (var b = a.offsetTop; a.offsetParent; )
(a = a.offsetParent), (b += a.offsetTop);
return b;
},
},
{
key: "isVisible",
value: function (a) {
var b = a.getAttribute("data-wow-offset") || this.config.offset,
c =
(this.config.scrollContainer &&
this.config.scrollContainer.scrollTop) ||
window.pageYOffset,
d = c + Math.min(this.element.clientHeight, k()) - b,
e = this.offsetTop(a),
f = e + a.clientHeight;
return d >= e && f >= c;
},
},
{
key: "disabled",
value: function () {
return !this.config.mobile && f(navigator.userAgent);
},
},
]),
a
);
})();
(b["default"] = r), (a.exports = b["default"]);
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,374 @@
/********************************************
* REVOLUTION 5.4.8 EXTENSION - ACTIONS
* @version: 2.1.0 (22.11.2017)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
!(function ($) {
"use strict";
function getScrollRoot() {
var e,
t = document.documentElement,
o = document.body,
a =
(void 0 !== window.pageYOffset ? window.pageYOffset : null) ||
o.scrollTop ||
t.scrollTop;
return (
(t.scrollTop = o.scrollTop = a + (a > 0) ? -1 : 1),
(e = t.scrollTop !== a ? t : o),
(e.scrollTop = a),
e
);
}
var _R = jQuery.fn.revolution,
_ISM = _R.is_mobile(),
extension = {
alias: "Actions Min JS",
name: "revolution.extensions.actions.min.js",
min_core: "5.4.5",
version: "2.1.0",
};
jQuery.extend(!0, _R, {
checkActions: function (e, t, o) {
if ("stop" === _R.compare_version(extension).check) return !1;
checkActions_intern(e, t, o);
},
});
var checkActions_intern = function (e, t, o) {
o &&
jQuery.each(o, function (o, a) {
(a.delay = parseInt(a.delay, 0) / 1e3),
e.addClass("tp-withaction"),
t.fullscreen_esclistener ||
("exitfullscreen" != a.action &&
"togglefullscreen" != a.action) ||
(jQuery(document).keyup(function (t) {
27 == t.keyCode &&
jQuery("#rs-go-fullscreen").length > 0 &&
e.trigger(a.event);
}),
(t.fullscreen_esclistener = !0));
var r =
"backgroundvideo" == a.layer
? jQuery(".rs-background-video-layer")
: "firstvideo" == a.layer
? jQuery(".tp-revslider-slidesli").find(".tp-videolayer")
: jQuery("#" + a.layer);
switch (
(-1 !=
jQuery.inArray(a.action, [
"toggleslider",
"toggle_mute_video",
"toggle_global_mute_video",
"togglefullscreen",
]) && e.data("togglelisteners", !0),
a.action)
) {
case "togglevideo":
jQuery.each(r, function (t, o) {
var a = (o = jQuery(o)).data("videotoggledby");
void 0 == a && (a = new Array()),
a.push(e),
o.data("videotoggledby", a);
});
break;
case "togglelayer":
jQuery.each(r, function (t, o) {
var r = (o = jQuery(o)).data("layertoggledby");
void 0 == r && (r = new Array()),
r.push(e),
o.data("layertoggledby", r),
o.data("triggered_startstatus", a.layerstatus);
});
break;
case "toggle_mute_video":
case "toggle_global_mute_video":
jQuery.each(r, function (t, o) {
var a = (o = jQuery(o)).data("videomutetoggledby");
void 0 == a && (a = new Array()),
a.push(e),
o.data("videomutetoggledby", a);
});
break;
case "toggleslider":
void 0 == t.slidertoggledby && (t.slidertoggledby = new Array()),
t.slidertoggledby.push(e);
break;
case "togglefullscreen":
void 0 == t.fullscreentoggledby &&
(t.fullscreentoggledby = new Array()),
t.fullscreentoggledby.push(e);
}
switch (
(e.on(a.event, function () {
if ("click" === a.event && e.hasClass("tp-temporarydisabled"))
return !1;
var o =
"backgroundvideo" == a.layer
? jQuery(
".active-revslide .slotholder .rs-background-video-layer"
)
: "firstvideo" == a.layer
? jQuery(".active-revslide .tp-videolayer").first()
: jQuery("#" + a.layer);
if (
"stoplayer" == a.action ||
"togglelayer" == a.action ||
"startlayer" == a.action
) {
if (o.length > 0) {
var r = o.data();
void 0 !== r.clicked_time_stamp &&
new Date().getTime() - r.clicked_time_stamp > 150 &&
(clearTimeout(r.triggerdelayIn),
clearTimeout(r.triggerdelayOut)),
(r.clicked_time_stamp = new Date().getTime()),
"startlayer" == a.action ||
("togglelayer" == a.action &&
"in" != o.data("animdirection"))
? ((r.animdirection = "in"),
(r.triggerstate = "on"),
_R.toggleState(r.layertoggledby),
_R.playAnimationFrame &&
(clearTimeout(r.triggerdelayIn),
(r.triggerdelayIn = setTimeout(function () {
_R.playAnimationFrame({
caption: o,
opt: t,
frame: "frame_0",
triggerdirection: "in",
triggerframein: "frame_0",
triggerframeout: "frame_999",
});
}, 1e3 * a.delay))))
: ("stoplayer" == a.action ||
("togglelayer" == a.action &&
"out" != o.data("animdirection"))) &&
((r.animdirection = "out"),
(r.triggered = !0),
(r.triggerstate = "off"),
_R.stopVideo && _R.stopVideo(o, t),
_R.unToggleState(r.layertoggledby),
_R.endMoveCaption &&
(clearTimeout(r.triggerdelayOut),
(r.triggerdelayOut = setTimeout(function () {
_R.playAnimationFrame({
caption: o,
opt: t,
frame: "frame_999",
triggerdirection: "out",
triggerframein: "frame_0",
triggerframeout: "frame_999",
});
}, 1e3 * a.delay))));
}
} else
!_ISM ||
("playvideo" != a.action &&
"stopvideo" != a.action &&
"togglevideo" != a.action &&
"mutevideo" != a.action &&
"unmutevideo" != a.action &&
"toggle_mute_video" != a.action &&
"toggle_global_mute_video" != a.action)
? ((a.delay =
"NaN" === a.delay || NaN === a.delay ? 0 : a.delay),
_R.isSafari11()
? actionSwitches(o, t, a, e)
: punchgs.TweenLite.delayedCall(
a.delay,
function () {
actionSwitches(o, t, a, e);
},
[o, t, a, e]
))
: actionSwitches(o, t, a, e);
}),
a.action)
) {
case "togglelayer":
case "startlayer":
case "playlayer":
case "stoplayer":
var l = (r = jQuery("#" + a.layer)).data();
r.length > 0 &&
void 0 !== l &&
((void 0 !== l.frames && "bytrigger" != l.frames[0].delay) ||
(void 0 === l.frames && "bytrigger" !== l.start)) &&
(l.triggerstate = "on");
}
});
},
actionSwitches = function (tnc, opt, a, _nc) {
switch (a.action) {
case "scrollbelow":
(a.speed = void 0 !== a.speed ? a.speed : 400),
(a.ease = void 0 !== a.ease ? a.ease : punchgs.Power2.easeOut),
_nc.addClass("tp-scrollbelowslider"),
_nc.data("scrolloffset", a.offset),
_nc.data("scrolldelay", a.delay),
_nc.data("scrollspeed", a.speed),
_nc.data("scrollease", a.ease);
var off = getOffContH(opt.fullScreenOffsetContainer) || 0,
aof = parseInt(a.offset, 0) || 0;
(off = off - aof || 0), (opt.scrollRoot = jQuery(document));
var sobj = { _y: opt.scrollRoot.scrollTop() };
punchgs.TweenLite.to(sobj, a.speed / 1e3, {
_y: opt.c.offset().top + jQuery(opt.li[0]).height() - off,
ease: a.ease,
onUpdate: function () {
opt.scrollRoot.scrollTop(sobj._y);
},
});
break;
case "callback":
eval(a.callback);
break;
case "jumptoslide":
switch (a.slide.toLowerCase()) {
case "+1":
case "next":
(opt.sc_indicator = "arrow"), _R.callingNewSlide(opt.c, 1);
break;
case "previous":
case "prev":
case "-1":
(opt.sc_indicator = "arrow"), _R.callingNewSlide(opt.c, -1);
break;
default:
var ts = jQuery.isNumeric(a.slide)
? parseInt(a.slide, 0)
: a.slide;
_R.callingNewSlide(opt.c, ts);
}
break;
case "simplelink":
window.open(a.url, a.target);
break;
case "toggleslider":
(opt.noloopanymore = 0),
"playing" == opt.sliderstatus
? (opt.c.revpause(),
(opt.forcepause_viatoggle = !0),
_R.unToggleState(opt.slidertoggledby))
: ((opt.forcepause_viatoggle = !1),
opt.c.revresume(),
_R.toggleState(opt.slidertoggledby));
break;
case "pauseslider":
opt.c.revpause(), _R.unToggleState(opt.slidertoggledby);
break;
case "playslider":
(opt.noloopanymore = 0),
opt.c.revresume(),
_R.toggleState(opt.slidertoggledby);
break;
case "playvideo":
tnc.length > 0 && _R.playVideo(tnc, opt);
break;
case "stopvideo":
tnc.length > 0 && _R.stopVideo && _R.stopVideo(tnc, opt);
break;
case "togglevideo":
tnc.length > 0 &&
(_R.isVideoPlaying(tnc, opt)
? _R.stopVideo && _R.stopVideo(tnc, opt)
: _R.playVideo(tnc, opt));
break;
case "mutevideo":
tnc.length > 0 && _R.muteVideo(tnc, opt);
break;
case "unmutevideo":
tnc.length > 0 && _R.unMuteVideo && _R.unMuteVideo(tnc, opt);
break;
case "toggle_mute_video":
tnc.length > 0 &&
(_R.isVideoMuted(tnc, opt)
? _R.unMuteVideo(tnc, opt)
: _R.muteVideo && _R.muteVideo(tnc, opt)),
_nc.toggleClass("rs-toggle-content-active");
break;
case "toggle_global_mute_video":
!0 === opt.globalmute
? ((opt.globalmute = !1),
void 0 != opt.playingvideos &&
opt.playingvideos.length > 0 &&
jQuery.each(opt.playingvideos, function (e, t) {
_R.unMuteVideo && _R.unMuteVideo(t, opt);
}))
: ((opt.globalmute = !0),
void 0 != opt.playingvideos &&
opt.playingvideos.length > 0 &&
jQuery.each(opt.playingvideos, function (e, t) {
_R.muteVideo && _R.muteVideo(t, opt);
})),
_nc.toggleClass("rs-toggle-content-active");
break;
case "simulateclick":
tnc.length > 0 && tnc.click();
break;
case "toggleclass":
tnc.length > 0 &&
(tnc.hasClass(a.classname)
? tnc.removeClass(a.classname)
: tnc.addClass(a.classname));
break;
case "gofullscreen":
case "exitfullscreen":
case "togglefullscreen":
if (
jQuery(".rs-go-fullscreen").length > 0 &&
("togglefullscreen" == a.action || "exitfullscreen" == a.action)
) {
jQuery(".rs-go-fullscreen").removeClass("rs-go-fullscreen");
var gf =
opt.c.closest(".forcefullwidth_wrapper_tp_banner").length > 0
? opt.c.closest(".forcefullwidth_wrapper_tp_banner")
: opt.c.closest(".rev_slider_wrapper");
(opt.minHeight = opt.oldminheight),
(opt.infullscreenmode = !1),
opt.c.revredraw(),
jQuery(window).trigger("resize"),
_R.unToggleState(opt.fullscreentoggledby);
} else if (
0 == jQuery(".rs-go-fullscreen").length &&
("togglefullscreen" == a.action || "gofullscreen" == a.action)
) {
var gf =
opt.c.closest(".forcefullwidth_wrapper_tp_banner").length > 0
? opt.c.closest(".forcefullwidth_wrapper_tp_banner")
: opt.c.closest(".rev_slider_wrapper");
gf.addClass("rs-go-fullscreen"),
(opt.oldminheight = opt.minHeight),
(opt.minHeight = jQuery(window).height()),
(opt.infullscreenmode = !0),
opt.c.revredraw(),
jQuery(window).trigger("resize"),
_R.toggleState(opt.fullscreentoggledby);
}
break;
default:
var obj = {};
(obj.event = a),
(obj.layer = _nc),
opt.c.trigger("layeraction", [obj]);
}
},
getOffContH = function (e) {
if (void 0 == e) return 0;
if (e.split(",").length > 1) {
var t = e.split(","),
o = 0;
return (
t &&
jQuery.each(t, function (e, t) {
jQuery(t).length > 0 && (o += jQuery(t).outerHeight(!0));
}),
o
);
}
return jQuery(e).height();
};
})(jQuery);

View File

@ -0,0 +1,365 @@
/********************************************
* REVOLUTION 5.8 EXTENSION - CAROUSEL
* @version: 1.2.1 (18.11.2016)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
!(function (a) {
"use strict";
var b = jQuery.fn.revolution,
c = {
alias: "Carousel Min JS",
name: "revolution.extensions.carousel.min.js",
min_core: "5.3.0",
version: "1.2.1",
};
jQuery.extend(!0, b, {
prepareCarousel: function (a, d, h, i) {
return (
"stop" !== b.compare_version(c).check &&
((h = a.carousel.lastdirection = f(h, a.carousel.lastdirection)),
e(a),
(a.carousel.slide_offset_target = j(a)),
void (void 0 !== i
? g(a, h, !1, 0)
: void 0 == d
? b.carouselToEvalPosition(a, h)
: g(a, h, !1)))
);
},
carouselToEvalPosition: function (a, c) {
var d = a.carousel;
c = d.lastdirection = f(c, d.lastdirection);
var e =
"center" === d.horizontal_align
? (d.wrapwidth / 2 - d.slide_width / 2 - d.slide_globaloffset) /
d.slide_width
: (0 - d.slide_globaloffset) / d.slide_width,
h = b.simp(e, a.slideamount, !1),
i = h - Math.floor(h),
j = 0,
k = -1 * (Math.ceil(h) - h),
l = -1 * (Math.floor(h) - h);
(j =
(i >= 0.3 && "left" === c) || (i >= 0.7 && "right" === c)
? k
: (i < 0.3 && "left" === c) || (i < 0.7 && "right" === c)
? l
: j),
(j =
"off" === d.infinity
? h < 0
? h
: e > a.slideamount - 1
? e - (a.slideamount - 1)
: j
: j),
(d.slide_offset_target = j * d.slide_width),
0 !== Math.abs(d.slide_offset_target)
? g(a, c, !0)
: b.organiseCarousel(a, c);
},
organiseCarousel: function (a, b, c, d) {
b =
void 0 === b ||
"down" == b ||
"up" == b ||
null === b ||
jQuery.isEmptyObject(b)
? "left"
: b;
for (
var e = a.carousel,
f = new Array(),
g = e.slides.length,
i = ("right" === e.horizontal_align ? a.width : 0, 0);
i < g;
i++
) {
var j = i * e.slide_width + e.slide_offset;
"on" === e.infinity &&
((j =
j > e.wrapwidth - e.inneroffset && "right" == b
? e.slide_offset - (e.slides.length - i) * e.slide_width
: j),
(j =
j < 0 - e.inneroffset - e.slide_width && "left" == b
? j + e.maxwidth
: j)),
(f[i] = j);
}
var k = 999;
e.slides &&
jQuery.each(e.slides, function (d, h) {
var i = f[d];
"on" === e.infinity &&
((i =
i > e.wrapwidth - e.inneroffset && "left" === b
? f[0] - (g - d) * e.slide_width
: i),
(i =
i < 0 - e.inneroffset - e.slide_width
? "left" == b
? i + e.maxwidth
: "right" === b
? f[g - 1] + (d + 1) * e.slide_width
: i
: i));
var j = new Object();
j.left = i + e.inneroffset;
var l =
"center" === e.horizontal_align
? (Math.abs(e.wrapwidth / 2) - (j.left + e.slide_width / 2)) /
e.slide_width
: (e.inneroffset - j.left) / e.slide_width,
n = "center" === e.horizontal_align ? 2 : 1;
if (
(((c && Math.abs(l) < k) || 0 === l) &&
((k = Math.abs(l)), (e.focused = d)),
(j.width = e.slide_width),
(j.x = 0),
(j.transformPerspective = 1200),
(j.transformOrigin = "50% " + e.vertical_align),
"on" === e.fadeout)
)
if ("on" === e.vary_fade)
j.autoAlpha =
1 - Math.abs((1 / Math.ceil(e.maxVisibleItems / n)) * l);
else
switch (e.horizontal_align) {
case "center":
j.autoAlpha =
Math.abs(l) < Math.ceil(e.maxVisibleItems / n - 1)
? 1
: 1 - (Math.abs(l) - Math.floor(Math.abs(l)));
break;
case "left":
j.autoAlpha =
l < 1 && l > 0
? 1 - l
: Math.abs(l) > e.maxVisibleItems - 1
? 1 - (Math.abs(l) - (e.maxVisibleItems - 1))
: 1;
break;
case "right":
j.autoAlpha =
l > -1 && l < 0
? 1 - Math.abs(l)
: l > e.maxVisibleItems - 1
? 1 - (Math.abs(l) - (e.maxVisibleItems - 1))
: 1;
}
else
j.autoAlpha =
Math.abs(l) < Math.ceil(e.maxVisibleItems / n) ? 1 : 0;
if (void 0 !== e.minScale && e.minScale > 0)
if ("on" === e.vary_scale) {
j.scale =
1 -
Math.abs(
(e.minScale / 100 / Math.ceil(e.maxVisibleItems / n)) * l
);
var o = (e.slide_width - e.slide_width * j.scale) * Math.abs(l);
} else {
j.scale =
l >= 1 || l <= -1
? 1 - e.minScale / 100
: (100 - e.minScale * Math.abs(l)) / 100;
var o =
(e.slide_width - e.slide_width * (1 - e.minScale / 100)) *
Math.abs(l);
}
void 0 !== e.maxRotation &&
0 != Math.abs(e.maxRotation) &&
("on" === e.vary_rotation
? ((j.rotationY =
Math.abs(e.maxRotation) -
Math.abs(
(1 - Math.abs((1 / Math.ceil(e.maxVisibleItems / n)) * l)) *
e.maxRotation
)),
(j.autoAlpha = Math.abs(j.rotationY) > 90 ? 0 : j.autoAlpha))
: (j.rotationY =
l >= 1 || l <= -1
? e.maxRotation
: Math.abs(l) * e.maxRotation),
(j.rotationY = l < 0 ? j.rotationY * -1 : j.rotationY)),
(j.x = -1 * e.space * l),
(j.left = Math.floor(j.left)),
(j.x = Math.floor(j.x)),
void 0 !== j.scale ? (l < 0 ? j.x - o : j.x + o) : j.x,
(j.zIndex = Math.round(100 - Math.abs(5 * l))),
(j.transformStyle =
"3D" != a.parallax.type && "3d" != a.parallax.type
? "flat"
: "preserve-3d"),
punchgs.TweenLite.set(h, j);
}),
d &&
(a.c.find(".next-revslide").removeClass("next-revslide"),
jQuery(e.slides[e.focused]).addClass("next-revslide"),
a.c.trigger("revolution.nextslide.waiting"));
e.wrapwidth / 2 - e.slide_offset,
e.maxwidth + e.slide_offset - e.wrapwidth / 2;
},
});
var d = function (a) {
var b = a.carousel;
(b.infbackup = b.infinity),
(b.maxVisiblebackup = b.maxVisibleItems),
(b.slide_globaloffset = "none"),
(b.slide_offset = 0),
(b.wrap = a.c.find(".tp-carousel-wrapper")),
(b.slides = a.c.find(".tp-revslider-slidesli")),
0 !== b.maxRotation &&
("3D" != a.parallax.type && "3d" != a.parallax.type
? punchgs.TweenLite.set(b.wrap, {
perspective: 1200,
transformStyle: "flat",
})
: punchgs.TweenLite.set(b.wrap, {
perspective: 1600,
transformStyle: "preserve-3d",
})),
void 0 !== b.border_radius &&
parseInt(b.border_radius, 0) > 0 &&
punchgs.TweenLite.set(a.c.find(".tp-revslider-slidesli"), {
borderRadius: b.border_radius,
});
},
e = function (a) {
void 0 === a.bw && b.setSize(a);
var c = a.carousel,
e = b.getHorizontalOffset(a.c, "left"),
f = b.getHorizontalOffset(a.c, "right");
void 0 === c.wrap && d(a),
(c.slide_width =
"on" !== c.stretch ? a.gridwidth[a.curWinRange] * a.bw : a.c.width()),
(c.maxwidth = a.slideamount * c.slide_width),
c.maxVisiblebackup > c.slides.length + 1 &&
(c.maxVisibleItems = c.slides.length + 2),
(c.wrapwidth =
c.maxVisibleItems * c.slide_width +
(c.maxVisibleItems - 1) * c.space),
(c.wrapwidth =
"auto" != a.sliderLayout
? c.wrapwidth > a.c.closest(".tp-simpleresponsive").width()
? a.c.closest(".tp-simpleresponsive").width()
: c.wrapwidth
: c.wrapwidth > a.ul.width()
? a.ul.width()
: c.wrapwidth),
(c.infinity = c.wrapwidth >= c.maxwidth ? "off" : c.infbackup),
(c.wrapoffset =
"center" === c.horizontal_align
? (a.c.width() - f - e - c.wrapwidth) / 2
: 0),
(c.wrapoffset =
"auto" != a.sliderLayout && a.outernav
? 0
: c.wrapoffset < e
? e
: c.wrapoffset);
var g = "hidden";
("3D" != a.parallax.type && "3d" != a.parallax.type) || (g = "visible"),
"right" === c.horizontal_align
? punchgs.TweenLite.set(c.wrap, {
left: "auto",
right: c.wrapoffset + "px",
width: c.wrapwidth,
overflow: g,
})
: punchgs.TweenLite.set(c.wrap, {
right: "auto",
left: c.wrapoffset + "px",
width: c.wrapwidth,
overflow: g,
}),
(c.inneroffset =
"right" === c.horizontal_align ? c.wrapwidth - c.slide_width : 0),
(c.realoffset = Math.abs(c.wrap.position().left)),
(c.windhalf = jQuery(window).width() / 2);
},
f = function (a, b) {
return null === a || jQuery.isEmptyObject(a)
? b
: void 0 === a
? "right"
: a;
},
g = function (a, c, d, e) {
var g = a.carousel;
c = g.lastdirection = f(c, g.lastdirection);
var h = new Object(),
i = d ? punchgs.Power2.easeOut : g.easing;
(h.from = 0),
(h.to = g.slide_offset_target),
(e = void 0 === e ? g.speed / 1e3 : e),
(e = d ? 0.4 : e),
void 0 !== g.positionanim && g.positionanim.pause(),
(g.positionanim = punchgs.TweenLite.to(h, e, {
from: h.to,
onUpdate: function () {
(g.slide_offset = g.slide_globaloffset + h.from),
(g.slide_offset = b.simp(g.slide_offset, g.maxwidth)),
b.organiseCarousel(a, c, !1, !1);
},
onComplete: function () {
(g.slide_globaloffset =
"off" === g.infinity
? g.slide_globaloffset + g.slide_offset_target
: b.simp(
g.slide_globaloffset + g.slide_offset_target,
g.maxwidth
)),
(g.slide_offset = b.simp(g.slide_offset, g.maxwidth)),
b.organiseCarousel(a, c, !1, !0);
var e = jQuery(a.li[g.focused]);
a.c.find(".next-revslide").removeClass("next-revslide"),
d && b.callingNewSlide(a.c, e.data("index"));
},
ease: i,
}));
},
h = function (a, b) {
return Math.abs(a) > Math.abs(b)
? a > 0
? a - Math.abs(Math.floor(a / b) * b)
: a + Math.abs(Math.floor(a / b) * b)
: a;
},
i = function (a, b, c) {
var c,
c,
d = b - a,
e = b - c - a;
return (d = h(d, c)), (e = h(e, c)), Math.abs(d) > Math.abs(e) ? e : d;
},
j = function (a) {
var c = 0,
d = a.carousel;
if (
(void 0 !== d.positionanim && d.positionanim.kill(),
"none" == d.slide_globaloffset)
)
d.slide_globaloffset = c =
"center" === d.horizontal_align
? d.wrapwidth / 2 - d.slide_width / 2
: 0;
else {
(d.slide_globaloffset = d.slide_offset), (d.slide_offset = 0);
var e = a.c.find(".processing-revslide").index(),
f =
"center" === d.horizontal_align
? (d.wrapwidth / 2 - d.slide_width / 2 - d.slide_globaloffset) /
d.slide_width
: (0 - d.slide_globaloffset) / d.slide_width;
(f = b.simp(f, a.slideamount, !1)),
(e = e >= 0 ? e : a.c.find(".active-revslide").index()),
(e = e >= 0 ? e : 0),
(c = "off" === d.infinity ? f - e : -i(f, e, a.slideamount)),
(c *= d.slide_width);
}
return c;
};
})(jQuery);

View File

@ -0,0 +1,193 @@
/********************************************
* REVOLUTION 5.4.8 EXTENSION - KEN BURN
* @version: 1.3.1 (15.05.2017)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
!(function (a) {
"use strict";
var b = jQuery.fn.revolution,
c = {
alias: "KenBurns Min JS",
name: "revolution.extensions.kenburn.min.js",
min_core: "5.4",
version: "1.3.1",
};
jQuery.extend(!0, b, {
stopKenBurn: function (a) {
if ("stop" === b.compare_version(c).check) return !1;
void 0 != a.data("kbtl") && a.data("kbtl").pause();
},
startKenBurn: function (a, d, e) {
if ("stop" === b.compare_version(c).check) return !1;
var f = a.data(),
g = a.find(".defaultimg"),
h = g.data("lazyload") || g.data("src"),
j =
(f.owidth,
f.oheight,
"carousel" === d.sliderType ? d.carousel.slide_width : d.ul.width()),
k = d.ul.height();
if (
(a.data("kbtl") && a.data("kbtl").kill(),
(e = e || 0),
0 == a.find(".tp-kbimg").length)
) {
var m = g.data("mediafilter");
(m = void 0 === m ? "" : m),
a.append(
'<div class="tp-kbimg-wrap ' +
m +
'" style="z-index:2;width:100%;height:100%;top:0px;left:0px;position:absolute;"><img class="tp-kbimg" src="' +
h +
'" style="position:absolute;" width="' +
f.owidth +
'" height="' +
f.oheight +
'"></div>'
),
a.data("kenburn", a.find(".tp-kbimg"));
}
var n = function (a, b, c, d, e, f, g) {
var h = a * c,
i = b * c,
j = Math.abs(d - h),
k = Math.abs(e - i),
l = new Object();
return (
(l.l = (0 - f) * j),
(l.r = l.l + h),
(l.t = (0 - g) * k),
(l.b = l.t + i),
(l.h = f),
(l.v = g),
l
);
},
o = function (a, b, c, d, e) {
var f = a.bgposition.split(" ") || "center center",
g =
"center" == f[0]
? "50%"
: "left" == f[0] || "left" == f[1]
? "0%"
: "right" == f[0] || "right" == f[1]
? "100%"
: f[0],
h =
"center" == f[1]
? "50%"
: "top" == f[0] || "top" == f[1]
? "0%"
: "bottom" == f[0] || "bottom" == f[1]
? "100%"
: f[1];
(g = parseInt(g, 0) / 100 || 0), (h = parseInt(h, 0) / 100 || 0);
var i = new Object();
return (
(i.start = n(
e.start.width,
e.start.height,
e.start.scale,
b,
c,
g,
h
)),
(i.end = n(e.start.width, e.start.height, e.end.scale, b, c, g, h)),
i
);
},
p = function (a, b, c) {
var d = c.scalestart / 100,
e = c.scaleend / 100,
f =
void 0 != c.offsetstart
? c.offsetstart.split(" ") || [0, 0]
: [0, 0],
g =
void 0 != c.offsetend ? c.offsetend.split(" ") || [0, 0] : [0, 0];
c.bgposition =
"center center" == c.bgposition ? "50% 50%" : c.bgposition;
var h = new Object(),
i = a * d,
k = (c.owidth, c.oheight, a * e);
c.owidth, c.oheight;
if (
((h.start = new Object()),
(h.starto = new Object()),
(h.end = new Object()),
(h.endo = new Object()),
(h.start.width = a),
(h.start.height = (h.start.width / c.owidth) * c.oheight),
h.start.height < b)
) {
var m = b / h.start.height;
(h.start.height = b), (h.start.width = h.start.width * m);
}
(h.start.transformOrigin = c.bgposition),
(h.start.scale = d),
(h.end.scale = e),
(c.rotatestart = 0 === c.rotatestart ? 0.01 : c.rotatestart),
(h.start.rotation = c.rotatestart + "deg"),
(h.end.rotation = c.rotateend + "deg");
var n = o(c, a, b, f, h);
(f[0] = parseFloat(f[0]) + n.start.l),
(g[0] = parseFloat(g[0]) + n.end.l),
(f[1] = parseFloat(f[1]) + n.start.t),
(g[1] = parseFloat(g[1]) + n.end.t);
var p = n.start.r - n.start.l,
q = n.start.b - n.start.t,
r = n.end.r - n.end.l,
s = n.end.b - n.end.t;
return (
(f[0] = f[0] > 0 ? 0 : p + f[0] < a ? a - p : f[0]),
(g[0] = g[0] > 0 ? 0 : r + g[0] < a ? a - r : g[0]),
(f[1] = f[1] > 0 ? 0 : q + f[1] < b ? b - q : f[1]),
(g[1] = g[1] > 0 ? 0 : s + g[1] < b ? b - s : g[1]),
(h.starto.x = f[0] + "px"),
(h.starto.y = f[1] + "px"),
(h.endo.x = g[0] + "px"),
(h.endo.y = g[1] + "px"),
(h.end.ease = h.endo.ease = c.ease),
(h.end.force3D = h.endo.force3D = !0),
h
);
};
void 0 != a.data("kbtl") && (a.data("kbtl").kill(), a.removeData("kbtl"));
var q = a.data("kenburn"),
r = q.parent(),
s = p(j, k, f),
t = new punchgs.TimelineLite();
if (
(t.pause(),
(s.start.transformOrigin = "0% 0%"),
(s.starto.transformOrigin = "0% 0%"),
t.add(punchgs.TweenLite.fromTo(q, f.duration / 1e3, s.start, s.end), 0),
t.add(
punchgs.TweenLite.fromTo(r, f.duration / 1e3, s.starto, s.endo),
0
),
void 0 !== f.blurstart &&
void 0 !== f.blurend &&
(0 !== f.blurstart || 0 !== f.blurend))
) {
var u = { a: f.blurstart },
v = { a: f.blurend, ease: s.endo.ease },
w = new punchgs.TweenLite(u, f.duration / 1e3, v);
w.eventCallback(
"onUpdate",
function (a) {
punchgs.TweenLite.set(a, {
filter: "blur(" + u.a + "px)",
webkitFilter: "blur(" + u.a + "px)",
});
},
[r]
),
t.add(w, 0);
}
t.progress(e), t.play(), a.data("kbtl", t);
},
});
})(jQuery);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,535 @@
/********************************************
* REVOLUTION 5.4.8 EXTENSION - PARALLAX
* @version: 2.2.3 (17.05.2017)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
!(function (a) {
"use strict";
function e(a, b) {
a.lastscrolltop = b;
}
var b = jQuery.fn.revolution,
c = b.is_mobile(),
d = {
alias: "Parallax Min JS",
name: "revolution.extensions.parallax.min.js",
min_core: "5.4.5",
version: "2.2.3",
};
jQuery.extend(!0, b, {
checkForParallax: function (a, e) {
function g(a) {
if ("3D" == f.type || "3d" == f.type) {
a
.find(".slotholder")
.wrapAll(
'<div class="dddwrapper" style="width:100%;height:100%;position:absolute;top:0px;left:0px;overflow:hidden"></div>'
),
a
.find(".tp-parallax-wrap")
.wrapAll(
'<div class="dddwrapper-layer" style="width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:5;overflow:' +
f.ddd_layer_overflow +
';"></div>'
),
a
.find(".rs-parallaxlevel-tobggroup")
.closest(".tp-parallax-wrap")
.wrapAll(
'<div class="dddwrapper-layertobggroup" style="position:absolute;top:0px;left:0px;z-index:50;width:100%;height:100%"></div>'
);
var b = a.find(".dddwrapper"),
c = a.find(".dddwrapper-layer");
a.find(".dddwrapper-layertobggroup").appendTo(b),
"carousel" == e.sliderType &&
("on" == f.ddd_shadow && b.addClass("dddwrappershadow"),
punchgs.TweenLite.set(b, {
borderRadius: e.carousel.border_radius,
})),
punchgs.TweenLite.set(a, {
overflow: "visible",
transformStyle: "preserve-3d",
perspective: 1600,
}),
punchgs.TweenLite.set(b, {
force3D: "auto",
transformOrigin: "50% 50%",
}),
punchgs.TweenLite.set(c, {
force3D: "auto",
transformOrigin: "50% 50%",
zIndex: 5,
}),
punchgs.TweenLite.set(e.ul, {
transformStyle: "preserve-3d",
transformPerspective: 1600,
});
}
}
if ("stop" === b.compare_version(d).check) return !1;
var f = e.parallax;
if (!f.done) {
if (((f.done = !0), c && "on" == f.disable_onmobile)) return !1;
("3D" != f.type && "3d" != f.type) ||
(punchgs.TweenLite.set(e.c, { overflow: f.ddd_overflow }),
punchgs.TweenLite.set(e.ul, { overflow: f.ddd_overflow }),
"carousel" != e.sliderType &&
"on" == f.ddd_shadow &&
(e.c.prepend('<div class="dddwrappershadow"></div>'),
punchgs.TweenLite.set(e.c.find(".dddwrappershadow"), {
force3D: "auto",
transformPerspective: 1600,
transformOrigin: "50% 50%",
width: "100%",
height: "100%",
position: "absolute",
top: 0,
left: 0,
zIndex: 0,
}))),
e.li.each(function () {
g(jQuery(this));
}),
("3D" == f.type || "3d" == f.type) &&
e.c.find(".tp-static-layers").length > 0 &&
(punchgs.TweenLite.set(e.c.find(".tp-static-layers"), {
top: 0,
left: 0,
width: "100%",
height: "100%",
}),
g(e.c.find(".tp-static-layers"))),
(f.pcontainers = new Array()),
(f.pcontainer_depths = new Array()),
(f.bgcontainers = new Array()),
(f.bgcontainer_depths = new Array()),
e.c
.find(
".tp-revslider-slidesli .slotholder, .tp-revslider-slidesli .rs-background-video-layer"
)
.each(function () {
var a = jQuery(this),
b = a.data("bgparallax") || e.parallax.bgparallax;
void 0 !== (b = "on" == b ? 1 : b) &&
"off" !== b &&
(f.bgcontainers.push(a),
f.bgcontainer_depths.push(
e.parallax.levels[parseInt(b, 0) - 1] / 100
));
});
for (var h = 1; h <= f.levels.length; h++)
e.c.find(".rs-parallaxlevel-" + h).each(function () {
var a = jQuery(this),
b = a.closest(".tp-parallax-wrap");
b.data("parallaxlevel", f.levels[h - 1]),
b.addClass("tp-parallax-container"),
f.pcontainers.push(b),
f.pcontainer_depths.push(f.levels[h - 1]);
});
("mouse" != f.type &&
"scroll+mouse" != f.type &&
"mouse+scroll" != f.type &&
"3D" != f.type &&
"3d" != f.type) ||
(a.mouseenter(function (b) {
var c = a.find(".active-revslide"),
d = a.offset().top,
e = a.offset().left,
f = b.pageX - e,
g = b.pageY - d;
c.data("enterx", f), c.data("entery", g);
}),
a.on(
"mousemove.hoverdir, mouseleave.hoverdir, trigger3dpath",
function (b, c) {
var d = c && c.li ? c.li : a.find(".active-revslide");
if ("enterpoint" == f.origo) {
var g = a.offset().top,
h = a.offset().left;
void 0 == d.data("enterx") && d.data("enterx", b.pageX - h),
void 0 == d.data("entery") && d.data("entery", b.pageY - g);
var i = d.data("enterx") || b.pageX - h,
j = d.data("entery") || b.pageY - g,
k = i - (b.pageX - h),
l = j - (b.pageY - g),
m = f.speed / 1e3 || 0.4;
} else
var g = a.offset().top,
h = a.offset().left,
k = e.conw / 2 - (b.pageX - h),
l = e.conh / 2 - (b.pageY - g),
m = f.speed / 1e3 || 3;
"mouseleave" == b.type &&
((k = f.ddd_lasth || 0), (l = f.ddd_lastv || 0), (m = 1.5));
for (var n = 0; n < f.pcontainers.length; n++) {
var o = f.pcontainers[n],
p = f.pcontainer_depths[n],
q = "3D" == f.type || "3d" == f.type ? p / 200 : p / 100,
r = k * q,
s = l * q;
"scroll+mouse" == f.type || "mouse+scroll" == f.type
? punchgs.TweenLite.to(o, m, {
force3D: "auto",
x: r,
ease: punchgs.Power3.easeOut,
overwrite: "all",
})
: punchgs.TweenLite.to(o, m, {
force3D: "auto",
x: r,
y: s,
ease: punchgs.Power3.easeOut,
overwrite: "all",
});
}
if ("3D" == f.type || "3d" == f.type) {
var t =
".tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer";
"carousel" === e.sliderType &&
(t =
".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer"),
e.c.find(t).each(function () {
var a = jQuery(this),
c = f.levels[f.levels.length - 1] / 200,
d = k * c,
g = l * c,
h =
0 == e.conw
? 0
: Math.round((k / e.conw) * c * 100) || 0,
i =
0 == e.conh
? 0
: Math.round((l / e.conh) * c * 100) || 0,
j = a.closest("li"),
n = 0,
o = !1;
a.hasClass("dddwrapper-layer") &&
((n = f.ddd_z_correction || 65), (o = !0)),
a.hasClass("dddwrapper-layer") && ((d = 0), (g = 0)),
j.hasClass("active-revslide") ||
"carousel" != e.sliderType
? "on" != f.ddd_bgfreeze || o
? punchgs.TweenLite.to(a, m, {
rotationX: i,
rotationY: -h,
x: d,
z: n,
y: g,
ease: punchgs.Power3.easeOut,
overwrite: "all",
})
: punchgs.TweenLite.to(a, 0.5, {
force3D: "auto",
rotationY: 0,
rotationX: 0,
z: 0,
ease: punchgs.Power3.easeOut,
overwrite: "all",
})
: punchgs.TweenLite.to(a, 0.5, {
force3D: "auto",
rotationY: 0,
x: 0,
y: 0,
rotationX: 0,
z: 0,
ease: punchgs.Power3.easeOut,
overwrite: "all",
}),
"mouseleave" == b.type &&
punchgs.TweenLite.to(jQuery(this), 3.8, {
z: 0,
ease: punchgs.Power3.easeOut,
});
});
}
}
),
c &&
(window.ondeviceorientation = function (b) {
var c = Math.round(b.beta || 0) - 70,
d = Math.round(b.gamma || 0),
g = a.find(".active-revslide");
if (jQuery(window).width() > jQuery(window).height()) {
var h = d;
(d = c), (c = h);
}
var i = a.width(),
j = a.height(),
k = (360 / i) * d,
l = (180 / j) * c,
m = f.speed / 1e3 || 3,
n = [];
if (
(g.find(".tp-parallax-container").each(function (a) {
n.push(jQuery(this));
}),
a
.find(".tp-static-layers .tp-parallax-container")
.each(function () {
n.push(jQuery(this));
}),
jQuery.each(n, function () {
var a = jQuery(this),
b = parseInt(a.data("parallaxlevel"), 0),
c = b / 100,
d = k * c * 2,
e = l * c * 4;
punchgs.TweenLite.to(a, m, {
force3D: "auto",
x: d,
y: e,
ease: punchgs.Power3.easeOut,
overwrite: "all",
});
}),
"3D" == f.type || "3d" == f.type)
) {
var o =
".tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer";
"carousel" === e.sliderType &&
(o =
".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer"),
e.c.find(o).each(function () {
var a = jQuery(this),
c = f.levels[f.levels.length - 1] / 200,
d = k * c,
g = l * c * 3,
h =
0 == e.conw
? 0
: Math.round((k / e.conw) * c * 500) || 0,
i =
0 == e.conh
? 0
: Math.round((l / e.conh) * c * 700) || 0,
j = a.closest("li"),
n = 0,
o = !1;
a.hasClass("dddwrapper-layer") &&
((n = f.ddd_z_correction || 65), (o = !0)),
a.hasClass("dddwrapper-layer") && ((d = 0), (g = 0)),
j.hasClass("active-revslide") ||
"carousel" != e.sliderType
? "on" != f.ddd_bgfreeze || o
? punchgs.TweenLite.to(a, m, {
rotationX: i,
rotationY: -h,
x: d,
z: n,
y: g,
ease: punchgs.Power3.easeOut,
overwrite: "all",
})
: punchgs.TweenLite.to(a, 0.5, {
force3D: "auto",
rotationY: 0,
rotationX: 0,
z: 0,
ease: punchgs.Power3.easeOut,
overwrite: "all",
})
: punchgs.TweenLite.to(a, 0.5, {
force3D: "auto",
rotationY: 0,
z: 0,
x: 0,
y: 0,
rotationX: 0,
ease: punchgs.Power3.easeOut,
overwrite: "all",
}),
"mouseleave" == b.type &&
punchgs.TweenLite.to(jQuery(this), 3.8, {
z: 0,
ease: punchgs.Power3.easeOut,
});
});
}
}));
var i = e.scrolleffect;
if (((i.bgs = new Array()), i.on)) {
if ("on" === i.on_slidebg)
for (var h = 0; h < e.allslotholder.length; h++)
i.bgs.push(e.allslotholder[h]);
(i.multiplicator_layers = parseFloat(i.multiplicator_layers)),
(i.multiplicator = parseFloat(i.multiplicator));
}
void 0 !== i.layers && 0 === i.layers.length && (i.layers = !1),
void 0 !== i.bgs && 0 === i.bgs.length && (i.bgs = !1),
b.scrollTicker(e, a);
}
},
scrollTicker: function (a, d) {
1 != a.scrollTicker &&
((a.scrollTicker = !0),
c
? (punchgs.TweenLite.ticker.fps(150),
punchgs.TweenLite.ticker.addEventListener(
"tick",
function () {
b.scrollHandling(a);
},
d,
!1,
1
))
: document.addEventListener(
"scroll",
function (c) {
b.scrollHandling(a, !0);
},
{ passive: !0 }
)),
b.scrollHandling(a, !0);
},
scrollHandling: function (a, d, f) {
if (
((a.lastwindowheight = a.lastwindowheight || window.innerHeight),
(a.conh =
0 === a.conh || void 0 === a.conh
? a.infullscreenmode
? a.minHeight
: a.c.height()
: a.conh),
a.lastscrolltop == window.scrollY && !a.duringslidechange && !d)
)
return !1;
punchgs.TweenLite.delayedCall(0.2, e, [a, window.scrollY]);
var g = a.c[0].getBoundingClientRect(),
h = a.viewPort,
i = a.parallax,
j =
g.top < 0 || g.height > a.lastwindowheight
? g.top / g.height
: g.bottom > a.lastwindowheight
? (g.bottom - a.lastwindowheight) / g.height
: 0;
if (
((a.scrollproc = j),
b.callBackHandling && b.callBackHandling(a, "parallax", "start"),
h.enable)
) {
var k = 1 - Math.abs(j);
(k = k < 0 ? 0 : k),
jQuery.isNumeric(h.visible_area) ||
(-1 !== h.visible_area.indexOf("%") &&
(h.visible_area = parseInt(h.visible_area) / 100)),
1 - h.visible_area <= k
? a.inviewport || ((a.inviewport = !0), b.enterInViewPort(a))
: a.inviewport && ((a.inviewport = !1), b.leaveViewPort(a));
}
if (c && "on" == i.disable_onmobile) return !1;
if ("3d" != i.type && "3D" != i.type) {
if (
("scroll" == i.type ||
"scroll+mouse" == i.type ||
"mouse+scroll" == i.type) &&
i.pcontainers
)
for (var l = 0; l < i.pcontainers.length; l++)
if (i.pcontainers[l].length > 0) {
var m = i.pcontainers[l],
n = i.pcontainer_depths[l] / 100,
o = Math.round(j * (-n * a.conh) * 10) / 10 || 0,
p = void 0 !== f ? f : i.speedls / 1e3 || 0;
m.data("parallaxoffset", o),
punchgs.TweenLite.to(m, p, {
overwrite: "auto",
force3D: "auto",
y: o,
});
}
if (i.bgcontainers)
for (var l = 0; l < i.bgcontainers.length; l++) {
var q = i.bgcontainers[l],
r = i.bgcontainer_depths[l],
o = j * (-r * a.conh) || 0,
p = void 0 !== f ? f : i.speedbg / 1e3 || 0;
punchgs.TweenLite.to(q, p, {
position: "absolute",
top: "0px",
left: "0px",
backfaceVisibility: "hidden",
force3D: "true",
y: o + "px",
});
}
}
var s = a.scrolleffect;
if (s.on && ("on" !== s.disable_on_mobile || !c)) {
var t = Math.abs(j) - s.tilt / 100;
if (((t = t < 0 ? 0 : t), !1 !== s.layers)) {
var u = 1 - t * s.multiplicator_layers,
v = {
backfaceVisibility: "hidden",
force3D: "true",
z: 0.001,
perspective: 600,
};
if (
("top" == s.direction && j >= 0 && (u = 1),
"bottom" == s.direction && j <= 0 && (u = 1),
(u = u > 1 ? 1 : u < 0 ? 0 : u),
"on" === s.fade && (v.opacity = u),
"on" === s.scale)
) {
var w = u;
v.scale = 1 - w + 1;
}
if ("on" === s.blur) {
var x = (1 - u) * s.maxblur;
(v["-webkit-filter"] = "blur(" + x + "px)"),
(v.filter = "blur(" + x + "px)");
}
if ("on" === s.grayscale) {
var y = 100 * (1 - u),
z = "grayscale(" + y + "%)";
(v["-webkit-filter"] =
void 0 === v["-webkit-filter"]
? z
: v["-webkit-filter"] + " " + z),
(v.filter = void 0 === v.filter ? z : v.filter + " " + z);
}
punchgs.TweenLite.set(s.layers, v);
}
if (!1 !== s.bgs) {
var u = 1 - t * s.multiplicator,
v = { backfaceVisibility: "hidden", force3D: "true" };
if (
("top" == s.direction && j >= 0 && (u = 1),
"bottom" == s.direction && j <= 0 && (u = 1),
(u = u > 1 ? 1 : u < 0 ? 0 : u),
"on" === s.fade && (v.opacity = u),
"on" === s.scale)
) {
var w = u;
punchgs.TweenLite.set(jQuery(".tp-kbimg-wrap"), {
transformOrigin: "50% 50%",
scale: w,
force3D: !0,
});
}
if ("on" === s.blur) {
var x = (1 - u) * s.maxblur;
(v["-webkit-filter"] = "blur(" + x + "px)"),
(v.filter = "blur(" + x + "px)");
}
if ("on" === s.grayscale) {
var y = 100 * (1 - u),
z = "grayscale(" + y + "%)";
(v["-webkit-filter"] =
void 0 === v["-webkit-filter"]
? z
: v["-webkit-filter"] + " " + z),
(v.filter = void 0 === v.filter ? z : v.filter + " " + z);
}
punchgs.TweenLite.set(s.bgs, v);
}
}
b.callBackHandling && b.callBackHandling(a, "parallax", "end");
},
});
})(jQuery);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,14 +2,14 @@
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CurasController;
use App\Http\Controllers\KmeansController;
use App\Http\Controllers\KlasterController;
use App\Http\Controllers\CuranmorController;
use App\Http\Controllers\curasKmeansController;
use App\Http\Controllers\hasilIterasiController;
use App\Http\Controllers\KecamatanController;
use App\Http\Controllers\hasilIterasiController;
Route::get('/', function () {
return view('admin.login');
return view('landing');
});
Route::get('/dashboard', function () {
@ -29,5 +29,6 @@
Route::resource('/curas', CurasController::class);
Route::resource('/curanmor', CuranmorController::class) ->parameters(['data-curanmor' => 'curanmor']);
Route::resource('/klaster', KlasterController::class) ->parameters(['data-klaster' => 'klaster']);
Route::get('/hitung-kmeans', [curasKmeansController::class, 'hitungKMeans']);
Route::get('/kmeans-curas', [KmeansController::class, 'KMeansCuras']);
Route::get('/kmeans-curanmor', [KmeansController::class, 'KMeansCuranmor']);
Route::get('/iterasiCuras', [hasilIterasiController::class, 'iterasiCuras']);