├── blog ├── __init__.py ├── __pycache__ │ ├── urls.cpython-311.pyc │ ├── wsgi.cpython-311.pyc │ ├── __init__.cpython-311.pyc │ └── settings.cpython-311.pyc ├── urls.py ├── asgi.py ├── wsgi.py └── settings.py ├── backend ├── __init__.py ├── migrations │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-311.pyc │ │ ├── 0001_initial.cpython-311.pyc │ │ └── 0002_post_slug.cpython-311.pyc │ └── 0001_initial.py ├── tests.py ├── admin.py ├── __pycache__ │ ├── admin.cpython-311.pyc │ ├── apps.cpython-311.pyc │ ├── models.cpython-311.pyc │ ├── urls.cpython-311.pyc │ ├── views.cpython-311.pyc │ └── __init__.cpython-311.pyc ├── urls.py ├── apps.py ├── views.py └── models.py ├── frontend └── post.html ├── rasm.jpg ├── db.sqlite3 ├── static └── assets │ ├── img │ ├── about │ │ └── 2.jpg │ ├── news │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ └── 6.jpg │ ├── partners │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ └── 5.png │ ├── thumbs │ │ ├── 1-1.jpg │ │ └── 4-2.jpg │ ├── portfolio │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ └── 6.jpg │ └── svg │ │ ├── edu.svg │ │ ├── social │ │ ├── tik-tok.svg │ │ ├── instagram.svg │ │ ├── facebook.svg │ │ ├── twitter.svg │ │ └── dribbble.svg │ │ ├── character.svg │ │ ├── location.svg │ │ ├── 3d.svg │ │ ├── art.svg │ │ ├── call.svg │ │ ├── presentation.svg │ │ ├── play.svg │ │ └── mail.svg │ ├── css │ ├── font │ │ ├── fontello.eot │ │ ├── fontello.ttf │ │ ├── fontello.woff │ │ ├── fontello.woff2 │ │ └── fontello.svg │ ├── owltheme.css │ ├── fontello.css │ ├── owlcarousel.css │ ├── base.css │ ├── magnificpopup.css │ ├── custom.css │ ├── cdheadline.css │ └── hamburgers.css │ └── js │ ├── glitch.js │ ├── circularprogress.js │ ├── lettertype.js │ ├── waypoints.js │ ├── init.js │ ├── ripple.js │ ├── magnificpopup.js │ └── particle.js ├── .gitattributes ├── readme.md └── manage.py /blog/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/post.html: -------------------------------------------------------------------------------- 1 |

SlugField ishga tushdi.

