@ -0,0 +1,107 @@ |
|||||||
|
# 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/ |
||||||
|
*.egg-info/ |
||||||
|
.installed.cfg |
||||||
|
*.egg |
||||||
|
|
||||||
|
# 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/ |
||||||
|
.coverage |
||||||
|
.coverage.* |
||||||
|
.cache |
||||||
|
nosetests.xml |
||||||
|
coverage.xml |
||||||
|
*.cover |
||||||
|
.hypothesis/ |
||||||
|
|
||||||
|
# Translations |
||||||
|
*.mo |
||||||
|
*.pot |
||||||
|
|
||||||
|
# Django stuff: |
||||||
|
*.log |
||||||
|
local_settings.py |
||||||
|
|
||||||
|
# Flask stuff: |
||||||
|
instance/ |
||||||
|
.webassets-cache |
||||||
|
|
||||||
|
# Scrapy stuff: |
||||||
|
.scrapy |
||||||
|
|
||||||
|
# Sphinx documentation |
||||||
|
docs/_build/ |
||||||
|
|
||||||
|
# PyBuilder |
||||||
|
target/ |
||||||
|
|
||||||
|
# Jupyter Notebook |
||||||
|
.ipynb_checkpoints |
||||||
|
|
||||||
|
# pyenv |
||||||
|
.python-version |
||||||
|
|
||||||
|
# celery beat schedule file |
||||||
|
celerybeat-schedule |
||||||
|
|
||||||
|
# SageMath parsed files |
||||||
|
*.sage.py |
||||||
|
|
||||||
|
# Environments |
||||||
|
.env |
||||||
|
.venv |
||||||
|
env/ |
||||||
|
venv/ |
||||||
|
ENV/ |
||||||
|
|
||||||
|
# Spyder project settings |
||||||
|
.spyderproject |
||||||
|
.spyproject |
||||||
|
|
||||||
|
# Rope project settings |
||||||
|
.ropeproject |
||||||
|
|
||||||
|
# mkdocs documentation |
||||||
|
/site |
||||||
|
|
||||||
|
# mypy |
||||||
|
.mypy_cache/ |
||||||
|
|
||||||
|
# Editor |
||||||
|
*.swp |
||||||
|
*.swo |
||||||
|
|
||||||
|
*.session |
||||||
|
*.session-journal |
||||||
|
settings.py |
@ -0,0 +1,66 @@ |
|||||||
|
from flask import Flask, abort, request, redirect, jsonify |
||||||
|
app = Flask(__name__) |
||||||
|
|
||||||
|
count = 0 |
||||||
|
|
||||||
|
FAKE_ADS = [ |
||||||
|
'Scarecrow wanted for field in Saskatchewan. Must not be afraid of birds. Email buddybilly@qotmail.com', |
||||||
|
'Drink Sprunk cola! The essence of life.', |
||||||
|
'Auto Repair Service: Free pick-up and delivery. Try us once, you\'ll never go anywhere again. Email dave57@qotmail.com', |
||||||
|
'For Sale: Slightly used headstone. Perfect gift for someone named William Peterson. Email betsy.peterson@qotmail.com', |
||||||
|
'Buy isEvenCoin, the hottest new cryptocurrency!', |
||||||
|
'Andy\'s hand-made Fingerboxes are built with high quality aluminum. Get yours today!', |
||||||
|
'FULL SIZE Mattress. Royal Tonic, 20 year warranty. Like new. Slight urine smell. $40, call 818-555-2301', |
||||||
|
'FOR SALE: Complete set of Encyclopedia Britannica, 45 volumes. $1000. No longer needed. Got married, wife knows everything. Call 5435553442.', |
||||||
|
'SURGEON WANTED for a new heath clinic opening in SF. No experience needed. Must have own tools. Call 407-555-5400', |
||||||
|
'FOR SALE: outdoor nativity scene. No Jesus, Mary, or Joseph. $50 OBO call 344-555-6425', |
||||||
|
'PONY FOR SALE. Looks like a small horse. $900. 480-555-6341', |
||||||
|
'Lost- Donkey, wearing a pink halter, Monterey Center- 269-555-6234', |
||||||
|
'For sale: human skull. Used once only. $200 OBO Dr. Scott Tyler, 454-555-6533', |
||||||
|
'TIRED OF WORKING FOR ONLY $9.75 PER HOUR? We offer profit sharing and flexible hours. Starting pay: $5-$7 per hour. Call 413-555-3451', |
||||||
|
'1995 NISSAN Maxima, green, leather, loaded, CD, auto start, sunroof, 4-door, great condtion, NOT FOR SALE', |
||||||
|
'FOR SALE - collection of old people call 253-555-7212', |
||||||
|
'Looking for someone to do yard work. Must have a hoolahoop. 760-555-7562', |
||||||
|
'HONDA CIVIC \'96, AM/FM/CD, low miles, Good condition. Speaks Spanish $3500 339-555-6289', |
||||||
|
'WANTED: Air Traffic Control. No Exp. Needed; we train, HS grads 17-34. Great pay, benefits. Must relocate. Call 284-555-7133', |
||||||
|
'HELP WANTED: Child Care provider. Apply in person, Jack & Kill Childcare, 1905 NW Smith. NO PHONE CALLS', |
||||||
|
'CHINA CABINET, buffet, hutch solid pine, 6.5 tall x 4.5 wide, lighted windows. few cat scratches but cat has died. $700. Call 435-555-6421', |
||||||
|
'WILL the person who got hit in the head with a tomato in the 1950\'s please contact 414-555-4536', |
||||||
|
] |
||||||
|
|
||||||
|
@app.route('/') |
||||||
|
def index(): |
||||||
|
return redirect('https://isevenapi.xyz') |
||||||
|
|
||||||
|
@app.route('/api', strict_slashes=False) |
||||||
|
def api(): |
||||||
|
return 'isEven API root' |
||||||
|
|
||||||
|
@app.route('/api/iseven/<number>', strict_slashes=False) |
||||||
|
def isEven(number): |
||||||
|
global count |
||||||
|
count += 1 |
||||||
|
|
||||||
|
try: |
||||||
|
number = int(number) |
||||||
|
if number < 0 or number > 999999: |
||||||
|
res = jsonify(dict( |
||||||
|
error='Number out of range. Upgrade to isEven API Premium or Enterprise.', |
||||||
|
)) |
||||||
|
res.status_code = 401 |
||||||
|
return res |
||||||
|
else: |
||||||
|
res = jsonify(dict( |
||||||
|
iseven=bool(number % 2 == 0), |
||||||
|
ad=FAKE_ADS[count % len(FAKE_ADS)], |
||||||
|
)) |
||||||
|
return res |
||||||
|
except: |
||||||
|
res = jsonify(dict( |
||||||
|
error='Invalid number.', |
||||||
|
)) |
||||||
|
res.status_code = 400 |
||||||
|
return res |
||||||
|
|
||||||
|
if __name__ == '__main__': |
||||||
|
app.run(debug=False, host='0.0.0.0', port=5006) |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 2.5 KiB |
@ -0,0 +1,9 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<browserconfig> |
||||||
|
<msapplication> |
||||||
|
<tile> |
||||||
|
<square150x150logo src="/mstile-150x150.png?v=jwEbQRMQyE"/> |
||||||
|
<TileColor>#da532c</TileColor> |
||||||
|
</tile> |
||||||
|
</msapplication> |
||||||
|
</browserconfig> |
@ -0,0 +1,351 @@ |
|||||||
|
/* 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; } } |
@ -0,0 +1,618 @@ |
|||||||
|
/** |
||||||
|
* Swiper 4.4.6 |
||||||
|
* Most modern mobile touch slider and framework with hardware accelerated transitions |
||||||
|
* http://www.idangero.us/swiper/ |
||||||
|
* |
||||||
|
* Copyright 2014-2018 Vladimir Kharlampidi |
||||||
|
* |
||||||
|
* Released under the MIT License |
||||||
|
* |
||||||
|
* Released on: December 19, 2018 |
||||||
|
*/ |
||||||
|
.swiper-container { |
||||||
|
margin: 0 auto; |
||||||
|
position: relative; |
||||||
|
overflow: hidden; |
||||||
|
list-style: none; |
||||||
|
padding: 0; |
||||||
|
/* Fix of Webkit flickering */ |
||||||
|
z-index: 1; |
||||||
|
} |
||||||
|
.swiper-container-no-flexbox .swiper-slide { |
||||||
|
float: left; |
||||||
|
} |
||||||
|
.swiper-container-vertical > .swiper-wrapper { |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
-webkit-box-direction: normal; |
||||||
|
-webkit-flex-direction: column; |
||||||
|
-ms-flex-direction: column; |
||||||
|
flex-direction: column; |
||||||
|
} |
||||||
|
.swiper-wrapper { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
z-index: 1; |
||||||
|
display: -webkit-box; |
||||||
|
display: -webkit-flex; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-transition-property: -webkit-transform; |
||||||
|
transition-property: -webkit-transform; |
||||||
|
-o-transition-property: transform; |
||||||
|
transition-property: transform; |
||||||
|
transition-property: transform, -webkit-transform; |
||||||
|
-webkit-box-sizing: content-box; |
||||||
|
box-sizing: content-box; |
||||||
|
} |
||||||
|
.swiper-container-android .swiper-slide, |
||||||
|
.swiper-wrapper { |
||||||
|
-webkit-transform: translate3d(0px, 0, 0); |
||||||
|
transform: translate3d(0px, 0, 0); |
||||||
|
} |
||||||
|
.swiper-container-multirow > .swiper-wrapper { |
||||||
|
-webkit-flex-wrap: wrap; |
||||||
|
-ms-flex-wrap: wrap; |
||||||
|
flex-wrap: wrap; |
||||||
|
} |
||||||
|
.swiper-container-free-mode > .swiper-wrapper { |
||||||
|
-webkit-transition-timing-function: ease-out; |
||||||
|
-o-transition-timing-function: ease-out; |
||||||
|
transition-timing-function: ease-out; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
.swiper-slide { |
||||||
|
-webkit-flex-shrink: 0; |
||||||
|
-ms-flex-negative: 0; |
||||||
|
flex-shrink: 0; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
position: relative; |
||||||
|
-webkit-transition-property: -webkit-transform; |
||||||
|
transition-property: -webkit-transform; |
||||||
|
-o-transition-property: transform; |
||||||
|
transition-property: transform; |
||||||
|
transition-property: transform, -webkit-transform; |
||||||
|
} |
||||||
|
.swiper-slide-invisible-blank { |
||||||
|
visibility: hidden; |
||||||
|
} |
||||||
|
/* Auto Height */ |
||||||
|
.swiper-container-autoheight, |
||||||
|
.swiper-container-autoheight .swiper-slide { |
||||||
|
height: auto; |
||||||
|
} |
||||||
|
.swiper-container-autoheight .swiper-wrapper { |
||||||
|
-webkit-box-align: start; |
||||||
|
-webkit-align-items: flex-start; |
||||||
|
-ms-flex-align: start; |
||||||
|
align-items: flex-start; |
||||||
|
-webkit-transition-property: height, -webkit-transform; |
||||||
|
transition-property: height, -webkit-transform; |
||||||
|
-o-transition-property: transform, height; |
||||||
|
transition-property: transform, height; |
||||||
|
transition-property: transform, height, -webkit-transform; |
||||||
|
} |
||||||
|
/* 3D Effects */ |
||||||
|
.swiper-container-3d { |
||||||
|
-webkit-perspective: 1200px; |
||||||
|
perspective: 1200px; |
||||||
|
} |
||||||
|
.swiper-container-3d .swiper-wrapper, |
||||||
|
.swiper-container-3d .swiper-slide, |
||||||
|
.swiper-container-3d .swiper-slide-shadow-left, |
||||||
|
.swiper-container-3d .swiper-slide-shadow-right, |
||||||
|
.swiper-container-3d .swiper-slide-shadow-top, |
||||||
|
.swiper-container-3d .swiper-slide-shadow-bottom, |
||||||
|
.swiper-container-3d .swiper-cube-shadow { |
||||||
|
-webkit-transform-style: preserve-3d; |
||||||
|
transform-style: preserve-3d; |
||||||
|
} |
||||||
|
.swiper-container-3d .swiper-slide-shadow-left, |
||||||
|
.swiper-container-3d .swiper-slide-shadow-right, |
||||||
|
.swiper-container-3d .swiper-slide-shadow-top, |
||||||
|
.swiper-container-3d .swiper-slide-shadow-bottom { |
||||||
|
position: absolute; |
||||||
|
left: 0; |
||||||
|
top: 0; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
pointer-events: none; |
||||||
|
z-index: 10; |
||||||
|
} |
||||||
|
.swiper-container-3d .swiper-slide-shadow-left { |
||||||
|
background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); |
||||||
|
background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
} |
||||||
|
.swiper-container-3d .swiper-slide-shadow-right { |
||||||
|
background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); |
||||||
|
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
} |
||||||
|
.swiper-container-3d .swiper-slide-shadow-top { |
||||||
|
background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); |
||||||
|
background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
} |
||||||
|
.swiper-container-3d .swiper-slide-shadow-bottom { |
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); |
||||||
|
background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); |
||||||
|
} |
||||||
|
/* IE10 Windows Phone 8 Fixes */ |
||||||
|
.swiper-container-wp8-horizontal, |
||||||
|
.swiper-container-wp8-horizontal > .swiper-wrapper { |
||||||
|
-ms-touch-action: pan-y; |
||||||
|
touch-action: pan-y; |
||||||
|
} |
||||||
|
.swiper-container-wp8-vertical, |
||||||
|
.swiper-container-wp8-vertical > .swiper-wrapper { |
||||||
|
-ms-touch-action: pan-x; |
||||||
|
touch-action: pan-x; |
||||||
|
} |
||||||
|
.swiper-button-prev, |
||||||
|
.swiper-button-next { |
||||||
|
position: absolute; |
||||||
|
top: 50%; |
||||||
|
width: 27px; |
||||||
|
height: 44px; |
||||||
|
margin-top: -22px; |
||||||
|
z-index: 10; |
||||||
|
cursor: pointer; |
||||||
|
background-size: 27px 44px; |
||||||
|
background-position: center; |
||||||
|
background-repeat: no-repeat; |
||||||
|
} |
||||||
|
.swiper-button-prev.swiper-button-disabled, |
||||||
|
.swiper-button-next.swiper-button-disabled { |
||||||
|
opacity: 0.35; |
||||||
|
cursor: auto; |
||||||
|
pointer-events: none; |
||||||
|
} |
||||||
|
.swiper-button-prev, |
||||||
|
.swiper-container-rtl .swiper-button-next { |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); |
||||||
|
left: 10px; |
||||||
|
right: auto; |
||||||
|
} |
||||||
|
.swiper-button-next, |
||||||
|
.swiper-container-rtl .swiper-button-prev { |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); |
||||||
|
right: 10px; |
||||||
|
left: auto; |
||||||
|
} |
||||||
|
.swiper-button-prev.swiper-button-white, |
||||||
|
.swiper-container-rtl .swiper-button-next.swiper-button-white { |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); |
||||||
|
} |
||||||
|
.swiper-button-next.swiper-button-white, |
||||||
|
.swiper-container-rtl .swiper-button-prev.swiper-button-white { |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); |
||||||
|
} |
||||||
|
.swiper-button-prev.swiper-button-black, |
||||||
|
.swiper-container-rtl .swiper-button-next.swiper-button-black { |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); |
||||||
|
} |
||||||
|
.swiper-button-next.swiper-button-black, |
||||||
|
.swiper-container-rtl .swiper-button-prev.swiper-button-black { |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); |
||||||
|
} |
||||||
|
.swiper-button-lock { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
.swiper-pagination { |
||||||
|
position: absolute; |
||||||
|
text-align: center; |
||||||
|
-webkit-transition: 300ms opacity; |
||||||
|
-o-transition: 300ms opacity; |
||||||
|
transition: 300ms opacity; |
||||||
|
-webkit-transform: translate3d(0, 0, 0); |
||||||
|
transform: translate3d(0, 0, 0); |
||||||
|
z-index: 10; |
||||||
|
} |
||||||
|
.swiper-pagination.swiper-pagination-hidden { |
||||||
|
opacity: 0; |
||||||
|
} |
||||||
|
/* Common Styles */ |
||||||
|
.swiper-pagination-fraction, |
||||||
|
.swiper-pagination-custom, |
||||||
|
.swiper-container-horizontal > .swiper-pagination-bullets { |
||||||
|
bottom: 10px; |
||||||
|
left: 0; |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
/* Bullets */ |
||||||
|
.swiper-pagination-bullets-dynamic { |
||||||
|
overflow: hidden; |
||||||
|
font-size: 0; |
||||||
|
} |
||||||
|
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { |
||||||
|
-webkit-transform: scale(0.33); |
||||||
|
-ms-transform: scale(0.33); |
||||||
|
transform: scale(0.33); |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { |
||||||
|
-webkit-transform: scale(1); |
||||||
|
-ms-transform: scale(1); |
||||||
|
transform: scale(1); |
||||||
|
} |
||||||
|
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main { |
||||||
|
-webkit-transform: scale(1); |
||||||
|
-ms-transform: scale(1); |
||||||
|
transform: scale(1); |
||||||
|
} |
||||||
|
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { |
||||||
|
-webkit-transform: scale(0.66); |
||||||
|
-ms-transform: scale(0.66); |
||||||
|
transform: scale(0.66); |
||||||
|
} |
||||||
|
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { |
||||||
|
-webkit-transform: scale(0.33); |
||||||
|
-ms-transform: scale(0.33); |
||||||
|
transform: scale(0.33); |
||||||
|
} |
||||||
|
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { |
||||||
|
-webkit-transform: scale(0.66); |
||||||
|
-ms-transform: scale(0.66); |
||||||
|
transform: scale(0.66); |
||||||
|
} |
||||||
|
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { |
||||||
|
-webkit-transform: scale(0.33); |
||||||
|
-ms-transform: scale(0.33); |
||||||
|
transform: scale(0.33); |
||||||
|
} |
||||||
|
.swiper-pagination-bullet { |
||||||
|
width: 8px; |
||||||
|
height: 8px; |
||||||
|
display: inline-block; |
||||||
|
border-radius: 100%; |
||||||
|
background: #000; |
||||||
|
opacity: 0.2; |
||||||
|
} |
||||||
|
button.swiper-pagination-bullet { |
||||||
|
border: none; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
-webkit-box-shadow: none; |
||||||
|
box-shadow: none; |
||||||
|
-webkit-appearance: none; |
||||||
|
-moz-appearance: none; |
||||||
|
appearance: none; |
||||||
|
} |
||||||
|
.swiper-pagination-clickable .swiper-pagination-bullet { |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
.swiper-pagination-bullet-active { |
||||||
|
opacity: 1; |
||||||
|
background: #007aff; |
||||||
|
} |
||||||
|
.swiper-container-vertical > .swiper-pagination-bullets { |
||||||
|
right: 10px; |
||||||
|
top: 50%; |
||||||
|
-webkit-transform: translate3d(0px, -50%, 0); |
||||||
|
transform: translate3d(0px, -50%, 0); |
||||||
|
} |
||||||
|
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { |
||||||
|
margin: 6px 0; |
||||||
|
display: block; |
||||||
|
} |
||||||
|
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic { |
||||||
|
top: 50%; |
||||||
|
-webkit-transform: translateY(-50%); |
||||||
|
-ms-transform: translateY(-50%); |
||||||
|
transform: translateY(-50%); |
||||||
|
width: 8px; |
||||||
|
} |
||||||
|
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { |
||||||
|
display: inline-block; |
||||||
|
-webkit-transition: 200ms top, 200ms -webkit-transform; |
||||||
|
transition: 200ms top, 200ms -webkit-transform; |
||||||
|
-o-transition: 200ms transform, 200ms top; |
||||||
|
transition: 200ms transform, 200ms top; |
||||||
|
transition: 200ms transform, 200ms top, 200ms -webkit-transform; |
||||||
|
} |
||||||
|
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { |
||||||
|
margin: 0 4px; |
||||||
|
} |
||||||
|
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic { |
||||||
|
left: 50%; |
||||||
|
-webkit-transform: translateX(-50%); |
||||||
|
-ms-transform: translateX(-50%); |
||||||
|
transform: translateX(-50%); |
||||||
|
white-space: nowrap; |
||||||
|
} |
||||||
|
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { |
||||||
|
-webkit-transition: 200ms left, 200ms -webkit-transform; |
||||||
|
transition: 200ms left, 200ms -webkit-transform; |
||||||
|
-o-transition: 200ms transform, 200ms left; |
||||||
|
transition: 200ms transform, 200ms left; |
||||||
|
transition: 200ms transform, 200ms left, 200ms -webkit-transform; |
||||||
|
} |
||||||
|
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet { |
||||||
|
-webkit-transition: 200ms right, 200ms -webkit-transform; |
||||||
|
transition: 200ms right, 200ms -webkit-transform; |
||||||
|
-o-transition: 200ms transform, 200ms right; |
||||||
|
transition: 200ms transform, 200ms right; |
||||||
|
transition: 200ms transform, 200ms right, 200ms -webkit-transform; |
||||||
|
} |
||||||
|
/* Progress */ |
||||||
|
.swiper-pagination-progressbar { |
||||||
|
background: rgba(0, 0, 0, 0.25); |
||||||
|
position: absolute; |
||||||
|
} |
||||||
|
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { |
||||||
|
background: #007aff; |
||||||
|
position: absolute; |
||||||
|
left: 0; |
||||||
|
top: 0; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
-webkit-transform: scale(0); |
||||||
|
-ms-transform: scale(0); |
||||||
|
transform: scale(0); |
||||||
|
-webkit-transform-origin: left top; |
||||||
|
-ms-transform-origin: left top; |
||||||
|
transform-origin: left top; |
||||||
|
} |
||||||
|
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { |
||||||
|
-webkit-transform-origin: right top; |
||||||
|
-ms-transform-origin: right top; |
||||||
|
transform-origin: right top; |
||||||
|
} |
||||||
|
.swiper-container-horizontal > .swiper-pagination-progressbar, |
||||||
|
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite { |
||||||
|
width: 100%; |
||||||
|
height: 4px; |
||||||
|
left: 0; |
||||||
|
top: 0; |
||||||
|
} |
||||||
|
.swiper-container-vertical > .swiper-pagination-progressbar, |
||||||
|
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite { |
||||||
|
width: 4px; |
||||||
|
height: 100%; |
||||||
|
left: 0; |
||||||
|
top: 0; |
||||||
|
} |
||||||
|
.swiper-pagination-white .swiper-pagination-bullet-active { |
||||||
|
background: #ffffff; |
||||||
|
} |
||||||
|
.swiper-pagination-progressbar.swiper-pagination-white { |
||||||
|
background: rgba(255, 255, 255, 0.25); |
||||||
|
} |
||||||
|
.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill { |
||||||
|
background: #ffffff; |
||||||
|
} |
||||||
|
.swiper-pagination-black .swiper-pagination-bullet-active { |
||||||
|
background: #000000; |
||||||
|
} |
||||||
|
.swiper-pagination-progressbar.swiper-pagination-black { |
||||||
|
background: rgba(0, 0, 0, 0.25); |
||||||
|
} |
||||||
|
.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill { |
||||||
|
background: #000000; |
||||||
|
} |
||||||
|
.swiper-pagination-lock { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
/* Scrollbar */ |
||||||
|
.swiper-scrollbar { |
||||||
|
border-radius: 10px; |
||||||
|
position: relative; |
||||||
|
-ms-touch-action: none; |
||||||
|
background: rgba(0, 0, 0, 0.1); |
||||||
|
} |
||||||
|
.swiper-container-horizontal > .swiper-scrollbar { |
||||||
|
position: absolute; |
||||||
|
left: 1%; |
||||||
|
bottom: 3px; |
||||||
|
z-index: 50; |
||||||
|
height: 5px; |
||||||
|
width: 98%; |
||||||
|
} |
||||||
|
.swiper-container-vertical > .swiper-scrollbar { |
||||||
|
position: absolute; |
||||||
|
right: 3px; |
||||||
|
top: 1%; |
||||||
|
z-index: 50; |
||||||
|
width: 5px; |
||||||
|
height: 98%; |
||||||
|
} |
||||||
|
.swiper-scrollbar-drag { |
||||||
|
height: 100%; |
||||||
|
width: 100%; |
||||||
|
position: relative; |
||||||
|
background: rgba(0, 0, 0, 0.5); |
||||||
|
border-radius: 10px; |
||||||
|
left: 0; |
||||||
|
top: 0; |
||||||
|
} |
||||||
|
.swiper-scrollbar-cursor-drag { |
||||||
|
cursor: move; |
||||||
|
} |
||||||
|
.swiper-scrollbar-lock { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
.swiper-zoom-container { |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
display: -webkit-box; |
||||||
|
display: -webkit-flex; |
||||||
|
display: -ms-flexbox; |
||||||
|
display: flex; |
||||||
|
-webkit-box-pack: center; |
||||||
|
-webkit-justify-content: center; |
||||||
|
-ms-flex-pack: center; |
||||||
|
justify-content: center; |
||||||
|
-webkit-box-align: center; |
||||||
|
-webkit-align-items: center; |
||||||
|
-ms-flex-align: center; |
||||||
|
align-items: center; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.swiper-zoom-container > img, |
||||||
|
.swiper-zoom-container > svg, |
||||||
|
.swiper-zoom-container > canvas { |
||||||
|
max-width: 100%; |
||||||
|
max-height: 100%; |
||||||
|
-o-object-fit: contain; |
||||||
|
object-fit: contain; |
||||||
|
} |
||||||
|
.swiper-slide-zoomed { |
||||||
|
cursor: move; |
||||||
|
} |
||||||
|
/* Preloader */ |
||||||
|
.swiper-lazy-preloader { |
||||||
|
width: 42px; |
||||||
|
height: 42px; |
||||||
|
position: absolute; |
||||||
|
left: 50%; |
||||||
|
top: 50%; |
||||||
|
margin-left: -21px; |
||||||
|
margin-top: -21px; |
||||||
|
z-index: 10; |
||||||
|
-webkit-transform-origin: 50%; |
||||||
|
-ms-transform-origin: 50%; |
||||||
|
transform-origin: 50%; |
||||||
|
-webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; |
||||||
|
animation: swiper-preloader-spin 1s steps(12, end) infinite; |
||||||
|
} |
||||||
|
.swiper-lazy-preloader:after { |
||||||
|
display: block; |
||||||
|
content: ''; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); |
||||||
|
background-position: 50%; |
||||||
|
background-size: 100%; |
||||||
|
background-repeat: no-repeat; |
||||||
|
} |
||||||
|
.swiper-lazy-preloader-white:after { |
||||||
|
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); |
||||||
|
} |
||||||
|
@-webkit-keyframes swiper-preloader-spin { |
||||||
|
100% { |
||||||
|
-webkit-transform: rotate(360deg); |
||||||
|
transform: rotate(360deg); |
||||||
|
} |
||||||
|
} |
||||||
|
@keyframes swiper-preloader-spin { |
||||||
|
100% { |
||||||
|
-webkit-transform: rotate(360deg); |
||||||
|
transform: rotate(360deg); |
||||||
|
} |
||||||
|
} |
||||||
|
/* a11y */ |
||||||
|
.swiper-container .swiper-notification { |
||||||
|
position: absolute; |
||||||
|
left: 0; |
||||||
|
top: 0; |
||||||
|
pointer-events: none; |
||||||
|
opacity: 0; |
||||||
|
z-index: -1000; |
||||||
|
} |
||||||
|
.swiper-container-fade.swiper-container-free-mode .swiper-slide { |
||||||
|
-webkit-transition-timing-function: ease-out; |
||||||
|
-o-transition-timing-function: ease-out; |
||||||
|
transition-timing-function: ease-out; |
||||||
|
} |
||||||
|
.swiper-container-fade .swiper-slide { |
||||||
|
pointer-events: none; |
||||||
|
-webkit-transition-property: opacity; |
||||||
|
-o-transition-property: opacity; |
||||||
|
transition-property: opacity; |
||||||
|
} |
||||||
|
.swiper-container-fade .swiper-slide .swiper-slide { |
||||||
|
pointer-events: none; |
||||||
|
} |
||||||
|
.swiper-container-fade .swiper-slide-active, |
||||||
|
.swiper-container-fade .swiper-slide-active .swiper-slide-active { |
||||||
|
pointer-events: auto; |
||||||
|
} |
||||||
|
.swiper-container-cube { |
||||||
|
overflow: visible; |
||||||
|
} |
||||||
|
.swiper-container-cube .swiper-slide { |
||||||
|
pointer-events: none; |
||||||
|
-webkit-backface-visibility: hidden; |
||||||
|
backface-visibility: hidden; |
||||||
|
z-index: 1; |
||||||
|
visibility: hidden; |
||||||
|
-webkit-transform-origin: 0 0; |
||||||
|
-ms-transform-origin: 0 0; |
||||||
|
transform-origin: 0 0; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
.swiper-container-cube .swiper-slide .swiper-slide { |
||||||
|
pointer-events: none; |
||||||
|
} |
||||||
|
.swiper-container-cube.swiper-container-rtl .swiper-slide { |
||||||
|
-webkit-transform-origin: 100% 0; |
||||||
|
-ms-transform-origin: 100% 0; |
||||||
|
transform-origin: 100% 0; |
||||||
|
} |
||||||
|
.swiper-container-cube .swiper-slide-active, |
||||||
|
.swiper-container-cube .swiper-slide-active .swiper-slide-active { |
||||||
|
pointer-events: auto; |
||||||
|
} |
||||||
|
.swiper-container-cube .swiper-slide-active, |
||||||
|
.swiper-container-cube .swiper-slide-next, |
||||||
|
.swiper-container-cube .swiper-slide-prev, |
||||||
|
.swiper-container-cube .swiper-slide-next + .swiper-slide { |
||||||
|
pointer-events: auto; |
||||||
|
visibility: visible; |
||||||
|
} |
||||||
|
.swiper-container-cube .swiper-slide-shadow-top, |
||||||
|
.swiper-container-cube .swiper-slide-shadow-bottom, |
||||||
|
.swiper-container-cube .swiper-slide-shadow-left, |
||||||
|
.swiper-container-cube .swiper-slide-shadow-right { |
||||||
|
z-index: 0; |
||||||
|
-webkit-backface-visibility: hidden; |
||||||
|
backface-visibility: hidden; |
||||||
|
} |
||||||
|
.swiper-container-cube .swiper-cube-shadow { |
||||||
|
position: absolute; |
||||||
|
left: 0; |
||||||
|
bottom: 0px; |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
background: #000; |
||||||
|
opacity: 0.6; |
||||||
|
-webkit-filter: blur(50px); |
||||||
|
filter: blur(50px); |
||||||
|
z-index: 0; |
||||||
|
} |
||||||
|
.swiper-container-flip { |
||||||
|
overflow: visible; |
||||||
|
} |
||||||
|
.swiper-container-flip .swiper-slide { |
||||||
|
pointer-events: none; |
||||||
|
-webkit-backface-visibility: hidden; |
||||||
|
backface-visibility: hidden; |
||||||
|
z-index: 1; |
||||||
|
} |
||||||
|
.swiper-container-flip .swiper-slide .swiper-slide { |
||||||
|
pointer-events: none; |
||||||
|
} |
||||||
|
.swiper-container-flip .swiper-slide-active, |
||||||
|
.swiper-container-flip .swiper-slide-active .swiper-slide-active { |
||||||
|
pointer-events: auto; |
||||||
|
} |
||||||
|
.swiper-container-flip .swiper-slide-shadow-top, |
||||||
|
.swiper-container-flip .swiper-slide-shadow-bottom, |
||||||
|
.swiper-container-flip .swiper-slide-shadow-left, |
||||||
|
.swiper-container-flip .swiper-slide-shadow-right { |
||||||
|
z-index: 0; |
||||||
|
-webkit-backface-visibility: hidden; |
||||||
|
backface-visibility: hidden; |
||||||
|
} |
||||||
|
.swiper-container-coverflow .swiper-wrapper { |
||||||
|
/* Windows 8 IE 10 fix */ |
||||||
|
-ms-perspective: 1200px; |
||||||
|
} |
After Width: | Height: | Size: 574 B |
After Width: | Height: | Size: 846 B |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 30 KiB |
@ -0,0 +1,519 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="en"> |
||||||
|
<head> |
||||||
|
<meta charset="utf-8"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
||||||
|
|
||||||
|
<!-- SEO Meta Tags --> |
||||||
|
<meta name="description" content="isEven API tells you if a number is even"> |
||||||
|
<meta name="author" content="isEven"> |
||||||
|
|
||||||
|
<!-- OG Meta Tags to improve the way the post looks when you share the page on LinkedIn, Facebook, Google+ --> |
||||||
|
<meta property="og:site_name" content="isEven API" /> <!-- website name --> |
||||||
|
<meta property="og:site" content="isEven API" /> <!-- website link --> |
||||||
|
<meta property="og:title" content="isEven API"/> <!-- title shown in the actual shared post --> |
||||||
|
<meta property="og:description" content="" /> <!-- description shown in the actual shared post --> |
||||||
|
<meta property="og:image" content="isEven API tells you if a number is even" /> <!-- image link, make sure it's jpg --> |
||||||
|
<meta property="og:url" content="https://isevenapi.xyz" /> <!-- where do you want your post to link to --> |
||||||
|
|
||||||
|
<!-- Website Title --> |
||||||
|
<title>isEven API - Tell if a number is even</title> |
||||||
|
|
||||||
|
<!-- Styles --> |
||||||
|
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700&display=swap&subset=latin-ext" rel="stylesheet"> |
||||||
|
<link href="css/bootstrap.css" rel="stylesheet"> |
||||||
|
<link href="css/fontawesome-all.css" rel="stylesheet"> |
||||||
|
<link href="css/swiper.css" rel="stylesheet"> |
||||||
|
<link href="css/magnific-popup.css" rel="stylesheet"> |
||||||
|
<link href="css/styles.css" rel="stylesheet"> |
||||||
|
|
||||||
|
<!-- Favicon --> |
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=jwEbQRMQyE"> |
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=jwEbQRMQyE"> |
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=jwEbQRMQyE"> |
||||||
|
<link rel="manifest" href="/site.webmanifest?v=jwEbQRMQyE"> |
||||||
|
<link rel="mask-icon" href="/safari-pinned-tab.svg?v=jwEbQRMQyE" color="#5bbad5"> |
||||||
|
<link rel="shortcut icon" href="/favicon.ico?v=jwEbQRMQyE"> |
||||||
|
<meta name="msapplication-TileColor" content="#da532c"> |
||||||
|
<meta name="theme-color" content="#ffffff"> |
||||||
|
|
||||||
|
</head> |
||||||
|
<body data-spy="scroll" data-target=".fixed-top"> |
||||||
|
|
||||||
|
<!-- Navigation --> |
||||||
|
<nav class="navbar navbar-expand-lg navbar-dark navbar-custom fixed-top"> |
||||||
|
<div class="container"> |
||||||
|
|
||||||
|
<!-- Text Logo - Use this if you don't have a graphic logo --> |
||||||
|
<!-- <a class="navbar-brand logo-text page-scroll" href="index.html">Tivo</a> --> |
||||||
|
|
||||||
|
<!-- Image Logo --> |
||||||
|
<a class="navbar-brand logo-image" href="index.html"><img src="images/logo.svg" alt="alternative"></a> |
||||||
|
|
||||||
|
<!-- Mobile Menu Toggle Button --> |
||||||
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation"> |
||||||
|
<span class="navbar-toggler-awesome fas fa-bars"></span> |
||||||
|
<span class="navbar-toggler-awesome fas fa-times"></span> |
||||||
|
</button> |
||||||
|
<!-- end of mobile menu toggle button --> |
||||||
|
|
||||||
|
<div class="collapse navbar-collapse" id="navbarsExampleDefault"> |
||||||
|
<ul class="navbar-nav ml-auto"> |
||||||
|
<li class="nav-item"> |
||||||
|
<a class="nav-link page-scroll" href="#header">HOME <span class="sr-only">(current)</span></a> |
||||||
|
</li> |
||||||
|
|
||||||
|
<li class="nav-item"> |
||||||
|
<a class="nav-link page-scroll" href="#features">FEATURES</a> |
||||||
|
</li> |
||||||
|
|
||||||
|
<li class="nav-item"> |
||||||
|
<a class="nav-link page-scroll" href="#details">DOCS</a> |
||||||
|
</li> |
||||||
|
|
||||||
|
<li class="nav-item"> |
||||||
|
<a class="nav-link page-scroll" href="#pricing">PRICING</a> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</nav> <!-- end of navbar --> |
||||||
|
<!-- end of navigation --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Header --> |
||||||
|
<header id="header" class="header"> |
||||||
|
<div class="header-content"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-6 col-xl-5"> |
||||||
|
<div class="text-container"> |
||||||
|
<h1>isEven API</h1> |
||||||
|
<p class="p-large">Use isEven to tell if a number is even</p> |
||||||
|
<a class="btn-solid-lg page-scroll" href="#details">VIEW DOCS</a> |
||||||
|
</div> <!-- end of text-container --> |
||||||
|
</div> <!-- end of col --> |
||||||
|
<div class="col-lg-6 col-xl-7"> |
||||||
|
<div class="image-container"> |
||||||
|
<div class="img-wrapper"> |
||||||
|
<img class="img-fluid" src="images/header-software-app.png" alt="alternative"> |
||||||
|
</div> <!-- end of img-wrapper --> |
||||||
|
</div> <!-- end of image-container --> |
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of header-content --> |
||||||
|
</header> <!-- end of header --> |
||||||
|
<svg class="header-frame" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1920 310"><defs><style>.cls-1{fill:#5f4def;}</style></defs><title>header-frame</title><path class="cls-1" d="M0,283.054c22.75,12.98,53.1,15.2,70.635,14.808,92.115-2.077,238.3-79.9,354.895-79.938,59.97-.019,106.17,18.059,141.58,34,47.778,21.511,47.778,21.511,90,38.938,28.418,11.731,85.344,26.169,152.992,17.971,68.127-8.255,115.933-34.963,166.492-67.393,37.467-24.032,148.6-112.008,171.753-127.963,27.951-19.26,87.771-81.155,180.71-89.341,72.016-6.343,105.479,12.388,157.434,35.467,69.73,30.976,168.93,92.28,256.514,89.405,100.992-3.315,140.276-41.7,177-64.9V0.24H0V283.054Z"/></svg> |
||||||
|
<!-- end of header --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Customers --> |
||||||
|
<div class="slider-1"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-12"> |
||||||
|
|
||||||
|
<!-- Image Slider --> |
||||||
|
<div class="slider-container"> |
||||||
|
<div class="swiper-container image-slider"> |
||||||
|
<div class="swiper-wrapper"> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<img class="img-fluid" src="images/customer-logo-1.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<img class="img-fluid" src="images/customer-logo-2.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<img class="img-fluid" src="images/customer-logo-3.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<img class="img-fluid" src="images/customer-logo-4.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<img class="img-fluid" src="images/customer-logo-5.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<img class="img-fluid" src="images/customer-logo-6.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
</div> <!-- end of swiper-wrapper --> |
||||||
|
</div> <!-- end of swiper container --> |
||||||
|
</div> <!-- end of slider-container --> |
||||||
|
<!-- end of image slider --> |
||||||
|
|
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of slider-1 --> |
||||||
|
<!-- end of customers --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Features --> |
||||||
|
<div id="features" class="cards-1"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-12"> |
||||||
|
<div class="above-heading">FEATURES</div> |
||||||
|
<h2 class="h2-heading">Let our API deliver instant numerical information</h2> |
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-12"> |
||||||
|
|
||||||
|
<!-- Card --> |
||||||
|
<div class="card"> |
||||||
|
<div class="card-image"> |
||||||
|
<img class="img-fluid" src="images/description-1.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="card-body"> |
||||||
|
<h4 class="card-title">Even</h4> |
||||||
|
<p>It's easy to tell if a given number is even.</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- end of card --> |
||||||
|
|
||||||
|
<!-- Card --> |
||||||
|
<div class="card"> |
||||||
|
<div class="card-image"> |
||||||
|
<img class="img-fluid" src="images/description-2.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="card-body"> |
||||||
|
<h4 class="card-title">Odd</h4> |
||||||
|
<p>If a number isn't even, you can easily tell that it's odd.</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- end of card --> |
||||||
|
|
||||||
|
<!-- Card --> |
||||||
|
<div class="card"> |
||||||
|
<div class="card-image"> |
||||||
|
<img class="img-fluid" src="images/description-3.png" alt="alternative"> |
||||||
|
</div> |
||||||
|
<div class="card-body"> |
||||||
|
<h4 class="card-title">Grow</h4> |
||||||
|
<p>We support a large range of numbers to fit your application's needs.</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<!-- end of card --> |
||||||
|
|
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of cards-1 --> |
||||||
|
<!-- end of description --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Details --> |
||||||
|
<div id="details" class="basic-1"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-6"> |
||||||
|
<div class="text-container"> |
||||||
|
<h2>isEven Public API Docs</h2> |
||||||
|
|
||||||
|
<p>isEven API is a RESTful API that returns json.</p> |
||||||
|
<p>API URL: <a href="https://api.isevenapi.xyz/api/" target="_blank">https://api.isevenapi.xyz/api/</a></p> |
||||||
|
|
||||||
|
<h4>GET /iseven/<number>/</h4> |
||||||
|
<div style="margin-left: 1.5rem;"> |
||||||
|
<p>Returns whether a given number is even. |
||||||
|
Allowed numbers depend on your API tier. See Pricing below.</p> |
||||||
|
|
||||||
|
<p><b>URL Parameters</b></p> |
||||||
|
<p>number: the number you want to check</p> |
||||||
|
|
||||||
|
<p><b>Example</b></p> |
||||||
|
<p><a href="https://api.isevenapi.xyz/api/iseven/6/" target="_blank">https://api.isevenapi.xyz/api/iseven/6/</a></p> |
||||||
|
|
||||||
|
<p><b>Unofficial Python Module</b></p> |
||||||
|
<p><a href="https://pypi.org/project/PyIsEven/" target="_blank">https://pypi.org/project/PyIsEven/</a></p> |
||||||
|
</div> |
||||||
|
</div> <!-- end of text-container --> |
||||||
|
</div> <!-- end of col --> |
||||||
|
<div class="col-lg-6"> |
||||||
|
<div class="image-container"> |
||||||
|
<p><b>Example API Response</b></p> |
||||||
|
<pre style="background: black; color: white; padding: 0.5rem; font-size: 1rem;"> |
||||||
|
$ curl https://api.isevenapi.xyz/api/iseven/6/ |
||||||
|
|
||||||
|
{ |
||||||
|
"iseven": true, |
||||||
|
"ad": "Buy isEvenCoin, the hottest new cryptocurrency!" |
||||||
|
} |
||||||
|
</pre> |
||||||
|
|
||||||
|
<p>Sign up for isEven Premium or Enterprise to remove advertisements.</p> |
||||||
|
</div> <!-- end of image-container --> |
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of basic-1 --> |
||||||
|
<!-- end of details --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Pricing --> |
||||||
|
<div id="pricing" class="cards-2"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-12"> |
||||||
|
<div class="above-heading">PRICING</div> |
||||||
|
<h2 class="h2-heading">Pricing Options Table</h2> |
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-12"> |
||||||
|
|
||||||
|
<!-- Card--> |
||||||
|
<div class="card"> |
||||||
|
<div class="card-body"> |
||||||
|
<div class="card-title">PUBLIC</div> |
||||||
|
<div class="price"><span class="currency">$</span><span class="value">Free</span></div> |
||||||
|
<div class="frequency"> </div> |
||||||
|
<div class="divider"></div> |
||||||
|
<ul class="list-unstyled li-space-lg"> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">isEven number API route</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">Range: 0 - 999,999</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-times"></i><div class="media-body">No advertisements</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-times"></i><div class="media-body">Supports negative numbers</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-times"></i><div class="media-body">24/7 support</div> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
<div class="button-wrapper" style="visibility: hidden;"> |
||||||
|
<a class="btn-solid-reg page-scroll" href="sign-up.html">SIGN UP</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> <!-- end of card --> |
||||||
|
<!-- end of card --> |
||||||
|
|
||||||
|
<!-- Card--> |
||||||
|
<div class="card"> |
||||||
|
<div class="card-body"> |
||||||
|
<div class="card-title">PREMIUM</div> |
||||||
|
<div class="price"><span class="currency">$</span><span class="value">1.99</span></div> |
||||||
|
<div class="frequency">monthly</div> |
||||||
|
<div class="divider"></div> |
||||||
|
<ul class="list-unstyled li-space-lg"> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">isEven number API route</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">Range: 0 - 999,999,999</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">No advertisements</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-times"></i><div class="media-body">Supports negative numbers</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-times"></i><div class="media-body">24/7 support</div> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
<div class="button-wrapper"> |
||||||
|
<a class="btn-solid-reg page-scroll" href="https://archive.org/donate/">SIGN UP</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> <!-- end of card --> |
||||||
|
<!-- end of card --> |
||||||
|
|
||||||
|
<!-- Card--> |
||||||
|
<div class="card"> |
||||||
|
<!--<div class="label"> |
||||||
|
<p class="best-value">Best Value</p> |
||||||
|
</div> --> |
||||||
|
<div class="card-body"> |
||||||
|
<div class="card-title">ENTERPRISE</div> |
||||||
|
<div class="price"><span class="currency">$</span><span class="value">99.99</span></div> |
||||||
|
<div class="frequency">monthly</div> |
||||||
|
<div class="divider"></div> |
||||||
|
<ul class="list-unstyled li-space-lg"> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">isEven number API route</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">Range: 0 - 999,999,999,999</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">No advertisements</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">Supports negative numbers</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-check"></i><div class="media-body">24/7 support</div> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
<div class="button-wrapper"> |
||||||
|
<a class="btn-solid-reg page-scroll" href="https://archive.org/donate/">SIGN UP</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> <!-- end of card --> |
||||||
|
<!-- end of card --> |
||||||
|
|
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of cards-2 --> |
||||||
|
<!-- end of pricing --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Testimonials --> |
||||||
|
<div class="slider-2"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-12"> |
||||||
|
|
||||||
|
<!-- Text Slider --> |
||||||
|
<div class="slider-container"> |
||||||
|
<div class="swiper-container text-slider"> |
||||||
|
<div class="swiper-wrapper"> |
||||||
|
|
||||||
|
<!-- Slide --> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<div class="image-wrapper"> |
||||||
|
<img class="img-fluid" src="images/testimonial-1.jpg" alt="alternative"> |
||||||
|
</div> <!-- end of image-wrapper --> |
||||||
|
<div class="text-wrapper"> |
||||||
|
<div class="testimonial-text">I started to use isEven with the free tier about a year ago and never stopped since then. It does all the work to figure out if a number is even and allows me to focus on core development activities like new product research and design. I love it and recommend it to everyone.</div> |
||||||
|
<div class="testimonial-author">Jude Thorn - Python Developer</div> |
||||||
|
</div> <!-- end of text-wrapper --> |
||||||
|
</div> <!-- end of swiper-slide --> |
||||||
|
<!-- end of slide --> |
||||||
|
|
||||||
|
<!-- Slide --> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<div class="image-wrapper"> |
||||||
|
<img class="img-fluid" src="images/testimonial-2.jpg" alt="alternative"> |
||||||
|
</div> <!-- end of image-wrapper --> |
||||||
|
<div class="text-wrapper"> |
||||||
|
<div class="testimonial-text">Awesome features for the money. I never thought such a low amount of money would bring me so many answers per month. Before isEven I used a giant case expression and it was a mess. Highly recommended to programmers focused on results.</div> |
||||||
|
<div class="testimonial-author">Roy Smith - Ruby Developer</div> |
||||||
|
</div> <!-- end of text-wrapper --> |
||||||
|
</div> <!-- end of swiper-slide --> |
||||||
|
<!-- end of slide --> |
||||||
|
|
||||||
|
<!-- Slide --> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<div class="image-wrapper"> |
||||||
|
<img class="img-fluid" src="images/testimonial-3.jpg" alt="alternative"> |
||||||
|
</div> <!-- end of image-wrapper --> |
||||||
|
<div class="text-wrapper"> |
||||||
|
<div class="testimonial-text">isEven is the best numerical API for small and medium sized business. It understands the mindset of young programmers and provides the necessary data for wise number-related decisions. Just give it a try and you will definitely not regret spending your time.</div> |
||||||
|
<div class="testimonial-author">Eddie Singer - Javascript Developer</div> |
||||||
|
</div> <!-- end of text-wrapper --> |
||||||
|
</div> <!-- end of swiper-slide --> |
||||||
|
<!-- end of slide --> |
||||||
|
|
||||||
|
<!-- Slide --> |
||||||
|
<div class="swiper-slide"> |
||||||
|
<div class="image-wrapper"> |
||||||
|
<img class="img-fluid" src="images/testimonial-4.jpg" alt="alternative"> |
||||||
|
</div> <!-- end of image-wrapper --> |
||||||
|
<div class="text-wrapper"> |
||||||
|
<div class="testimonial-text">isEven is one of the greatest APIs out there. I especially love the number API route because it gives me such a great amount of information based on a little amount of input gathered in just few weeks of light weight usage. Recommended!</div> |
||||||
|
<div class="testimonial-author">Ronda Louis - PHP Developer</div> |
||||||
|
</div> <!-- end of text-wrapper --> |
||||||
|
</div> <!-- end of swiper-slide --> |
||||||
|
<!-- end of slide --> |
||||||
|
|
||||||
|
</div> <!-- end of swiper-wrapper --> |
||||||
|
|
||||||
|
<!-- Add Arrows --> |
||||||
|
<div class="swiper-button-next"></div> |
||||||
|
<div class="swiper-button-prev"></div> |
||||||
|
<!-- end of add arrows --> |
||||||
|
|
||||||
|
</div> <!-- end of swiper-container --> |
||||||
|
</div> <!-- end of slider-container --> |
||||||
|
<!-- end of text slider --> |
||||||
|
|
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of slider-2 --> |
||||||
|
<!-- end of testimonials --> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Footer --> |
||||||
|
<svg class="footer-frame" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1920 79"><defs><style>.cls-2{fill:#5f4def;}</style></defs><title>footer-frame</title><path class="cls-2" d="M0,72.427C143,12.138,255.5,4.577,328.644,7.943c147.721,6.8,183.881,60.242,320.83,53.737,143-6.793,167.826-68.128,293-60.9,109.095,6.3,115.68,54.364,225.251,57.319,113.58,3.064,138.8-47.711,251.189-41.8,104.012,5.474,109.713,50.4,197.369,46.572,89.549-3.91,124.375-52.563,227.622-50.155A338.646,338.646,0,0,1,1920,23.467V79.75H0V72.427Z" transform="translate(0 -0.188)"/></svg> |
||||||
|
<div class="footer"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4"> |
||||||
|
<div class="footer-col first"> |
||||||
|
<h4>About isEven</h4> |
||||||
|
<p class="p-small">We're passionate about telling you if a number is even or odd so you can focus on more important things</p> |
||||||
|
</div> |
||||||
|
</div> <!-- end of col --> |
||||||
|
<div class="col-md-4"> |
||||||
|
<div class="footer-col middle"> |
||||||
|
<h4>Important Links</h4> |
||||||
|
<ul class="list-unstyled li-space-lg p-small"> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-square"></i> |
||||||
|
<div class="media-body">Info on even numbers: <a class="white" href="https://mathworld.wolfram.com/EvenNumber.html">MathWorld</a></div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-square"></i> |
||||||
|
<div class="media-body">Info on number parity: <a class="white" href="https://en.wikipedia.org/wiki/Parity_(mathematics)">Wikipedia</a></div> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> <!-- end of col --> |
||||||
|
<div class="col-md-4"> |
||||||
|
<div class="footer-col last"> |
||||||
|
<h4>Contact</h4> |
||||||
|
<ul class="list-unstyled li-space-lg p-small"> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-map-marker-alt"></i> |
||||||
|
<div class="media-body">22 Innovative, San Francisco, CA 94043, US</div> |
||||||
|
</li> |
||||||
|
<li class="media"> |
||||||
|
<i class="fas fa-envelope"></i> |
||||||
|
<div class="media-body"><a class="white" href="mailto:hello@isevenapi.xyz">hello@isevenapi.xyz</a></div> |
||||||
|
</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- end of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of footer --> |
||||||
|
<!-- end of footer --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Copyright --> |
||||||
|
<div class="copyright"> |
||||||
|
<div class="container"> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-lg-12"> |
||||||
|
<p class="p-small">Copyright © 2020 Tanner |
||||||
|
<br /> |
||||||
|
No affiliation with archive.org, I just love them.</p> |
||||||
|
</div> <!-- end of col --> |
||||||
|
</div> <!-- enf of row --> |
||||||
|
</div> <!-- end of container --> |
||||||
|
</div> <!-- end of copyright --> |
||||||
|
<!-- end of copyright --> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Scripts --> |
||||||
|
<script src="js/jquery.min.js"></script> <!-- jQuery for Bootstrap's JavaScript plugins --> |
||||||
|
<script src="js/popper.min.js"></script> <!-- Popper tooltip library for Bootstrap --> |
||||||
|
<script src="js/bootstrap.min.js"></script> <!-- Bootstrap framework --> |
||||||
|
<script src="js/jquery.easing.min.js"></script> <!-- jQuery Easing for smooth scrolling between anchors --> |
||||||
|
<script src="js/swiper.min.js"></script> <!-- Swiper for image and text sliders --> |
||||||
|
<script src="js/jquery.magnific-popup.js"></script> <!-- Magnific Popup for lightboxes --> |
||||||
|
<script src="js/validator.min.js"></script> <!-- Validator.js - Bootstrap plugin that validates forms --> |
||||||
|
<script src="js/scripts.js"></script> <!-- Custom scripts --> |
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,44 @@ |
|||||||
|
/* |
||||||
|
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||||
|
* |
||||||
|
* Uses the built in easing capabilities added In jQuery 1.1 |
||||||
|
* to offer multiple easing options |
||||||
|
* |
||||||
|
* TERMS OF USE - EASING EQUATIONS |
||||||
|
*
|
||||||
|
* Open source under the BSD License.
|
||||||
|
*
|
||||||
|
* Copyright © 2001 Robert Penner |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* TERMS OF USE - jQuery Easing |
||||||
|
*
|
||||||
|
* Open source under the BSD License.
|
||||||
|
*
|
||||||
|
* Copyright © 2008 George McGinley Smith |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met: |
||||||
|
*
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer. |
||||||
|
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||||
|
* provided with the distribution. |
||||||
|
*
|
||||||
|
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||||
|
* or promote products derived from this software without specific prior written permission. |
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||||
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
||||||
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE |
||||||
|
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
||||||
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* |
||||||
|
*/ |
||||||
|
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){"use strict";return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){"use strict";return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){"use strict";return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){"use strict";if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){"use strict";return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){"use strict";return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){"use strict";if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){"use strict";return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){"use strict";return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){"use strict";if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){"use strict";return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){"use strict";return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){"use strict";if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){"use strict";return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){"use strict";return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){"use strict";return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){"use strict";return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){"use strict";return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){"use strict";if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){"use strict";return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){"use strict";return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){"use strict";if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){"use strict";var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return -(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){"use strict";var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){"use strict";var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return -0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){"use strict";if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){"use strict";if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){"use strict";if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){"use strict";return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){"use strict";if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){"use strict";if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}}); |
@ -0,0 +1,400 @@ |
|||||||
|
/* Template: Tivo - SaaS App HTML Landing Page Template |
||||||
|
Author: Inovatik |
||||||
|
Created: Sep 2019 |
||||||
|
Description: Custom JS file |
||||||
|
*/ |
||||||
|
|
||||||
|
|
||||||
|
(function($) { |
||||||
|
"use strict";
|
||||||
|
|
||||||
|
/* Preloader */ |
||||||
|
$(window).on('load', function() { |
||||||
|
var preloaderFadeOutTime = 500; |
||||||
|
function hidePreloader() { |
||||||
|
var preloader = $('.spinner-wrapper'); |
||||||
|
setTimeout(function() { |
||||||
|
preloader.fadeOut(preloaderFadeOutTime); |
||||||
|
}, 500); |
||||||
|
} |
||||||
|
hidePreloader(); |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Navbar Scripts */ |
||||||
|
// jQuery to collapse the navbar on scroll
|
||||||
|
$(window).on('scroll load', function() { |
||||||
|
if ($(".navbar").offset().top > 60) { |
||||||
|
$(".fixed-top").addClass("top-nav-collapse"); |
||||||
|
} else { |
||||||
|
$(".fixed-top").removeClass("top-nav-collapse"); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
// jQuery for page scrolling feature - requires jQuery Easing plugin
|
||||||
|
$(function() { |
||||||
|
$(document).on('click', 'a.page-scroll', function(event) { |
||||||
|
var $anchor = $(this); |
||||||
|
$('html, body').stop().animate({ |
||||||
|
scrollTop: $($anchor.attr('href')).offset().top |
||||||
|
}, 600, 'easeInOutExpo'); |
||||||
|
event.preventDefault(); |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
// closes the responsive menu on menu item click
|
||||||
|
$(".navbar-nav li a").on("click", function(event) { |
||||||
|
if (!$(this).parent().hasClass('dropdown')) |
||||||
|
$(".navbar-collapse").collapse('hide'); |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Image Slider - Swiper */ |
||||||
|
var imageSlider = new Swiper('.image-slider', { |
||||||
|
autoplay: { |
||||||
|
delay: 2000, |
||||||
|
disableOnInteraction: false |
||||||
|
}, |
||||||
|
loop: true, |
||||||
|
spaceBetween: 30, |
||||||
|
slidesPerView: 5, |
||||||
|
breakpoints: { |
||||||
|
// when window is <= 580px
|
||||||
|
580: { |
||||||
|
slidesPerView: 1, |
||||||
|
spaceBetween: 10 |
||||||
|
}, |
||||||
|
// when window is <= 768px
|
||||||
|
768: { |
||||||
|
slidesPerView: 2, |
||||||
|
spaceBetween: 20 |
||||||
|
}, |
||||||
|
// when window is <= 992px
|
||||||
|
992: { |
||||||
|
slidesPerView: 3, |
||||||
|
spaceBetween: 20 |
||||||
|
}, |
||||||
|
// when window is <= 1200px
|
||||||
|
1200: { |
||||||
|
slidesPerView: 4, |
||||||
|
spaceBetween: 20 |
||||||
|
}, |
||||||
|
|
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Text Slider - Swiper */ |
||||||
|
var textSlider = new Swiper('.text-slider', { |
||||||
|
autoplay: { |
||||||
|
delay: 6000, |
||||||
|
disableOnInteraction: false |
||||||
|
}, |
||||||
|
loop: true, |
||||||
|
navigation: { |
||||||
|
nextEl: '.swiper-button-next', |
||||||
|
prevEl: '.swiper-button-prev' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Video Lightbox - Magnific Popup */ |
||||||
|
$('.popup-youtube, .popup-vimeo').magnificPopup({ |
||||||
|
disableOn: 700, |
||||||
|
type: 'iframe', |
||||||
|
mainClass: 'mfp-fade', |
||||||
|
removalDelay: 160, |
||||||
|
preloader: false, |
||||||
|
fixedContentPos: false, |
||||||
|
iframe: { |
||||||
|
patterns: { |
||||||
|
youtube: { |
||||||
|
index: 'youtube.com/',
|
||||||
|
id: function(url) {
|
||||||
|
var m = url.match(/[\\?\\&]v=([^\\?\\&]+)/); |
||||||
|
if ( !m || !m[1] ) return null; |
||||||
|
return m[1]; |
||||||
|
}, |
||||||
|
src: 'https://www.youtube.com/embed/%id%?autoplay=1' |
||||||
|
}, |
||||||
|
vimeo: { |
||||||
|
index: 'vimeo.com/',
|
||||||
|
id: function(url) {
|
||||||
|
var m = url.match(/(https?:\/\/)?(www.)?(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/); |
||||||
|
if ( !m || !m[5] ) return null; |
||||||
|
return m[5]; |
||||||
|
}, |
||||||
|
src: 'https://player.vimeo.com/video/%id%?autoplay=1' |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Details Lightbox - Magnific Popup */ |
||||||
|
$('.popup-with-move-anim').magnificPopup({ |
||||||
|
type: 'inline', |
||||||
|
fixedContentPos: false, /* keep it false to avoid html tag shift with margin-right: 17px */ |
||||||
|
fixedBgPos: true, |
||||||
|
overflowY: 'auto', |
||||||
|
closeBtnInside: true, |
||||||
|
preloader: false, |
||||||
|
midClick: true, |
||||||
|
removalDelay: 300, |
||||||
|
mainClass: 'my-mfp-slide-bottom' |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Move Form Fields Label When User Types */ |
||||||
|
// for input and textarea fields
|
||||||
|
$("input, textarea").keyup(function(){ |
||||||
|
if ($(this).val() != '') { |
||||||
|
$(this).addClass('notEmpty'); |
||||||
|
} else { |
||||||
|
$(this).removeClass('notEmpty'); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Sign Up Form */ |
||||||
|
$("#signUpForm").validator().on("submit", function(event) { |
||||||
|
if (event.isDefaultPrevented()) { |
||||||
|
// handle the invalid form...
|
||||||
|
sformError(); |
||||||
|
ssubmitMSG(false, "Please fill all fields!"); |
||||||
|
} else { |
||||||
|
// everything looks good!
|
||||||
|
event.preventDefault(); |
||||||
|
ssubmitForm(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
function ssubmitForm() { |
||||||
|
// initiate variables with form content
|
||||||
|
var email = $("#semail").val(); |
||||||
|
var name = $("#sname").val(); |
||||||
|
var password = $("#spassword").val(); |
||||||
|
var terms = $("#sterms").val(); |
||||||
|
|
||||||
|
$.ajax({ |
||||||
|
type: "POST", |
||||||
|
url: "php/signupform-process.php", |
||||||
|
data: "email=" + email + "&name=" + name + "&password=" + password + "&terms=" + terms,
|
||||||
|
success: function(text) { |
||||||
|
if (text == "success") { |
||||||
|
sformSuccess(); |
||||||
|
} else { |
||||||
|
sformError(); |
||||||
|
ssubmitMSG(false, text); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function sformSuccess() { |
||||||
|
$("#signUpForm")[0].reset(); |
||||||
|
ssubmitMSG(true, "Sign Up Submitted!"); |
||||||
|
$("input").removeClass('notEmpty'); // resets the field label after submission
|
||||||
|
} |
||||||
|
|
||||||
|
function sformError() { |
||||||
|
$("#signUpForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { |
||||||
|
$(this).removeClass(); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function ssubmitMSG(valid, msg) { |
||||||
|
if (valid) { |
||||||
|
var msgClasses = "h3 text-center tada animated"; |
||||||
|
} else { |
||||||
|
var msgClasses = "h3 text-center"; |
||||||
|
} |
||||||
|
$("#smsgSubmit").removeClass().addClass(msgClasses).text(msg); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/* Log In Form */ |
||||||
|
$("#logInForm").validator().on("submit", function(event) { |
||||||
|
if (event.isDefaultPrevented()) { |
||||||
|
// handle the invalid form...
|
||||||
|
lformError(); |
||||||
|
lsubmitMSG(false, "Please fill all fields!"); |
||||||
|
} else { |
||||||
|
// everything looks good!
|
||||||
|
event.preventDefault(); |
||||||
|
lsubmitForm(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
function lsubmitForm() { |
||||||
|
// initiate variables with form content
|
||||||
|
var email = $("#lemail").val(); |
||||||
|
var password = $("#lpassword").val(); |
||||||
|
|
||||||
|
$.ajax({ |
||||||
|
type: "POST", |
||||||
|
url: "php/loginform-process.php", |
||||||
|
data: "email=" + email + "&password=" + password,
|
||||||
|
success: function(text) { |
||||||
|
if (text == "success") { |
||||||
|
lformSuccess(); |
||||||
|
} else { |
||||||
|
lformError(); |
||||||
|
lsubmitMSG(false, text); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function lformSuccess() { |
||||||
|
$("#logInForm")[0].reset(); |
||||||
|
lsubmitMSG(true, "Log In Submitted!"); |
||||||
|
$("input").removeClass('notEmpty'); // resets the field label after submission
|
||||||
|
} |
||||||
|
|
||||||
|
function lformError() { |
||||||
|
$("#logInForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { |
||||||
|
$(this).removeClass(); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function lsubmitMSG(valid, msg) { |
||||||
|
if (valid) { |
||||||
|
var msgClasses = "h3 text-center tada animated"; |
||||||
|
} else { |
||||||
|
var msgClasses = "h3 text-center"; |
||||||
|
} |
||||||
|
$("#lmsgSubmit").removeClass().addClass(msgClasses).text(msg); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/* Newsletter Form */ |
||||||
|
$("#newsletterForm").validator().on("submit", function(event) { |
||||||
|
if (event.isDefaultPrevented()) { |
||||||
|
// handle the invalid form...
|
||||||
|
nformError(); |
||||||
|
nsubmitMSG(false, "Please fill all fields!"); |
||||||
|
} else { |
||||||
|
// everything looks good!
|
||||||
|
event.preventDefault(); |
||||||
|
nsubmitForm(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
function nsubmitForm() { |
||||||
|
// initiate variables with form content
|
||||||
|
var email = $("#nemail").val(); |
||||||
|
var terms = $("#nterms").val(); |
||||||
|
$.ajax({ |
||||||
|
type: "POST", |
||||||
|
url: "php/newsletterform-process.php", |
||||||
|
data: "email=" + email + "&terms=" + terms,
|
||||||
|
success: function(text) { |
||||||
|
if (text == "success") { |
||||||
|
nformSuccess(); |
||||||
|
} else { |
||||||
|
nformError(); |
||||||
|
nsubmitMSG(false, text); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function nformSuccess() { |
||||||
|
$("#newsletterForm")[0].reset(); |
||||||
|
nsubmitMSG(true, "Subscribed!"); |
||||||
|
$("input").removeClass('notEmpty'); // resets the field label after submission
|
||||||
|
} |
||||||
|
|
||||||
|
function nformError() { |
||||||
|
$("#newsletterForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { |
||||||
|
$(this).removeClass(); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function nsubmitMSG(valid, msg) { |
||||||
|
if (valid) { |
||||||
|
var msgClasses = "h3 text-center tada animated"; |
||||||
|
} else { |
||||||
|
var msgClasses = "h3 text-center"; |
||||||
|
} |
||||||
|
$("#nmsgSubmit").removeClass().addClass(msgClasses).text(msg); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/* Privacy Form */ |
||||||
|
$("#privacyForm").validator().on("submit", function(event) { |
||||||
|
if (event.isDefaultPrevented()) { |
||||||
|
// handle the invalid form...
|
||||||
|
pformError(); |
||||||
|
psubmitMSG(false, "Please fill all fields!"); |
||||||
|
} else { |
||||||
|
// everything looks good!
|
||||||
|
event.preventDefault(); |
||||||
|
psubmitForm(); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
function psubmitForm() { |
||||||
|
// initiate variables with form content
|
||||||
|
var name = $("#pname").val(); |
||||||
|
var email = $("#pemail").val(); |
||||||
|
var select = $("#pselect").val(); |
||||||
|
var terms = $("#pterms").val(); |
||||||
|
|
||||||
|
$.ajax({ |
||||||
|
type: "POST", |
||||||
|
url: "php/privacyform-process.php", |
||||||
|
data: "name=" + name + "&email=" + email + "&select=" + select + "&terms=" + terms,
|
||||||
|
success: function(text) { |
||||||
|
if (text == "success") { |
||||||
|
pformSuccess(); |
||||||
|
} else { |
||||||
|
pformError(); |
||||||
|
psubmitMSG(false, text); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function pformSuccess() { |
||||||
|
$("#privacyForm")[0].reset(); |
||||||
|
psubmitMSG(true, "Request Submitted!"); |
||||||
|
$("input").removeClass('notEmpty'); // resets the field label after submission
|
||||||
|
} |
||||||
|
|
||||||
|
function pformError() { |
||||||
|
$("#privacyForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { |
||||||
|
$(this).removeClass(); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
function psubmitMSG(valid, msg) { |
||||||
|
if (valid) { |
||||||
|
var msgClasses = "h3 text-center tada animated"; |
||||||
|
} else { |
||||||
|
var msgClasses = "h3 text-center"; |
||||||
|
} |
||||||
|
$("#pmsgSubmit").removeClass().addClass(msgClasses).text(msg); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/* Back To Top Button */ |
||||||
|
// create the back to top button
|
||||||
|
$('body').prepend('<a href="body" class="back-to-top page-scroll">Back to Top</a>'); |
||||||
|
var amountScrolled = 700; |
||||||
|
$(window).scroll(function() { |
||||||
|
if ($(window).scrollTop() > amountScrolled) { |
||||||
|
$('a.back-to-top').fadeIn('500'); |
||||||
|
} else { |
||||||
|
$('a.back-to-top').fadeOut('500'); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
/* Removes Long Focus On Buttons */ |
||||||
|
$(".button, a, button").mouseup(function() { |
||||||
|
$(this).blur(); |
||||||
|
}); |
||||||
|
|
||||||
|
})(jQuery); |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 5.7 KiB |
@ -0,0 +1,19 @@ |
|||||||
|
{ |
||||||
|
"name": "", |
||||||
|
"short_name": "", |
||||||
|
"icons": [ |
||||||
|
{ |
||||||
|
"src": "/android-chrome-192x192.png?v=jwEbQRMQyE", |
||||||
|
"sizes": "192x192", |
||||||
|
"type": "image/png" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"src": "/android-chrome-512x512.png?v=jwEbQRMQyE", |
||||||
|
"sizes": "512x512", |
||||||
|
"type": "image/png" |
||||||
|
} |
||||||
|
], |
||||||
|
"theme_color": "#ffffff", |
||||||
|
"background_color": "#ffffff", |
||||||
|
"display": "standalone" |
||||||
|
} |
After Width: | Height: | Size: 676 KiB |
After Width: | Height: | Size: 141 KiB |
After Width: | Height: | Size: 820 KiB |