update data

This commit is contained in:
Maulana Fiqri 2024-05-28 14:11:44 +07:00
commit d249b0f5e0
186 changed files with 59626 additions and 0 deletions

159
.gitignore vendored Normal file
View File

@ -0,0 +1,159 @@
# Created by https://www.toptal.com/developers/gitignore/api/python
# Edit at https://www.toptal.com/developers/gitignore?templates=python
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coveage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
pytestdebug.log
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
doc/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
.python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
pythonenv*
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# profiling data
.prof
# Virtualenv
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
.Python
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
.venv
pip-selfcheck.json
# End of https://www.toptal.com/developers/gitignore/api/python

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"liveServer.settings.port": 9001
}

File diff suppressed because it is too large Load Diff

BIN
Picture1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

1
Procfile Normal file
View File

@ -0,0 +1 @@
web: gunicorn main:app

0
README.md Normal file
View File

236
app.py Normal file
View File

@ -0,0 +1,236 @@
# import os
# from flask import Flask, request, render_template, send_from_directory
# from sklearn import model_selection
# from werkzeug.utils import secure_filename
# from tensorflow.keras.applications.imagenet_utils import preprocess_input
# from tensorflow.keras.models import load_model, model_from_json
# from tensorflow.keras.preprocessing.image import load_img, img_to_array
# import numpy as np
# from PIL import Image
# import imghdr
# import logging
# import io
# app = Flask(__name__)
# MODEL_ARCHITECTURE = 'model/clean721.json'
# MODEL_WEIGHTS = 'model/clean721.h5'
# PREDICTION_CLASSES = {
# 0: ('Gambar Tidak Cocok', 'klasifikasi-noklasifikasi.html'),
# 1: ('Tanaman Padimu Terkena', 'klasifikasi-bl.html'),
# 2: ('Tanaman Padimu Terkena', 'klasifikasi-blb.html'),
# 3: ('Tanaman Padimu Terkena', 'klasifikasi-bw.html'),
# 4: ('Tanaman', 'klasifikasi-sh.html'),
# }
# def load_model_from_file():
# try:
# with open(MODEL_ARCHITECTURE, 'r') as json_file:
# loaded_model_json = json_file.read()
# model = model_from_json(loaded_model_json)
# model.load_weights(MODEL_WEIGHTS)
# return model
# except Exception as e:
# logging.error(f"Error loading model: {str(e)}")
# return None
# model = load_model_from_file()
# def model_predict(img_path, model):
# try:
# TARGET_IMAGE_SIZE = (224, 224)
# test_image = load_img(img_path, target_size=TARGET_IMAGE_SIZE)
# logging.info("Got Image for prediction")
# test_image = img_to_array(test_image) / 255
# test_image = np.expand_dims(test_image, axis=0)
# result = model.predict(test_image)
# pred_class = np.argmax(result, axis=1)[0]
# pred_prob = result[0][pred_class] * 100
# return PREDICTION_CLASSES[pred_class][0], PREDICTION_CLASSES[pred_class][1], pred_prob
# except Exception as e:
# logging.error(f"Error predicting: {str(e)}")
# return 'Error', 'error.html', 0
# @app.route("/", methods=['GET'])
# def home():
# return render_template('index.html')
# @app.route("/blog", methods=['GET'])
# def blog():
# return render_template('blog.html')
# @app.route("/contact", methods=['GET'])
# def contact():
# return render_template('contact.html')
# @app.route("/klasifikasirgb", methods=['GET', 'POST'])
# def klasifikasirgb():
# return render_template('klasifikasirgb.html')
# @app.route('/process_image', methods=['POST'])
# def process_image():
# file = request.files['image']
# original_image = Image.open(io.BytesIO(file.read()))
# resized_image = original_image.resize((4, 4))
# pixel_values = np.array(resized_image)
# blue_values = pixel_values[:, :, 2]
# green_values = pixel_values[:, :, 1]
# red_values = pixel_values[:, :, 0]
# print("Blue values:")
# print(blue_values)
# print("\nGreen values:")
# print(green_values)
# print("\nRed values:")
# print(red_values)
# return render_template('result.html', blue_values=blue_values, green_values=green_values, red_values=red_values)
# @app.route("/klasifikasi", methods=['GET', 'POST'])
# def klasifikasi():
# return render_template('klasifikasi.html')
# @app.route("/predict", methods=['GET', 'POST'])
# def predict():
# if request.method == 'POST':
# # Memeriksa apakah file yang dipilih adalah gambar
# file = request.files['image']
# if file.filename == '':
# flash('Tidak ada file yang dipilih')
# return redirect(request.url)
# if file and imghdr.what(file) in ['png', 'jpeg', 'gif']:
# filename = secure_filename(file.filename)
# logging.info("@@ Input posted =", filename)
# file_path = os.path.join('static', 'user_uploaded', filename)
# file.save(file_path)
# logging.info("@@ Predicting class...")
# pred_class, output_page, pred_prob = model_predict(file_path, model)
# return render_template(output_page, pred_output=pred_class, pred_prob=pred_prob, user_image=file_path)
# else:
# flash('Format file tidak didukung')
# return redirect(request.url)
# # Menambahkan pesan flash untuk menampilkan pesan kesalahan
# flash('Metode permintaan tidak valid')
# return redirect(request.url)
# if __name__ == "__main__":
# app.run(debug=True)
import os
import io
import logging
from flask import Flask, request, render_template
from werkzeug.utils import secure_filename
from tensorflow.keras.models import model_from_json
from tensorflow.keras.preprocessing.image import load_img, img_to_array
import numpy as np
from PIL import Image
app = Flask(__name__)
app.secret_key = "secret!@8102"
MODEL_ARCHITECTURE = 'model/clean721.json'
MODEL_WEIGHTS = 'model/clean721.h5'
PREDICTION_CLASSES = {
0: ('Gambar Tidak Cocok', 'klasifikasi-noklasifikasi.html'),
1: ('Tanaman Padimu Terkena', 'klasifikasi-bl.html'),
2: ('Tanaman Padimu Terkena', 'klasifikasi-blb.html'),
3: ('Tanaman Padimu Terkena', 'klasifikasi-bw.html'),
4: ('Tanaman', 'klasifikasi-sh.html'),
}
def load_model_from_file():
try:
with open(MODEL_ARCHITECTURE, 'r') as json_file:
loaded_model_json = json_file.read()
model = model_from_json(loaded_model_json)
model.load_weights(MODEL_WEIGHTS)
return model
except Exception as e:
logging.error(f"Error loading model: {str(e)}")
return None
model = load_model_from_file()
def model_predict(img_path, model):
try:
TARGET_IMAGE_SIZE = (224, 224)
test_image = load_img(img_path, target_size=TARGET_IMAGE_SIZE)
logging.info("@@ Got Image for prediction")
test_image = img_to_array(test_image) / 255
test_image = np.expand_dims(test_image, axis=0)
result = model.predict(test_image)
pred_class = np.argmax(result, axis=1)[0]
pred_prob = result[0][pred_class] * 100
return PREDICTION_CLASSES[pred_class][0], PREDICTION_CLASSES[pred_class][1], pred_prob
except Exception as e:
logging.error(f"Error predicting: {str(e)}")
return 'Error', 'error.html', 0
@app.route("/", methods=['GET'])
def home():
return render_template('index.html')
@app.route("/blog", methods=['GET'])
def blog():
return render_template('blog.html')
@app.route("/contact", methods=['GET'])
def contact():
return render_template('contact.html')
@app.route("/klasifikasirgb", methods=['GET', 'POST'])
def klasifikasirgb():
return render_template('klasifikasirgb.html')
@app.route('/process_image', methods=['POST'])
def process_image():
file = request.files['image']
original_image = Image.open(io.BytesIO(file.read()))
resized_image = original_image.resize((4, 4))
pixel_values = np.array(resized_image)
blue_values = pixel_values[:, :, 2]
green_values = pixel_values[:, :, 1]
red_values = pixel_values[:, :, 0]
return render_template('result.html', blue_values=blue_values, green_values=green_values, red_values=red_values)
@app.route("/klasifikasi", methods=['GET', 'POST'])
def klasifikasi():
return render_template('klasifikasi.html')
@app.route("/predict", methods=['POST'])
def predict():
if request.method == 'POST':
file = request.files['image']
filename = secure_filename(file.filename)
logging.info("@@ Input posted =", filename)
file_path = os.path.join('static', 'user_uploaded', filename)
file.save(file_path)
logging.info("@@ Predicting class...")
pred_class, output_page, pred_prob = model_predict(file_path, model)
return render_template(output_page, pred_output=pred_class, pred_prob=pred_prob, user_image=file_path)
if __name__ == "__main__":
app.run(debug=True)