-------------------------------------------------------------------------------- /backend/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /rasm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/rasm.jpg -------------------------------------------------------------------------------- /db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/db.sqlite3 -------------------------------------------------------------------------------- /backend/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from .models import * 3 | 4 | admin.site.register((Category,Post)) -------------------------------------------------------------------------------- /static/assets/img/about/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/about/2.jpg -------------------------------------------------------------------------------- /static/assets/img/news/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/news/1.jpg -------------------------------------------------------------------------------- /static/assets/img/news/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/news/2.jpg -------------------------------------------------------------------------------- /static/assets/img/news/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/news/3.jpg -------------------------------------------------------------------------------- /static/assets/img/news/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/news/4.jpg -------------------------------------------------------------------------------- /static/assets/img/news/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/news/5.jpg -------------------------------------------------------------------------------- /static/assets/img/news/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/news/6.jpg -------------------------------------------------------------------------------- /static/assets/img/partners/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/partners/1.png -------------------------------------------------------------------------------- /static/assets/img/partners/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/partners/2.png -------------------------------------------------------------------------------- /static/assets/img/partners/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/partners/3.png -------------------------------------------------------------------------------- /static/assets/img/partners/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/partners/4.png -------------------------------------------------------------------------------- /static/assets/img/partners/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/partners/5.png -------------------------------------------------------------------------------- /static/assets/img/thumbs/1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/thumbs/1-1.jpg -------------------------------------------------------------------------------- /static/assets/img/thumbs/4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/thumbs/4-2.jpg -------------------------------------------------------------------------------- /static/assets/img/portfolio/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/portfolio/1.jpg -------------------------------------------------------------------------------- /static/assets/img/portfolio/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/portfolio/2.jpg -------------------------------------------------------------------------------- /static/assets/img/portfolio/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/portfolio/3.jpg -------------------------------------------------------------------------------- /static/assets/img/portfolio/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/portfolio/4.jpg -------------------------------------------------------------------------------- /static/assets/img/portfolio/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/portfolio/5.jpg -------------------------------------------------------------------------------- /static/assets/img/portfolio/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/img/portfolio/6.jpg -------------------------------------------------------------------------------- /blog/__pycache__/urls.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/blog/__pycache__/urls.cpython-311.pyc -------------------------------------------------------------------------------- /blog/__pycache__/wsgi.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/blog/__pycache__/wsgi.cpython-311.pyc -------------------------------------------------------------------------------- /static/assets/css/font/fontello.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/css/font/fontello.eot -------------------------------------------------------------------------------- /static/assets/css/font/fontello.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/css/font/fontello.ttf -------------------------------------------------------------------------------- /static/assets/css/font/fontello.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/css/font/fontello.woff -------------------------------------------------------------------------------- /static/assets/css/font/fontello.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/static/assets/css/font/fontello.woff2 -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.md linguist-language=Python 2 | *.css linguist-language=Python 3 | *.html linguist-language=Python 4 | *.img linguist-language=Python 5 | 6 | -------------------------------------------------------------------------------- /backend/__pycache__/admin.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/__pycache__/admin.cpython-311.pyc -------------------------------------------------------------------------------- /backend/__pycache__/apps.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/__pycache__/apps.cpython-311.pyc -------------------------------------------------------------------------------- /backend/__pycache__/models.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/__pycache__/models.cpython-311.pyc -------------------------------------------------------------------------------- /backend/__pycache__/urls.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/__pycache__/urls.cpython-311.pyc -------------------------------------------------------------------------------- /backend/__pycache__/views.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/__pycache__/views.cpython-311.pyc -------------------------------------------------------------------------------- /blog/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/blog/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /blog/__pycache__/settings.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/blog/__pycache__/settings.cpython-311.pyc -------------------------------------------------------------------------------- /backend/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /backend/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from .views import home,homeslug 3 | urlpatterns = [ 4 | path('',home), 5 | path('post//',homeslug) 6 | ] 7 | -------------------------------------------------------------------------------- /backend/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BackendConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'backend' 7 | -------------------------------------------------------------------------------- /backend/migrations/__pycache__/__init__.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/migrations/__pycache__/__init__.cpython-311.pyc -------------------------------------------------------------------------------- /backend/migrations/__pycache__/0001_initial.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/migrations/__pycache__/0001_initial.cpython-311.pyc -------------------------------------------------------------------------------- /backend/migrations/__pycache__/0002_post_slug.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shahnozahaydarova/portfolio-template-django/HEAD/backend/migrations/__pycache__/0002_post_slug.cpython-311.pyc -------------------------------------------------------------------------------- /blog/urls.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from django.urls import path,include 3 | 4 | urlpatterns = [ 5 | path('admin/', admin.site.urls), 6 | path('',include("backend.urls")) 7 | ] 8 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /backend/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from .models import * 3 | 4 | 5 | def home(request): 6 | posts = Post.objects.all() 7 | context = { 8 | 'posts':posts 9 | } 10 | return render(request,'index.html',context) 11 | 12 | def homeslug(request,slug): 13 | post = Post.objects.get(slug=slug) 14 | context = { 15 | 'post':post 16 | } 17 | return render(request,'post.html',context) -------------------------------------------------------------------------------- /blog/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for blog project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.2/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'blog.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /blog/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for blog project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'blog.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /static/assets/img/svg/edu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | class Category(models.Model): 4 | name = models.CharField(max_length=20) 5 | 6 | def __str__(self): 7 | return self.name 8 | 9 | 10 | class Post(models.Model): 11 | name = models.CharField(max_length=200) 12 | date = models.DateTimeField(auto_now_add=True) 13 | category = models.ForeignKey(Category,on_delete=models.SET_NULL,null=True) 14 | number = models.IntegerField(default=0) 15 | number1 = models.IntegerField(default=1) 16 | slug = models.SlugField(max_length=200,unique=True) 17 | 18 | def __str__(self): 19 | return self.name -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'blog.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /static/assets/css/owltheme.css: -------------------------------------------------------------------------------- 1 | .owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#fff;font-size:14px;margin:5px;padding:4px 7px;background:#d6d6d6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#fff;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#d6d6d6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} -------------------------------------------------------------------------------- /static/assets/img/svg/social/tik-tok.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/assets/img/svg/character.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/assets/css/fontello.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:fontello;src:url(font/fontello.eot);src:url(font/fontello.eot) format('embedded-opentype'),url(font/fontello.woff2) format('woff2'),url(font/fontello.woff) format('woff'),url(font/fontello.ttf) format('truetype'),url(font/fontello.svg) format('svg');font-weight:400;font-style:normal}[class^=icon-]:before,[class*=" icon-"]:before{font-family:fontello;font-style:normal;font-weight:400;speak:never;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-cancel:before{content:'\e800'}.icon-cancel-1:before{content:'\e801'}.icon-cancel-2:before{content:'\e802'}.icon-cancel-3:before{content:'\e803'}.icon-cancel-4:before{content:'\e804'}.icon-cancel-5:before{content:'\e805'}.icon-cancel-6:before{content:'\e806'}.icon-cancel-7:before{content:'\e807'} -------------------------------------------------------------------------------- /static/assets/img/svg/location.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /static/assets/img/svg/3d.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/assets/img/svg/social/instagram.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /backend/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2 on 2023-02-10 11:24 2 | 3 | from django.db import migrations, models 4 | import django.db.models.deletion 5 | 6 | 7 | class Migration(migrations.Migration): 8 | 9 | initial = True 10 | 11 | dependencies = [ 12 | ] 13 | 14 | operations = [ 15 | migrations.CreateModel( 16 | name='Category', 17 | fields=[ 18 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 19 | ('name', models.CharField(max_length=20)), 20 | ], 21 | ), 22 | migrations.CreateModel( 23 | name='Post', 24 | fields=[ 25 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 26 | ('name', models.CharField(max_length=200)), 27 | ('date', models.DateTimeField(auto_now_add=True)), 28 | ('number', models.IntegerField(default=0)), 29 | ('number1', models.IntegerField(default=1)), 30 | ('slug', models.SlugField(max_length=200, unique=True)), 31 | ('category', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='backend.category')), 32 | ], 33 | ), 34 | ] 35 | -------------------------------------------------------------------------------- /static/assets/img/svg/social/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /static/assets/img/svg/art.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/assets/img/svg/social/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /static/assets/img/svg/call.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /static/assets/img/svg/presentation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /static/assets/img/svg/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /static/assets/img/svg/social/dribbble.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/assets/js/glitch.js: -------------------------------------------------------------------------------- 1 | !(function(t,e,s,i){"use strict";function n(e,s){(this.element=e),(this.settings=t.extend({},a,s)),(this._defaults=a),(this._name=r),this.init();} 2 | var r="mgGlitch",a={destroy:!1,glitch:!0,scale:!0,blend:!0,blendModeType:"hue",glitch1TimeMin:600,glitch1TimeMax:900,glitch2TimeMin:10,glitch2TimeMax:115,zIndexStart:5};t.extend(n.prototype,{init:function(){this.glitch();},glitch:function(){function e(t,e){return Math.floor(Math.random()*(e-t+1))+t;} 3 | function s(){var i=e(10,1900),n=9999,a=e(10,1300),o=0,h=e(0,16),f=e(0,16),d=e(c,l);t(r).css({clip:"rect("+i+"px, "+n+"px, "+a+"px,"+o+"px)",right:f,left:h}),setTimeout(s,d);} 4 | function i(){var s=e(10,1900),n=9999,c=e(10,1300),l=0,f=e(0,40),d=e(0,40),m=e(o,h);if(a===!0)var x=(Math.random()*(1.1-0.9)+0.9).toFixed(2);else if(a===!1)var x=1;t(r).next().css({clip:"rect("+s+"px, "+n+"px, "+c+"px,"+l+"px)",left:f,right:d,"-webkit-transform":"scale("+x+")","-ms-transform":"scale("+x+")",transform:"scale("+x+")"}),setTimeout(i,m);} 5 | function n(){var s=e(10,1900),i=9999,c=e(10,1300),l=0,f=e(0,40),d=e(0,40),m=e(o,h);if(a===!0)var x=(Math.random()*(1.1-0.9)+0.9).toFixed(2);else if(a===!1)var x=1;t(r).next().next().css({clip:"rect("+s+"px, "+i+"px, "+c+"px,"+l+"px)",left:f,right:d,"-webkit-transform":"scale("+x+")","-ms-transform":"scale("+x+")",transform:"scale("+x+")"}),setTimeout(n,m);} 6 | var r=this.element,a=this.settings.scale,c=this.settings.glitch1TimeMin,l=this.settings.glitch1TimeMax,o=this.settings.glitch2TimeMin,h=this.settings.glitch2TimeMax,f=this.settings.zIndexStart;if(this.settings.destroy===!0)(t(r).hasClass("el-front-1")||t(r).hasClass("front-3")||t(r).hasClass("front-2"))&&t(".front-1, .front-2, .front-3").remove(),t(".back").removeClass("back");else if(this.settings.destroy===!1){var d=t(r).clone();if((d.insertBefore(r).addClass("back").css({"z-index":f}),this.settings.blend===!0)){var d=t(r).clone();d.insertAfter(r).addClass("front-3").css({"z-index":f+3,"mix-blend-mode":this.settings.blendModeType}),n();} 7 | if(this.settings.glitch===!0){var d=t(r).clone();d.insertAfter(r).addClass("front-2").css({"z-index":f+2}),t(".back").next().addClass("front-1").css({"z-index":f+1}),s(),i();}}},}),(t.fn[r]=function(t){return this.each(function(){new n(this,t);});});})(jQuery,window,document); -------------------------------------------------------------------------------- /static/assets/css/font/fontello.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Copyright (C) 2022 by original authors @ fontello.com 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /static/assets/img/svg/mail.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 14 | 16 | 18 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /static/assets/css/owlcarousel.css: -------------------------------------------------------------------------------- 1 | .owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{width:auto}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} -------------------------------------------------------------------------------- /static/assets/css/base.css: -------------------------------------------------------------------------------- 1 | html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{background:0 0;border:0;margin:0;padding:0;vertical-align:baseline;outline:none}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}blockquote{quotes:none}blockquote:before,blockquote:after{content:'';content:none}ul,ol{margin:0}ul li,ol li{margin:0}img{vertical-align:middle;max-width:100%}iframe{max-width:100%}del{text-decoration:line-through}a,i{border:none}a:hover{text-decoration:none}textarea{border-radius:0;font-size:13px;resize:vertical;font-family:poppins;letter-spacing:1.2px!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;line-height:1.4;padding:10px!important;width:100%;border:1px solid #eee;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=color],.uneditable-input{border-radius:0;font-size:13px;min-width:auto;letter-spacing:1.4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;font-family:poppins;line-height:1.6;padding:10px!important;height:44px;vertical-align:middle;border:1px solid #eee;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}textarea:focus,input[type=text]:focus,input[type=password]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=date]:focus,input[type=month]:focus,input[type=time]:focus,input[type=week]:focus,input[type=number]:focus,input[type=email]:focus,input[type=url]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=color]:focus,.uneditable-input:focus{border-color:#ccc;background:#eee}input[type=submit]{padding:13px 15px;height:40px;line-height:1;text-transform:uppercase;font-size:13px;font-weight:600;text-decoration:none;letter-spacing:.5px;border:none;cursor:pointer;color:#fff;background:#777;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}input[type=submit]:hover{background:#444}select{padding:8px;border:2px solid #eee}input[type=button]{cursor:pointer;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease} -------------------------------------------------------------------------------- /blog/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for blog project. 3 | 4 | Generated by 'django-admin startproject' using Django 3.2. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.2/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/3.2/ref/settings/ 11 | """ 12 | 13 | from pathlib import Path 14 | 15 | # Build paths inside the project like this: BASE_DIR / 'subdir'. 16 | BASE_DIR = Path(__file__).resolve().parent.parent 17 | 18 | 19 | # Quick-start development settings - unsuitable for production 20 | # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ 21 | 22 | # SECURITY WARNING: keep the secret key used in production secret! 23 | SECRET_KEY = 'django-insecure-i0_w**7$r@*a55hrs)um9bat3y1kys9)@1r3q0o7jnxs-kxtvz' 24 | 25 | # SECURITY WARNING: don't run with debug turned on in production! 26 | DEBUG = True 27 | 28 | ALLOWED_HOSTS = [] 29 | 30 | 31 | # Application definition 32 | 33 | INSTALLED_APPS = [ 34 | 'django.contrib.admin', 35 | 'django.contrib.auth', 36 | 'django.contrib.contenttypes', 37 | 'django.contrib.sessions', 38 | 'django.contrib.messages', 39 | 'django.contrib.staticfiles', 40 | 'backend' 41 | ] 42 | 43 | MIDDLEWARE = [ 44 | 'django.middleware.security.SecurityMiddleware', 45 | 'django.contrib.sessions.middleware.SessionMiddleware', 46 | 'django.middleware.common.CommonMiddleware', 47 | 'django.middleware.csrf.CsrfViewMiddleware', 48 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 49 | 'django.contrib.messages.middleware.MessageMiddleware', 50 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 51 | ] 52 | 53 | ROOT_URLCONF = 'blog.urls' 54 | 55 | TEMPLATES = [ 56 | { 57 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 58 | 'DIRS': [ BASE_DIR / 'frontend'], 59 | 'APP_DIRS': True, 60 | 'OPTIONS': { 61 | 'context_processors': [ 62 | 'django.template.context_processors.debug', 63 | 'django.template.context_processors.request', 64 | 'django.contrib.auth.context_processors.auth', 65 | 'django.contrib.messages.context_processors.messages', 66 | ], 67 | }, 68 | }, 69 | ] 70 | 71 | WSGI_APPLICATION = 'blog.wsgi.application' 72 | 73 | 74 | # Database 75 | # https://docs.djangoproject.com/en/3.2/ref/settings/#databases 76 | 77 | DATABASES = { 78 | 'default': { 79 | 'ENGINE': 'django.db.backends.sqlite3', 80 | 'NAME': BASE_DIR / 'db.sqlite3', 81 | } 82 | } 83 | 84 | 85 | # Password validation 86 | # https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators 87 | 88 | AUTH_PASSWORD_VALIDATORS = [ 89 | { 90 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 91 | }, 92 | { 93 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 94 | }, 95 | { 96 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 97 | }, 98 | { 99 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 100 | }, 101 | ] 102 | 103 | 104 | # Internationalization 105 | # https://docs.djangoproject.com/en/3.2/topics/i18n/ 106 | 107 | LANGUAGE_CODE = 'en-us' 108 | 109 | TIME_ZONE = 'UTC' 110 | 111 | USE_I18N = True 112 | 113 | USE_L10N = True 114 | 115 | USE_TZ = True 116 | 117 | 118 | # Static files (CSS, JavaScript, Images) 119 | # https://docs.djangoproject.com/en/3.2/howto/static-files/ 120 | 121 | STATIC_URL = '/static/' 122 | STATICFILES_DIRS = [ 123 | BASE_DIR / 'static' 124 | ] 125 | 126 | # Default primary key field type 127 | # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field 128 | 129 | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' 130 | -------------------------------------------------------------------------------- /static/assets/js/circularprogress.js: -------------------------------------------------------------------------------- 1 | !(function(i){if("function"==typeof define&&define.amd)define(["jquery"],i);else if("object"==typeof module&&module.exports){var t=require("jquery");i(t),(module.exports=t);}else i(jQuery);})(function(i){function t(i){this.init(i);} 2 | (t.prototype={value:0,size:100,startAngle:-Math.PI,thickness:"auto",fill:{gradient:["#3aeabb","#fdd250"]},emptyFill:"rgba(0, 0, 0, .1)",animation:{duration:1200,easing:"circleProgressEasing"},animationStartValue:0,reverse:!1,lineCap:"butt",insertMode:"prepend",constructor:t,el:null,canvas:null,ctx:null,radius:0,arcFill:null,lastFrameValue:0,init:function(t){i.extend(this,t),(this.radius=this.size/2),this.initWidget(),this.initFill(),this.draw(),this.el.trigger("circle-inited");},initWidget:function(){this.canvas||(this.canvas=i("")["prepend"==this.insertMode?"prependTo":"appendTo"](this.el)[0]);var t=this.canvas;if(((t.width=this.size),(t.height=this.size),(this.ctx=t.getContext("2d")),window.devicePixelRatio>1)){var e=window.devicePixelRatio;(t.style.width=t.style.height=this.size+"px"),(t.width=t.height=this.size*e),this.ctx.scale(e,e);}},initFill:function(){function t(){var t=i("")[0];(t.width=e.size),(t.height=e.size),t.getContext("2d").drawImage(g,0,0,r,r),(e.arcFill=e.ctx.createPattern(t,"no-repeat")),e.drawFrame(e.lastFrameValue);} 3 | var e=this,a=this.fill,n=this.ctx,r=this.size;if(!a)throw Error("The fill is not specified!");if(("string"==typeof a&&(a={color:a}),a.color&&(this.arcFill=a.color),a.gradient)){var s=a.gradient;if(1==s.length)this.arcFill=s[0];else if(s.length>1){for(var l=a.gradientAngle||0,o=a.gradientDirection||[(r/2)*(1-Math.cos(l)),(r/2)*(1+Math.sin(l)),(r/2)*(1+Math.cos(l)),(r/2)*(1-Math.sin(l))],h=n.createLinearGradient.apply(n,o),c=0;c0)letters[i]=''+letters[i]+'';letters[i]=(selected)?''+letters[i]+'':''+letters[i]+'';} 3 | var newLetters=letters.join('');word.html(newLetters).css('opacity',1);});} 4 | function animateHeadline($headlines){var duration=animationDelay;$headlines.each(function(){var headline=$(this);if(headline.hasClass('loading-bar')){duration=barAnimationDelay;setTimeout(function(){headline.find('.cd-words-wrapper').addClass('is-loading')},barWaiting);}else if(headline.hasClass('clip')){var spanWrapper=headline.find('.cd-words-wrapper'),newWidth=spanWrapper.width()+10 5 | spanWrapper.css('width',newWidth);}else if(!headline.hasClass('type')){var words=headline.find('.cd-words-wrapper b'),width=0;words.each(function(){var wordWidth=$(this).width();if(wordWidth>width)width=wordWidth;});headline.find('.cd-words-wrapper').css('width',width);};setTimeout(function(){hideWord(headline.find('.is-visible').eq(0))},duration);});} 6 | function hideWord($word){var nextWord=takeNext($word);if($word.parents('.cd-headline').hasClass('type')){var parentSpan=$word.parent('.cd-words-wrapper');parentSpan.addClass('selected').removeClass('waiting');setTimeout(function(){parentSpan.removeClass('selected');$word.removeClass('is-visible').addClass('is-hidden').children('i').removeClass('in').addClass('out');},selectionDuration);setTimeout(function(){showWord(nextWord,typeLettersDelay)},typeAnimationDelay);}else if($word.parents('.cd-headline').hasClass('letters')){var bool=($word.children('i').length>=nextWord.children('i').length)?true:false;hideLetter($word.find('i').eq(0),$word,bool,lettersDelay);showLetter(nextWord.find('i').eq(0),nextWord,bool,lettersDelay);}else if($word.parents('.cd-headline').hasClass('clip')){$word.parents('.cd-words-wrapper').animate({width:'2px'},revealDuration,function(){switchWord($word,nextWord);showWord(nextWord);});}else if($word.parents('.cd-headline').hasClass('loading-bar')){$word.parents('.cd-words-wrapper').removeClass('is-loading');switchWord($word,nextWord);setTimeout(function(){hideWord(nextWord)},barAnimationDelay);setTimeout(function(){$word.parents('.cd-words-wrapper').addClass('is-loading')},barWaiting);}else{switchWord($word,nextWord);setTimeout(function(){hideWord(nextWord)},animationDelay);}} 7 | function showWord($word,$duration){if($word.parents('.cd-headline').hasClass('type')){showLetter($word.find('i').eq(0),$word,false,$duration);$word.addClass('is-visible').removeClass('is-hidden');}else if($word.parents('.cd-headline').hasClass('clip')){$word.parents('.cd-words-wrapper').animate({'width':$word.width()+10},revealDuration,function(){setTimeout(function(){hideWord($word)},revealAnimationDelay);});}} 8 | function hideLetter($letter,$word,$bool,$duration){$letter.removeClass('in').addClass('out');if(!$letter.is(':last-child')){setTimeout(function(){hideLetter($letter.next(),$word,$bool,$duration);},$duration);}else if($bool){setTimeout(function(){hideWord(takeNext($word))},animationDelay);} 9 | if($letter.is(':last-child')&&$('html').hasClass('no-csstransitions')){var nextWord=takeNext($word);switchWord($word,nextWord);}} 10 | function showLetter($letter,$word,$bool,$duration){$letter.addClass('in').removeClass('out');if(!$letter.is(':last-child')){setTimeout(function(){showLetter($letter.next(),$word,$bool,$duration);},$duration);}else{if($word.parents('.cd-headline').hasClass('type')){setTimeout(function(){$word.parents('.cd-words-wrapper').addClass('waiting');},200);} 11 | if(!$bool){setTimeout(function(){hideWord($word)},animationDelay)}}} 12 | function takeNext($word){return(!$word.is(':last-child'))?$word.next():$word.parent().children().eq(0);} 13 | function takePrev($word){return(!$word.is(':first-child'))?$word.prev():$word.parent().children().last();} 14 | function switchWord($oldWord,$newWord){$oldWord.removeClass('is-visible').addClass('is-hidden');$newWord.removeClass('is-hidden').addClass('is-visible');}}); -------------------------------------------------------------------------------- /static/assets/css/magnificpopup.css: -------------------------------------------------------------------------------- 1 | .mfp-bg,.mfp-wrap{position:fixed;left:0;top:0}.mfp-bg,.mfp-container,.mfp-wrap{height:100%;width:100%}.mfp-arrow:after,.mfp-arrow:before,.mfp-container:before,.mfp-figure:after{content:""}.mfp-bg{z-index:1042;overflow:hidden;background:#0b0b0b;opacity:.8}.mfp-wrap{z-index:1043;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{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-ajax-holder .mfp-content,.mfp-inline-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-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-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:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-close,.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}.mfp-figure:after,.mfp-iframe-scaler iframe{box-shadow:0 0 8px rgba(0,0,0,.6);position:absolute;left:0}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:.65;padding:0 0 18px 10px;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-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-figure,img.mfp-img{line-height:0}.mfp-arrow{position:absolute;opacity:.65;margin:-55px 0 0;top:50%;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border: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:.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-image-holder .mfp-content,img.mfp-img{max-width:100%}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{display:block;top:0;width:100%;height:100%;background:#000}.mfp-figure:after,img.mfp-img{width:auto;height:auto;display:block}img.mfp-img{box-sizing:border-box;padding:40px 0;margin:0 auto}.mfp-figure:after{top:40px;bottom:40px;right:0;z-index:-1;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-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.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,.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,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.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}} -------------------------------------------------------------------------------- /static/assets/js/waypoints.js: -------------------------------------------------------------------------------- 1 | !(function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");(this.key="waypoint-"+e),(this.options=t.Adapter.extend({},t.defaults,o)),(this.element=this.options.element),(this.adapter=new t.Adapter(this.element)),(this.callback=o.handler),(this.axis=this.options.horizontal?"horizontal":"vertical"),(this.enabled=this.options.enabled),(this.triggerPoint=null),(this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis})),(this.context=t.Context.findOrCreateByElement(this.options.context)),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),(i[this.key]=this),(e+=1);} 2 | var e=0,i={};(t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t);}),(t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t);}),(t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key];}),(t.prototype.disable=function(){return(this.enabled=!1),this;}),(t.prototype.enable=function(){return this.context.refresh(),(this.enabled=!0),this;}),(t.prototype.next=function(){return this.group.next(this);}),(t.prototype.previous=function(){return this.group.previous(this);}),(t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]();}),(t.destroyAll=function(){t.invokeAll("destroy");}),(t.disableAll=function(){t.invokeAll("disable");}),(t.enableAll=function(){t.Context.refreshAll();for(var e in i)i[e].enabled=!0;return this;}),(t.refreshAll=function(){t.Context.refreshAll();}),(t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight;}),(t.viewportWidth=function(){return document.documentElement.clientWidth;}),(t.adapters=[]),(t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0}),(t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight();},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth();},}),(window.Waypoint=t);})(),(function(){"use strict";function t(t){window.setTimeout(t,1e3/60);} 3 | function e(t){(this.element=t),(this.Adapter=n.Adapter),(this.adapter=new this.Adapter(t)),(this.key="waypoint-context-"+i),(this.didScroll=!1),(this.didResize=!1),(this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()}),(this.waypoints={vertical:{},horizontal:{}}),(t.waypointContextKey=this.key),(o[t.waypointContextKey]=this),(i+=1),n.windowContext||((n.windowContext=!0),(n.windowContext=new e(window))),this.createThrottledScrollHandler(),this.createThrottledResizeHandler();} 4 | var i=0,o={},n=window.Waypoint,r=window.onload;(e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";(this.waypoints[e][t.key]=t),this.refresh();}),(e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical),i=this.element==this.element.window;t&&e&&!i&&(this.adapter.off(".waypoints"),delete o[this.key]);}),(e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),(e.didResize=!1);} 5 | var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||((e.didResize=!0),n.requestAnimationFrame(t));});}),(e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),(e.didScroll=!1);} 6 | var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&((e.didScroll=!0),n.requestAnimationFrame(t));});}),(e.prototype.handleResize=function(){n.Context.refreshAll();}),(e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"},};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s];if(null!==a.triggerPoint){var l=o.oldScroll=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),(t[a.group.id]=a.group));}}} 7 | for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll};}),(e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight();}),(e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty();}),(e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth();}),(e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy();}),(e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),(t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"},});for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?(f=f.apply(d)):"string"==typeof f&&((f=parseFloat(f)),d.options.offset.indexOf("%")>-1&&(f=Math.ceil((s.contextDimension*f)/100))),(l=s.contextScroll-s.contextOffset),(d.triggerPoint=Math.floor(y+l-f)),(h=w=s.oldScroll),(u=h&&p),(c=!h&&!p),!g&&u?(d.queueTrigger(s.backward),(o[d.group.id]=d.group)):!g&&c?(d.queueTrigger(s.forward),(o[d.group.id]=d.group)):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),(o[d.group.id]=d.group));}} 8 | return(n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers();}),this);}),(e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t);}),(e.refreshAll=function(){for(var t in o)o[t].refresh();}),(e.findByElement=function(t){return o[t.waypointContextKey];}),(window.onload=function(){r&&r(),e.refreshAll();}),(n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e);}),(n.Context=e);})(),(function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint;} 9 | function e(t,e){return e.triggerPoint-t.triggerPoint;} 10 | function i(t){(this.name=t.name),(this.axis=t.axis),(this.id=this.name+"-"+this.axis),(this.waypoints=[]),this.clearTriggerQueues(),(o[this.axis][this.name]=this);} 11 | var o={vertical:{},horizontal:{}},n=window.Waypoint;(i.prototype.add=function(t){this.waypoints.push(t);}),(i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],right:[]};}),(i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i]);}} 12 | this.clearTriggerQueues();}),(i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1];}),(i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null;}),(i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t);}),(i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1);}),(i.prototype.first=function(){return this.waypoints[0];}),(i.prototype.last=function(){return this.waypoints[this.waypoints.length-1];}),(i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t);}),(n.Group=i);})(),(function(){"use strict";function t(t){this.$element=e(t);} 13 | var e=window.jQuery,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.$element[i].apply(this.$element,t);};}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o];}),i.adapters.push({name:"jquery",Adapter:t}),(i.Adapter=t);})(),(function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return(t.isFunction(arguments[0])&&((o=t.extend({},arguments[1])),(o.handler=arguments[0])),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n));}),i);};} 14 | var e=window.Waypoint;window.jQuery&&(window.jQuery.fn.waypoint=t(window.jQuery)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto));})(); -------------------------------------------------------------------------------- /static/assets/css/custom.css: -------------------------------------------------------------------------------- 1 | ::-webkit-input-placeholder{color:#aaa6b2}:-moz-placeholder{color:#aaa6b2;opacity:1}::-moz-placeholder{color:#aaa6b2;opacity:1}:-ms-input-placeholder{color:#aaa6b2}::-ms-input-placeholder{color:#aaa6b2}::placeholder{color:#aaa6b2}body::-webkit-scrollbar{width:11px}body{scrollbar-width:thin;scrollbar-color:#999 #fff}body:-webkit-scrollbar-track{background:#fff}body::-webkit-scrollbar-thumb{background-color:#999;border-radius:6px;border:3px solid #fff}#preloader{position:fixed;left:0;top:0;height:100vh;width:100%;z-index:99999;display:flex}#preloader:before,#preloader:after{content:'';position:absolute;left:0;top:0;width:50%;height:100%;z-index:-1;background-color:#000;-webkit-transition:all .3s ease 0s;-o-transition:all .3s ease 0s;transition:all .3s ease 0s}#preloader:after{left:auto;right:0}#preloader .loader_line{margin:auto;width:1px;height:250px;position:relative;overflow:hidden;-webkit-transition:all .8s ease 0s;-o-transition:all .8s ease 0s;transition:all .8s ease 0s}.loader_line:before{content:'';position:absolute;left:0;top:50%;width:1px;height:0%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);background-color:#fff;-webkit-animation:lineheight 1000ms ease-in-out 0s forwards;-o-animation:lineheight 1000ms ease-in-out 0s forwards;animation:lineheight 1000ms ease-in-out 0s forwards}.loader_line:after{content:'';position:absolute;left:0;top:0;width:1px;height:100%;background-color:#777;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);-o-transform:translateY(-100%);transform:translateY(-100%);-webkit-animation:lineround 1200ms linear 0s infinite;-o-animation:lineround 1200ms linear 0s infinite;animation:lineround 1200ms linear 0s infinite;animation-delay:2000ms}@keyframes lineheight{0%{height:0%}100%{height:100%}}@keyframes lineround{0%{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);-o-transform:translateY(-100%);transform:translateY(-100%)}100%{-webkit-transform:translateY(200%);-ms-transform:translateY(200%);-o-transform:translateY(200%);transform:translateY(200%)}}.preloaded .loader_line:after{opacity:0}.preloaded .loader_line{opacity:0;height:100%!important}.preloaded:before,.preloaded:after{-webkit-animation:preloadedzero 300ms ease-in-out 500ms forwards;-o-animation:preloadedzero 300ms ease-in-out 500ms forwards;animation:preloadedzero 300ms ease-in-out 500ms forwards}@keyframes preloadedzero{0%{width:50%}100%{width:0%}}.cavani_tm_header .logo[data-type=image] .image{display:inline-block}.cavani_tm_header .logo[data-type=image] .text{display:none}.cavani_tm_header .logo[data-type=text] .image{display:none}.cavani_tm_header .logo[data-type=text] .text{display:inline-block}.cavani_tm_section{transition:visibility 1s linear,opacity 0s linear;-moz-transition:visibility 1s linear,opacity 0s linear;-webkit-transition:visibility1s linear,opacity 0s linear;-o-transition:visibility 1s linear,opacity 0s linear}.cavani_tm_about .services .service_list ul li:before{position:absolute;content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:5.5px 0 5.5px 9.5px;border-color:transparent transparent transparent #7d7789;left:0;top:7px}.progress_inner .background .bar.open{-webkit-animation:wow 2s cubic-bezier(.165,.84,.44,1);-moz-animation:wow 2s cubic-bezier(.165,.84,.44,1);animation:wow 2s cubic-bezier(.165,.84,.44,1);width:100%}@-webkit-keyframes wow{0%{width:0%}100%{width:100%}}@-moz-keyframes wow{0%{width:0%}100%{width:100%}}@keyframes wow{0%{width:0%}100%{width:100%}}.cavani_tm_about .partners .list ul{min-width:calc(100% + 12px)}.cavani_tm_about .testimonials .list ul li .text:before{position:absolute;content:"";height:0;width:0;top:100%;left:50px;border:solid transparent;border-top-color:#e5edf4;border-width:18px 18px 0 0}.cavani_tm_about .testimonials .list ul li .text:after{position:absolute;content:"";top:100%;left:50px;height:0;width:0;border:solid transparent;border-top-color:#f6fbff;border-width:14px 13px 0 0;margin-left:2px}.cavani_tm_portfolio .portfolio_list ul li .details{box-shadow:0 0 10px rgba(0,0,0,.1);z-index:3;padding:15px;transform:translateY(102%);-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.circular_progress_bar .list_inner:after{content:'';position:absolute;width:120px;height:120px;border:3px solid rgba(0,0,0,.07);left:0;top:0;border-radius:50%;box-sizing:border-box;z-index:-1}.cavani_tm_modalbox .close a{display:block;width:40px;height:40px;text-decoration:none;color:#fff;border:2px solid #fff;border-radius:10px;position:relative;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.cavani_tm_modalbox .close a:hover{border-radius:100%}.cavani_tm_modalbox .close a i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cavani_tm_modalbox .description_wrap::-webkit-scrollbar{width:11px}.aali_tm_modalbox .description_wrap{scrollbar-width:thin;scrollbar-color:#bbb #fff}.cavani_tm_modalbox .description_wrap:-webkit-scrollbar-track{background:#fff}.cavani_tm_modalbox .description_wrap::-webkit-scrollbar-thumb{background-color:#bbb;border-radius:10px;border:3px solid #fff}.cavani_tm_news .news_list>ul>li .list_inner .details{max-width:calc(100% - 80px)}.cavani_tm_news .news_list>ul>li .post_title h3 a{text-decoration:none;color:#333;font-size:24px;background-image:linear-gradient(currentColor,currentColor);background-position:0% 100%;background-repeat:no-repeat;background-size:0% 2px;transition:background-size .5s}.cavani_tm_news .news_list>ul>li .post_title h3 a:hover{background-size:100% 2px}.cavani_fn_moving_box{width:265px;height:198px;border:1px solid #fff;box-shadow:5px 0 30px rgb(0 0 0/10%);position:fixed;top:50%;right:170px;background-repeat:no-repeat;background-position:center;background-size:cover;opacity:0;visibility:hidden;z-index:1;transform:scale(.6);-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.cavani_fn_moving_box.opened{opacity:1;visibility:visible;transform:scale(1)}.cavani_tm_contact .form .fields ul li input{width:100%;border:1px solid rgba(0,0,0,.07);background-color:transparent}.cavani_tm_contact .form .fields ul li input:focus{outline:none;border:1px solid rgba(0,0,0,.2)}.cavani_tm_contact .form .fields .last textarea{width:100%;border:1px solid rgba(0,0,0,.07);height:120px;resize:none;margin-bottom:20px;background-color:transparent;font-size:13px}.cavani_tm_contact .form .fields .last textarea:focus{outline:none;border:1px solid rgba(0,0,0,.2)}.mouse-cursor{position:fixed;left:0;top:0;pointer-events:none;border-radius:50%;-webkit-transform:translateZ(0);transform:translateZ(0);visibility:hidden}.cursor-inner{margin-left:-3px;margin-top:-3px;width:6px;height:6px;z-index:100;background-color:#333;-webkit-transition:width .3s ease-in-out,height .3s ease-in-out,margin .3s ease-in-out,opacity .3s ease-in-out;transition:width .3s ease-in-out,height .3s ease-in-out,margin .3s ease-in-out,opacity .3s ease-in-out}.cursor-inner.cursor-hover{margin-left:-40px;margin-top:-40px;width:80px;height:80px;background-color:#333;opacity:.3}.cursor-outer{margin-left:-15px;margin-top:-15px;width:30px;height:30px;border:2px solid #333;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:100;opacity:.5;-webkit-transition:all .08s ease-out;transition:all .08s ease-out}.cursor-outer.cursor-hover{opacity:0}.cavani_tm_all_wrap[data-magic-cursor=hide] .mouse-cursor{display:none;opacity:0;visibility:hidden;position:absolute;z-index:-1111}.cavani_tm_topbar .logo[data-type=image] .image{display:inline-block}.cavani_tm_topbar .logo[data-type=image] .text{display:none}.cavani_tm_topbar .logo[data-type=text] .image{display:none}.cavani_tm_topbar .logo[data-type=text] .text{display:inline-block}.cavani_tm_topbar .hamburger{padding:0}.cavani_tm_topbar .hamburger-inner,.cavani_tm_topbar .hamburger-inner:after,.cavani_tm_topbar .hamburger-inner:before{width:30px;height:2px}.cavani_tm_topbar .hamburger-box{width:30px}.cavani_tm_mobile_menu.opened{right:0}.cavani_tm_mainpart .author_image .glitch_wrap{position:relative;width:100%;height:100%;float:left;overflow:hidden}.glitch{position:absolute;width:100%;height:100%;top:0;left:0;background-image:url(../img/about/2.jpg);background-size:cover;-webkit-background-size:cover;background-position:center;z-index:-1!important;opacity:1;tran sform:scale(1)}.cavani_tm_mainpart .author_image .particle_wrapper{position:relative;float:left;width:100%;height:100%}#particles-js{width:100%;height:100%;position:relative;z-index:2}.cavani_tm_mainpart .author_image .ripple{width:100%;height:100%;position:relative;background-repeat:no-repeat;background-size:cover;background-position:center;background-image:url(../img/about/3.jpg)}.cavani_tm_intro{width:100%;height:auto;clear:both;float:left;padding-bottom:50px}.cavani_tm_intro .main_title{width:100%;height:auto;clear:both;float:left;text-align:center;padding:100px 0}.cavani_tm_intro .main_title img{max-width:200px;margin-bottom:20px;display:inline-block}.cavani_tm_intro .main_title p{font-weight:500;font-size:18px}.cavani_tm_intro .demo_list{width:100%;max-width:1000px;clear:both;margin:0 auto;padding:0 20px}.cavani_tm_intro .demo_list ul{margin:0 0 0 -50px;list-style-type:none}.cavani_tm_intro .demo_list ul li{margin:0 0 50px;float:left;width:50%;padding-left:50px}.cavani_tm_intro .demo_list ul li .list_inner{width:100%;height:auto;clear:both;float:left;position:relative;text-align:center;top:0;transition:all .3s ease}.cavani_tm_intro .demo_list ul li .list_inner:hover{top:-5px}.cavani_tm_intro .demo_list ul li img{box-shadow:0 0 10px rgba(0,0,0,.15);margin-bottom:20px}.cavani_tm_intro .demo_list ul li h3{font-size:18px}.intro_copyright{width:100%;height:auto;float:left;text-align:center;padding:20px 0;background-color:#333}.intro_copyright p{color:#fff;font-family:poppins}@media(max-width:1040px){.cavani_tm_intro .demo_list ul{margin:0}.cavani_tm_intro .demo_list ul li{width:100%;padding-left:0}} -------------------------------------------------------------------------------- /static/assets/js/init.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function(){"use strict";cavani_tm_modalbox();cavani_tm_page_transition();cavani_tm_trigger_menu();cavani_tm_my_progress();cavani_tm_circular_progress();cavani_tm_portfolio_popup();cavani_tm_news_popup();cavani_tm_service_popup();cavani_tm_cursor();cavani_tm_imgtosvg();cavani_tm_popup();cavani_tm_portfolio();cavani_tm_data_images();cavani_tm_contact_form();cavani_tm_mycarousel();hashtag();cavani_tm_ripple();cavani_tm_moving_box();jQuery(window).load('body',function(){cavani_tm_my_load();});});function cavani_tm_modalbox(){"use strict";jQuery('.cavani_tm_all_wrap').prepend('
');} 2 | function cavani_tm_page_transition(){"use strict";var section=jQuery('.cavani_tm_section');var allLi=jQuery('.transition_link li');var button=jQuery('.transition_link a');var wrapper=jQuery('.cavani_tm_all_wrap');var enter=wrapper.data('enter');var exit=wrapper.data('exit');button.on('click',function(){var element=jQuery(this);var href=element.attr('href');if(element.parent().hasClass('cavani_tm_button')){jQuery('.menu .transition_link a[href="'+href+'"]').trigger('click');hashtag();return false;} 3 | var sectionID=jQuery(href);var parent=element.closest('li');if(!parent.hasClass('active')){allLi.removeClass('active');wrapper.find(section).removeClass('animated '+enter);if(wrapper.hasClass('opened')){wrapper.find(section).addClass('animated '+exit);} 4 | parent.addClass('active');wrapper.addClass('opened');wrapper.find(sectionID).removeClass('animated '+exit).addClass('animated '+enter);jQuery(section).addClass('hidden');jQuery(sectionID).removeClass('hidden').addClass('active');} 5 | return false;});} 6 | function cavani_tm_trigger_menu(){"use strict";var hamburger=jQuery('.cavani_tm_topbar .trigger .hamburger');var mobileMenu=jQuery('.cavani_tm_mobile_menu');var mobileMenuList=jQuery('.cavani_tm_mobile_menu .menu_list ul li a');hamburger.on('click',function(){var element=jQuery(this);if(element.hasClass('is-active')){element.removeClass('is-active');mobileMenu.removeClass('opened');}else{element.addClass('is-active');mobileMenu.addClass('opened');} 7 | return false;});mobileMenuList.on('click',function(){jQuery('.cavani_tm_topbar .trigger .hamburger').removeClass('is-active');mobileMenu.removeClass('opened');return false;});} 8 | function cavani_tm_my_progress(){"use strict";jQuery('.progress_inner').each(function(){var progress=jQuery(this);var pValue=parseInt(progress.data('value'),10);var pColor=progress.data('color');var pBarWrap=progress.find('.bar');var pBar=progress.find('.bar_in');pBar.css({width:pValue+'%',backgroundColor:pColor});setTimeout(function(){pBarWrap.addClass('open');});});} 9 | function cavani_tm_circular_progress(){"use strict";var ww=jQuery(window).width();var circVal;if(ww>1400){circVal=120;} 10 | else if(ww>=768){circVal=100;} 11 | else{circVal=80;} 12 | jQuery('.circular_progress_bar .myCircle').each(function(){var element=jQuery(this);element.append('');var value=element.data('value');element.circleProgress({size:circVal,value:0,animation:{duration:1400},thickness:3,fill:"#7d7789",emptyFill:'rgba(0,0,0,0)',startAngle:-Math.PI/2}).on('circle-animation-progress',function(event,progress,stepValue){element.find('.number').text(parseInt(stepValue.toFixed(2)*100)+'%');});element.circleProgress('value',1.0);setTimeout(function(){element.circleProgress('value',value);},1400);});} 13 | function cavani_tm_portfolio_popup(){"use strict";var modalBox=jQuery('.cavani_tm_modalbox');var button=jQuery('.cavani_tm_portfolio .portfolio_popup');var closePopup=modalBox.find('.close');button.off().on('click',function(){var element=jQuery(this);var parent=element.closest('.list_inner');var content=parent.find('.hidden_content').html();var image=parent.find('.image .main').data('img-url');var details=parent.find('.details').html();modalBox.addClass('opened');modalBox.find('.description_wrap').html(content);modalBox.find('.popup_details').prepend('
');modalBox.find('.popup_details .top_image').after('
'+details+'
');cavani_tm_data_images();return false;});closePopup.on('click',function(){modalBox.removeClass('opened');modalBox.find('.description_wrap').html('');return false;});} 14 | function cavani_tm_news_popup(){"use strict";var modalBox=jQuery('.cavani_tm_modalbox');var button=jQuery('.cavani_tm_news .news_list > ul > li .post_title h3 a');var closePopup=modalBox.find('.close');button.on('click',function(){var element=jQuery(this);var parent=element.closest('li');var content=parent.find('.news_hidden_details').html();var image=parent.data('img');var category=parent.find('.extra_metas').html();var title=parent.find('.post_title a').text();modalBox.addClass('opened');modalBox.find('.description_wrap').html(content);modalBox.find('.news_popup_informations').prepend('
');modalBox.find('.news_popup_informations .image').after('
'+category+'