106
main.py Normal file
View File

@ -0,0 +1,106 @@
import os
import io
import logging
from flask import Flask, request, render_template
from werkzeug.utils import secure_filename
from tensorflow.keras.models import model_from_json
from tensorflow.keras.preprocessing.image import load_img, img_to_array
import numpy as np
from PIL import Image
app = Flask(__name__)
app.secret_key = "secret!@8102"
MODEL_ARCHITECTURE = 'model/clean721.json'
MODEL_WEIGHTS = 'model/clean721.h5'
PREDICTION_CLASSES = {
0: ('Gambar Tidak Cocok', 'klasifikasi-noklasifikasi.html'),
1: ('Tanaman Padimu Terkena', 'klasifikasi-bl.html'),
2: ('Tanaman Padimu Terkena', 'klasifikasi-blb.html'),
3: ('Tanaman Padimu Terkena', 'klasifikasi-bw.html'),
4: ('Tanaman', 'klasifikasi-sh.html'),
}
def load_model_from_file():
try:
with open(MODEL_ARCHITECTURE, 'r') as json_file:
loaded_model_json = json_file.read()
model = model_from_json(loaded_model_json)
model.load_weights(MODEL_WEIGHTS)
return model
except Exception as e:
logging.error(f"Error loading model: {str(e)}")
return None
model = load_model_from_file()
def model_predict(img_path, model):
try:
TARGET_IMAGE_SIZE = (224, 224)
test_image = load_img(img_path, target_size=TARGET_IMAGE_SIZE)
logging.info("@@ Got Image for prediction")
test_image = img_to_array(test_image) / 255
test_image = np.expand_dims(test_image, axis=0)
result = model.predict(test_image)
pred_class = np.argmax(result, axis=1)[0]
pred_prob = result[0][pred_class] * 100
return PREDICTION_CLASSES[pred_class][0], PREDICTION_CLASSES[pred_class][1], pred_prob
except Exception as e:
logging.error(f"Error predicting: {str(e)}")
return 'Error', 'error.html', 0
@app.route("/", methods=['GET'])
def home():
return render_template('index.html')
@app.route("/blog", methods=['GET'])
def blog():
return render_template('blog.html')
@app.route("/contact", methods=['GET'])
def contact():
return render_template('contact.html')
@app.route("/klasifikasirgb", methods=['GET', 'POST'])
def klasifikasirgb():
return render_template('klasifikasirgb.html')
@app.route('/process_image', methods=['POST'])
def process_image():
file = request.files['image']
original_image = Image.open(io.BytesIO(file.read()))
resized_image = original_image.resize((4, 4))
pixel_values = np.array(resized_image)
blue_values = pixel_values[:, :, 2]
green_values = pixel_values[:, :, 1]
red_values = pixel_values[:, :, 0]
return render_template('result.html', blue_values=blue_values, green_values=green_values, red_values=red_values)
@app.route("/klasifikasi", methods=['GET', 'POST'])
def klasifikasi():
return render_template('klasifikasi.html')
@app.route("/predict", methods=['POST'])
def predict():
if request.method == 'POST':
file = request.files['image']
filename = secure_filename(file.filename)
logging.info("@@ Input posted =", filename)
file_path = os.path.join('static', 'user_uploaded', filename)
file.save(file_path)
logging.info("@@ Predicting class...")
pred_class, output_page, pred_prob = model_predict(file_path, model)
return render_template(output_page, pred_output=pred_class, pred_prob=pred_prob, user_image=file_path)
if __name__ == "__main__":
app.run(debug=True)

BIN
model/clean721.h5 Normal file

Binary file not shown.

1
model/clean721.json Normal file

File diff suppressed because one or more lines are too long

1
model/clean721.txt Normal file
View File

@ -0,0 +1 @@
{0: 'no padi', 1: 'padi bl', 2: 'padi blb', 3: 'padi bw', 4: 'padi sehat'}

13
requirements.txt Normal file
View File

@ -0,0 +1,13 @@
click==7.1.2
Flask==1.1.4
gunicorn==20.0.4
itsdangerous==1.1.0
Jinja2==2.11.3
MarkupSafe==1.1.1
Werkzeug==1.0.1
gevent==23.9.1
grpcio==1.59.0
h5py==3.10.0
Pillow==10.0.1
scikit-learn==1.3.1
tensorflow==2.12.0

3775
static/blogpadi/blog1.html Normal file

File diff suppressed because it is too large Load Diff

3743
static/blogpadi/blog2.html Normal file

File diff suppressed because it is too large Load Diff

3775
static/blogpadi/blog3.html Normal file

File diff suppressed because it is too large Load Diff

3740
static/blogpadi/blog4.html Normal file

File diff suppressed because it is too large Load Diff

3743
static/blogpadi/blog5.html Normal file

File diff suppressed because it is too large Load Diff

3740
static/blogpadi/blog6.html Normal file

File diff suppressed because it is too large Load Diff

3765
static/blogpadi/blog7.html Normal file

File diff suppressed because it is too large Load Diff

3739
static/blogpadi/blog8.html Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
static/img/icon/mail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
static/img/icon/warning.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

77
static/js/upload.js Normal file
View File