'+title+'

');cavani_tm_data_images();return false;});closePopup.on('click',function(){modalBox.removeClass('opened');modalBox.find('.description_wrap').html('');return false;});} 15 | function cavani_tm_service_popup(){"use strict";var modalBox=jQuery('.cavani_tm_modalbox');var button=jQuery('.cavani_tm_service .service_list ul li .cavani_tm_full_link');var closePopup=modalBox.find('.close');button.on('click',function(){var element=jQuery(this);var parent=element.closest('.list_inner');var elImage=parent.find('.popup_service_image').attr('src');var title=parent.find('.title').html();var content=parent.find('.service_hidden_details').html();modalBox.addClass('opened');modalBox.find('.description_wrap').html(content);modalBox.find('.service_popup_informations').prepend('
');cavani_tm_data_images();modalBox.find('.service_popup_informations .image').after('

'+title+'

');return false;});closePopup.on('click',function(){modalBox.removeClass('opened');modalBox.find('.description_wrap').html('');return false;});} 16 | function cavani_tm_preloader(){"use strict";var isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)?true:false;var preloader=$('#preloader');if(!isMobile){setTimeout(function(){preloader.addClass('preloaded');},800);setTimeout(function(){preloader.remove();},2000);}else{preloader.remove();}} 17 | function cavani_tm_my_load(){"use strict";var speed=500;setTimeout(function(){cavani_tm_preloader();},speed);} 18 | function cavani_tm_cursor(){"use strict";var myCursor=jQuery('.mouse-cursor');if(myCursor.length){if($("body")){const e=document.querySelector(".cursor-inner"),t=document.querySelector(".cursor-outer");let n,i=0,o=!1;window.onmousemove=function(s){o||(t.style.transform="translate("+s.clientX+"px, "+s.clientY+"px)"),e.style.transform="translate("+s.clientX+"px, "+s.clientY+"px)",n=s.clientY,i=s.clientX},$("body").on("mouseenter","a,.cavani_tm_topbar .trigger, .cursor-pointer",function(){e.classList.add("cursor-hover"),t.classList.add("cursor-hover")}),$("body").on("mouseleave","a,.cavani_tm_topbar .trigger, .cursor-pointer",function(){$(this).is("a")&&$(this).closest(".cursor-pointer").length||(e.classList.remove("cursor-hover"),t.classList.remove("cursor-hover"))}),e.style.visibility="visible",t.style.visibility="visible"}}};function cavani_tm_imgtosvg(){"use strict";jQuery('img.svg').each(function(){var jQueryimg=jQuery(this);var imgClass=jQueryimg.attr('class');var imgURL=jQueryimg.attr('src');jQuery.get(imgURL,function(data){var jQuerysvg=jQuery(data).find('svg');if(typeof imgClass!=='undefined'){jQuerysvg=jQuerysvg.attr('class',imgClass+' replaced-svg');} 19 | jQuerysvg=jQuerysvg.removeAttr('xmlns:a');jQueryimg.replaceWith(jQuerysvg);},'xml');});} 20 | function cavani_tm_popup(){"use strict";jQuery('.gallery_zoom').each(function(){jQuery(this).magnificPopup({delegate:'a.zoom',type:'image',gallery:{enabled:true},removalDelay:300,mainClass:'mfp-fade'});});jQuery('.popup-youtube, .popup-vimeo').each(function(){jQuery(this).magnificPopup({disableOn:700,type:'iframe',mainClass:'mfp-fade',removalDelay:160,preloader:false,fixedContentPos:false});});jQuery('.soundcloude_link').magnificPopup({type:'image',gallery:{enabled:true,},});} 21 | function cavani_tm_portfolio(){"use strict";if(jQuery().isotope){var filter=jQuery('.cavani_tm_portfolio .portfolio_filter ul');if(filter.length){filter.find('a').on('click',function(){var element=jQuery(this);var selector=element.attr('data-filter');var list=element.closest('.cavani_tm_portfolio').find('.portfolio_list').children('ul');list.isotope({filter:selector,animationOptions:{duration:750,easing:'linear',queue:false}});filter.find('a').removeClass('current');element.addClass('current');return false;});}}} 22 | function cavani_tm_data_images(){"use strict";var data=jQuery('*[data-img-url]');data.each(function(){var element=jQuery(this);var url=element.data('img-url');element.css({backgroundImage:'url('+url+')'});});} 23 | function cavani_tm_contact_form(){"use strict";jQuery(".contact_form #send_message").on('click',function(){var name=jQuery(".contact_form #name").val();var email=jQuery(".contact_form #email").val();var message=jQuery(".contact_form #message").val();var subject=jQuery(".contact_form #subject").val();var success=jQuery(".contact_form .returnmessage").data('success');jQuery(".contact_form .returnmessage").empty();if(name===''||email===''||message===''){jQuery('div.empty_notice').slideDown(500).delay(2000).slideUp(500);} 24 | else{jQuery.post("modal/contact.php",{ajax_name:name,ajax_email:email,ajax_message:message,ajax_subject:subject},function(data){jQuery(".contact_form .returnmessage").append(data);if(jQuery(".contact_form .returnmessage span.contact_error").length){jQuery(".contact_form .returnmessage").slideDown(500).delay(2000).slideUp(500);}else{jQuery(".contact_form .returnmessage").append(""+success+"");jQuery(".contact_form .returnmessage").slideDown(500).delay(4000).slideUp(500);} 25 | if(data===""){jQuery("#contact_form")[0].reset();}});} 26 | return false;});} 27 | function cavani_tm_mycarousel(){"use strict";var carousel=jQuery('.cavani_tm_about .testimonials .owl-carousel');carousel.owlCarousel({loop:true,items:2,lazyLoad:false,margin:30,autoplay:true,autoplayTimeout:7000,dots:false,nav:false,navSpeed:false,responsive:{0:{items:1},768:{items:2}}});} 28 | function hashtag(){"use strict";var ccc=$('.cavani_tm_header .menu .ccc');var element=$('.cavani_tm_header .menu .active a');$('.cavani_tm_header .menu a').on('mouseenter',function(){var e=$(this);currentLink(ccc,e);});$('.cavani_tm_header .menu').on('mouseleave',function(){element=$('.cavani_tm_header .menu .active a');currentLink(ccc,element);element.parent().siblings().removeClass('mleave');});currentLink(ccc,element);} 29 | function currentLink(ccc,e){"use strict";if(!e.length){return false;} 30 | var left=e.offset().left;var width=e.outerWidth();var menuleft=$('.cavani_tm_header .menu').offset().left;e.parent().removeClass('mleave');e.parent().siblings().addClass('mleave');ccc.css({left:(left-menuleft)+'px',width:width+'px'});} 31 | $(".glitch").mgGlitch({destroy:false,glitch:true,scale:true,blend:true,blendModeType:"hue",glitch1TimeMin:200,glitch1TimeMax:400,glitch2TimeMin:10,glitch2TimeMax:100});function cavani_tm_ripple(){"use strict";jQuery('#ripple').ripples({resolution:500,dropRadius:20,perturbance:0.04});} 32 | function cavani_tm_moving_box(){"use strict";var wrapper=$('.cavani_tm_news');var list=wrapper.find('.news_list > ul > li');if(!$('.cavani_fn_moving_box').length){$('body').append('
');} 33 | var box=$('.cavani_fn_moving_box');list.on('mouseenter',function(){var element=$(this);var image=element.data('img');var ellOffset=element.offset().top;if(image===''){box.removeClass('opened');return false;} 34 | box.addClass('opened');box.css({backgroundImage:'url('+image+')',top:ellOffset+'px'});}).on('mouseleave',function(){box.removeClass('opened');});} -------------------------------------------------------------------------------- /static/assets/js/ripple.js: -------------------------------------------------------------------------------- 1 | !(function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(e.$);})(this,function(e){"use strict";function t(e){return "%"==e[e.length-1];} 2 | function r(e){var t=e.split(" ");if(1!==t.length) 3 | return t.map(function(t){switch(e){case "center":return "50%";case "top":case "left":return "0";case "right":case "bottom":return "100%";default:return t;}});switch(e){case "center":return["50%","50%"];case "top":return["50%","0"];case "bottom":return["50%","100%"];case "left":return["0","50%"];case "right":return["100%","50%"];default:return[e,"50%"];}} 4 | function i(e,t,r){function i(e,t){var r=s.createShader(e);if((s.shaderSource(r,t),s.compileShader(r),!s.getShaderParameter(r,s.COMPILE_STATUS)))throw new Error("compile error: "+s.getShaderInfoLog(r));return r;} 5 | var o={};if(((o.id=s.createProgram()),s.attachShader(o.id,i(s.VERTEX_SHADER,e)),s.attachShader(o.id,i(s.FRAGMENT_SHADER,t)),s.linkProgram(o.id),!s.getProgramParameter(o.id,s.LINK_STATUS))) 6 | throw new Error("link error: "+s.getProgramInfoLog(o.id));(o.uniforms={}),(o.locations={}),s.useProgram(o.id),s.enableVertexAttribArray(0);for(var n,a,u=/uniform (\w+) (\w+)/g,h=e+t;null!=(n=u.exec(h));)(a=n[2]),(o.locations[a]=s.getUniformLocation(o.id,a));return o;} 7 | function o(e,t){s.activeTexture(s.TEXTURE0+(t||0)),s.bindTexture(s.TEXTURE_2D,e);} 8 | function n(e){var t=/url\(["']?([^"']*)["']?\)/.exec(e);return null==t?null:t[1];} 9 | function a(e){return e.match(/^data:/);} 10 | var s,u=(e=e&&"default"in e?e.default:e)(window),h=(function(){function e(e,t,i){var o="OES_texture_"+e,n=o+"_linear",a=n in r,s=[o];return a&&s.push(n),{type:t,arrayType:i,linearSupport:a,extensions:s};} 11 | var t=document.createElement("canvas");if(!(s=t.getContext("webgl")||t.getContext("experimental-webgl")))return null;var r={};if((["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear"].forEach(function(e){var t=s.getExtension(e);t&&(r[e]=t);}),!r.OES_texture_float)) 12 | return null;var i=[];i.push(e("float",s.FLOAT,Float32Array)),r.OES_texture_half_float&&i.push(e("half_float",r.OES_texture_half_float.HALF_FLOAT_OES,null));var o=s.createTexture(),n=s.createFramebuffer();s.bindFramebuffer(s.FRAMEBUFFER,n),s.bindTexture(s.TEXTURE_2D,o),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE);for(var a=null,u=0;u.jquery-ripples { position: relative; z-index: 0; }");var d=function(t,r){function i(){o.destroyed||(o.step(),requestAnimationFrame(i));} 15 | var o=this;(this.$el=e(t)),(this.interactive=r.interactive),(this.resolution=r.resolution),(this.textureDelta=new Float32Array([1/this.resolution,1/this.resolution])),(this.perturbance=r.perturbance),(this.dropRadius=r.dropRadius),(this.crossOrigin=r.crossOrigin),(this.imageUrl=r.imageUrl);var n=document.createElement("canvas");(n.width=this.$el.innerWidth()),(n.height=this.$el.innerHeight()),(this.canvas=n),(this.$canvas=e(n)),this.$canvas.css({position:"absolute",left:0,top:0,right:0,bottom:0,zIndex:-1}),this.$el.addClass("jquery-ripples").append(n),(this.context=s=n.getContext("webgl")||n.getContext("experimental-webgl")),h.extensions.forEach(function(e){s.getExtension(e);}),e(window).on("resize",function(){o.updateSize();}),(this.textures=[]),(this.framebuffers=[]),(this.bufferWriteIndex=0),(this.bufferReadIndex=1);for(var a=h.arrayType,u=a?new a(this.resolution*this.resolution*4):null,c=0;c<2;c++){var d=s.createTexture(),f=s.createFramebuffer();s.bindFramebuffer(s.FRAMEBUFFER,f),s.bindTexture(s.TEXTURE_2D,d),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,h.linearSupport?s.LINEAR:s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,h.linearSupport?s.LINEAR:s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,this.resolution,this.resolution,0,s.RGBA,h.type,u),s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,s.TEXTURE_2D,d,0),this.textures.push(d),this.framebuffers.push(f);} 16 | (this.quad=s.createBuffer()),s.bindBuffer(s.ARRAY_BUFFER,this.quad),s.bufferData(s.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,1,1,-1,1]),s.STATIC_DRAW),this.initShaders(),this.initTexture(),this.setTransparentTexture(),this.loadImage(),s.clearColor(0,0,0,0),s.blendFunc(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),(this.visible=!0),(this.running=!0),(this.inited=!0),(this.destroyed=!1),this.setupPointerEvents(),requestAnimationFrame(i);};(d.DEFAULTS={imageUrl:null,resolution:256,dropRadius:20,perturbance:0.03,interactive:!0,crossOrigin:""}),(d.prototype={setupPointerEvents:function(){function e(){return r.visible&&r.running&&r.interactive;} 17 | function t(t,i){e()&&r.dropAtPointer(t,r.dropRadius*(i?1.5:1),i?0.14:0.01);} 18 | var r=this;this.$el.on("mousemove.ripples",function(e){t(e);}).on("touchmove.ripples, touchstart.ripples",function(e){for(var r=e.originalEvent.changedTouches,i=0;i1?Array.prototype.slice.call(arguments,1):void 0;return this.each(function(){var i=e(this),o=i.data("ripples"),n=e.extend({},d.DEFAULTS,i.data(),"object"==typeof t&&t);(o||"string"!=typeof t)&&(o?"string"==typeof t&&d.prototype[t].apply(o,r):i.data("ripples",(o=new d(this,n))));});}),(e.fn.ripples.Constructor=d),(e.fn.ripples.noConflict=function(){return(e.fn.ripples=f),this;});}); -------------------------------------------------------------------------------- /static/assets/css/cdheadline.css: -------------------------------------------------------------------------------- 1 | *,*::after,*::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.cd-title{position:relative;height:160px;line-height:230px;text-align:center}.cd-title h1{font-size:2.4rem;font-weight:700}@media only screen and (min-width:768px){.cd-title{line-height:250px}}@media only screen and (min-width:1170px){.cd-title{height:200px;line-height:300px}.cd-title h1{font-size:3rem}}.cd-intro{width:90%;max-width:768px;text-align:center}.cd-intro{margin:4em auto}@media only screen and (min-width:768px){.cd-intro{margin:5em auto}}@media only screen and (min-width:1170px){.cd-intro{margin:6em auto}}.cd-words-wrapper{display:inline-block;position:relative;text-align:left}.cd-words-wrapper b{display:inline-block;position:absolute;white-space:nowrap;left:0;top:0}.cd-words-wrapper b.is-visible{position:relative}.no-js .cd-words-wrapper b{opacity:0}.no-js .cd-words-wrapper b.is-visible{opacity:1}.cd-headline.rotate-1 .cd-words-wrapper{-webkit-perspective:300px;-moz-perspective:300px;perspective:300px}.cd-headline.rotate-1 b{opacity:0;-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;-o-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:rotateX(180deg);-moz-transform:rotateX(180deg);-ms-transform:rotateX(180deg);-o-transform:rotateX(180deg);transform:rotateX(180deg)}.cd-headline.rotate-1 b.is-visible{opacity:1;-webkit-transform:rotateX(0deg);-moz-transform:rotateX(0deg);-ms-transform:rotateX(0deg);-o-transform:rotateX(0deg);transform:rotateX(0deg);-webkit-animation:cd-rotate-1-in 1.2s;-moz-animation:cd-rotate-1-in 1.2s;animation:cd-rotate-1-in 1.2s}.cd-headline.rotate-1 b.is-hidden{-webkit-transform:rotateX(180deg);-moz-transform:rotateX(180deg);-ms-transform:rotateX(180deg);-o-transform:rotateX(180deg);transform:rotateX(180deg);-webkit-animation:cd-rotate-1-out 1.2s;-moz-animation:cd-rotate-1-out 1.2s;animation:cd-rotate-1-out 1.2s}@-webkit-keyframes cd-rotate-1-in{0%{-webkit-transform:rotateX(180deg);opacity:0}35%{-webkit-transform:rotateX(120deg);opacity:0}65%{opacity:0}100%{-webkit-transform:rotateX(360deg);opacity:1}}@-moz-keyframes cd-rotate-1-in{0%{-moz-transform:rotateX(180deg);opacity:0}35%{-moz-transform:rotateX(120deg);opacity:0}65%{opacity:0}100%{-moz-transform:rotateX(360deg);opacity:1}}@keyframes cd-rotate-1-in{0%{-webkit-transform:rotateX(180deg);-moz-transform:rotateX(180deg);-ms-transform:rotateX(180deg);-o-transform:rotateX(180deg);transform:rotateX(180deg);opacity:0}35%{-webkit-transform:rotateX(120deg);-moz-transform:rotateX(120deg);-ms-transform:rotateX(120deg);-o-transform:rotateX(120deg);transform:rotateX(120deg);opacity:0}65%{opacity:0}100%{-webkit-transform:rotateX(360deg);-moz-transform:rotateX(360deg);-ms-transform:rotateX(360deg);-o-transform:rotateX(360deg);transform:rotateX(360deg);opacity:1}}@-webkit-keyframes cd-rotate-1-out{0%{-webkit-transform:rotateX(0deg);opacity:1}35%{-webkit-transform:rotateX(-40deg);opacity:1}65%{opacity:0}100%{-webkit-transform:rotateX(180deg);opacity:0}}@-moz-keyframes cd-rotate-1-out{0%{-moz-transform:rotateX(0deg);opacity:1}35%{-moz-transform:rotateX(-40deg);opacity:1}65%{opacity:0}100%{-moz-transform:rotateX(180deg);opacity:0}}@keyframes cd-rotate-1-out{0%{-webkit-transform:rotateX(0deg);-moz-transform:rotateX(0deg);-ms-transform:rotateX(0deg);-o-transform:rotateX(0deg);transform:rotateX(0deg);opacity:1}35%{-webkit-transform:rotateX(-40deg);-moz-transform:rotateX(-40deg);-ms-transform:rotateX(-40deg);-o-transform:rotateX(-40deg);transform:rotateX(-40deg);opacity:1}65%{opacity:0}100%{-webkit-transform:rotateX(180deg);-moz-transform:rotateX(180deg);-ms-transform:rotateX(180deg);-o-transform:rotateX(180deg);transform:rotateX(180deg);opacity:0}}.cd-headline.type .cd-words-wrapper{vertical-align:top;overflow:hidden}.cd-headline.type .cd-words-wrapper::after{content:'';position:absolute;right:0;top:50%;bottom:auto;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);height:90%;width:1px;background-color:#aebcb9}.cd-headline.type .cd-words-wrapper.waiting::after{-webkit-animation:cd-pulse 1s infinite;-moz-animation:cd-pulse 1s infinite;animation:cd-pulse 1s infinite}.cd-headline.type .cd-words-wrapper.selected{background-color:#aebcb9}.cd-headline.type .cd-words-wrapper.selected::after{visibility:hidden}.cd-headline.type .cd-words-wrapper.selected b{color:#0d0d0d}.cd-headline.type b{visibility:hidden}.cd-headline.type b.is-visible{visibility:visible}.cd-headline.type i{position:absolute;visibility:hidden}.cd-headline.type i.in{position:relative;visibility:visible}@-webkit-keyframes cd-pulse{0%{-webkit-transform:translateY(-50%) scale(1);opacity:1}40%{-webkit-transform:translateY(-50%) scale(.9);opacity:0}100%{-webkit-transform:translateY(-50%) scale(0);opacity:0}}@-moz-keyframes cd-pulse{0%{-moz-transform:translateY(-50%) scale(1);opacity:1}40%{-moz-transform:translateY(-50%) scale(.9);opacity:0}100%{-moz-transform:translateY(-50%) scale(0);opacity:0}}@keyframes cd-pulse{0%{-webkit-transform:translateY(-50%) scale(1);-moz-transform:translateY(-50%) scale(1);-ms-transform:translateY(-50%) scale(1);-o-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1);opacity:1}40%{-webkit-transform:translateY(-50%) scale(.9);-moz-transform:translateY(-50%) scale(.9);-ms-transform:translateY(-50%) scale(.9);-o-transform:translateY(-50%) scale(.9);transform:translateY(-50%) scale(.9);opacity:0}100%{-webkit-transform:translateY(-50%) scale(0);-moz-transform:translateY(-50%) scale(0);-ms-transform:translateY(-50%) scale(0);-o-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0);opacity:0}}.cd-headline.rotate-2 .cd-words-wrapper{-webkit-perspective:300px;-moz-perspective:300px;perspective:300px}.cd-headline.rotate-2 i,.cd-headline.rotate-2 em{display:inline-block;-webkit-backface-visibility:hidden;backface-visibility:hidden}.cd-headline.rotate-2 b{opacity:0}.cd-headline.rotate-2 i{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;-o-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:translateZ(-20px) rotateX(90deg);-moz-transform:translateZ(-20px) rotateX(90deg);-ms-transform:translateZ(-20px) rotateX(90deg);-o-transform:translateZ(-20px) rotateX(90deg);transform:translateZ(-20px) rotateX(90deg);opacity:0}.is-visible .cd-headline.rotate-2 i{opacity:1}.cd-headline.rotate-2 i.in{-webkit-animation:cd-rotate-2-in .4s forwards;-moz-animation:cd-rotate-2-in .4s forwards;animation:cd-rotate-2-in .4s forwards}.cd-headline.rotate-2 i.out{-webkit-animation:cd-rotate-2-out .4s forwards;-moz-animation:cd-rotate-2-out .4s forwards;animation:cd-rotate-2-out .4s forwards}.cd-headline.rotate-2 em{-webkit-transform:translateZ(20px);-moz-transform:translateZ(20px);-ms-transform:translateZ(20px);-o-transform:translateZ(20px);transform:translateZ(20px)}.no-csstransitions .cd-headline.rotate-2 i{-webkit-transform:rotateX(0deg);-moz-transform:rotateX(0deg);-ms-transform:rotateX(0deg);-o-transform:rotateX(0deg);transform:rotateX(0deg);opacity:0}.no-csstransitions .cd-headline.rotate-2 i em{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.no-csstransitions .cd-headline.rotate-2 .is-visible i{opacity:1}@-webkit-keyframes cd-rotate-2-in{0%{opacity:0;-webkit-transform:translateZ(-20px) rotateX(90deg)}60%{opacity:1;-webkit-transform:translateZ(-20px) rotateX(-10deg)}100%{opacity:1;-webkit-transform:translateZ(-20px) rotateX(0deg)}}@-moz-keyframes cd-rotate-2-in{0%{opacity:0;-moz-transform:translateZ(-20px) rotateX(90deg)}60%{opacity:1;-moz-transform:translateZ(-20px) rotateX(-10deg)}100%{opacity:1;-moz-transform:translateZ(-20px) rotateX(0deg)}}@keyframes cd-rotate-2-in{0%{opacity:0;-webkit-transform:translateZ(-20px) rotateX(90deg);-moz-transform:translateZ(-20px) rotateX(90deg);-ms-transform:translateZ(-20px) rotateX(90deg);-o-transform:translateZ(-20px) rotateX(90deg);transform:translateZ(-20px) rotateX(90deg)}60%{opacity:1;-webkit-transform:translateZ(-20px) rotateX(-10deg);-moz-transform:translateZ(-20px) rotateX(-10deg);-ms-transform:translateZ(-20px) rotateX(-10deg);-o-transform:translateZ(-20px) rotateX(-10deg);transform:translateZ(-20px) rotateX(-10deg)}100%{opacity:1;-webkit-transform:translateZ(-20px) rotateX(0deg);-moz-transform:translateZ(-20px) rotateX(0deg);-ms-transform:translateZ(-20px) rotateX(0deg);-o-transform:translateZ(-20px) rotateX(0deg);transform:translateZ(-20px) rotateX(0deg)}}@-webkit-keyframes cd-rotate-2-out{0%{opacity:1;-webkit-transform:translateZ(-20px) rotateX(0)}60%{opacity:0;-webkit-transform:translateZ(-20px) rotateX(-100deg)}100%{opacity:0;-webkit-transform:translateZ(-20px) rotateX(-90deg)}}@-moz-keyframes cd-rotate-2-out{0%{opacity:1;-moz-transform:translateZ(-20px) rotateX(0)}60%{opacity:0;-moz-transform:translateZ(-20px) rotateX(-100deg)}100%{opacity:0;-moz-transform:translateZ(-20px) rotateX(-90deg)}}@keyframes cd-rotate-2-out{0%{opacity:1;-webkit-transform:translateZ(-20px) rotateX(0);-moz-transform:translateZ(-20px) rotateX(0);-ms-transform:translateZ(-20px) rotateX(0);-o-transform:translateZ(-20px) rotateX(0);transform:translateZ(-20px) rotateX(0)}60%{opacity:0;-webkit-transform:translateZ(-20px) rotateX(-100deg);-moz-transform:translateZ(-20px) rotateX(-100deg);-ms-transform:translateZ(-20px) rotateX(-100deg);-o-transform:translateZ(-20px) rotateX(-100deg);transform:translateZ(-20px) rotateX(-100deg)}100%{opacity:0;-webkit-transform:translateZ(-20px) rotateX(-90deg);-moz-transform:translateZ(-20px) rotateX(-90deg);-ms-transform:translateZ(-20px) rotateX(-90deg);-o-transform:translateZ(-20px) rotateX(-90deg);transform:translateZ(-20px) rotateX(-90deg)}}.cd-headline.loading-bar span{display:inline-block;padding:.2em 0}.cd-headline.loading-bar .cd-words-wrapper{overflow:hidden;vertical-align:top}.cd-headline.loading-bar .cd-words-wrapper::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:0;background:#0096a7;z-index:2;-webkit-transition:width .3s -.1s;-moz-transition:width .3s -.1s;transition:width .3s -.1s}.cd-headline.loading-bar .cd-words-wrapper.is-loading::after{width:100%;-webkit-transition:width 3s;-moz-transition:width 3s;transition:width 3s}.cd-headline.loading-bar b{top:.2em;opacity:0;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;transition:opacity .3s}.cd-headline.loading-bar b.is-visible{opacity:1;top:0}.cd-headline.slide span{display:inline-block;padding:.2em 0}.cd-headline.slide .cd-words-wrapper{overflow:hidden;vertical-align:top}.cd-headline.slide b{opacity:0;top:.2em}.cd-headline.slide b.is-visible{top:0;opacity:1;-webkit-animation:slide-in .6s;-moz-animation:slide-in .6s;animation:slide-in .6s}.cd-headline.slide b.is-hidden{-webkit-animation:slide-out .6s;-moz-animation:slide-out .6s;animation:slide-out .6s}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(-100%)}60%{opacity:1;-webkit-transform:translateY(20%)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes slide-in{0%{opacity:0;-moz-transform:translateY(-100%)}60%{opacity:1;-moz-transform:translateY(20%)}100%{opacity:1;-moz-transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(-100%);-moz-transform:translateY(-100%);-ms-transform:translateY(-100%);-o-transform:translateY(-100%);transform:translateY(-100%)}60%{opacity:1;-webkit-transform:translateY(20%);-moz-transform:translateY(20%);-ms-transform:translateY(20%);-o-transform:translateY(20%);transform:translateY(20%)}100%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes slide-out{0%{opacity:1;-webkit-transform:translateY(0)}60%{opacity:0;-webkit-transform:translateY(120%)}100%{opacity:0;-webkit-transform:translateY(100%)}}@-moz-keyframes slide-out{0%{opacity:1;-moz-transform:translateY(0)}60%{opacity:0;-moz-transform:translateY(120%)}100%{opacity:0;-moz-transform:translateY(100%)}}@keyframes slide-out{0%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}60%{opacity:0;-webkit-transform:translateY(120%);-moz-transform:translateY(120%);-ms-transform:translateY(120%);-o-transform:translateY(120%);transform:translateY(120%)}100%{opacity:0;-webkit-transform:translateY(100%);-moz-transform:translateY(100%);-ms-transform:translateY(100%);-o-transform:translateY(100%);transform:translateY(100%)}}.cd-headline.clip span{display:inline-block;padding:.2em 0}.cd-headline.clip .cd-words-wrapper{overflow:hidden;vertical-align:top}.cd-headline.clip .cd-words-wrapper::after{content:'';position:absolute;top:0;right:0;width:2px;height:100%;background-color:#aebcb9}.cd-headline.clip b{opacity:0}.cd-headline.clip b.is-visible{opacity:1}.cd-headline.zoom .cd-words-wrapper{-webkit-perspective:300px;-moz-perspective:300px;perspective:300px}.cd-headline.zoom b{opacity:0}.cd-headline.zoom b.is-visible{opacity:1;-webkit-animation:zoom-in .8s;-moz-animation:zoom-in .8s;animation:zoom-in .8s}.cd-headline.zoom b.is-hidden{-webkit-animation:zoom-out .8s;-moz-animation:zoom-out .8s;animation:zoom-out .8s}@-webkit-keyframes zoom-in{0%{opacity:0;-webkit-transform:translateZ(100px)}100%{opacity:1;-webkit-transform:translateZ(0)}}@-moz-keyframes zoom-in{0%{opacity:0;-moz-transform:translateZ(100px)}100%{opacity:1;-moz-transform:translateZ(0)}}@keyframes zoom-in{0%{opacity:0;-webkit-transform:translateZ(100px);-moz-transform:translateZ(100px);-ms-transform:translateZ(100px);-o-transform:translateZ(100px);transform:translateZ(100px)}100%{opacity:1;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes zoom-out{0%{opacity:1;-webkit-transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateZ(-100px)}}@-moz-keyframes zoom-out{0%{opacity:1;-moz-transform:translateZ(0)}100%{opacity:0;-moz-transform:translateZ(-100px)}}@keyframes zoom-out{0%{opacity:1;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}100%{opacity:0;-webkit-transform:translateZ(-100px);-moz-transform:translateZ(-100px);-ms-transform:translateZ(-100px);-o-transform:translateZ(-100px);transform:translateZ(-100px)}}.cd-headline.rotate-3 .cd-words-wrapper{-webkit-perspective:300px;-moz-perspective:300px;perspective:300px}.cd-headline.rotate-3 b{opacity:0}.cd-headline.rotate-3 i{display:inline-block;-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg);-ms-transform:rotateY(180deg);-o-transform:rotateY(180deg);transform:rotateY(180deg);-webkit-backface-visibility:hidden;backface-visibility:hidden}.is-visible .cd-headline.rotate-3 i{-webkit-transform:rotateY(0deg);-moz-transform:rotateY(0deg);-ms-transform:rotateY(0deg);-o-transform:rotateY(0deg);transform:rotateY(0deg)}.cd-headline.rotate-3 i.in{-webkit-animation:cd-rotate-3-in .6s forwards;-moz-animation:cd-rotate-3-in .6s forwards;animation:cd-rotate-3-in .6s forwards}.cd-headline.rotate-3 i.out{-webkit-animation:cd-rotate-3-out .6s forwards;-moz-animation:cd-rotate-3-out .6s forwards;animation:cd-rotate-3-out .6s forwards}.no-csstransitions .cd-headline.rotate-3 i{-webkit-transform:rotateY(0deg);-moz-transform:rotateY(0deg);-ms-transform:rotateY(0deg);-o-transform:rotateY(0deg);transform:rotateY(0deg);opacity:0}.no-csstransitions .cd-headline.rotate-3 .is-visible i{opacity:1}@-webkit-keyframes cd-rotate-3-in{0%{-webkit-transform:rotateY(180deg)}100%{-webkit-transform:rotateY(0deg)}}@-moz-keyframes cd-rotate-3-in{0%{-moz-transform:rotateY(180deg)}100%{-moz-transform:rotateY(0deg)}}@keyframes cd-rotate-3-in{0%{-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg);-ms-transform:rotateY(180deg);-o-transform:rotateY(180deg);transform:rotateY(180deg)}100%{-webkit-transform:rotateY(0deg);-moz-transform:rotateY(0deg);-ms-transform:rotateY(0deg);-o-transform:rotateY(0deg);transform:rotateY(0deg)}}@-webkit-keyframes cd-rotate-3-out{0%{-webkit-transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg)}}@-moz-keyframes cd-rotate-3-out{0%{-moz-transform:rotateY(0)}100%{-moz-transform:rotateY(-180deg)}}@keyframes cd-rotate-3-out{0%{-webkit-transform:rotateY(0);-moz-transform:rotateY(0);-ms-transform:rotateY(0);-o-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg);-moz-transform:rotateY(-180deg);-ms-transform:rotateY(-180deg);-o-transform:rotateY(-180deg);transform:rotateY(-180deg)}}.cd-headline.scale b{opacity:0}.cd-headline.scale i{display:inline-block;opacity:0;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}.is-visible .cd-headline.scale i{opacity:1}.cd-headline.scale i.in{-webkit-animation:scale-up .6s forwards;-moz-animation:scale-up .6s forwards;animation:scale-up .6s forwards}.cd-headline.scale i.out{-webkit-animation:scale-down .6s forwards;-moz-animation:scale-down .6s forwards;animation:scale-down .6s forwards}.no-csstransitions .cd-headline.scale i{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:0}.no-csstransitions .cd-headline.scale .is-visible i{opacity:1}@-webkit-keyframes scale-up{0%{-webkit-transform:scale(0);opacity:0}60%{-webkit-transform:scale(1.2);opacity:1}100%{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes scale-up{0%{-moz-transform:scale(0);opacity:0}60%{-moz-transform:scale(1.2);opacity:1}100%{-moz-transform:scale(1);opacity:1}}@keyframes scale-up{0%{-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);opacity:0}60%{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2);opacity:1}100%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}}@-webkit-keyframes scale-down{0%{-webkit-transform:scale(1);opacity:1}60%{-webkit-transform:scale(0);opacity:0}}@-moz-keyframes scale-down{0%{-moz-transform:scale(1);opacity:1}60%{-moz-transform:scale(0);opacity:0}}@keyframes scale-down{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1}60%{-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);opacity:0}}.cd-headline.push b{opacity:0}.cd-headline.push b.is-visible{opacity:1;-webkit-animation:push-in .6s;-moz-animation:push-in .6s;animation:push-in .6s}.cd-headline.push b.is-hidden{-webkit-animation:push-out .6s;-moz-animation:push-out .6s;animation:push-out .6s}@-webkit-keyframes push-in{0%{opacity:0;-webkit-transform:translateX(-100%)}60%{opacity:1;-webkit-transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes push-in{0%{opacity:0;-moz-transform:translateX(-100%)}60%{opacity:1;-moz-transform:translateX(10%)}100%{opacity:1;-moz-transform:translateX(0)}}@keyframes push-in{0%{opacity:0;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}60%{opacity:1;-webkit-transform:translateX(10%);-moz-transform:translateX(10%);-ms-transform:translateX(10%);-o-transform:translateX(10%);transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes push-out{0%{opacity:1;-webkit-transform:translateX(0)}60%{opacity:0;-webkit-transform:translateX(110%)}100%{opacity:0;-webkit-transform:translateX(100%)}}@-moz-keyframes push-out{0%{opacity:1;-moz-transform:translateX(0)}60%{opacity:0;-moz-transform:translateX(110%)}100%{opacity:0;-moz-transform:translateX(100%)}}@keyframes push-out{0%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}60%{opacity:0;-webkit-transform:translateX(110%);-moz-transform:translateX(110%);-ms-transform:translateX(110%);-o-transform:translateX(110%);transform:translateX(110%)}100%{opacity:0;-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);-o-transform:translateX(100%);transform:translateX(100%)}} -------------------------------------------------------------------------------- /static/assets/js/magnificpopup.js: -------------------------------------------------------------------------------- 1 | /*! Magnific Popup - v1.1.0 - 2016-02-20 2 | * http://dimsemenov.com/plugins/magnific-popup/ 3 | * Copyright (c) 2016 Dmitry Semenov; */!(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto);})(function(e){var t,n,i,o,r,a,s="Close",l="BeforeClose",c="AfterClose",d="BeforeAppend",u="MarkupParse",p="Open",f="Change",m="mfp",g="."+m,v="mfp-ready",h="mfp-removing",y="mfp-prevent-close",C=function(){},w=!!window.jQuery,b=e(window),I=function(e,n){t.ev.on(m+e+g,n);},x=function(t,n,i,o){var r=document.createElement("div");return(r.className="mfp-"+t),i&&(r.innerHTML=i),o?n&&n.appendChild(r):((r=e(r)),n&&r.appendTo(n)),r;},k=function(n,i){t.ev.triggerHandler(m+n,i),t.st.callbacks&&((n=n.charAt(0).toLowerCase()+n.slice(1)),t.st.callbacks[n]&&t.st.callbacks[n].apply(t,e.isArray(i)?i:[i]));},T=function(n){return(n===a&&t.currTemplate.closeBtn)||((t.currTemplate.closeBtn=e(t.st.closeMarkup.replace("%title%",t.st.tClose))),(a=n)),t.currTemplate.closeBtn;},_=function(){e.magnificPopup.instance||((t=new C()),t.init(),(e.magnificPopup.instance=t));},P=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1;};(C.prototype={constructor:C,init:function(){var n=navigator.appVersion;(t.isLowIE=t.isIE8=document.all&&!document.addEventListener),(t.isAndroid=/android/gi.test(n)),(t.isIOS=/iphone|ipad|ipod/gi.test(n)),(t.supportsTransition=P()),(t.probablyMobile=t.isAndroid||t.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent)),(i=e(document)),(t.popupsCache={});},open:function(n){var o;if(n.isObj===!1){(t.items=n.items.toArray()),(t.index=0);var a,s=n.items;for(o=0;o(e||b.height());},_setFocus:function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus();},_onFocusIn:function(n){return n.target===t.wrap[0]||e.contains(t.wrap[0],n.target)?void 0:(t._setFocus(),!1);},_parseMarkup:function(t,n,i){var o;i.data&&(n=e.extend(i.data,n)),k(u,[t,n,i]),e.each(n,function(n,i){if(void 0===i||i===!1)return!0;if(((o=n.split("_")),o.length>1)){var r=t.find(g+"-"+o[0]);if(r.length>0){var a=o[1];"replaceWith"===a?r[0]!==i[0]&&r.replaceWith(i):"img"===a?(r.is("img")?r.attr("src",i):r.replaceWith(e("").attr("src",i).attr("class",r.attr("class")))):r.attr(o[1],i);}}else t.find(g+"-"+n).html(i);});},_getScrollbarSize:function(){if(void 0===t.scrollbarSize){var e=document.createElement("div");(e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"),document.body.appendChild(e),(t.scrollbarSize=e.offsetWidth-e.clientWidth),document.body.removeChild(e);} 13 | return t.scrollbarSize;},}),(e.magnificPopup={instance:null,proto:C.prototype,modules:[],open:function(t,n){return _(),(t=t?e.extend(!0,{},t):{}),(t.isObj=!0),(t.index=n||0),this.instance.open(t);},close:function(){return e.magnificPopup.instance&&e.magnificPopup.instance.close();},registerModule:function(t,n){n.options&&(e.magnificPopup.defaults[t]=n.options),e.extend(this.proto,n.proto),this.modules.push(t);},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0,},}),(e.fn.magnificPopup=function(n){_();var i=e(this);if("string"==typeof n) 14 | if("open"===n){var o,r=w?i.data("magnificPopup"):i[0].magnificPopup,a=parseInt(arguments[1],10)||0;r.items?(o=r.items[a]):((o=i),r.delegate&&(o=o.find(r.delegate)),(o=o.eq(a))),t._openClick({mfpEl:o},i,r);}else t.isOpen&&t[n].apply(t,Array.prototype.slice.call(arguments,1));else(n=e.extend(!0,{},n)),w?i.data("magnificPopup",n):(i[0].magnificPopup=n),t.addGroup(i,n);return i;});var S,E,z,O="inline",M=function(){z&&(E.after(z.addClass(S)).detach(),(z=null));};e.magnificPopup.registerModule(O,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){t.types.push(O),I(s+"."+O,function(){M();});},getInline:function(n,i){if((M(),n.src)){var o=t.st.inline,r=e(n.src);if(r.length){var a=r[0].parentNode;a&&a.tagName&&(E||((S=o.hiddenClass),(E=x(S)),(S="mfp-"+S)),(z=r.after(E).detach().removeClass(S))),t.updateStatus("ready");}else t.updateStatus("error",o.tNotFound),(r=e("
"));return(n.inlineElement=r),r;} 15 | return t.updateStatus("ready"),t._parseMarkup(i,{},n),i;},},});var B,L="ajax",H=function(){B&&e(document.body).removeClass(B);},A=function(){H(),t.req&&t.req.abort();};e.magnificPopup.registerModule(L,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){t.types.push(L),(B=t.st.ajax.cursor),I(s+"."+L,A),I("BeforeChange."+L,A);},getAjax:function(n){B&&e(document.body).addClass(B),t.updateStatus("loading");var i=e.extend({url:n.src,success:function(i,o,r){var a={data:i,xhr:r};k("ParseAjax",a),t.appendContent(e(a.data),L),(n.finished=!0),H(),t._setFocus(),setTimeout(function(){t.wrap.addClass(v);},16),t.updateStatus("ready"),k("AjaxContentAdded");},error:function(){H(),(n.finished=n.loadError=!0),t.updateStatus("error",t.st.ajax.tError.replace("%url%",n.src));},},t.st.ajax.settings);return(t.req=e.ajax(i)),"";},},});var F,j=function(n){if(n.data&&void 0!==n.data.title)return n.data.title;var i=t.st.image.titleSrc;if(i){if(e.isFunction(i))return i.call(t,n);if(n.el)return n.el.attr(i)||"";} 16 | return "";};e.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.',},proto:{initImage:function(){var n=t.st.image,i=".image";t.types.push("image"),I(p+i,function(){"image"===t.currItem.type&&n.cursor&&e(document.body).addClass(n.cursor);}),I(s+i,function(){n.cursor&&e(document.body).removeClass(n.cursor),b.off("resize"+g);}),I("Resize"+i,t.resizeImage),t.isLowIE&&I("AfterChange",t.resizeImage);},resizeImage:function(){var e=t.currItem;if(e&&e.img&&t.st.image.verticalFit){var n=0;t.isLowIE&&(n=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",t.wH-n);}},_onImageHasSize:function(e){e.img&&((e.hasSize=!0),F&&clearInterval(F),(e.isCheckingImgSize=!1),k("ImageHasSize",e),e.imgHidden&&(t.content&&t.content.removeClass("mfp-loading"),(e.imgHidden=!1)));},findImageSize:function(e){var n=0,i=e.img[0],o=function(r){F&&clearInterval(F),(F=setInterval(function(){return i.naturalWidth>0?void t._onImageHasSize(e):(n>200&&clearInterval(F),n++,void(3===n?o(10):40===n?o(50):100===n&&o(500)));},r));};o(1);},getImage:function(n,i){var o=0,r=function(){n&&(n.img[0].complete?(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("ready")),(n.hasSize=!0),(n.loaded=!0),k("ImageLoadComplete")):(o++,200>o?setTimeout(r,100):a()));},a=function(){n&&(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("error",s.tError.replace("%url%",n.src))),(n.hasSize=!0),(n.loaded=!0),(n.loadError=!0));},s=t.st.image,l=i.find(".mfp-img");if(l.length){var c=document.createElement("img");(c.className="mfp-img"),n.el&&n.el.find("img").length&&(c.alt=n.el.find("img").attr("alt")),(n.img=e(c).on("load.mfploader",r).on("error.mfploader",a)),(c.src=n.src),l.is("img")&&(n.img=n.img.clone()),(c=n.img[0]),c.naturalWidth>0?(n.hasSize=!0):c.width||(n.hasSize=!1);} 17 | return(t._parseMarkup(i,{title:j(n),img_replaceWith:n.img},n),t.resizeImage(),n.hasSize?(F&&clearInterval(F),n.loadError?(i.addClass("mfp-loading"),t.updateStatus("error",s.tError.replace("%url%",n.src))):(i.removeClass("mfp-loading"),t.updateStatus("ready")),i):(t.updateStatus("loading"),(n.loading=!0),n.hasSize||((n.imgHidden=!0),i.addClass("mfp-loading"),t.findImageSize(n)),i));},},});var N,W=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N;};e.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img");},},proto:{initZoom:function(){var e,n=t.st.zoom,i=".zoom";if(n.enabled&&t.supportsTransition){var o,r,a=n.duration,c=function(e){var t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),i="all "+n.duration/1e3+"s "+n.easing,o={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},r="transition";return(o["-webkit-"+r]=o["-moz-"+r]=o["-o-"+r]=o[r]=i),t.css(o),t;},d=function(){t.content.css("visibility","visible");};I("BuildControls"+i,function(){if(t._allowZoom()){if((clearTimeout(o),t.content.css("visibility","hidden"),(e=t._getItemToZoom()),!e))return void d();(r=c(e)),r.css(t._getOffset()),t.wrap.append(r),(o=setTimeout(function(){r.css(t._getOffset(!0)),(o=setTimeout(function(){d(),setTimeout(function(){r.remove(),(e=r=null),k("ZoomAnimationEnded");},16);},a));},16));}}),I(l+i,function(){if(t._allowZoom()){if((clearTimeout(o),(t.st.removalDelay=a),!e)){if(((e=t._getItemToZoom()),!e))return;r=c(e);} 18 | r.css(t._getOffset(!0)),t.wrap.append(r),t.content.css("visibility","hidden"),setTimeout(function(){r.css(t._getOffset());},16);}}),I(s+i,function(){t._allowZoom()&&(d(),r&&r.remove(),(e=null));});}},_allowZoom:function(){return "image"===t.currItem.type;},_getItemToZoom:function(){return t.currItem.hasSize?t.currItem.img:!1;},_getOffset:function(n){var i;i=n?t.currItem.img:t.st.zoom.opener(t.currItem.el||t.currItem);var o=i.offset(),r=parseInt(i.css("padding-top"),10),a=parseInt(i.css("padding-bottom"),10);o.top-=e(window).scrollTop()-r;var s={width:i.width(),height:(w?i.innerHeight():i[0].offsetHeight)-a-r};return W()?(s["-moz-transform"]=s.transform="translate("+o.left+"px,"+o.top+"px)"):((s.left=o.left),(s.top=o.top)),s;},},});var Z="iframe",q="//about:blank",R=function(e){if(t.currTemplate[Z]){var n=t.currTemplate[Z].find("iframe");n.length&&(e||(n[0].src=q),t.isIE8&&n.css("display",e?"block":"none"));}};e.magnificPopup.registerModule(Z,{options:{markup:'
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"},},},proto:{initIframe:function(){t.types.push(Z),I("BeforeChange",function(e,t,n){t!==n&&(t===Z?R():n===Z&&R(!0));}),I(s+"."+Z,function(){R();});},getIframe:function(n,i){var o=n.src,r=t.st.iframe;e.each(r.patterns,function(){return o.indexOf(this.index)>-1?(this.id&&(o="string"==typeof this.id?o.substr(o.lastIndexOf(this.id)+this.id.length,o.length):this.id.call(this,o)),(o=this.src.replace("%id%",o)),!1):void 0;});var a={};return r.srcAction&&(a[r.srcAction]=o),t._parseMarkup(i,a,n),t.updateStatus("ready"),i;},},});var K=function(e){var n=t.items.length;return e>n-1?e-n:0>e?n+e:e;},D=function(e,t,n){return e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n);};e.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%",},proto:{initGallery:function(){var n=t.st.gallery,o=".mfp-gallery";return((t.direction=!0),n&&n.enabled?((r+=" mfp-gallery"),I(p+o,function(){n.navigateByImgClick&&t.wrap.on("click"+o,".mfp-img",function(){return t.items.length>1?(t.next(),!1):void 0;}),i.on("keydown"+o,function(e){37===e.keyCode?t.prev():39===e.keyCode&&t.next();});}),I("UpdateStatus"+o,function(e,n){n.text&&(n.text=D(n.text,t.currItem.index,t.items.length));}),I(u+o,function(e,i,o,r){var a=t.items.length;o.counter=a>1?D(n.tCounter,r.index,a):"";}),I("BuildControls"+o,function(){if(t.items.length>1&&n.arrows&&!t.arrowleft){var i=n.arrowMarkup,o=(t.arrowLeft=e(i.replace(/%title%/gi,n.tPrev).replace(/%dir%/gi,"left")).addClass(y)),r=(t.arrowRight=e(i.replace(/%title%/gi,n.tNext).replace(/%dir%/gi,"right")).addClass(y));o.click(function(){t.prev();}),r.click(function(){t.next();}),t.container.append(o.add(r));}}),I(f+o,function(){t._preloadTimeout&&clearTimeout(t._preloadTimeout),(t._preloadTimeout=setTimeout(function(){t.preloadNearbyImages(),(t._preloadTimeout=null);},16));}),void I(s+o,function(){i.off(o),t.wrap.off("click"+o),(t.arrowRight=t.arrowLeft=null);})):!1);},next:function(){(t.direction=!0),(t.index=K(t.index+1)),t.updateItemHTML();},prev:function(){(t.direction=!1),(t.index=K(t.index-1)),t.updateItemHTML();},goTo:function(e){(t.direction=e>=t.index),(t.index=e),t.updateItemHTML();},preloadNearbyImages:function(){var e,n=t.st.gallery.preload,i=Math.min(n[0],t.items.length),o=Math.min(n[1],t.items.length);for(e=1;e<=(t.direction?o:i);e++)t._preloadItem(t.index+e);for(e=1;e<=(t.direction?i:o);e++)t._preloadItem(t.index-e);},_preloadItem:function(n){if(((n=K(n)),!t.items[n].preloaded)){var i=t.items[n];i.parsed||(i=t.parseEl(n)),k("LazyLoad",i),"image"===i.type&&(i.img=e('').on("load.mfploader",function(){i.hasSize=!0;}).on("error.mfploader",function(){(i.hasSize=!0),(i.loadError=!0),k("LazyLoadError",i);}).attr("src",i.src)),(i.preloaded=!0);}},},});var U="retina";e.magnificPopup.registerModule(U,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return "@2x"+e;});},ratio:1,},proto:{initRetina:function(){if(window.devicePixelRatio>1){var e=t.st.retina,n=e.ratio;(n=isNaN(n)?n():n),n>1&&(I("ImageHasSize."+U,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/n,width:"100%"});}),I("ElementParse."+U,function(t,i){i.src=e.replaceSrc(i,n);}));}},},}),_();}); -------------------------------------------------------------------------------- /static/assets/css/hamburgers.css: -------------------------------------------------------------------------------- 1 | /*!* Hamburgers 2 | * @description Tasty CSS-animated hamburgers 3 | * @author Jonathan Suh @jonsuh 4 | * @site https://jonsuh.com/hamburgers 5 | * @link https://github.com/jonsuh/hamburgers*/.hamburger{font:inherit;display:inline-block;overflow:visible;margin:0;padding:15px;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0;background-color:transparent}.hamburger.is-active:hover,.hamburger:hover{opacity:1}.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner:after,.hamburger.is-active .hamburger-inner:before{background-color:#000}.hamburger-box{position:relative;display:inline-block;width:40px;height:24px}.hamburger-inner{top:50%;display:block;margin-top:-2px}.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before{position:absolute;width:40px;height:4px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform;border-radius:4px;background-color:#000}.hamburger-inner:after,.hamburger-inner:before{display:block;content:""}.hamburger-inner:before{top:-10px}.hamburger-inner:after{bottom:-10px}.hamburger--3dx .hamburger-box{perspective:80px}.hamburger--3dx .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx .hamburger-inner:after,.hamburger--3dx .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx.is-active .hamburger-inner{transform:rotateY(180deg);background-color:transparent!important}.hamburger--3dx.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dx.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dx-r .hamburger-box{perspective:80px}.hamburger--3dx-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx-r .hamburger-inner:after,.hamburger--3dx-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dx-r.is-active .hamburger-inner{transform:rotateY(-180deg);background-color:transparent!important}.hamburger--3dx-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dx-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dy .hamburger-box{perspective:80px}.hamburger--3dy .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy .hamburger-inner:after,.hamburger--3dy .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy.is-active .hamburger-inner{transform:rotateX(-180deg);background-color:transparent!important}.hamburger--3dy.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dy.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dy-r .hamburger-box{perspective:80px}.hamburger--3dy-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy-r .hamburger-inner:after,.hamburger--3dy-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dy-r.is-active .hamburger-inner{transform:rotateX(180deg);background-color:transparent!important}.hamburger--3dy-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dy-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dxy .hamburger-box{perspective:80px}.hamburger--3dxy .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy .hamburger-inner:after,.hamburger--3dxy .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy.is-active .hamburger-inner{transform:rotateX(180deg) rotateY(180deg);background-color:transparent!important}.hamburger--3dxy.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dxy.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--3dxy-r .hamburger-box{perspective:80px}.hamburger--3dxy-r .hamburger-inner{transition:transform .15s cubic-bezier(.645,.045,.355,1),background-color 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy-r .hamburger-inner:after,.hamburger--3dxy-r .hamburger-inner:before{transition:transform 0s cubic-bezier(.645,.045,.355,1) .1s}.hamburger--3dxy-r.is-active .hamburger-inner{transform:rotateX(180deg) rotateY(180deg) rotate(-180deg);background-color:transparent!important}.hamburger--3dxy-r.is-active .hamburger-inner:before{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--3dxy-r.is-active .hamburger-inner:after{transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--arrow.is-active .hamburger-inner:before{transform:translate3d(-8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrow.is-active .hamburger-inner:after{transform:translate3d(-8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrow-r.is-active .hamburger-inner:before{transform:translate3d(8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrow-r.is-active .hamburger-inner:after{transform:translate3d(8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowalt .hamburger-inner:before{transition:top .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt .hamburger-inner:after{transition:bottom .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt.is-active .hamburger-inner:before{top:0;transition:top .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(-8px,-10px,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowalt.is-active .hamburger-inner:after{bottom:0;transition:bottom .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(-8px,10px,0) rotate(45deg) scaleX(.7)}.hamburger--arrowalt-r .hamburger-inner:before{transition:top .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt-r .hamburger-inner:after{transition:bottom .1s ease .1s,transform .1s cubic-bezier(.165,.84,.44,1)}.hamburger--arrowalt-r.is-active .hamburger-inner:before{top:0;transition:top .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(8px,-10px,0) rotate(45deg) scaleX(.7)}.hamburger--arrowalt-r.is-active .hamburger-inner:after{bottom:0;transition:bottom .1s ease,transform .1s cubic-bezier(.895,.03,.685,.22) .1s;transform:translate3d(8px,10px,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowturn.is-active .hamburger-inner{transform:rotate(-180deg)}.hamburger--arrowturn.is-active .hamburger-inner:before{transform:translate3d(8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--arrowturn.is-active .hamburger-inner:after{transform:translate3d(8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowturn-r.is-active .hamburger-inner{transform:rotate(-180deg)}.hamburger--arrowturn-r.is-active .hamburger-inner:before{transform:translate3d(-8px,0,0) rotate(-45deg) scaleX(.7)}.hamburger--arrowturn-r.is-active .hamburger-inner:after{transform:translate3d(-8px,0,0) rotate(45deg) scaleX(.7)}.hamburger--boring .hamburger-inner,.hamburger--boring .hamburger-inner:after,.hamburger--boring .hamburger-inner:before{transition-property:none}.hamburger--boring.is-active .hamburger-inner{transform:rotate(45deg)}.hamburger--boring.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--boring.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg)}.hamburger--collapse .hamburger-inner{top:auto;bottom:0;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.13s}.hamburger--collapse .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity .1s linear}.hamburger--collapse .hamburger-inner:before{transition:top .12s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse.is-active .hamburger-inner{transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--collapse.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s linear .22s;opacity:0}.hamburger--collapse.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .16s,transform .13s cubic-bezier(.215,.61,.355,1) .25s;transform:rotate(-90deg)}.hamburger--collapse-r .hamburger-inner{top:auto;bottom:0;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.13s}.hamburger--collapse-r .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity .1s linear}.hamburger--collapse-r .hamburger-inner:before{transition:top .12s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse-r.is-active .hamburger-inner{transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,-10px,0) rotate(45deg)}.hamburger--collapse-r.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s linear .22s;opacity:0}.hamburger--collapse-r.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .16s,transform .13s cubic-bezier(.215,.61,.355,1) .25s;transform:rotate(90deg)}.hamburger--elastic .hamburger-inner{top:2px;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55);transition-duration:.275s}.hamburger--elastic .hamburger-inner:before{top:10px;transition:opacity .125s ease .275s}.hamburger--elastic .hamburger-inner:after{top:20px;transition:transform .275s cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic.is-active .hamburger-inner{transition-delay:75ms;transform:translate3d(0,10px,0) rotate(135deg)}.hamburger--elastic.is-active .hamburger-inner:before{transition-delay:0s;opacity:0}.hamburger--elastic.is-active .hamburger-inner:after{transition-delay:75ms;transform:translate3d(0,-20px,0) rotate(-270deg)}.hamburger--elastic-r .hamburger-inner{top:2px;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55);transition-duration:.275s}.hamburger--elastic-r .hamburger-inner:before{top:10px;transition:opacity .125s ease .275s}.hamburger--elastic-r .hamburger-inner:after{top:20px;transition:transform .275s cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic-r.is-active .hamburger-inner{transition-delay:75ms;transform:translate3d(0,10px,0) rotate(-135deg)}.hamburger--elastic-r.is-active .hamburger-inner:before{transition-delay:0s;opacity:0}.hamburger--elastic-r.is-active .hamburger-inner:after{transition-delay:75ms;transform:translate3d(0,-20px,0) rotate(270deg)}.hamburger--emphatic{overflow:hidden}.hamburger--emphatic .hamburger-inner{transition:background-color .125s ease-in .175s}.hamburger--emphatic .hamburger-inner:before{left:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,left .125s ease-in .175s}.hamburger--emphatic .hamburger-inner:after{top:10px;right:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,right .125s ease-in .175s}.hamburger--emphatic.is-active .hamburger-inner{transition-delay:0s;transition-timing-function:ease-out;background-color:transparent!important}.hamburger--emphatic.is-active .hamburger-inner:before{top:-80px;left:-80px;transition:left .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(80px,80px,0) rotate(45deg)}.hamburger--emphatic.is-active .hamburger-inner:after{top:-80px;right:-80px;transition:right .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(-80px,80px,0) rotate(-45deg)}.hamburger--emphatic-r{overflow:hidden}.hamburger--emphatic-r .hamburger-inner{transition:background-color .125s ease-in .175s}.hamburger--emphatic-r .hamburger-inner:before{left:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,left .125s ease-in .175s}.hamburger--emphatic-r .hamburger-inner:after{top:10px;right:0;transition:transform .125s cubic-bezier(.6,.04,.98,.335),top .05s linear .125s,right .125s ease-in .175s}.hamburger--emphatic-r.is-active .hamburger-inner{transition-delay:0s;transition-timing-function:ease-out;background-color:transparent!important}.hamburger--emphatic-r.is-active .hamburger-inner:before{top:80px;left:-80px;transition:left .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(80px,-80px,0) rotate(-45deg)}.hamburger--emphatic-r.is-active .hamburger-inner:after{top:80px;right:-80px;transition:right .125s ease-out,top .05s linear .125s,transform .125s cubic-bezier(.075,.82,.165,1) .175s;transform:translate3d(-80px,-80px,0) rotate(45deg)}.hamburger--minus .hamburger-inner:after,.hamburger--minus .hamburger-inner:before{transition:bottom .08s ease-out 0s,top .08s ease-out 0s,opacity 0s linear}.hamburger--minus.is-active .hamburger-inner:after,.hamburger--minus.is-active .hamburger-inner:before{transition:bottom .08s ease-out,top .08s ease-out,opacity 0s linear .08s;opacity:0}.hamburger--minus.is-active .hamburger-inner:before{top:0}.hamburger--minus.is-active .hamburger-inner:after{bottom:0}.hamburger--slider .hamburger-inner{top:2px}.hamburger--slider .hamburger-inner:before{top:10px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform,opacity}.hamburger--slider .hamburger-inner:after{top:20px}.hamburger--slider.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--slider.is-active .hamburger-inner:before{transform:rotate(-45deg) translate3d(-5.71429px,-6px,0);opacity:0}.hamburger--slider.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(-90deg)}.hamburger--slider-r .hamburger-inner{top:2px}.hamburger--slider-r .hamburger-inner:before{top:10px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform,opacity}.hamburger--slider-r .hamburger-inner:after{top:20px}.hamburger--slider-r.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(-45deg)}.hamburger--slider-r.is-active .hamburger-inner:before{transform:rotate(45deg) translate3d(5.71429px,-6px,0);opacity:0}.hamburger--slider-r.is-active .hamburger-inner:after{transform:translate3d(0,-20px,0) rotate(90deg)}.hamburger--spin .hamburger-inner{transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.22s}.hamburger--spin .hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in}.hamburger--spin .hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin.is-active .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(225deg)}.hamburger--spin.is-active .hamburger-inner:before{top:0;transition:top .1s ease-out,opacity .1s ease-out .12s;opacity:0}.hamburger--spin.is-active .hamburger-inner:after{bottom:0;transition:bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(-90deg)}.hamburger--spin-r .hamburger-inner{transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.22s}.hamburger--spin-r .hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in}.hamburger--spin-r .hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin-r.is-active .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(-225deg)}.hamburger--spin-r.is-active .hamburger-inner:before{top:0;transition:top .1s ease-out,opacity .1s ease-out .12s;opacity:0}.hamburger--spin-r.is-active .hamburger-inner:after{bottom:0;transition:bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(90deg)}.hamburger--spring .hamburger-inner{top:2px;transition:background-color 0s linear .13s}.hamburger--spring .hamburger-inner:before{top:10px;transition:top .1s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring .hamburger-inner:after{top:20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring.is-active .hamburger-inner{transition-delay:.22s;background-color:transparent!important}.hamburger--spring.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .15s,transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:translate3d(0,10px,0) rotate(45deg)}.hamburger--spring.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:translate3d(0,10px,0) rotate(-45deg)}.hamburger--spring-r .hamburger-inner{top:auto;bottom:0;transition-delay:0s;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.13s}.hamburger--spring-r .hamburger-inner:after{top:-20px;transition:top .2s cubic-bezier(.33333,.66667,.66667,1) .2s,opacity 0s linear}.hamburger--spring-r .hamburger-inner:before{transition:top .1s cubic-bezier(.33333,.66667,.66667,1) .2s,transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--spring-r.is-active .hamburger-inner{transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate3d(0,-10px,0) rotate(-45deg)}.hamburger--spring-r.is-active .hamburger-inner:after{top:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity 0s linear .22s;opacity:0}.hamburger--spring-r.is-active .hamburger-inner:before{top:0;transition:top .1s cubic-bezier(.33333,0,.66667,.33333) .15s,transform .13s cubic-bezier(.215,.61,.355,1) .22s;transform:rotate(90deg)}.hamburger--stand .hamburger-inner{transition:transform 75ms cubic-bezier(.55,.055,.675,.19) .15s,background-color 0s linear 75ms}.hamburger--stand .hamburger-inner:before{transition:top 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand .hamburger-inner:after{transition:bottom 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand.is-active .hamburger-inner{transition:transform 75ms cubic-bezier(.215,.61,.355,1) 0s,background-color 0s linear .15s;transform:rotate(90deg);background-color:transparent!important}.hamburger--stand.is-active .hamburger-inner:before{top:0;transition:top 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(-45deg)}.hamburger--stand.is-active .hamburger-inner:after{bottom:0;transition:bottom 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(45deg)}.hamburger--stand-r .hamburger-inner{transition:transform 75ms cubic-bezier(.55,.055,.675,.19) .15s,background-color 0s linear 75ms}.hamburger--stand-r .hamburger-inner:before{transition:top 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand-r .hamburger-inner:after{transition:bottom 75ms ease-in 75ms,transform 75ms cubic-bezier(.55,.055,.675,.19) 0s}.hamburger--stand-r.is-active .hamburger-inner{transition:transform 75ms cubic-bezier(.215,.61,.355,1) 0s,background-color 0s linear .15s;transform:rotate(-90deg);background-color:transparent!important}.hamburger--stand-r.is-active .hamburger-inner:before{top:0;transition:top 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(-45deg)}.hamburger--stand-r.is-active .hamburger-inner:after{bottom:0;transition:bottom 75ms ease-out .1s,transform 75ms cubic-bezier(.215,.61,.355,1) .15s;transform:rotate(45deg)}.hamburger--squeeze .hamburger-inner{transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:75ms}.hamburger--squeeze .hamburger-inner:before{transition:top 75ms ease .12s,opacity 75ms ease}.hamburger--squeeze .hamburger-inner:after{transition:bottom 75ms ease .12s,transform 75ms cubic-bezier(.55,.055,.675,.19)}.hamburger--squeeze.is-active .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(45deg)}.hamburger--squeeze.is-active .hamburger-inner:before{top:0;transition:top 75ms ease,opacity 75ms ease .12s;opacity:0}.hamburger--squeeze.is-active .hamburger-inner:after{bottom:0;transition:bottom 75ms ease,transform 75ms cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(-90deg)}.hamburger--vortex .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transition-duration:.2s}.hamburger--vortex .hamburger-inner:after,.hamburger--vortex .hamburger-inner:before{transition-delay:.1s;transition-timing-function:linear;transition-duration:0s}.hamburger--vortex .hamburger-inner:before{transition-property:top,opacity}.hamburger--vortex .hamburger-inner:after{transition-property:bottom,transform}.hamburger--vortex.is-active .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transform:rotate(765deg)}.hamburger--vortex.is-active .hamburger-inner:after,.hamburger--vortex.is-active .hamburger-inner:before{transition-delay:0s}.hamburger--vortex.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--vortex.is-active .hamburger-inner:after{bottom:0;transform:rotate(90deg)}.hamburger--vortex-r .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transition-duration:.2s}.hamburger--vortex-r .hamburger-inner:after,.hamburger--vortex-r .hamburger-inner:before{transition-delay:.1s;transition-timing-function:linear;transition-duration:0s}.hamburger--vortex-r .hamburger-inner:before{transition-property:top,opacity}.hamburger--vortex-r .hamburger-inner:after{transition-property:bottom,transform}.hamburger--vortex-r.is-active .hamburger-inner{transition-timing-function:cubic-bezier(.19,1,.22,1);transform:rotate(-765deg)}.hamburger--vortex-r.is-active .hamburger-inner:after,.hamburger--vortex-r.is-active .hamburger-inner:before{transition-delay:0s}.hamburger--vortex-r.is-active .hamburger-inner:before{top:0;opacity:0}.hamburger--vortex-r.is-active .hamburger-inner:after{bottom:0;transform:rotate(-90deg)} -------------------------------------------------------------------------------- /static/assets/js/particle.js: -------------------------------------------------------------------------------- 1 | if($("#particles-js").length){function hexToRgb(e){var a=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(a,function(e,a,t,i){return a+a+t+t+i+i;});var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null;} 2 | function clamp(e,a,t){return Math.min(Math.max(e,a),t);} 3 | function isInArray(e,a){return a.indexOf(e)>-1;} 4 | var pJS=function(e,a){var t=document.querySelector("#"+e+" > .particles-js-canvas-el");this.pJS={canvas:{el:t,w:t.offsetWidth,h:t.offsetHeight},particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}},array:[],},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:0.4},repulse:{distance:200,duration:0.4},push:{particles_nb:4},remove:{particles_nb:2}},mouse:{},},retina_detect:!1,fn:{interact:{},modes:{},vendors:{}},tmp:{},};var i=this.pJS;a&&Object.deepExtend(i,a),(i.tmp.obj={size_value:i.particles.size.value,size_anim_speed:i.particles.size.anim.speed,move_speed:i.particles.move.speed,line_linked_distance:i.particles.line_linked.distance,line_linked_width:i.particles.line_linked.width,mode_grab_distance:i.interactivity.modes.grab.distance,mode_bubble_distance:i.interactivity.modes.bubble.distance,mode_bubble_size:i.interactivity.modes.bubble.size,mode_repulse_distance:i.interactivity.modes.repulse.distance,}),(i.fn.retinaInit=function(){i.retina_detect&&window.devicePixelRatio>1?((i.canvas.pxratio=window.devicePixelRatio),(i.tmp.retina=!0)):((i.canvas.pxratio=1),(i.tmp.retina=!1)),(i.canvas.w=i.canvas.el.offsetWidth*i.canvas.pxratio),(i.canvas.h=i.canvas.el.offsetHeight*i.canvas.pxratio),(i.particles.size.value=i.tmp.obj.size_value*i.canvas.pxratio),(i.particles.size.anim.speed=i.tmp.obj.size_anim_speed*i.canvas.pxratio),(i.particles.move.speed=i.tmp.obj.move_speed*i.canvas.pxratio),(i.particles.line_linked.distance=i.tmp.obj.line_linked_distance*i.canvas.pxratio),(i.interactivity.modes.grab.distance=i.tmp.obj.mode_grab_distance*i.canvas.pxratio),(i.interactivity.modes.bubble.distance=i.tmp.obj.mode_bubble_distance*i.canvas.pxratio),(i.particles.line_linked.width=i.tmp.obj.line_linked_width*i.canvas.pxratio),(i.interactivity.modes.bubble.size=i.tmp.obj.mode_bubble_size*i.canvas.pxratio),(i.interactivity.modes.repulse.distance=i.tmp.obj.mode_repulse_distance*i.canvas.pxratio);}),(i.fn.canvasInit=function(){i.canvas.ctx=i.canvas.el.getContext("2d");}),(i.fn.canvasSize=function(){(i.canvas.el.width=i.canvas.w),(i.canvas.el.height=i.canvas.h),i&&i.interactivity.events.resize&&window.addEventListener("resize",function(){(i.canvas.w=i.canvas.el.offsetWidth),(i.canvas.h=i.canvas.el.offsetHeight),i.tmp.retina&&((i.canvas.w*=i.canvas.pxratio),(i.canvas.h*=i.canvas.pxratio)),(i.canvas.el.width=i.canvas.w),(i.canvas.el.height=i.canvas.h),i.particles.move.enable||(i.fn.particlesEmpty(),i.fn.particlesCreate(),i.fn.particlesDraw(),i.fn.vendors.densityAutoParticles()),i.fn.vendors.densityAutoParticles();});}),(i.fn.canvasPaint=function(){i.canvas.ctx.fillRect(0,0,i.canvas.w,i.canvas.h);}),(i.fn.canvasClear=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h);}),(i.fn.particle=function(e,a,t){if(((this.radius=(i.particles.size.random?Math.random():1)*i.particles.size.value),i.particles.size.anim.enable&&((this.size_status=!1),(this.vs=i.particles.size.anim.speed/100),i.particles.size.anim.sync||(this.vs=this.vs*Math.random())),(this.x=t?t.x:Math.random()*i.canvas.w),(this.y=t?t.y:Math.random()*i.canvas.h),this.x>i.canvas.w-2*this.radius?(this.x=this.x-this.radius):this.x<2*this.radius&&(this.x=this.x+this.radius),this.y>i.canvas.h-2*this.radius?(this.y=this.y-this.radius):this.y<2*this.radius&&(this.y=this.y+this.radius),i.particles.move.bounce&&i.fn.vendors.checkOverlap(this,t),(this.color={}),"object"==typeof e.value)) 5 | if(e.value instanceof Array){var s=e.value[Math.floor(Math.random()*i.particles.color.value.length)];this.color.rgb=hexToRgb(s);}else 6 | void 0!=e.value.r&&void 0!=e.value.g&&void 0!=e.value.b&&(this.color.rgb={r:e.value.r,g:e.value.g,b:e.value.b}),void 0!=e.value.h&&void 0!=e.value.s&&void 0!=e.value.l&&(this.color.hsl={h:e.value.h,s:e.value.s,l:e.value.l});else 7 | "random"==e.value?(this.color.rgb={r:Math.floor(256*Math.random())+0,g:Math.floor(256*Math.random())+0,b:Math.floor(256*Math.random())+0}):"string"==typeof e.value&&((this.color=e),(this.color.rgb=hexToRgb(this.color.value)));(this.opacity=(i.particles.opacity.random?Math.random():1)*i.particles.opacity.value),i.particles.opacity.anim.enable&&((this.opacity_status=!1),(this.vo=i.particles.opacity.anim.speed/100),i.particles.opacity.anim.sync||(this.vo=this.vo*Math.random()));var n={};switch(i.particles.move.direction){case "top":n={x:0,y:-1};break;case "top-right":n={x:0.5,y:-0.5};break;case "right":n={x:1,y:-0};break;case "bottom-right":n={x:0.5,y:0.5};break;case "bottom":n={x:0,y:1};break;case "bottom-left":n={x:-0.5,y:1};break;case "left":n={x:-1,y:0};break;case "top-left":n={x:-0.5,y:-0.5};break;default:n={x:0,y:0};} 8 | i.particles.move.straight?((this.vx=n.x),(this.vy=n.y),i.particles.move.random&&((this.vx=this.vx*Math.random()),(this.vy=this.vy*Math.random()))):((this.vx=n.x+Math.random()-0.5),(this.vy=n.y+Math.random()-0.5)),(this.vx_i=this.vx),(this.vy_i=this.vy);var r=i.particles.shape.type;if("object"==typeof r){if(r instanceof Array){var c=r[Math.floor(Math.random()*r.length)];this.shape=c;}}else this.shape=r;if("image"==this.shape){var o=i.particles.shape;(this.img={src:o.image.src,ratio:o.image.width/o.image.height}),this.img.ratio||(this.img.ratio=1),"svg"==i.tmp.img_type&&void 0!=i.tmp.source_svg&&(i.fn.vendors.createSvgImg(this),i.tmp.pushing&&(this.img.loaded=!1));}}),(i.fn.particle.prototype.draw=function(){function e(){i.canvas.ctx.drawImage(r,a.x-t,a.y-t,2*t,(2*t)/a.img.ratio);} 9 | var a=this;if(void 0!=a.radius_bubble)var t=a.radius_bubble;else var t=a.radius;if(void 0!=a.opacity_bubble)var s=a.opacity_bubble;else var s=a.opacity;if(a.color.rgb)var n="rgba("+a.color.rgb.r+","+a.color.rgb.g+","+a.color.rgb.b+","+s+")";else var n="hsla("+a.color.hsl.h+","+a.color.hsl.s+"%,"+a.color.hsl.l+"%,"+s+")";switch(((i.canvas.ctx.fillStyle=n),i.canvas.ctx.beginPath(),a.shape)){case "circle":i.canvas.ctx.arc(a.x,a.y,t,0,2*Math.PI,!1);break;case "edge":i.canvas.ctx.rect(a.x-t,a.y-t,2*t,2*t);break;case "triangle":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t,a.y+t/1.66,2*t,3,2);break;case "polygon":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t/(i.particles.shape.polygon.nb_sides/3.5),a.y-t/0.76,(2.66*t)/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,1);break;case "star":i.fn.vendors.drawShape(i.canvas.ctx,a.x-(2*t)/(i.particles.shape.polygon.nb_sides/4),a.y-t/1.52,(2*t*2.66)/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,2);break;case "image":if("svg"==i.tmp.img_type)var r=a.img.obj;else var r=i.tmp.img_obj;r&&e();} 10 | i.canvas.ctx.closePath(),i.particles.shape.stroke.width>0&&((i.canvas.ctx.strokeStyle=i.particles.shape.stroke.color),(i.canvas.ctx.lineWidth=i.particles.shape.stroke.width),i.canvas.ctx.stroke()),i.canvas.ctx.fill();}),(i.fn.particlesCreate=function(){for(var e=0;e=i.particles.opacity.value&&(a.opacity_status=!1),(a.opacity+=a.vo)):(a.opacity<=i.particles.opacity.anim.opacity_min&&(a.opacity_status=!0),(a.opacity-=a.vo)),a.opacity<0&&(a.opacity=0)),i.particles.size.anim.enable&&(1==a.size_status?(a.radius>=i.particles.size.value&&(a.size_status=!1),(a.radius+=a.vs)):(a.radius<=i.particles.size.anim.size_min&&(a.size_status=!0),(a.radius-=a.vs)),a.radius<0&&(a.radius=0)),"bounce"==i.particles.move.out_mode)) 12 | var s={x_left:a.radius,x_right:i.canvas.w,y_top:a.radius,y_bottom:i.canvas.h};else var s={x_left:-a.radius,x_right:i.canvas.w+a.radius,y_top:-a.radius,y_bottom:i.canvas.h+a.radius};switch((a.x-a.radius>i.canvas.w?((a.x=s.x_left),(a.y=Math.random()*i.canvas.h)):a.x+a.radius<0&&((a.x=s.x_right),(a.y=Math.random()*i.canvas.h)),a.y-a.radius>i.canvas.h?((a.y=s.y_top),(a.x=Math.random()*i.canvas.w)):a.y+a.radius<0&&((a.y=s.y_bottom),(a.x=Math.random()*i.canvas.w)),i.particles.move.out_mode)){case "bounce":a.x+a.radius>i.canvas.w?(a.vx=-a.vx):a.x-a.radius<0&&(a.vx=-a.vx),a.y+a.radius>i.canvas.h?(a.vy=-a.vy):a.y-a.radius<0&&(a.vy=-a.vy);} 13 | if((isInArray("grab",i.interactivity.events.onhover.mode)&&i.fn.modes.grabParticle(a),(isInArray("bubble",i.interactivity.events.onhover.mode)||isInArray("bubble",i.interactivity.events.onclick.mode))&&i.fn.modes.bubbleParticle(a),(isInArray("repulse",i.interactivity.events.onhover.mode)||isInArray("repulse",i.interactivity.events.onclick.mode))&&i.fn.modes.repulseParticle(a),i.particles.line_linked.enable||i.particles.move.attract.enable)) 14 | for(var n=e+1;n0){var c=i.particles.line_linked.color_rgb_line;(i.canvas.ctx.strokeStyle="rgba("+c.r+","+c.g+","+c.b+","+r+")"),(i.canvas.ctx.lineWidth=i.particles.line_linked.width),i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(a.x,a.y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath();}}}),(i.fn.interact.attractParticles=function(e,a){var t=e.x-a.x,s=e.y-a.y,n=Math.sqrt(t*t+s*s);if(n<=i.particles.line_linked.distance){var r=t/(1e3*i.particles.move.attract.rotateX),c=s/(1e3*i.particles.move.attract.rotateY);(e.vx-=r),(e.vy-=c),(a.vx+=r),(a.vy+=c);}}),(i.fn.interact.bounceParticles=function(e,a){var t=e.x-a.x,i=e.y-a.y,s=Math.sqrt(t*t+i*i),n=e.radius+a.radius;n>=s&&((e.vx=-e.vx),(e.vy=-e.vy),(a.vx=-a.vx),(a.vy=-a.vy));}),(i.fn.modes.pushParticles=function(e,a){i.tmp.pushing=!0;for(var t=0;e>t;t++) 15 | i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value,{x:a?a.pos_x:Math.random()*i.canvas.w,y:a?a.pos_y:Math.random()*i.canvas.h})),t==e-1&&(i.particles.move.enable||i.fn.particlesDraw(),(i.tmp.pushing=!1));}),(i.fn.modes.removeParticles=function(e){i.particles.array.splice(0,e),i.particles.move.enable||i.fn.particlesDraw();}),(i.fn.modes.bubbleParticle=function(e){function a(){(e.opacity_bubble=e.opacity),(e.radius_bubble=e.radius);} 16 | function t(a,t,s,n,c){if(a!=t) 17 | if(i.tmp.bubble_duration_end){if(void 0!=s){var o=n-(p*(n-a))/i.interactivity.modes.bubble.duration,l=a-o;(d=a+l),"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d);}}else if(r<=i.interactivity.modes.bubble.distance){if(void 0!=s)var v=s;else var v=n;if(v!=a){var d=n-(p*(n-a))/i.interactivity.modes.bubble.duration;"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d);}}else "size"==c&&(e.radius_bubble=void 0),"opacity"==c&&(e.opacity_bubble=void 0);} 18 | if(i.interactivity.events.onhover.enable&&isInArray("bubble",i.interactivity.events.onhover.mode)){var s=e.x-i.interactivity.mouse.pos_x,n=e.y-i.interactivity.mouse.pos_y,r=Math.sqrt(s*s+n*n),c=1-r/i.interactivity.modes.bubble.distance;if(r<=i.interactivity.modes.bubble.distance){if(c>=0&&"mousemove"==i.interactivity.status){if(i.interactivity.modes.bubble.size!=i.particles.size.value) 19 | if(i.interactivity.modes.bubble.size>i.particles.size.value){var o=e.radius+i.interactivity.modes.bubble.size*c;o>=0&&(e.radius_bubble=o);}else{var l=e.radius-i.interactivity.modes.bubble.size,o=e.radius-l*c;o>0?(e.radius_bubble=o):(e.radius_bubble=0);} 20 | if(i.interactivity.modes.bubble.opacity!=i.particles.opacity.value) 21 | if(i.interactivity.modes.bubble.opacity>i.particles.opacity.value){var v=i.interactivity.modes.bubble.opacity*c;v>e.opacity&&v<=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v);}else{var v=e.opacity-(i.particles.opacity.value-i.interactivity.modes.bubble.opacity)*c;v=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v);}}}else a();"mouseleave"==i.interactivity.status&&a();}else if(i.interactivity.events.onclick.enable&&isInArray("bubble",i.interactivity.events.onclick.mode)){if(i.tmp.bubble_clicking){var s=e.x-i.interactivity.mouse.click_pos_x,n=e.y-i.interactivity.mouse.click_pos_y,r=Math.sqrt(s*s+n*n),p=(new Date().getTime()-i.interactivity.mouse.click_time)/1e3;p>i.interactivity.modes.bubble.duration&&(i.tmp.bubble_duration_end=!0),p>2*i.interactivity.modes.bubble.duration&&((i.tmp.bubble_clicking=!1),(i.tmp.bubble_duration_end=!1));} 22 | i.tmp.bubble_clicking&&(t(i.interactivity.modes.bubble.size,i.particles.size.value,e.radius_bubble,e.radius,"size"),t(i.interactivity.modes.bubble.opacity,i.particles.opacity.value,e.opacity_bubble,e.opacity,"opacity"));}}),(i.fn.modes.repulseParticle=function(e){function a(){var a=Math.atan2(d,p);if(((e.vx=u*Math.cos(a)),(e.vy=u*Math.sin(a)),"bounce"==i.particles.move.out_mode)){var t={x:e.x+e.vx,y:e.y+e.vy};t.x+e.radius>i.canvas.w?(e.vx=-e.vx):t.x-e.radius<0&&(e.vx=-e.vx),t.y+e.radius>i.canvas.h?(e.vy=-e.vy):t.y-e.radius<0&&(e.vy=-e.vy);}} 23 | if(i.interactivity.events.onhover.enable&&isInArray("repulse",i.interactivity.events.onhover.mode)&&"mousemove"==i.interactivity.status){var t=e.x-i.interactivity.mouse.pos_x,s=e.y-i.interactivity.mouse.pos_y,n=Math.sqrt(t*t+s*s),r={x:t/n,y:s/n},c=i.interactivity.modes.repulse.distance,o=100,l=clamp((1/c)*(-1*Math.pow(n/c,2)+1)*c*o,0,50),v={x:e.x+r.x*l,y:e.y+r.y*l};"bounce"==i.particles.move.out_mode?(v.x-e.radius>0&&v.x+e.radius0&&v.y+e.radius=m&&a();}else 0==i.tmp.repulse_clicking&&((e.vx=e.vx_i),(e.vy=e.vy_i));}),(i.fn.modes.grabParticle=function(e){if(i.interactivity.events.onhover.enable&&"mousemove"==i.interactivity.status){var a=e.x-i.interactivity.mouse.pos_x,t=e.y-i.interactivity.mouse.pos_y,s=Math.sqrt(a*a+t*t);if(s<=i.interactivity.modes.grab.distance){var n=i.interactivity.modes.grab.line_linked.opacity-s/(1/i.interactivity.modes.grab.line_linked.opacity)/i.interactivity.modes.grab.distance;if(n>0){var r=i.particles.line_linked.color_rgb_line;(i.canvas.ctx.strokeStyle="rgba("+r.r+","+r.g+","+r.b+","+n+")"),(i.canvas.ctx.lineWidth=i.particles.line_linked.width),i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(i.interactivity.mouse.pos_x,i.interactivity.mouse.pos_y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath();}}}}),(i.fn.vendors.eventsListeners=function(){"window"==i.interactivity.detect_on?(i.interactivity.el=window):(i.interactivity.el=i.canvas.el),(i.interactivity.events.onhover.enable||i.interactivity.events.onclick.enable)&&(i.interactivity.el.addEventListener("mousemove",function(e){if(i.interactivity.el==window) 25 | var a=e.clientX,t=e.clientY;else 26 | var a=e.offsetX||e.clientX,t=e.offsetY||e.clientY;(i.interactivity.mouse.pos_x=a),(i.interactivity.mouse.pos_y=t),i.tmp.retina&&((i.interactivity.mouse.pos_x*=i.canvas.pxratio),(i.interactivity.mouse.pos_y*=i.canvas.pxratio)),(i.interactivity.status="mousemove");}),i.interactivity.el.addEventListener("mouseleave",function(e){(i.interactivity.mouse.pos_x=null),(i.interactivity.mouse.pos_y=null),(i.interactivity.status="mouseleave");})),i.interactivity.events.onclick.enable&&i.interactivity.el.addEventListener("click",function(){if(((i.interactivity.mouse.click_pos_x=i.interactivity.mouse.pos_x),(i.interactivity.mouse.click_pos_y=i.interactivity.mouse.pos_y),(i.interactivity.mouse.click_time=new Date().getTime()),i.interactivity.events.onclick.enable)) 27 | switch(i.interactivity.events.onclick.mode){case "push":i.particles.move.enable?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):1==i.interactivity.modes.push.particles_nb?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):i.interactivity.modes.push.particles_nb>1&&i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb);break;case "remove":i.fn.modes.removeParticles(i.interactivity.modes.remove.particles_nb);break;case "bubble":i.tmp.bubble_clicking=!0;break;case "repulse":(i.tmp.repulse_clicking=!0),(i.tmp.repulse_count=0),(i.tmp.repulse_finish=!1),setTimeout(function(){i.tmp.repulse_clicking=!1;},1e3*i.interactivity.modes.repulse.duration);}});}),(i.fn.vendors.densityAutoParticles=function(){if(i.particles.number.density.enable){var e=(i.canvas.el.width*i.canvas.el.height)/1e3;i.tmp.retina&&(e/=2*i.canvas.pxratio);var a=(e*i.particles.number.value)/i.particles.number.density.value_area,t=i.particles.array.length-a;0>t?i.fn.modes.pushParticles(Math.abs(t)):i.fn.modes.removeParticles(t);}}),(i.fn.vendors.checkOverlap=function(e,a){for(var t=0;tv;v++)e.lineTo(i,0),e.translate(i,0),e.rotate(l);e.fill(),e.restore();}),(i.fn.vendors.exportImg=function(){window.open(i.canvas.el.toDataURL("image/png"),"_blank");}),(i.fn.vendors.loadImg=function(e){if(((i.tmp.img_error=void 0),""!=i.particles.shape.image.src)) 28 | if("svg"==e){var a=new XMLHttpRequest();a.open("GET",i.particles.shape.image.src),(a.onreadystatechange=function(e){4==a.readyState&&(200==a.status?((i.tmp.source_svg=e.currentTarget.response),i.fn.vendors.checkBeforeDraw()):(console.log("Error pJS - Image not found"),(i.tmp.img_error=!0)));}),a.send();}else{var t=new Image();t.addEventListener("load",function(){(i.tmp.img_obj=t),i.fn.vendors.checkBeforeDraw();}),(t.src=i.particles.shape.image.src);} 29 | else console.log("Error pJS - No image.src"),(i.tmp.img_error=!0);}),(i.fn.vendors.draw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type?i.tmp.count_svg>=i.particles.number.value?(i.fn.particlesDraw(),i.particles.move.enable?(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):void 0!=i.tmp.img_obj?(i.fn.particlesDraw(),i.particles.move.enable?(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):(i.fn.particlesDraw(),i.particles.move.enable?(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):cancelRequestAnimFrame(i.fn.drawAnimFrame));}),(i.fn.vendors.checkBeforeDraw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type&&void 0==i.tmp.source_svg?(i.tmp.checkAnimFrame=requestAnimFrame(check)):(cancelRequestAnimFrame(i.tmp.checkAnimFrame),i.tmp.img_error||(i.fn.vendors.init(),i.fn.vendors.draw())):(i.fn.vendors.init(),i.fn.vendors.draw());}),(i.fn.vendors.init=function(){i.fn.retinaInit(),i.fn.canvasInit(),i.fn.canvasSize(),i.fn.canvasPaint(),i.fn.particlesCreate(),i.fn.vendors.densityAutoParticles(),(i.particles.line_linked.color_rgb_line=hexToRgb(i.particles.line_linked.color));}),(i.fn.vendors.start=function(){isInArray("image",i.particles.shape.type)?((i.tmp.img_type=i.particles.shape.image.src.substr(i.particles.shape.image.src.length-3)),i.fn.vendors.loadImg(i.tmp.img_type)):i.fn.vendors.checkBeforeDraw();}),i.fn.vendors.eventsListeners(),i.fn.vendors.start();};(Object.deepExtend=function(e,a){for(var t in a)a[t]&&a[t].constructor&&a[t].constructor===Object?((e[t]=e[t]||{}),arguments.callee(e[t],a[t])):(e[t]=a[t]);return e;}),(window.requestAnimFrame=(function(){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60);});})()),(window.cancelRequestAnimFrame=(function(){return window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;})()),(window.pJSDom=[]),(window.particlesJS=function(e,a){"string"!=typeof e&&((a=e),(e="particles-js")),e||(e="particles-js");var t=document.getElementById(e),i="particles-js-canvas-el",s=t.getElementsByClassName(i);if(s.length)for(;s.length>0;)t.removeChild(s[0]);var n=document.createElement("canvas");(n.className=i),(n.style.width="100%"),(n.style.height="100%");var r=document.getElementById(e).appendChild(n);null!=r&&pJSDom.push(new pJS(e,a));}),(window.particlesJS.load=function(e,a,t){var i=new XMLHttpRequest();i.open("GET",a),(i.onreadystatechange=function(a){if(4==i.readyState) 30 | if(200==i.status){var s=JSON.parse(a.currentTarget.response);window.particlesJS(e,s),t&&t();}else console.log("Error pJS - XMLHttpRequest status: "+i.status),console.log("Error pJS - File config not found");}),i.send();});particlesJS("particles-js",{particles:{number:{value:50,density:{enable:true,value_area:800,},},color:{value:"#888",},shape:{type:"circle",stroke:{width:0,color:"#888",},polygon:{nb_sides:5,},image:{src:"assets/img/github.svg",width:100,height:100,},},opacity:{value:0.5,random:false,anim:{enable:false,speed:3,opacity_min:0.1,sync:false,},},size:{value:5,random:true,anim:{enable:false,speed:40,size_min:0.1,sync:false,},},line_linked:{enable:true,distance:150,color:"#888",opacity:0.4,width:1,},move:{enable:true,speed:6,direction:"none",random:false,straight:false,out_mode:"out",attract:{enable:false,rotateX:600,rotateY:1200,},},},interactivity:{detect_on:"canvas",events:{onhover:{enable:true,mode:"repulse",},onclick:{enable:true,mode:"push",},resize:true,},modes:{grab:{distance:400,line_linked:{opacity:1,},},bubble:{distance:400,size:40,duration:2,opacity:8,speed:3,},repulse:{distance:200,},push:{particles_nb:4,},remove:{particles_nb:2,},},},retina_detect:true,config_demo:{hide_card:false,background_color:"#b61924",background_image:"",background_position:"50% 50%",background_repeat:"no-repeat",background_size:"cover",},});} --------------------------------------------------------------------------------