@ -0,0 +1,77 @@
document.addEventListener("DOMContentLoaded", function () {
const dragDropArea = document.getElementById("drag-drop-area");
const imageUpload = document.getElementById("image-upload");
const uploadedImage = document.getElementById("uploaded-image");
function displayImage(file) {
if (file) {
const reader = new FileReader();
reader.onload = (e) => {
uploadedImage.src = e.target.result;
uploadedImage.style.display = "block";
};
reader.readAsDataURL(file);
}
}
function resizeImage(file, callback) {
const reader = new FileReader();
reader.onload = (e) => {
const img = new Image();
img.onload = () => {
const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
canvas.width = 224;
canvas.height = 224;
ctx.drawImage(img, 0, 0, 224, 224);
canvas.toBlob((blob) => {
callback(blob);
}, "image/jpeg", 0.8);
};
img.src = e.target.result;
};
reader.readAsDataURL(file);
}
dragDropArea.addEventListener("dragover", (e) => {
e.preventDefault();
dragDropArea.style.backgroundColor = "#ddd";
});
dragDropArea.addEventListener("dragleave", () => {
dragDropArea.style.backgroundColor = "#f1f1f1";
});
dragDropArea.addEventListener("drop", (e) => {
e.preventDefault();
dragDropArea.style.backgroundColor = "#f1f1f1";
const file = e.dataTransfer.files[0];
resizeImage(file, (resizedBlob) => {
displayImage(resizedBlob);
});
});
dragDropArea.addEventListener("click", () => {
imageUpload.click();
});
imageUpload.addEventListener("change", () => {
const file = imageUpload.files[0];
resizeImage(file, (resizedBlob) => {
displayImage(resizedBlob);
});
});
document.getElementById("image-upload").addEventListener("change", function () {
var input = this;
if (input.files && input.files[0]) {
resizeImage(input.files[0], (resizedBlob) => {
displayImage(resizedBlob);
});
}
});
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1 @@
(function($){'use strict';})(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/*! elementor - v3.16.0 - 20-09-2023 */
(()=>{"use strict";var e,r,_,t,a,i={},n={};function __webpack_require__(e){var r=n[e];if(void 0!==r)return r.exports;var _=n[e]={exports:{}};return i[e].call(_.exports,_,_.exports,__webpack_require__),_.exports}__webpack_require__.m=i,e=[],__webpack_require__.O=(r,_,t,a)=>{if(!_){var i=1/0;for(u=0;u<e.length;u++){for(var[_,t,a]=e[u],n=!0,c=0;c<_.length;c++)(!1&a||i>=a)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](_[c])))?_.splice(c--,1):(n=!1,a<i&&(i=a));if(n){e.splice(u--,1);var o=t();void 0!==o&&(r=o)}}return r}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[_,t,a]},_=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var a=Object.create(null);__webpack_require__.r(a);var i={};r=r||[null,_({}),_([]),_(_)];for(var n=2&t&&e;"object"==typeof n&&!~r.indexOf(n);n=_(n))Object.getOwnPropertyNames(n).forEach((r=>i[r]=()=>e[r]));return i.default=()=>e,__webpack_require__.d(a,i),a},__webpack_require__.d=(e,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,_)=>(__webpack_require__.f[_](e,r),r)),[])),__webpack_require__.u=e=>723===e?"lightbox.1b6e05e0607040eb8929.bundle.min.js":48===e?"text-path.b50b3e74488a4e302613.bundle.min.js":209===e?"accordion.8799675460c73eb48972.bundle.min.js":745===e?"alert.cbc2a0fee74ee3ed0419.bundle.min.js":120===e?"counter.02cef29c589e742d4c8c.bundle.min.js":192===e?"progress.ca55d33bb06cee4e6f02.bundle.min.js":520===e?"tabs.c2af5be7f9cb3cdcf3d5.bundle.min.js":181===e?"toggle.31881477c45ff5cf9d4d.bundle.min.js":791===e?"video.fea4f8dfdf17262f23e8.bundle.min.js":268===e?"image-carousel.4455c6362492d9067512.bundle.min.js":357===e?"text-editor.2c35aafbe5bf0e127950.bundle.min.js":52===e?"wp-audio.75f0ced143febb8cd31a.bundle.min.js":413===e?"container.284c9bf9b36eadd05080.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a="elementor:",__webpack_require__.l=(e,r,_,i)=>{if(t[e])t[e].push(r);else{var n,c;if(void 0!==_)for(var o=document.getElementsByTagName("script"),u=0;u<o.length;u++){var b=o[u];if(b.getAttribute("src")==e||b.getAttribute("data-webpack")==a+_){n=b;break}}n||(c=!0,(n=document.createElement("script")).charset="utf-8",n.timeout=120,__webpack_require__.nc&&n.setAttribute("nonce",__webpack_require__.nc),n.setAttribute("data-webpack",a+_),n.src=e),t[e]=[r];var onScriptComplete=(r,_)=>{n.onerror=n.onload=null,clearTimeout(p);var a=t[e];if(delete t[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(_))),r)return r(_)},p=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=onScriptComplete.bind(null,n.onerror),n.onload=onScriptComplete.bind(null,n.onload),c&&document.head.appendChild(n)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var _=r.getElementsByTagName("script");if(_.length)for(var t=_.length-1;t>-1&&!e;)e=_[t--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={162:0};__webpack_require__.f.j=(r,_)=>{var t=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==t)if(t)_.push(t[2]);else if(162!=r){var a=new Promise(((_,a)=>t=e[r]=[_,a]));_.push(t[2]=a);var i=__webpack_require__.p+__webpack_require__.u(r),n=new Error;__webpack_require__.l(i,(_=>{if(__webpack_require__.o(e,r)&&(0!==(t=e[r])&&(e[r]=void 0),t)){var a=_&&("load"===_.type?"missing":_.type),i=_&&_.target&&_.target.src;n.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",n.name="ChunkLoadError",n.type=a,n.request=i,t[1](n)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,_)=>{var t,a,[i,n,c]=_,o=0;if(i.some((r=>0!==e[r]))){for(t in n)__webpack_require__.o(n,t)&&(__webpack_require__.m[t]=n[t]);if(c)var u=c(__webpack_require__)}for(r&&r(_);o<i.length;o++)a=i[o],__webpack_require__.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return __webpack_require__.O(u)},r=self.webpackChunkelementor=self.webpackChunkelementor||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))})()})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.6 MiB

View File

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M1.22,2.49A1.12,1.12,0,0,1,1.22,1,1.12,1.12,0,0,1,2.76,1L12,10.17,21.16,1a1.09,1.09,0,0,1,1.52,0,1.08,1.08,0,0,1,0,1.54l-9.2,9.19,9.2,9.21a1.08,1.08,0,0,1,0,1.54,1.09,1.09,0,0,1-1.52,0L12,13.22,2.76,22.43a1.12,1.12,0,0,1-1.54,0,1.12,1.12,0,0,1,0-1.54l9.2-9.21Z"/></svg>

After

Width:  |  Height:  |  Size: 431 B

View File

@ -0,0 +1 @@
!function(e){var n={};function r(t){if(n[t])return n[t].exports;var d=n[t]={i:t,l:!1,exports:{}};return e[t].call(d.exports,d,d.exports,r),d.l=!0,d.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var d in e)r.d(t,d,function(n){return e[n]}.bind(null,d));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=0)}([function(e,n){class r extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{wrapper:".jeg-elementor-kit.jkit-accordion",cards:".card-wrapper",card_header:".card-header"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$wrapper:this.$element.find(e.wrapper),$cards:this.$element.find(e.cards),$card_header:this.$element.find(e.card_header)}}bindEvents(){this.onClick()}onClick(){const e=this;this.elements.$card_header.on("click",(function(n){n.preventDefault();const r=jQuery(this).parent();r.hasClass("expand")?(r.find(".card-expand").slideUp(),r.removeClass("expand")):(e.elements.$wrapper.find(".card-expand").slideUp(),e.elements.$wrapper.find(".card-wrapper").removeClass("expand"),r.addClass("expand"),r.find(".card-expand").slideDown())}))}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/jkit_accordion.default",(e=>{elementorFrontend.elementsHandler.addHandler(r,{$element:e})}))}))}]);

View File

@ -0,0 +1 @@
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){class n extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{wrapper:".jeg-elementor-kit.jkit-fun-fact",number:".number"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$wrapper:this.$element.find(e.wrapper),$number:this.$element.find(e.number)}}bindEvents(){this.onLoadElement()}onLoadElement(){this.countNumber(),jQuery(window).on("scroll",this.countNumber.bind(this))}countNumber(){const e=this.elements.$number;this.onScreen()&&!e.hasClass("loaded")&&(e.prop("Counter",0).animate({Counter:e.data("value")},{duration:e.data("animation-duration"),easing:"swing",step:function(t){e.text(Math.ceil(t).toLocaleString())},complete:function(){e.text(e.data("value").toLocaleString())}}),e.addClass("loaded"))}onScreen(){const e=jQuery(window).scrollTop()+jQuery(window).height();return this.elements.$wrapper.offset().top<=e}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/jkit_fun_fact.default",(e=>{elementorFrontend.elementsHandler.addHandler(n,{$element:e})}))}))}]);

View File

@ -0,0 +1 @@
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){class n extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{wrapper:".jeg-elementor-kit.jkit-mailchimp",form:".jkit-mailchimp-form"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$wrapper:this.$element.find(e.wrapper),$form:this.$element.find(e.form)}}bindEvents(){this.onSubmit()}onSubmit(){this.elements.$form.on("submit",(function(e){e.preventDefault();const t=jQuery(this).find(".jkit-mailchimp-message"),n=jQuery(this).data("error-message"),r=jQuery(this).data("success-message"),i={first_name:jQuery(this).find('input[name="first-name"]').val(),last_name:jQuery(this).find('input[name="last-name"]').val(),phone:jQuery(this).find('input[name="phone"]').val(),email:jQuery(this).find('input[name="email"]').val(),list:jQuery(this).data("listed")};t.removeClass("error success"),jQuery.ajax({type:"POST",url:jkit_ajax_url,data:{data:i,action:"jkit_element_ajax_jkit_mailchimp"},dataType:"json",encode:!0}).done((function(e){e.status_code>=400?(t.addClass("error"),t.text(e.message)):(t.addClass("success"),t.text(r))})).fail((function(){t.addClass("error"),t.text(n)}))}))}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/jkit_mailchimp.default",(e=>{elementorFrontend.elementsHandler.addHandler(n,{$element:e})}))}))}]);

View File

@ -0,0 +1 @@
!function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=0)}([function(e,n){class t extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{wrapper:".jeg-elementor-kit.jkit-nav-menu",container:".jkit-menu-wrapper",open_toggle:".jkit-hamburger-menu",close_toggle:'.jkit-close-menu, .menu-item:not(.menu-item-has-children) a[href^="#"]',dropdown_toggle:"li.menu-item-has-children > a i",menu_dropdown:"li.menu-item-has-children > a"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$wrapper:this.$element.find(e.wrapper),$container:this.$element.find(e.container),$open_toggle:this.$element.find(e.open_toggle),$close_toggle:this.$element.find(e.close_toggle),$dropdown_toggle:this.$element.find(e.dropdown_toggle),$menu_dropdown:this.$element.find(e.menu_dropdown)}}bindEvents(){this.onLoadElement()}onLoadElement(){this.addBodyClass(),this.addDropdownIcon(),this.onToogleClick()}addBodyClass(){this.elements.$wrapper.length>0&&jQuery("body").addClass("jkit-nav-menu-loaded")}addDropdownIcon(){const e=this.elements.$wrapper.data("item-indicator"),n=this.elements.$menu_dropdown,t=this.getSettings("selectors");n.each((function(){0==jQuery(this).find("i").length&&jQuery(this).append(e)})),this.elements.$dropdown_toggle=this.$element.find(t.dropdown_toggle)}onToogleClick(){const e=this,n=e.elements.$wrapper,t=e.elements.$menu_dropdown,o=e.elements.$open_toggle,r=e.elements.$close_toggle,l=e.elements.$dropdown_toggle;o.on("click",(function(n){n.preventDefault(),e.elements.$container.hasClass("active")?e.elements.$container.removeClass("active"):e.elements.$container.addClass("active")})),r.on("click",(function(n){n.preventDefault(),e.elements.$container.removeClass("active")})),n.hasClass("submenu-click-title")?t.each((function(){jQuery(this).on("click",(function(e){e.preventDefault();const n=jQuery(this).next();n.hasClass("dropdown-open")?n.removeClass("dropdown-open"):n.addClass("dropdown-open")}))})):l.each((function(){jQuery(this).on("click",(function(e){e.preventDefault();const n=jQuery(this).parents("a").next();n.hasClass("dropdown-open")?n.removeClass("dropdown-open"):n.addClass("dropdown-open")}))}))}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/jkit_nav_menu.default",(e=>{elementorFrontend.elementsHandler.addHandler(t,{$element:e})}))}))}]);

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(e){var t={};function i(s){if(t[s])return t[s].exports;var n=t[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(s,n,function(t){return e[t]}.bind(null,n));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t){class i extends elementorModules.frontend.handlers.Base{bindEvents(){this.$element.data("stickyTop",this.$element.offset().top),this.runSticky()}runSticky(){if(!this.$element.hasClass("jkit-sticky-element--enabled"))return;const e=this,t=jQuery,i=this.$element,s=this.getElementSettings(),n=i.hasClass("jkit-sticky-element-on--down")?"down":i.hasClass("jkit-sticky-element-on--up")?"up":"both",o=i.hasClass("jkit-sticky-position--fixed")?"fixed":"sticky";let r=i.data("stickyTop"),d=0;e.stickyTop=r,e.width=i.outerWidth(),e.height=i.outerHeight(),e.margin=i.css("margin"),"fixed"===o?(i.wrap('<div class="wrapper-sticky-fixed"></div>'),i.parent().css("width",e.width),i.parent().css("height",e.height),i.parent().css("margin",e.margin),i.css("width",e.width),i.css("height",e.height),i.css("margin",e.margin)):i.parent().hasClass("wrapper-sticky-fixed")&&i.unwrap(),t(window).on("load resize scroll",i,(function(c){const a=t("body").attr("data-elementor-device-mode"),l=t(this).scrollTop();let h=!0;if("fixed"===o&&"resize"===c.type&&(i.parent().hasClass("wrapper-sticky-fixed")&&(i.unwrap(),i.css("position","relative"),i.removeClass("sticky-pinned")),i.css("width",""),i.css("height",""),i.css("margin",""),e.width=i.outerWidth(),e.height=i.outerHeight(),e.margin=i.css("margin"),i.wrap('<div class="wrapper-sticky-fixed"></div>'),i.parent().css("width",e.width),i.parent().css("height",e.height),i.parent().css("margin",e.margin),i.css("width",e.width),i.css("height",e.height),i.css("margin",e.margin)),"string"==typeof s.jkit_sticky_device&&(s.jkit_sticky_device=[s.jkit_sticky_device]),Object.values(s.jkit_sticky_device).forEach((function(e){a!==e||(h=!1)})),h)return i.css("position","relative"),i.removeClass("sticky-pinned"),void(i.hasClass("elementor-column")||i.css("width","unset"));const p="down"===n?l:l+t(this).height(),k="down"===n?r:r+i.outerHeight(!0);if(!i.hasClass("sticky-pinned")&&(r=i.offset().top,void 0!==s)){if(void 0!==s.jkit_sticky_top_position){r-=s.jkit_sticky_top_position.size;const n=t("#wpadminbar");n.length&&e.width>600?(r-=n.height(),i.css("--wpadminbar-height",n.height()+"px")):i.css("--wpadminbar-height","")}void 0!==s.jkit_sticky_bottom_position&&(r+=s.jkit_sticky_bottom_position.size)}"down"===n&&k<p||"up"===n&&k>p?(i.css("position",o),i.addClass("sticky-pinned"),e.hideOnScroll(l,d,n,c,i)):"both"===n&&"sticky"===o?(i.css("position",o),i.addClass("sticky-pinned")):(i.css("position","relative"),i.removeClass("hide-sticky"),i.removeClass("sticky-pinned")),d=l}))}hideOnScroll(e,t,i,s,n){if("scroll"===s.type){if("down"===i){if(this.stickyTop+this.height>=t&&n.hasClass("jkit-sticky-element--threshold"))return void n.removeClass("hide-sticky");if(e>t&&n.hasClass("jkit-sticky-element--hide-on-scroll"))return void n.addClass("hide-sticky")}else if("up"===i){if(Math.abs(jQuery(window).height()-this.height-this.stickyTop+this.height)<=t&&n.hasClass("jkit-sticky-element--threshold"))return void n.removeClass("hide-sticky");if(e<t&&n.hasClass("jkit-sticky-element--hide-on-scroll"))return void n.addClass("hide-sticky")}n.removeClass("hide-sticky")}}onElementChange(e){-1!==["jkit_sticky_section","jkit_sticky_device","jkit_sticky_trigger","jkit_sticky_position"].indexOf(e)&&(jQuery(window).off("load resize scroll",this.$element),this.runSticky())}}jQuery(window).on("elementor/frontend/init",(()=>{const e=e=>{elementorFrontend.elementsHandler.addHandler(i,{$element:e})};elementorFrontend.hooks.addAction("frontend/element_ready/container",e),elementorFrontend.hooks.addAction("frontend/element_ready/section",e),elementorFrontend.hooks.addAction("frontend/element_ready/column",e)}))}]);

View File

@ -0,0 +1 @@
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var l=t[o]={i:o,l:!1,exports:{}};return e[o].call(l.exports,l,l.exports,n),l.l=!0,l.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var l in e)n.d(o,l,function(t){return e[t]}.bind(null,l));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){class n extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{modal_placeholder:".jkit-team-swal-modal ",modal:".jkit-modal-popup",image:".jkit-team-img"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$modal_placeholder:this.$element.find(e.modal_placeholder),$modal:this.$element.find(e.modal),$image:this.$element.find(e.image)}}bindEvents(){this.onClick()}onClick(){const e=this,t=e.elements.$modal_placeholder;t.length&&this.elements.$image.on("click",(function(n){Swal.fire({target:"#"+t.attr("id"),showCloseButton:!1,html:e.elements.$modal.html(),showConfirmButton:!1,showClass:{backdrop:"swal2-noanimation",popup:"",icon:""},hideClass:{popup:""}}),t.find(".team-modal-close").on("click",(function(){Swal.close()}))}))}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/jkit_team.default",(e=>{elementorFrontend.elementsHandler.addHandler(n,{$element:e})}))}))}]);

View File

@ -0,0 +1 @@
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){class n extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{wrapper:".jeg-elementor-kit.jkit-testimonials",items:".testimonials-track"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$wrapper:this.$element.find(e.wrapper),$items:this.$element.find(e.items)}}bindEvents(){this.onLoadElement()}onLoadElement(){this.loadCarousel()}loadCarousel(){const e=this.elements.$wrapper.data("id"),t=this.getSettings("selectors"),n=this.elements.$wrapper.data("settings"),r=n.responsive,o={0:{items:1,gutter:0},768:{items:2,gutter:0},1025:{items:3,gutter:10}},i={};Object.entries(r).forEach((([e,t])=>{i[t.breakpoint]={},""!==t.items?i[t.breakpoint].items=t.items:o[t.breakpoint]&&(i[t.breakpoint].items=o[t.breakpoint].items),""!==t.margin?i[t.breakpoint].gutter=t.margin:o[t.breakpoint]&&(i[t.breakpoint].gutter=o[t.breakpoint].gutter)}));const a={container:t.wrapper+'[data-id="'+e+'"] '+t.items,loop:!0,mouseDrag:!0,autoplay:n.autoplay,autoplayTimeout:n.autoplay_speed,autoplayHoverPause:n.autoplay_hover_pause,navPosition:"bottom",controlsPosition:n.arrow_position,controlsText:[n.navigation_left,n.navigation_right],responsiveClass:!0,responsive:i};tns(a),this.elements.$wrapper.find("button[data-action]").remove(),n.show_navigation||this.elements.$wrapper.find(".tns-controls").remove(),n.show_dots||this.elements.$wrapper.find(".tns-nav").remove(),n.show_navigation&&(a.nav=!0,a.navText=['<i class="'+n.navigation_left+'" aria-hidden="true"></i>','<i class="'+n.navigation_right+'" aria-hidden="true"></i>'])}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/jkit_testimonials.default",(e=>{elementorFrontend.elementsHandler.addHandler(n,{$element:e})}))}))}]);

View File

@ -0,0 +1 @@
!function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e){class n extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{wrapper:".jeg-elementor-kit.jkit-video-button",link:".jeg-elementor-kit.jkit-video-button .jkit-video-popup-btn"}}}getDefaultElements(){const t=this.getSettings("selectors");return{$wrapper:this.$element.find(t.wrapper),$link:this.$element.find(t.link)}}bindEvents(){this.onClick()}onClick(){const t=this.elements.$wrapper,e=t.data("type"),n=t.data("autoplay"),o=t.data("mute"),r=t.data("loop"),a=t.data("controls"),i=t.data("unique-id"),l=this.getUrlId(e);let s="//www.youtube.com/embed/",u="";"self_hosted"===e?u=jQuery("#"+i).html():(s="youtube"==e?s+"?playlist="+l+"&autoplay="+n+"&mute="+o+"&loop="+r+"&controls="+a+"&start="+t.data("start")+"&end="+t.data("end")+"&version=3":"//player.vimeo.com/video/"+l+"?autoplay="+n+"&muted="+o+"&loop="+r+"&controls="+a+"&title="+t.data("title")+"&portrait="+t.data("portrait")+"&byline="+t.data("byline"),u='<iframe class="mfp-iframe" src="'+s+'" frameborder="0" allowfullscreen></iframe>'),this.elements.$link.on("click",(function(t){t.preventDefault(),Swal.fire({showCloseButton:!0,showCancelButton:!1,showConfirmButton:!1,html:u,padding:0,customClass:{container:"jkit-swal-container jkit-video-button-popup-container",popup:"jkit-swal-popup type-"+e,header:"jkit-swal-header",title:"jkit-swal-title",closeButton:"jkit-swal-closeButton",icon:"jkit-swal-icon",image:"jkit-swal-image",htmlContainer:"jkit-swal-htmlContainer",input:"jkit-swal-input",inputLabel:"jkit-swal-inputLabel",validationMessage:"jkit-swal-validationMessage",actions:"jkit-swal-actions",confirmButton:"jkit-swal-confirmButton",denyButton:"jkit-swal-denyButton",cancelButton:".jkit-swal-cancelButton",loader:"jkit-swal-loader",footer:"jkit-swal-footer",timerProgressBar:"jkit-swal-timerProgressBar"},showClass:{backdrop:"swal2-noanimation",popup:"",icon:""},hideClass:{popup:""}})}))}getUrlId(t){const e=this.elements.$link.attr("href");let n=[];switch(t){case"youtube":return n=e.match(/[\\?\\&]v=([^\\?\\&]+)/),n&&n[1]?n[1]:null;case"vimeo":return n=e.match(/(https?:\/\/)?(www.)?(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/),n&&n[5]?n[5]:null}return""}}jQuery(window).on("elementor/frontend/init",(()=>{elementorFrontend.hooks.addAction("frontend/element_ready/jkit_video_button.default",(t=>{elementorFrontend.elementsHandler.addHandler(n,{$element:t})}))}))}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden;}.tns-visually-hidden{position:absolute;left:-10000em;}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}
/*# sourceMappingURL=sourcemaps/tiny-slider.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(){var n=function(t,e,s,u){var r;e[0]=0;for(var h=1;h<e.length;h++){var p=e[h++],a=e[h]?(e[0]|=p?1:2,s[e[h++]]):e[++h];3===p?u[0]=a:4===p?u[1]=Object.assign(u[1]||{},a):5===p?(u[1]=u[1]||{})[e[++h]]=a:6===p?u[1][e[++h]]+=a+"":p?(r=t.apply(a,n(t,a,s,["",null])),u.push(r),a[0]?e[0]|=2:(e[h-2]=0,e[h]=r)):u.push(a)}return u},t=new Map,e=function(e){var s=t.get(this);return s||(s=new Map,t.set(this,s)),(s=n(this,s.get(e)||(s.set(e,s=function(n){for(var t,e,s=1,u="",r="",h=[0],p=function(n){1===s&&(n||(u=u.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?h.push(0,n,u):3===s&&(n||u)?(h.push(3,n,u),s=2):2===s&&"..."===u&&n?h.push(4,n,0):2===s&&u&&!n?h.push(5,0,!0,u):s>=5&&((u||!n&&5===s)&&(h.push(s,0,u,e),s=6),n&&(h.push(s,n,0,e),s=6)),u=""},a=0;a<n.length;a++){a&&(1===s&&p(),p(a));for(var o=0;o<n[a].length;o++)t=n[a][o],1===s?"<"===t?(p(),h=[h],s=3):u+=t:4===s?"--"===u&&">"===t?(s=1,u=""):u=t+u[0]:r?t===r?r="":u+=t:'"'===t||"'"===t?r=t:">"===t?(p(),s=1):s&&("="===t?(s=5,e=u,u=""):"/"===t&&(s<5||">"===n[a][o+1])?(p(),3===s&&(h=h[0]),s=h,(h=h[0]).push(2,0,s),s=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),s=2):u+=t),3===s&&"!--"===u&&(s=4,h=h[0])}return p(),h}(e)),s),arguments,[])).length>1?s:s[0]};"undefined"!=typeof module?module.exports=e:self.htm=e}();

View File

@ -0,0 +1,10 @@
.template-kit-preview{background:#e9e9e9;color:rgba(0,0,0,0.75);font:1em/1.67 Arial,Sans-serif;margin:0;padding:.5em}
.template-kit-preview__title{font-size:2em}
.template-kit-preview__grid{-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out;-webkit-column-gap:30px;-moz-column-gap:30px;column-gap:30px;-webkit-column-fill:initial;-moz-column-fill:initial;column-fill:initial}
.template-kit-preview__template{display:inline-block;vertical-align:top;background:#fff;padding:1em;margin:0 0 1.5em;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.18);box-shadow:0 1px 1px 0 rgba(0,0,0,0.18);border-radius:3px;min-height:100px}
.template-kit-preview__screenshot{padding:0;margin:0;line-height:0}
.template-kit-preview__name{text-decoration:none;text-align:center;padding:10px}
@media(min-width:400px){.template-kit-preview__grid{-webkit-column-count:2;-moz-column-count:2;column-count:2}
}@media(min-width:800px){.template-kit-preview{padding:1em 2em}
.template-kit-preview__grid{-webkit-column-count:4;-moz-column-count:4;column-count:4}
}

View File

@ -0,0 +1 @@
(()=>{var e={690:e=>{e.exports=function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},728:e=>{function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},836:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function __webpack_require__(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,__webpack_require__),o.exports}(()=>{"use strict";var e=__webpack_require__(836),t=e(__webpack_require__(690)),n=e(__webpack_require__(728)),r=function(){function elementorHelloThemeHandler(){(0,t.default)(this,elementorHelloThemeHandler),this.initSettings(),this.initElements(),this.bindEvents()}return(0,n.default)(elementorHelloThemeHandler,[{key:"initSettings",value:function initSettings(){this.settings={selectors:{header:"header.site-header",footer:"footer.site-footer",menuToggle:".site-header .site-navigation-toggle",menuToggleHolder:".site-header .site-navigation-toggle-holder",dropdownMenu:".site-header .site-navigation-dropdown"}}}},{key:"initElements",value:function initElements(){this.elements={$window:jQuery(window),$document:jQuery(document),$header:jQuery(this.settings.selectors.header),$footer:jQuery(this.settings.selectors.footer),$menuToggle:jQuery(this.settings.selectors.menuToggle),$menuToggleHolder:jQuery(this.settings.selectors.menuToggleHolder),$dropdownMenu:jQuery(this.settings.selectors.dropdownMenu)}}},{key:"bindEvents",value:function bindEvents(){var e=this;this.elements.$menuToggle.on("click",(function(){return e.handleMenuToggle()})),this.elements.$dropdownMenu.on("click",".menu-item-has-children > a",this.handleMenuChildren)}},{key:"closeMenuItems",value:function closeMenuItems(){var e=this;this.elements.$menuToggleHolder.removeClass("elementor-active"),this.elements.$window.off("resize",(function(){return e.closeMenuItems()}))}},{key:"handleMenuToggle",value:function handleMenuToggle(){var e=this,t=!this.elements.$menuToggleHolder.hasClass("elementor-active");this.elements.$menuToggle.attr("aria-expanded",t),this.elements.$dropdownMenu.attr("aria-hidden",!t),this.elements.$menuToggleHolder.toggleClass("elementor-active",t),this.elements.$dropdownMenu.find(".elementor-active").removeClass("elementor-active"),t?this.elements.$window.on("resize",(function(){return e.closeMenuItems()})):this.elements.$window.off("resize",(function(){return e.closeMenuItems()}))}},{key:"handleMenuChildren",value:function handleMenuChildren(e){var t=jQuery(e.currentTarget).parent("li");t.hasClass("elementor-active")?t.removeClass("elementor-active"):t.addClass("elementor-active")}}]),elementorHelloThemeHandler}();jQuery((function(){new r}))})()})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More