Deplace static files for themes
This commit is contained in:
@@ -1,346 +0,0 @@
|
||||
body,
|
||||
html {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Merriweather', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
hr {
|
||||
max-width: 50px;
|
||||
border-width: 3px;
|
||||
border-color: #F05F40;
|
||||
}
|
||||
|
||||
hr.light {
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #F05F40;
|
||||
-webkit-transition: all 0.2s;
|
||||
-moz-transition: all 0.2s;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.btn-success{
|
||||
z-index: 999;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.img-fluid {
|
||||
position: relative;
|
||||
z-index:-30;
|
||||
}
|
||||
a:hover {
|
||||
color: #f05f40;
|
||||
}
|
||||
|
||||
.modal-backdrop{
|
||||
z-index:auto
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.bg-primary {
|
||||
background-color: #F05F40 !important;
|
||||
}
|
||||
|
||||
.bg-dark {
|
||||
background-color: #212529 !important;
|
||||
}
|
||||
|
||||
.text-faded {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 8rem 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.section-heading {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
::-moz-selection {
|
||||
color: #fff;
|
||||
background: #212529;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
::selection {
|
||||
color: #fff;
|
||||
background: #212529;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
img::selection {
|
||||
color: #fff;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
img::-moz-selection {
|
||||
color: #fff;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#mainNav {
|
||||
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
|
||||
background-color: #fff;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
-webkit-transition: all 0.2s;
|
||||
-moz-transition: all 0.2s;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
#mainNav .navbar-brand {
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #F05F40;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||
color: #f05f40;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||
font-size: .9rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #212529;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||
color: #F05F40;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link.active,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active {
|
||||
color: #F05F40 !important;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#mainNav {
|
||||
border-color: transparent;
|
||||
background-color: transparent;
|
||||
}
|
||||
#mainNav .navbar-brand {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||
color: #fff;
|
||||
}
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||
color: #fff;
|
||||
}
|
||||
#mainNav.navbar-shrink {
|
||||
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
|
||||
background-color: #fff;
|
||||
}
|
||||
#mainNav.navbar-shrink .navbar-brand {
|
||||
color: #F05F40;
|
||||
}
|
||||
#mainNav.navbar-shrink .navbar-brand:focus, #mainNav.navbar-shrink .navbar-brand:hover {
|
||||
color: #f05f40;
|
||||
}
|
||||
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link,
|
||||
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||
color: #212529;
|
||||
}
|
||||
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||
color: #F05F40;
|
||||
}
|
||||
}
|
||||
|
||||
header.masthead {
|
||||
padding-top: 10rem;
|
||||
padding-bottom: calc(10rem - 56px);
|
||||
background-position: center center;
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
header.masthead hr {
|
||||
margin-top: 30px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
header.masthead h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
header.masthead p {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
header.masthead p {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
header.masthead {
|
||||
height: 100vh;
|
||||
min-height: 650px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
header.masthead h1 {
|
||||
font-size: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
header.masthead h1 {
|
||||
font-size: 4rem;
|
||||
}
|
||||
.btn-success {
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
|
||||
.service-box {
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
|
||||
.portfolio-box {
|
||||
position: relative;
|
||||
display: block;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
opacity: 0;
|
||||
color: #fff;
|
||||
background: rgba(240, 95, 64, 0.9);
|
||||
-webkit-transition: all 0.2s;
|
||||
-moz-transition: all 0.2s;
|
||||
transition: all 0.2s;
|
||||
z-index:-10;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 100%;
|
||||
transform: translateY(-50%);
|
||||
text-align: center;
|
||||
z-index:-10;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category,
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
|
||||
padding: 0 15px;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.portfolio-box:hover .portfolio-box-caption {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.portfolio-box:focus {
|
||||
outline: none;
|
||||
z-index:-10;
|
||||
}
|
||||
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
|
||||
font-size: 16px;
|
||||
}
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: #F05F40 !important;
|
||||
}
|
||||
|
||||
.btn {
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
border: none;
|
||||
border-radius: 300px;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.btn-xl {
|
||||
padding: 1rem 2rem;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: #F05F40;
|
||||
border-color: #F05F40;
|
||||
}
|
||||
|
||||
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
|
||||
color: #fff;
|
||||
background-color: #ee4b28 !important;
|
||||
}
|
||||
|
||||
.btn-primary:active, .btn-primary:focus {
|
||||
box-shadow: 0 0 0 0.2rem rgba(240, 95, 64, 0.5) !important;
|
||||
}
|
||||
|
||||
section.bg-dark p {
|
||||
|
||||
padding-bottom: 3rem;
|
||||
|
||||
}
|
||||
|
||||
section.bg-dark {
|
||||
padding-top: 3rem;
|
||||
padding-bottom: 3rem;
|
||||
}
|
||||
116
app/static/css/monsiteperso.css
Normal file
116
app/static/css/monsiteperso.css
Normal file
@@ -0,0 +1,116 @@
|
||||
body {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh; /* Utiliser 100% de la hauteur de la fenêtre */
|
||||
margin: 0; /* Supprimez les marges par défaut */
|
||||
background-color: rgb(240, 240, 240); /* Ajoutez une couleur de fond pour le contraste */
|
||||
}
|
||||
|
||||
|
||||
.form_main {
|
||||
width: 220px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: rgb(255, 255, 255);
|
||||
padding: 30px;
|
||||
box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.062);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
border-radius: 10px; /* Ajout d'arrondi */
|
||||
}
|
||||
|
||||
.form_main::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
background-color: rgb(209, 193, 255);
|
||||
transform: rotate(45deg);
|
||||
left: -180px;
|
||||
bottom: 30px;
|
||||
z-index: 1;
|
||||
border-radius: 30px;
|
||||
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.082);
|
||||
}
|
||||
|
||||
.heading {
|
||||
font-size: 2em;
|
||||
color: #2e2e2e;
|
||||
font-weight: 700;
|
||||
margin: 5px 0 10px 0;
|
||||
z-index: 2;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.inputContainer {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.inputIcon {
|
||||
position: absolute;
|
||||
left: 10px; /* Ajustement de la position de l'icône */
|
||||
}
|
||||
|
||||
.inputField {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-bottom: 2px solid rgb(173, 173, 173);
|
||||
margin: 10px 0;
|
||||
color: black;
|
||||
font-size: 0.9em; /* Ajustement de la taille de la police */
|
||||
font-weight: 500;
|
||||
box-sizing: border-box;
|
||||
padding-left: 30px; /* Pour laisser de l'espace pour l'icône */
|
||||
}
|
||||
|
||||
.inputField:focus {
|
||||
outline: none;
|
||||
border-bottom: 2px solid rgb(199, 114, 255);
|
||||
}
|
||||
|
||||
.inputField::placeholder {
|
||||
color: rgb(80, 80, 80);
|
||||
font-size: 1em;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
#button {
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
border: none;
|
||||
background-color: rgb(162, 104, 255);
|
||||
height: 30px;
|
||||
color: white;
|
||||
font-size: 0.8em;
|
||||
font-weight: 500;
|
||||
letter-spacing: 1px;
|
||||
margin: 10px 0;
|
||||
cursor: pointer;
|
||||
border-radius: 5px; /* Ajout d'arrondi au bouton */
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
#button:hover {
|
||||
background-color: rgb(126, 84, 255);
|
||||
}
|
||||
|
||||
.forgotLink {
|
||||
z-index: 2;
|
||||
font-size: 0.7em;
|
||||
font-weight: 500;
|
||||
color: rgb(44, 24, 128);
|
||||
text-decoration: none;
|
||||
padding: 8px 15px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
0
app/static/themes/creative/css/OpenSans.css
Normal file
0
app/static/themes/creative/css/OpenSans.css
Normal file
@@ -191,7 +191,6 @@ img::-moz-selection {
|
||||
|
||||
#mainNav .navbar-brand {
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #F05F40;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
}
|
||||
@@ -204,7 +203,6 @@ img::-moz-selection {
|
||||
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||
font-size: .9rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
color: #212529;
|
||||
}
|
||||
|
||||
@@ -382,7 +380,6 @@ header.article-img header.masthead p {
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
|
||||
@@ -414,7 +411,6 @@ header.article-img header.masthead p {
|
||||
|
||||
.btn {
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
border: none;
|
||||
border-radius: 300px;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
|
||||
31
app/static/themes/creative/css/fontes.css
Normal file
31
app/static/themes/creative/css/fontes.css
Normal file
@@ -0,0 +1,31 @@
|
||||
/*Import de fontes trouver sur font2u.com Bon site !!!! */
|
||||
|
||||
@font-face {
|
||||
font-family: 'Lora';
|
||||
src:url("../fonts/Lora-Regular.woff");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
src:url("../fonts/Raleway-Regular.woff");
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Raleway';
|
||||
src:url("../fonts/Raleway-Bold.woff");
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:'Lora-Italic';
|
||||
src:url("../fonts/Lora-Italic.woff");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:'Roboto';
|
||||
src:url("../fonts/Roboto-Regular.woff");
|
||||
}
|
||||
|
||||
3
app/static/themes/creative/css/prism.min.css
vendored
Normal file
3
app/static/themes/creative/css/prism.min.css
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
/* PrismJS 1.30.0
|
||||
https://prismjs.com/download#themes=prism-okaidia&languages=markup+css+clike+javascript+bash+c+cpp+markdown+markup-templating+nginx+php+python */
|
||||
code[class*=language-],pre[data-language*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8292a2}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
|
||||
Binary file not shown.
BIN
app/static/themes/creative/fontes/Lora/Lora-Italic.woff
Normal file
BIN
app/static/themes/creative/fontes/Lora/Lora-Italic.woff
Normal file
Binary file not shown.
BIN
app/static/themes/creative/fontes/Lora/Lora-Regular.woff
Normal file
BIN
app/static/themes/creative/fontes/Lora/Lora-Regular.woff
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
app/static/themes/creative/fontes/Roboto/Roboto-Regular.woff
Normal file
BIN
app/static/themes/creative/fontes/Roboto/Roboto-Regular.woff
Normal file
Binary file not shown.
106
app/static/themes/creative/js/creative.js
Normal file
106
app/static/themes/creative/js/creative.js
Normal file
@@ -0,0 +1,106 @@
|
||||
(function($) {
|
||||
"use strict"; // Start of use strict
|
||||
|
||||
// Smooth scrolling using jQuery easing
|
||||
$('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() {
|
||||
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
if (target.length) {
|
||||
$('html, body').animate({
|
||||
scrollTop: (target.offset().top - 57)
|
||||
}, 1000, "easeInOutExpo");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Closes responsive menu when a scroll trigger link is clicked
|
||||
$('.js-scroll-trigger').click(function() {
|
||||
$('.navbar-collapse').collapse('hide');
|
||||
});
|
||||
|
||||
// Activate scrollspy to add active class to navbar items on scroll
|
||||
$('body').scrollspy({
|
||||
target: '#mainNav',
|
||||
offset: 57
|
||||
});
|
||||
|
||||
// Collapse Navbar
|
||||
var navbarCollapse = function() {
|
||||
if ($("#mainNav").offset().top > 100) {
|
||||
$("#mainNav").addClass("navbar-shrink");
|
||||
} else {
|
||||
$("#mainNav").removeClass("navbar-shrink");
|
||||
}
|
||||
};
|
||||
// Collapse now if page is not at top
|
||||
navbarCollapse();
|
||||
// Collapse the navbar when page is scrolled
|
||||
$(window).scroll(navbarCollapse);
|
||||
|
||||
// Scroll reveal calls
|
||||
window.sr = ScrollReveal();
|
||||
sr.reveal('.sr-icons', {
|
||||
duration: 600,
|
||||
scale: 0.3,
|
||||
distance: '0px'
|
||||
}, 200);
|
||||
sr.reveal('.sr-button', {
|
||||
duration: 1000,
|
||||
delay: 200
|
||||
});
|
||||
sr.reveal('.sr-contact', {
|
||||
duration: 600,
|
||||
scale: 0.3,
|
||||
distance: '0px'
|
||||
}, 300);
|
||||
|
||||
// Magnific popup calls
|
||||
$('.popup-gallery').magnificPopup({
|
||||
delegate: 'a',
|
||||
type: 'image',
|
||||
tLoading: 'Loading image #%curr%...',
|
||||
mainClass: 'mfp-img-mobile',
|
||||
gallery: {
|
||||
enabled: true,
|
||||
navigateByImgClick: true,
|
||||
preload: [0, 1]
|
||||
},
|
||||
image: {
|
||||
tError: '<a href="%url%">The image #%curr%</a> could not be loaded.'
|
||||
}
|
||||
});
|
||||
|
||||
$(".obfuscate").each(function () {
|
||||
|
||||
$(this).html($(this).html()
|
||||
.replace("__chez__", "@").replace(/\.\.\./g, ".")
|
||||
.replace(/Un/g, "1")
|
||||
.replace(/Deux/g, "2")
|
||||
.replace(/Trois/g, "3")
|
||||
.replace(/Quatre/g, "4")
|
||||
.replace(/Cinq/g, "5")
|
||||
.replace(/Six/g, "6")
|
||||
.replace(/Sept/g, "7")
|
||||
.replace(/Huit/g, "8")
|
||||
.replace(/Neuf/g, "9")
|
||||
.replace(/Zero/g, "0"))
|
||||
|
||||
$(this).attr("href", $(this).attr("href")
|
||||
.replace("__chez__", "@").replace(/\.\.\./g, ".")
|
||||
.replace(/Un/g, "1")
|
||||
.replace(/Deux/g, "2")
|
||||
.replace(/Trois/g, "3")
|
||||
.replace(/Quatre/g, "4")
|
||||
.replace(/Cinq/g, "5")
|
||||
.replace(/Six/g, "6")
|
||||
.replace(/Sept/g, "7")
|
||||
.replace(/Huit/g, "8")
|
||||
.replace(/Neuf/g, "9")
|
||||
.replace(/Zero/g, "0"))
|
||||
|
||||
});
|
||||
|
||||
|
||||
})(jQuery); // End of use strict
|
||||
15
app/static/themes/creative/js/prism.js
Normal file
15
app/static/themes/creative/js/prism.js
Normal file
File diff suppressed because one or more lines are too long
1912
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.css
vendored
Normal file
1912
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.css.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
7
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.min.css
vendored
Normal file
7
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.min.css.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-grid.min.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
331
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.css
vendored
Normal file
331
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.css
vendored
Normal file
@@ -0,0 +1,331 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-ms-overflow-style: scrollbar;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
@-ms-viewport {
|
||||
width: device-width;
|
||||
}
|
||||
|
||||
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
[tabindex="-1"]:focus {
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[title],
|
||||
abbr[data-original-title] {
|
||||
text-decoration: underline;
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
-webkit-text-decoration-skip: objects;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0056b3;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
-ms-overflow-style: scrollbar;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
svg {
|
||||
overflow: hidden;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.75rem;
|
||||
padding-bottom: 0.75rem;
|
||||
color: #6c757d;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: 1px dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
html [type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
-webkit-appearance: listbox;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: .5rem;
|
||||
font-size: 1.5rem;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type="search"] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-reboot.css.map */
|
||||
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.css.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
8
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.min.css
vendored
Normal file
8
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.min.css
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
|
||||
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
||||
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.min.css.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap-reboot.min.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
9030
app/static/themes/creative/vendors/bootstrap/css/bootstrap.css
vendored
Normal file
9030
app/static/themes/creative/vendors/bootstrap/css/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap.css.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
7
app/static/themes/creative/vendors/bootstrap/css/bootstrap.min.css
vendored
Normal file
7
app/static/themes/creative/vendors/bootstrap/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap.min.css.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/css/bootstrap.min.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
6461
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.js
vendored
Normal file
6461
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.js.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
7
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.min.js
vendored
Normal file
7
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.min.js.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.bundle.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
4447
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.js
vendored
Normal file
4447
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.js.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
7
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.min.js
vendored
Normal file
7
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.min.js.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.esm.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
3944
app/static/themes/creative/vendors/bootstrap/js/bootstrap.js
vendored
Normal file
3944
app/static/themes/creative/vendors/bootstrap/js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.js.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
7
app/static/themes/creative/vendors/bootstrap/js/bootstrap.min.js
vendored
Normal file
7
app/static/themes/creative/vendors/bootstrap/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.min.js.map
vendored
Normal file
1
app/static/themes/creative/vendors/bootstrap/js/bootstrap.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
79
app/static/themes/creative/vendors/bootstrap/js/init.js
vendored
Normal file
79
app/static/themes/creative/vendors/bootstrap/js/init.js
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
Interphase by TEMPLATED
|
||||
templated.co @templatedco
|
||||
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
skel.init({
|
||||
reset: 'full',
|
||||
breakpoints: {
|
||||
global: {
|
||||
href: 'css/style.css',
|
||||
containers: 1400,
|
||||
grid: { gutters: ['2em', 0] }
|
||||
},
|
||||
xlarge: {
|
||||
media: '(max-width: 1680px)',
|
||||
href: 'css/style-xlarge.css',
|
||||
containers: 1200
|
||||
},
|
||||
large: {
|
||||
media: '(max-width: 1280px)',
|
||||
href: 'css/style-large.css',
|
||||
containers: 960,
|
||||
grid: { gutters: ['1.5em', 0] },
|
||||
viewport: { scalable: false }
|
||||
},
|
||||
medium: {
|
||||
media: '(max-width: 980px)',
|
||||
href: 'css/style-medium.css',
|
||||
containers: '90%'
|
||||
},
|
||||
small: {
|
||||
media: '(max-width: 736px)',
|
||||
href: 'css/style-small.css',
|
||||
containers: '90%',
|
||||
grid: { gutters: ['1.25em', 0] }
|
||||
},
|
||||
xsmall: {
|
||||
media: '(max-width: 480px)',
|
||||
href: 'css/style-xsmall.css',
|
||||
}
|
||||
},
|
||||
plugins: {
|
||||
layers: {
|
||||
config: {
|
||||
mode: 'transform'
|
||||
},
|
||||
navPanel: {
|
||||
animation: 'pushX',
|
||||
breakpoints: 'medium',
|
||||
clickToHide: true,
|
||||
height: '100%',
|
||||
hidden: true,
|
||||
html: '<div data-action="moveElement" data-args="nav"></div>',
|
||||
orientation: 'vertical',
|
||||
position: 'top-left',
|
||||
side: 'left',
|
||||
width: 250
|
||||
},
|
||||
navButton: {
|
||||
breakpoints: 'medium',
|
||||
height: '4em',
|
||||
html: '<span class="toggle" data-action="toggleLayer" data-args="navPanel"></span>',
|
||||
position: 'top-left',
|
||||
side: 'top',
|
||||
width: '6em'
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(function() {
|
||||
|
||||
// ...
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
4
app/static/themes/creative/vendors/bootstrap/js/jquery.min.js
vendored
Normal file
4
app/static/themes/creative/vendors/bootstrap/js/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
app/static/themes/creative/vendors/bootstrap/js/skel-layers.min.js
vendored
Normal file
2
app/static/themes/creative/vendors/bootstrap/js/skel-layers.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
app/static/themes/creative/vendors/bootstrap/js/skel.min.js
vendored
Normal file
2
app/static/themes/creative/vendors/bootstrap/js/skel.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
app/static/themes/creative/vendors/font-awesome/css/font-awesome.css.map
vendored
Normal file
7
app/static/themes/creative/vendors/font-awesome/css/font-awesome.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
4
app/static/themes/creative/vendors/font-awesome/css/font-awesome.min.css
vendored
Normal file
4
app/static/themes/creative/vendors/font-awesome/css/font-awesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
app/static/themes/creative/vendors/font-awesome/fonts/FontAwesome.otf
vendored
Normal file
BIN
app/static/themes/creative/vendors/font-awesome/fonts/FontAwesome.otf
vendored
Normal file
Binary file not shown.
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.eot
vendored
Normal file
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.eot
vendored
Normal file
Binary file not shown.
2671
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.svg
vendored
Normal file
2671
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.svg
vendored
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 434 KiB |
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.ttf
vendored
Normal file
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.ttf
vendored
Normal file
Binary file not shown.
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.woff
vendored
Normal file
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.woff
vendored
Normal file
Binary file not shown.
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.woff2
vendored
Normal file
BIN
app/static/themes/creative/vendors/font-awesome/fonts/fontawesome-webfont.woff2
vendored
Normal file
Binary file not shown.
1
app/static/themes/creative/vendors/glightbox/glightbox.min.css
vendored
Normal file
1
app/static/themes/creative/vendors/glightbox/glightbox.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/glightbox/glightbox.min.js
vendored
Normal file
1
app/static/themes/creative/vendors/glightbox/glightbox.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
59
app/static/themes/creative/vendors/jquery-easing/jquery.easing.compatibility.js
vendored
Normal file
59
app/static/themes/creative/vendors/jquery-easing/jquery.easing.compatibility.js
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Easing Compatibility v1 - http://gsgd.co.uk/sandbox/jquery/easing
|
||||
*
|
||||
* Adds compatibility for applications that use the pre 1.2 easing names
|
||||
*
|
||||
* Copyright (c) 2007 George Smith
|
||||
* Licensed under the MIT License:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
|
||||
(function($){
|
||||
$.extend( $.easing,
|
||||
{
|
||||
easeIn: function (x, t, b, c, d) {
|
||||
return $.easing.easeInQuad(x, t, b, c, d);
|
||||
},
|
||||
easeOut: function (x, t, b, c, d) {
|
||||
return $.easing.easeOutQuad(x, t, b, c, d);
|
||||
},
|
||||
easeInOut: function (x, t, b, c, d) {
|
||||
return $.easing.easeInOutQuad(x, t, b, c, d);
|
||||
},
|
||||
expoin: function(x, t, b, c, d) {
|
||||
return $.easing.easeInExpo(x, t, b, c, d);
|
||||
},
|
||||
expoout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutExpo(x, t, b, c, d);
|
||||
},
|
||||
expoinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutExpo(x, t, b, c, d);
|
||||
},
|
||||
bouncein: function(x, t, b, c, d) {
|
||||
return $.easing.easeInBounce(x, t, b, c, d);
|
||||
},
|
||||
bounceout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutBounce(x, t, b, c, d);
|
||||
},
|
||||
bounceinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutBounce(x, t, b, c, d);
|
||||
},
|
||||
elasin: function(x, t, b, c, d) {
|
||||
return $.easing.easeInElastic(x, t, b, c, d);
|
||||
},
|
||||
elasout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutElastic(x, t, b, c, d);
|
||||
},
|
||||
elasinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutElastic(x, t, b, c, d);
|
||||
},
|
||||
backin: function(x, t, b, c, d) {
|
||||
return $.easing.easeInBack(x, t, b, c, d);
|
||||
},
|
||||
backout: function(x, t, b, c, d) {
|
||||
return $.easing.easeOutBack(x, t, b, c, d);
|
||||
},
|
||||
backinout: function(x, t, b, c, d) {
|
||||
return $.easing.easeInOutBack(x, t, b, c, d);
|
||||
}
|
||||
});})(jQuery);
|
||||
166
app/static/themes/creative/vendors/jquery-easing/jquery.easing.js
vendored
Normal file
166
app/static/themes/creative/vendors/jquery-easing/jquery.easing.js
vendored
Normal file
@@ -0,0 +1,166 @@
|
||||
/*
|
||||
* jQuery Easing v1.4.1 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||
* Open source under the BSD License.
|
||||
* Copyright © 2008 George McGinley Smith
|
||||
* All rights reserved.
|
||||
* https://raw.github.com/gdsmith/jquery-easing/master/LICENSE
|
||||
*/
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(['jquery'], function ($) {
|
||||
return factory($);
|
||||
});
|
||||
} else if (typeof module === "object" && typeof module.exports === "object") {
|
||||
exports = factory(require('jquery'));
|
||||
} else {
|
||||
factory(jQuery);
|
||||
}
|
||||
})(function($){
|
||||
|
||||
// Preserve the original jQuery "swing" easing as "jswing"
|
||||
$.easing.jswing = $.easing.swing;
|
||||
|
||||
var pow = Math.pow,
|
||||
sqrt = Math.sqrt,
|
||||
sin = Math.sin,
|
||||
cos = Math.cos,
|
||||
PI = Math.PI,
|
||||
c1 = 1.70158,
|
||||
c2 = c1 * 1.525,
|
||||
c3 = c1 + 1,
|
||||
c4 = ( 2 * PI ) / 3,
|
||||
c5 = ( 2 * PI ) / 4.5;
|
||||
|
||||
// x is the fraction of animation progress, in the range 0..1
|
||||
function bounceOut(x) {
|
||||
var n1 = 7.5625,
|
||||
d1 = 2.75;
|
||||
if ( x < 1/d1 ) {
|
||||
return n1*x*x;
|
||||
} else if ( x < 2/d1 ) {
|
||||
return n1*(x-=(1.5/d1))*x + 0.75;
|
||||
} else if ( x < 2.5/d1 ) {
|
||||
return n1*(x-=(2.25/d1))*x + 0.9375;
|
||||
} else {
|
||||
return n1*(x-=(2.625/d1))*x + 0.984375;
|
||||
}
|
||||
}
|
||||
|
||||
$.extend( $.easing,
|
||||
{
|
||||
def: 'easeOutQuad',
|
||||
swing: function (x) {
|
||||
return $.easing[$.easing.def](x);
|
||||
},
|
||||
easeInQuad: function (x) {
|
||||
return x * x;
|
||||
},
|
||||
easeOutQuad: function (x) {
|
||||
return 1 - ( 1 - x ) * ( 1 - x );
|
||||
},
|
||||
easeInOutQuad: function (x) {
|
||||
return x < 0.5 ?
|
||||
2 * x * x :
|
||||
1 - pow( -2 * x + 2, 2 ) / 2;
|
||||
},
|
||||
easeInCubic: function (x) {
|
||||
return x * x * x;
|
||||
},
|
||||
easeOutCubic: function (x) {
|
||||
return 1 - pow( 1 - x, 3 );
|
||||
},
|
||||
easeInOutCubic: function (x) {
|
||||
return x < 0.5 ?
|
||||
4 * x * x * x :
|
||||
1 - pow( -2 * x + 2, 3 ) / 2;
|
||||
},
|
||||
easeInQuart: function (x) {
|
||||
return x * x * x * x;
|
||||
},
|
||||
easeOutQuart: function (x) {
|
||||
return 1 - pow( 1 - x, 4 );
|
||||
},
|
||||
easeInOutQuart: function (x) {
|
||||
return x < 0.5 ?
|
||||
8 * x * x * x * x :
|
||||
1 - pow( -2 * x + 2, 4 ) / 2;
|
||||
},
|
||||
easeInQuint: function (x) {
|
||||
return x * x * x * x * x;
|
||||
},
|
||||
easeOutQuint: function (x) {
|
||||
return 1 - pow( 1 - x, 5 );
|
||||
},
|
||||
easeInOutQuint: function (x) {
|
||||
return x < 0.5 ?
|
||||
16 * x * x * x * x * x :
|
||||
1 - pow( -2 * x + 2, 5 ) / 2;
|
||||
},
|
||||
easeInSine: function (x) {
|
||||
return 1 - cos( x * PI/2 );
|
||||
},
|
||||
easeOutSine: function (x) {
|
||||
return sin( x * PI/2 );
|
||||
},
|
||||
easeInOutSine: function (x) {
|
||||
return -( cos( PI * x ) - 1 ) / 2;
|
||||
},
|
||||
easeInExpo: function (x) {
|
||||
return x === 0 ? 0 : pow( 2, 10 * x - 10 );
|
||||
},
|
||||
easeOutExpo: function (x) {
|
||||
return x === 1 ? 1 : 1 - pow( 2, -10 * x );
|
||||
},
|
||||
easeInOutExpo: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
|
||||
pow( 2, 20 * x - 10 ) / 2 :
|
||||
( 2 - pow( 2, -20 * x + 10 ) ) / 2;
|
||||
},
|
||||
easeInCirc: function (x) {
|
||||
return 1 - sqrt( 1 - pow( x, 2 ) );
|
||||
},
|
||||
easeOutCirc: function (x) {
|
||||
return sqrt( 1 - pow( x - 1, 2 ) );
|
||||
},
|
||||
easeInOutCirc: function (x) {
|
||||
return x < 0.5 ?
|
||||
( 1 - sqrt( 1 - pow( 2 * x, 2 ) ) ) / 2 :
|
||||
( sqrt( 1 - pow( -2 * x + 2, 2 ) ) + 1 ) / 2;
|
||||
},
|
||||
easeInElastic: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 :
|
||||
-pow( 2, 10 * x - 10 ) * sin( ( x * 10 - 10.75 ) * c4 );
|
||||
},
|
||||
easeOutElastic: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 :
|
||||
pow( 2, -10 * x ) * sin( ( x * 10 - 0.75 ) * c4 ) + 1;
|
||||
},
|
||||
easeInOutElastic: function (x) {
|
||||
return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ?
|
||||
-( pow( 2, 20 * x - 10 ) * sin( ( 20 * x - 11.125 ) * c5 )) / 2 :
|
||||
pow( 2, -20 * x + 10 ) * sin( ( 20 * x - 11.125 ) * c5 ) / 2 + 1;
|
||||
},
|
||||
easeInBack: function (x) {
|
||||
return c3 * x * x * x - c1 * x * x;
|
||||
},
|
||||
easeOutBack: function (x) {
|
||||
return 1 + c3 * pow( x - 1, 3 ) + c1 * pow( x - 1, 2 );
|
||||
},
|
||||
easeInOutBack: function (x) {
|
||||
return x < 0.5 ?
|
||||
( pow( 2 * x, 2 ) * ( ( c2 + 1 ) * 2 * x - c2 ) ) / 2 :
|
||||
( pow( 2 * x - 2, 2 ) *( ( c2 + 1 ) * ( x * 2 - 2 ) + c2 ) + 2 ) / 2;
|
||||
},
|
||||
easeInBounce: function (x) {
|
||||
return 1 - bounceOut( 1 - x );
|
||||
},
|
||||
easeOutBounce: bounceOut,
|
||||
easeInOutBounce: function (x) {
|
||||
return x < 0.5 ?
|
||||
( 1 - bounceOut( 1 - 2 * x ) ) / 2 :
|
||||
( 1 + bounceOut( 2 * x - 1 ) ) / 2;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
1
app/static/themes/creative/vendors/jquery-easing/jquery.easing.min.js
vendored
Normal file
1
app/static/themes/creative/vendors/jquery-easing/jquery.easing.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],function($){return factory($)})}else if(typeof module==="object"&&typeof module.exports==="object"){exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.easing.jswing=$.easing.swing;var pow=Math.pow,sqrt=Math.sqrt,sin=Math.sin,cos=Math.cos,PI=Math.PI,c1=1.70158,c2=c1*1.525,c3=c1+1,c4=2*PI/3,c5=2*PI/4.5;function bounceOut(x){var n1=7.5625,d1=2.75;if(x<1/d1){return n1*x*x}else if(x<2/d1){return n1*(x-=1.5/d1)*x+.75}else if(x<2.5/d1){return n1*(x-=2.25/d1)*x+.9375}else{return n1*(x-=2.625/d1)*x+.984375}}$.extend($.easing,{def:"easeOutQuad",swing:function(x){return $.easing[$.easing.def](x)},easeInQuad:function(x){return x*x},easeOutQuad:function(x){return 1-(1-x)*(1-x)},easeInOutQuad:function(x){return x<.5?2*x*x:1-pow(-2*x+2,2)/2},easeInCubic:function(x){return x*x*x},easeOutCubic:function(x){return 1-pow(1-x,3)},easeInOutCubic:function(x){return x<.5?4*x*x*x:1-pow(-2*x+2,3)/2},easeInQuart:function(x){return x*x*x*x},easeOutQuart:function(x){return 1-pow(1-x,4)},easeInOutQuart:function(x){return x<.5?8*x*x*x*x:1-pow(-2*x+2,4)/2},easeInQuint:function(x){return x*x*x*x*x},easeOutQuint:function(x){return 1-pow(1-x,5)},easeInOutQuint:function(x){return x<.5?16*x*x*x*x*x:1-pow(-2*x+2,5)/2},easeInSine:function(x){return 1-cos(x*PI/2)},easeOutSine:function(x){return sin(x*PI/2)},easeInOutSine:function(x){return-(cos(PI*x)-1)/2},easeInExpo:function(x){return x===0?0:pow(2,10*x-10)},easeOutExpo:function(x){return x===1?1:1-pow(2,-10*x)},easeInOutExpo:function(x){return x===0?0:x===1?1:x<.5?pow(2,20*x-10)/2:(2-pow(2,-20*x+10))/2},easeInCirc:function(x){return 1-sqrt(1-pow(x,2))},easeOutCirc:function(x){return sqrt(1-pow(x-1,2))},easeInOutCirc:function(x){return x<.5?(1-sqrt(1-pow(2*x,2)))/2:(sqrt(1-pow(-2*x+2,2))+1)/2},easeInElastic:function(x){return x===0?0:x===1?1:-pow(2,10*x-10)*sin((x*10-10.75)*c4)},easeOutElastic:function(x){return x===0?0:x===1?1:pow(2,-10*x)*sin((x*10-.75)*c4)+1},easeInOutElastic:function(x){return x===0?0:x===1?1:x<.5?-(pow(2,20*x-10)*sin((20*x-11.125)*c5))/2:pow(2,-20*x+10)*sin((20*x-11.125)*c5)/2+1},easeInBack:function(x){return c3*x*x*x-c1*x*x},easeOutBack:function(x){return 1+c3*pow(x-1,3)+c1*pow(x-1,2)},easeInOutBack:function(x){return x<.5?pow(2*x,2)*((c2+1)*2*x-c2)/2:(pow(2*x-2,2)*((c2+1)*(x*2-2)+c2)+2)/2},easeInBounce:function(x){return 1-bounceOut(1-x)},easeOutBounce:bounceOut,easeInOutBounce:function(x){return x<.5?(1-bounceOut(1-2*x))/2:(1+bounceOut(2*x-1))/2}})});
|
||||
10364
app/static/themes/creative/vendors/jquery/jquery.js
vendored
Normal file
10364
app/static/themes/creative/vendors/jquery/jquery.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
app/static/themes/creative/vendors/jquery/jquery.min.js
vendored
Normal file
2
app/static/themes/creative/vendors/jquery/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/jquery/jquery.min.map
vendored
Normal file
1
app/static/themes/creative/vendors/jquery/jquery.min.map
vendored
Normal file
File diff suppressed because one or more lines are too long
8269
app/static/themes/creative/vendors/jquery/jquery.slim.js
vendored
Normal file
8269
app/static/themes/creative/vendors/jquery/jquery.slim.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
app/static/themes/creative/vendors/jquery/jquery.slim.min.js
vendored
Normal file
2
app/static/themes/creative/vendors/jquery/jquery.slim.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
app/static/themes/creative/vendors/jquery/jquery.slim.min.map
vendored
Normal file
1
app/static/themes/creative/vendors/jquery/jquery.slim.min.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1860
app/static/themes/creative/vendors/magnific-popup/jquery.magnific-popup.js
vendored
Normal file
1860
app/static/themes/creative/vendors/magnific-popup/jquery.magnific-popup.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4
app/static/themes/creative/vendors/magnific-popup/jquery.magnific-popup.min.js
vendored
Normal file
4
app/static/themes/creative/vendors/magnific-popup/jquery.magnific-popup.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
351
app/static/themes/creative/vendors/magnific-popup/magnific-popup.css
vendored
Normal file
351
app/static/themes/creative/vendors/magnific-popup/magnific-popup.css
vendored
Normal file
@@ -0,0 +1,351 @@
|
||||
/* Magnific Popup CSS */
|
||||
.mfp-bg {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1042;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
background: #0b0b0b;
|
||||
opacity: 0.8; }
|
||||
|
||||
.mfp-wrap {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1043;
|
||||
position: fixed;
|
||||
outline: none !important;
|
||||
-webkit-backface-visibility: hidden; }
|
||||
|
||||
.mfp-container {
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
padding: 0 8px;
|
||||
box-sizing: border-box; }
|
||||
|
||||
.mfp-container:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
vertical-align: middle; }
|
||||
|
||||
.mfp-align-top .mfp-container:before {
|
||||
display: none; }
|
||||
|
||||
.mfp-content {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 0 auto;
|
||||
text-align: left;
|
||||
z-index: 1045; }
|
||||
|
||||
.mfp-inline-holder .mfp-content,
|
||||
.mfp-ajax-holder .mfp-content {
|
||||
width: 100%;
|
||||
cursor: auto; }
|
||||
|
||||
.mfp-ajax-cur {
|
||||
cursor: progress; }
|
||||
|
||||
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
|
||||
cursor: -moz-zoom-out;
|
||||
cursor: -webkit-zoom-out;
|
||||
cursor: zoom-out; }
|
||||
|
||||
.mfp-zoom {
|
||||
cursor: pointer;
|
||||
cursor: -webkit-zoom-in;
|
||||
cursor: -moz-zoom-in;
|
||||
cursor: zoom-in; }
|
||||
|
||||
.mfp-auto-cursor .mfp-content {
|
||||
cursor: auto; }
|
||||
|
||||
.mfp-close,
|
||||
.mfp-arrow,
|
||||
.mfp-preloader,
|
||||
.mfp-counter {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none; }
|
||||
|
||||
.mfp-loading.mfp-figure {
|
||||
display: none; }
|
||||
|
||||
.mfp-hide {
|
||||
display: none !important; }
|
||||
|
||||
.mfp-preloader {
|
||||
color: #CCC;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: auto;
|
||||
text-align: center;
|
||||
margin-top: -0.8em;
|
||||
left: 8px;
|
||||
right: 8px;
|
||||
z-index: 1044; }
|
||||
.mfp-preloader a {
|
||||
color: #CCC; }
|
||||
.mfp-preloader a:hover {
|
||||
color: #FFF; }
|
||||
|
||||
.mfp-s-ready .mfp-preloader {
|
||||
display: none; }
|
||||
|
||||
.mfp-s-error .mfp-content {
|
||||
display: none; }
|
||||
|
||||
button.mfp-close,
|
||||
button.mfp-arrow {
|
||||
overflow: visible;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
display: block;
|
||||
outline: none;
|
||||
padding: 0;
|
||||
z-index: 1046;
|
||||
box-shadow: none;
|
||||
touch-action: manipulation; }
|
||||
|
||||
button::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border: 0; }
|
||||
|
||||
.mfp-close {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
line-height: 44px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
opacity: 0.65;
|
||||
padding: 0 0 18px 10px;
|
||||
color: #FFF;
|
||||
font-style: normal;
|
||||
font-size: 28px;
|
||||
font-family: Arial, Baskerville, monospace; }
|
||||
.mfp-close:hover,
|
||||
.mfp-close:focus {
|
||||
opacity: 1; }
|
||||
.mfp-close:active {
|
||||
top: 1px; }
|
||||
|
||||
.mfp-close-btn-in .mfp-close {
|
||||
color: #333; }
|
||||
|
||||
.mfp-image-holder .mfp-close,
|
||||
.mfp-iframe-holder .mfp-close {
|
||||
color: #FFF;
|
||||
right: -6px;
|
||||
text-align: right;
|
||||
padding-right: 6px;
|
||||
width: 100%; }
|
||||
|
||||
.mfp-counter {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
color: #CCC;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
white-space: nowrap; }
|
||||
|
||||
.mfp-arrow {
|
||||
position: absolute;
|
||||
opacity: 0.65;
|
||||
margin: 0;
|
||||
top: 50%;
|
||||
margin-top: -55px;
|
||||
padding: 0;
|
||||
width: 90px;
|
||||
height: 110px;
|
||||
-webkit-tap-highlight-color: transparent; }
|
||||
.mfp-arrow:active {
|
||||
margin-top: -54px; }
|
||||
.mfp-arrow:hover,
|
||||
.mfp-arrow:focus {
|
||||
opacity: 1; }
|
||||
.mfp-arrow:before,
|
||||
.mfp-arrow:after {
|
||||
content: '';
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
margin-top: 35px;
|
||||
margin-left: 35px;
|
||||
border: medium inset transparent; }
|
||||
.mfp-arrow:after {
|
||||
border-top-width: 13px;
|
||||
border-bottom-width: 13px;
|
||||
top: 8px; }
|
||||
.mfp-arrow:before {
|
||||
border-top-width: 21px;
|
||||
border-bottom-width: 21px;
|
||||
opacity: 0.7; }
|
||||
|
||||
.mfp-arrow-left {
|
||||
left: 0; }
|
||||
.mfp-arrow-left:after {
|
||||
border-right: 17px solid #FFF;
|
||||
margin-left: 31px; }
|
||||
.mfp-arrow-left:before {
|
||||
margin-left: 25px;
|
||||
border-right: 27px solid #3F3F3F; }
|
||||
|
||||
.mfp-arrow-right {
|
||||
right: 0; }
|
||||
.mfp-arrow-right:after {
|
||||
border-left: 17px solid #FFF;
|
||||
margin-left: 39px; }
|
||||
.mfp-arrow-right:before {
|
||||
border-left: 27px solid #3F3F3F; }
|
||||
|
||||
.mfp-iframe-holder {
|
||||
padding-top: 40px;
|
||||
padding-bottom: 40px; }
|
||||
.mfp-iframe-holder .mfp-content {
|
||||
line-height: 0;
|
||||
width: 100%;
|
||||
max-width: 900px; }
|
||||
.mfp-iframe-holder .mfp-close {
|
||||
top: -40px; }
|
||||
|
||||
.mfp-iframe-scaler {
|
||||
width: 100%;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
padding-top: 56.25%; }
|
||||
.mfp-iframe-scaler iframe {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
||||
background: #000; }
|
||||
|
||||
/* Main image in popup */
|
||||
img.mfp-img {
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
line-height: 0;
|
||||
box-sizing: border-box;
|
||||
padding: 40px 0 40px;
|
||||
margin: 0 auto; }
|
||||
|
||||
/* The shadow behind the image */
|
||||
.mfp-figure {
|
||||
line-height: 0; }
|
||||
.mfp-figure:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 40px;
|
||||
bottom: 40px;
|
||||
display: block;
|
||||
right: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
z-index: -1;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
||||
background: #444; }
|
||||
.mfp-figure small {
|
||||
color: #BDBDBD;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
line-height: 14px; }
|
||||
.mfp-figure figure {
|
||||
margin: 0; }
|
||||
|
||||
.mfp-bottom-bar {
|
||||
margin-top: -36px;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
cursor: auto; }
|
||||
|
||||
.mfp-title {
|
||||
text-align: left;
|
||||
line-height: 18px;
|
||||
color: #F3F3F3;
|
||||
word-wrap: break-word;
|
||||
padding-right: 36px; }
|
||||
|
||||
.mfp-image-holder .mfp-content {
|
||||
max-width: 100%; }
|
||||
|
||||
.mfp-gallery .mfp-image-holder .mfp-figure {
|
||||
cursor: pointer; }
|
||||
|
||||
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
|
||||
/**
|
||||
* Remove all paddings around the image on small screen
|
||||
*/
|
||||
.mfp-img-mobile .mfp-image-holder {
|
||||
padding-left: 0;
|
||||
padding-right: 0; }
|
||||
.mfp-img-mobile img.mfp-img {
|
||||
padding: 0; }
|
||||
.mfp-img-mobile .mfp-figure:after {
|
||||
top: 0;
|
||||
bottom: 0; }
|
||||
.mfp-img-mobile .mfp-figure small {
|
||||
display: inline;
|
||||
margin-left: 5px; }
|
||||
.mfp-img-mobile .mfp-bottom-bar {
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
bottom: 0;
|
||||
margin: 0;
|
||||
top: auto;
|
||||
padding: 3px 5px;
|
||||
position: fixed;
|
||||
box-sizing: border-box; }
|
||||
.mfp-img-mobile .mfp-bottom-bar:empty {
|
||||
padding: 0; }
|
||||
.mfp-img-mobile .mfp-counter {
|
||||
right: 5px;
|
||||
top: 3px; }
|
||||
.mfp-img-mobile .mfp-close {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
padding: 0; } }
|
||||
|
||||
@media all and (max-width: 900px) {
|
||||
.mfp-arrow {
|
||||
-webkit-transform: scale(0.75);
|
||||
transform: scale(0.75); }
|
||||
.mfp-arrow-left {
|
||||
-webkit-transform-origin: 0;
|
||||
transform-origin: 0; }
|
||||
.mfp-arrow-right {
|
||||
-webkit-transform-origin: 100%;
|
||||
transform-origin: 100%; }
|
||||
.mfp-container {
|
||||
padding-left: 6px;
|
||||
padding-right: 6px; } }
|
||||
860
app/static/themes/creative/vendors/scrollreveal/scrollreveal.js
vendored
Normal file
860
app/static/themes/creative/vendors/scrollreveal/scrollreveal.js
vendored
Normal file
@@ -0,0 +1,860 @@
|
||||
///// ///// ///// /////
|
||||
///// ///// ///// /////
|
||||
///// ///// ///// /////
|
||||
///// ///// ///// /////
|
||||
///// ///// /////
|
||||
///// ///// /////
|
||||
///// ///// ///// /////
|
||||
///// ///// ///// /////
|
||||
///// /////
|
||||
///// /////
|
||||
///// ///// ///// /////
|
||||
///// ///// ///// /////
|
||||
///// ///// ///// /////
|
||||
///// ///// ///// /////
|
||||
|
||||
/**
|
||||
* ScrollReveal
|
||||
* ------------
|
||||
* Version : 3.3.6
|
||||
* Website : scrollrevealjs.org
|
||||
* Repo : github.com/jlmakes/scrollreveal.js
|
||||
* Author : Julian Lloyd (@jlmakes)
|
||||
*/
|
||||
|
||||
;(function () {
|
||||
'use strict'
|
||||
|
||||
var sr
|
||||
var _requestAnimationFrame
|
||||
|
||||
function ScrollReveal (config) {
|
||||
// Support instantiation without the `new` keyword.
|
||||
if (typeof this === 'undefined' || Object.getPrototypeOf(this) !== ScrollReveal.prototype) {
|
||||
return new ScrollReveal(config)
|
||||
}
|
||||
|
||||
sr = this // Save reference to instance.
|
||||
sr.version = '3.3.6'
|
||||
sr.tools = new Tools() // *required utilities
|
||||
|
||||
if (sr.isSupported()) {
|
||||
sr.tools.extend(sr.defaults, config || {})
|
||||
|
||||
sr.defaults.container = _resolveContainer(sr.defaults)
|
||||
|
||||
sr.store = {
|
||||
elements: {},
|
||||
containers: []
|
||||
}
|
||||
|
||||
sr.sequences = {}
|
||||
sr.history = []
|
||||
sr.uid = 0
|
||||
sr.initialized = false
|
||||
} else if (typeof console !== 'undefined' && console !== null) {
|
||||
// Note: IE9 only supports console if devtools are open.
|
||||
console.log('ScrollReveal is not supported in this browser.')
|
||||
}
|
||||
|
||||
return sr
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration
|
||||
* -------------
|
||||
* This object signature can be passed directly to the ScrollReveal constructor,
|
||||
* or as the second argument of the `reveal()` method.
|
||||
*/
|
||||
|
||||
ScrollReveal.prototype.defaults = {
|
||||
// 'bottom', 'left', 'top', 'right'
|
||||
origin: 'bottom',
|
||||
|
||||
// Can be any valid CSS distance, e.g. '5rem', '10%', '20vw', etc.
|
||||
distance: '20px',
|
||||
|
||||
// Time in milliseconds.
|
||||
duration: 500,
|
||||
delay: 0,
|
||||
|
||||
// Starting angles in degrees, will transition from these values to 0 in all axes.
|
||||
rotate: { x: 0, y: 0, z: 0 },
|
||||
|
||||
// Starting opacity value, before transitioning to the computed opacity.
|
||||
opacity: 0,
|
||||
|
||||
// Starting scale value, will transition from this value to 1
|
||||
scale: 0.9,
|
||||
|
||||
// Accepts any valid CSS easing, e.g. 'ease', 'ease-in-out', 'linear', etc.
|
||||
easing: 'cubic-bezier(0.6, 0.2, 0.1, 1)',
|
||||
|
||||
// `<html>` is the default reveal container. You can pass either:
|
||||
// DOM Node, e.g. document.querySelector('.fooContainer')
|
||||
// Selector, e.g. '.fooContainer'
|
||||
container: window.document.documentElement,
|
||||
|
||||
// true/false to control reveal animations on mobile.
|
||||
mobile: true,
|
||||
|
||||
// true: reveals occur every time elements become visible
|
||||
// false: reveals occur once as elements become visible
|
||||
reset: false,
|
||||
|
||||
// 'always' — delay for all reveal animations
|
||||
// 'once' — delay only the first time reveals occur
|
||||
// 'onload' - delay only for animations triggered by first load
|
||||
useDelay: 'always',
|
||||
|
||||
// Change when an element is considered in the viewport. The default value
|
||||
// of 0.20 means 20% of an element must be visible for its reveal to occur.
|
||||
viewFactor: 0.2,
|
||||
|
||||
// Pixel values that alter the container boundaries.
|
||||
// e.g. Set `{ top: 48 }`, if you have a 48px tall fixed toolbar.
|
||||
// --
|
||||
// Visual Aid: https://scrollrevealjs.org/assets/viewoffset.png
|
||||
viewOffset: { top: 0, right: 0, bottom: 0, left: 0 },
|
||||
|
||||
// Callbacks that fire for each triggered element reveal, and reset.
|
||||
beforeReveal: function (domEl) {},
|
||||
beforeReset: function (domEl) {},
|
||||
|
||||
// Callbacks that fire for each completed element reveal, and reset.
|
||||
afterReveal: function (domEl) {},
|
||||
afterReset: function (domEl) {}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if client supports CSS Transform and CSS Transition.
|
||||
* @return {boolean}
|
||||
*/
|
||||
ScrollReveal.prototype.isSupported = function () {
|
||||
var style = document.documentElement.style
|
||||
return 'WebkitTransition' in style && 'WebkitTransform' in style ||
|
||||
'transition' in style && 'transform' in style
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a reveal set, a group of elements that will animate when they
|
||||
* become visible. If [interval] is provided, a new sequence is created
|
||||
* that will ensure elements reveal in the order they appear in the DOM.
|
||||
*
|
||||
* @param {Node|NodeList|string} [target] The node, node list or selector to use for animation.
|
||||
* @param {Object} [config] Override the defaults for this reveal set.
|
||||
* @param {number} [interval] Time between sequenced element animations (milliseconds).
|
||||
* @param {boolean} [sync] Used internally when updating reveals for async content.
|
||||
*
|
||||
* @return {Object} The current ScrollReveal instance.
|
||||
*/
|
||||
ScrollReveal.prototype.reveal = function (target, config, interval, sync) {
|
||||
var container
|
||||
var elements
|
||||
var elem
|
||||
var elemId
|
||||
var sequence
|
||||
var sequenceId
|
||||
|
||||
// No custom configuration was passed, but a sequence interval instead.
|
||||
// let’s shuffle things around to make sure everything works.
|
||||
if (config !== undefined && typeof config === 'number') {
|
||||
interval = config
|
||||
config = {}
|
||||
} else if (config === undefined || config === null) {
|
||||
config = {}
|
||||
}
|
||||
|
||||
container = _resolveContainer(config)
|
||||
elements = _getRevealElements(target, container)
|
||||
|
||||
if (!elements.length) {
|
||||
console.log('ScrollReveal: reveal on "' + target + '" failed, no elements found.')
|
||||
return sr
|
||||
}
|
||||
|
||||
// Prepare a new sequence if an interval is passed.
|
||||
if (interval && typeof interval === 'number') {
|
||||
sequenceId = _nextUid()
|
||||
|
||||
sequence = sr.sequences[sequenceId] = {
|
||||
id: sequenceId,
|
||||
interval: interval,
|
||||
elemIds: [],
|
||||
active: false
|
||||
}
|
||||
}
|
||||
|
||||
// Begin main loop to configure ScrollReveal elements.
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
// Check if the element has already been configured and grab it from the store.
|
||||
elemId = elements[i].getAttribute('data-sr-id')
|
||||
if (elemId) {
|
||||
elem = sr.store.elements[elemId]
|
||||
} else {
|
||||
// Otherwise, let’s do some basic setup.
|
||||
elem = {
|
||||
id: _nextUid(),
|
||||
domEl: elements[i],
|
||||
seen: false,
|
||||
revealing: false
|
||||
}
|
||||
elem.domEl.setAttribute('data-sr-id', elem.id)
|
||||
}
|
||||
|
||||
// Sequence only setup
|
||||
if (sequence) {
|
||||
elem.sequence = {
|
||||
id: sequence.id,
|
||||
index: sequence.elemIds.length
|
||||
}
|
||||
|
||||
sequence.elemIds.push(elem.id)
|
||||
}
|
||||
|
||||
// New or existing element, it’s time to update its configuration, styles,
|
||||
// and send the updates to our store.
|
||||
_configure(elem, config, container)
|
||||
_style(elem)
|
||||
_updateStore(elem)
|
||||
|
||||
// We need to make sure elements are set to visibility: visible, even when
|
||||
// on mobile and `config.mobile === false`, or if unsupported.
|
||||
if (sr.tools.isMobile() && !elem.config.mobile || !sr.isSupported()) {
|
||||
elem.domEl.setAttribute('style', elem.styles.inline)
|
||||
elem.disabled = true
|
||||
} else if (!elem.revealing) {
|
||||
// Otherwise, proceed normally.
|
||||
elem.domEl.setAttribute('style',
|
||||
elem.styles.inline +
|
||||
elem.styles.transform.initial
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Each `reveal()` is recorded so that when calling `sync()` while working
|
||||
// with asynchronously loaded content, it can re-trace your steps but with
|
||||
// all your new elements now in the DOM.
|
||||
|
||||
// Since `reveal()` is called internally by `sync()`, we don’t want to
|
||||
// record or intiialize each reveal during syncing.
|
||||
if (!sync && sr.isSupported()) {
|
||||
_record(target, config, interval)
|
||||
|
||||
// We push initialization to the event queue using setTimeout, so that we can
|
||||
// give ScrollReveal room to process all reveal calls before putting things into motion.
|
||||
// --
|
||||
// Philip Roberts - What the heck is the event loop anyway? (JSConf EU 2014)
|
||||
// https://www.youtube.com/watch?v=8aGhZQkoFbQ
|
||||
if (sr.initTimeout) {
|
||||
window.clearTimeout(sr.initTimeout)
|
||||
}
|
||||
sr.initTimeout = window.setTimeout(_init, 0)
|
||||
}
|
||||
|
||||
return sr
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-runs `reveal()` for each record stored in history, effectively capturing
|
||||
* any content loaded asynchronously that matches existing reveal set targets.
|
||||
* @return {Object} The current ScrollReveal instance.
|
||||
*/
|
||||
ScrollReveal.prototype.sync = function () {
|
||||
if (sr.history.length && sr.isSupported()) {
|
||||
for (var i = 0; i < sr.history.length; i++) {
|
||||
var record = sr.history[i]
|
||||
sr.reveal(record.target, record.config, record.interval, true)
|
||||
}
|
||||
_init()
|
||||
} else {
|
||||
console.log('ScrollReveal: sync failed, no reveals found.')
|
||||
}
|
||||
return sr
|
||||
}
|
||||
|
||||
/**
|
||||
* Private Methods
|
||||
* ---------------
|
||||
*/
|
||||
|
||||
function _resolveContainer (config) {
|
||||
if (config && config.container) {
|
||||
if (typeof config.container === 'string') {
|
||||
return window.document.documentElement.querySelector(config.container)
|
||||
} else if (sr.tools.isNode(config.container)) {
|
||||
return config.container
|
||||
} else {
|
||||
console.log('ScrollReveal: invalid container "' + config.container + '" provided.')
|
||||
console.log('ScrollReveal: falling back to default container.')
|
||||
}
|
||||
}
|
||||
return sr.defaults.container
|
||||
}
|
||||
|
||||
/**
|
||||
* check to see if a node or node list was passed in as the target,
|
||||
* otherwise query the container using target as a selector.
|
||||
*
|
||||
* @param {Node|NodeList|string} [target] client input for reveal target.
|
||||
* @param {Node} [container] parent element for selector queries.
|
||||
*
|
||||
* @return {array} elements to be revealed.
|
||||
*/
|
||||
function _getRevealElements (target, container) {
|
||||
if (typeof target === 'string') {
|
||||
return Array.prototype.slice.call(container.querySelectorAll(target))
|
||||
} else if (sr.tools.isNode(target)) {
|
||||
return [target]
|
||||
} else if (sr.tools.isNodeList(target)) {
|
||||
return Array.prototype.slice.call(target)
|
||||
}
|
||||
return []
|
||||
}
|
||||
|
||||
/**
|
||||
* A consistent way of creating unique IDs.
|
||||
* @returns {number}
|
||||
*/
|
||||
function _nextUid () {
|
||||
return ++sr.uid
|
||||
}
|
||||
|
||||
function _configure (elem, config, container) {
|
||||
// If a container was passed as a part of the config object,
|
||||
// let’s overwrite it with the resolved container passed in.
|
||||
if (config.container) config.container = container
|
||||
// If the element hasn’t already been configured, let’s use a clone of the
|
||||
// defaults extended by the configuration passed as the second argument.
|
||||
if (!elem.config) {
|
||||
elem.config = sr.tools.extendClone(sr.defaults, config)
|
||||
} else {
|
||||
// Otherwise, let’s use a clone of the existing element configuration extended
|
||||
// by the configuration passed as the second argument.
|
||||
elem.config = sr.tools.extendClone(elem.config, config)
|
||||
}
|
||||
|
||||
// Infer CSS Transform axis from origin string.
|
||||
if (elem.config.origin === 'top' || elem.config.origin === 'bottom') {
|
||||
elem.config.axis = 'Y'
|
||||
} else {
|
||||
elem.config.axis = 'X'
|
||||
}
|
||||
}
|
||||
|
||||
function _style (elem) {
|
||||
var computed = window.getComputedStyle(elem.domEl)
|
||||
|
||||
if (!elem.styles) {
|
||||
elem.styles = {
|
||||
transition: {},
|
||||
transform: {},
|
||||
computed: {}
|
||||
}
|
||||
|
||||
// Capture any existing inline styles, and add our visibility override.
|
||||
// --
|
||||
// See section 4.2. in the Documentation:
|
||||
// https://github.com/jlmakes/scrollreveal.js#42-improve-user-experience
|
||||
elem.styles.inline = elem.domEl.getAttribute('style') || ''
|
||||
elem.styles.inline += '; visibility: visible; '
|
||||
|
||||
// grab the elements existing opacity.
|
||||
elem.styles.computed.opacity = computed.opacity
|
||||
|
||||
// grab the elements existing transitions.
|
||||
if (!computed.transition || computed.transition === 'all 0s ease 0s') {
|
||||
elem.styles.computed.transition = ''
|
||||
} else {
|
||||
elem.styles.computed.transition = computed.transition + ', '
|
||||
}
|
||||
}
|
||||
|
||||
// Create transition styles
|
||||
elem.styles.transition.instant = _generateTransition(elem, 0)
|
||||
elem.styles.transition.delayed = _generateTransition(elem, elem.config.delay)
|
||||
|
||||
// Generate transform styles, first with the webkit prefix.
|
||||
elem.styles.transform.initial = ' -webkit-transform:'
|
||||
elem.styles.transform.target = ' -webkit-transform:'
|
||||
_generateTransform(elem)
|
||||
|
||||
// And again without any prefix.
|
||||
elem.styles.transform.initial += 'transform:'
|
||||
elem.styles.transform.target += 'transform:'
|
||||
_generateTransform(elem)
|
||||
}
|
||||
|
||||
function _generateTransition (elem, delay) {
|
||||
var config = elem.config
|
||||
|
||||
return '-webkit-transition: ' + elem.styles.computed.transition +
|
||||
'-webkit-transform ' + config.duration / 1000 + 's ' +
|
||||
config.easing + ' ' +
|
||||
delay / 1000 + 's, opacity ' +
|
||||
config.duration / 1000 + 's ' +
|
||||
config.easing + ' ' +
|
||||
delay / 1000 + 's; ' +
|
||||
|
||||
'transition: ' + elem.styles.computed.transition +
|
||||
'transform ' + config.duration / 1000 + 's ' +
|
||||
config.easing + ' ' +
|
||||
delay / 1000 + 's, opacity ' +
|
||||
config.duration / 1000 + 's ' +
|
||||
config.easing + ' ' +
|
||||
delay / 1000 + 's; '
|
||||
}
|
||||
|
||||
function _generateTransform (elem) {
|
||||
var config = elem.config
|
||||
var cssDistance
|
||||
var transform = elem.styles.transform
|
||||
|
||||
// Let’s make sure our our pixel distances are negative for top and left.
|
||||
// e.g. origin = 'top' and distance = '25px' starts at `top: -25px` in CSS.
|
||||
if (config.origin === 'top' || config.origin === 'left') {
|
||||
cssDistance = /^-/.test(config.distance)
|
||||
? config.distance.substr(1)
|
||||
: '-' + config.distance
|
||||
} else {
|
||||
cssDistance = config.distance
|
||||
}
|
||||
|
||||
if (parseInt(config.distance)) {
|
||||
transform.initial += ' translate' + config.axis + '(' + cssDistance + ')'
|
||||
transform.target += ' translate' + config.axis + '(0)'
|
||||
}
|
||||
if (config.scale) {
|
||||
transform.initial += ' scale(' + config.scale + ')'
|
||||
transform.target += ' scale(1)'
|
||||
}
|
||||
if (config.rotate.x) {
|
||||
transform.initial += ' rotateX(' + config.rotate.x + 'deg)'
|
||||
transform.target += ' rotateX(0)'
|
||||
}
|
||||
if (config.rotate.y) {
|
||||
transform.initial += ' rotateY(' + config.rotate.y + 'deg)'
|
||||
transform.target += ' rotateY(0)'
|
||||
}
|
||||
if (config.rotate.z) {
|
||||
transform.initial += ' rotateZ(' + config.rotate.z + 'deg)'
|
||||
transform.target += ' rotateZ(0)'
|
||||
}
|
||||
transform.initial += '; opacity: ' + config.opacity + ';'
|
||||
transform.target += '; opacity: ' + elem.styles.computed.opacity + ';'
|
||||
}
|
||||
|
||||
function _updateStore (elem) {
|
||||
var container = elem.config.container
|
||||
|
||||
// If this element’s container isn’t already in the store, let’s add it.
|
||||
if (container && sr.store.containers.indexOf(container) === -1) {
|
||||
sr.store.containers.push(elem.config.container)
|
||||
}
|
||||
|
||||
// Update the element stored with our new element.
|
||||
sr.store.elements[elem.id] = elem
|
||||
}
|
||||
|
||||
function _record (target, config, interval) {
|
||||
// Save the `reveal()` arguments that triggered this `_record()` call, so we
|
||||
// can re-trace our steps when calling the `sync()` method.
|
||||
var record = {
|
||||
target: target,
|
||||
config: config,
|
||||
interval: interval
|
||||
}
|
||||
sr.history.push(record)
|
||||
}
|
||||
|
||||
function _init () {
|
||||
if (sr.isSupported()) {
|
||||
// Initial animate call triggers valid reveal animations on first load.
|
||||
// Subsequent animate calls are made inside the event handler.
|
||||
_animate()
|
||||
|
||||
// Then we loop through all container nodes in the store and bind event
|
||||
// listeners to each.
|
||||
for (var i = 0; i < sr.store.containers.length; i++) {
|
||||
sr.store.containers[i].addEventListener('scroll', _handler)
|
||||
sr.store.containers[i].addEventListener('resize', _handler)
|
||||
}
|
||||
|
||||
// Let’s also do a one-time binding of window event listeners.
|
||||
if (!sr.initialized) {
|
||||
window.addEventListener('scroll', _handler)
|
||||
window.addEventListener('resize', _handler)
|
||||
sr.initialized = true
|
||||
}
|
||||
}
|
||||
return sr
|
||||
}
|
||||
|
||||
function _handler () {
|
||||
_requestAnimationFrame(_animate)
|
||||
}
|
||||
|
||||
function _setActiveSequences () {
|
||||
var active
|
||||
var elem
|
||||
var elemId
|
||||
var sequence
|
||||
|
||||
// Loop through all sequences
|
||||
sr.tools.forOwn(sr.sequences, function (sequenceId) {
|
||||
sequence = sr.sequences[sequenceId]
|
||||
active = false
|
||||
|
||||
// For each sequenced elemenet, let’s check visibility and if
|
||||
// any are visible, set it’s sequence to active.
|
||||
for (var i = 0; i < sequence.elemIds.length; i++) {
|
||||
elemId = sequence.elemIds[i]
|
||||
elem = sr.store.elements[elemId]
|
||||
if (_isElemVisible(elem) && !active) {
|
||||
active = true
|
||||
}
|
||||
}
|
||||
|
||||
sequence.active = active
|
||||
})
|
||||
}
|
||||
|
||||
function _animate () {
|
||||
var delayed
|
||||
var elem
|
||||
|
||||
_setActiveSequences()
|
||||
|
||||
// Loop through all elements in the store
|
||||
sr.tools.forOwn(sr.store.elements, function (elemId) {
|
||||
elem = sr.store.elements[elemId]
|
||||
delayed = _shouldUseDelay(elem)
|
||||
|
||||
// Let’s see if we should revealand if so,
|
||||
// trigger the `beforeReveal` callback and
|
||||
// determine whether or not to use delay.
|
||||
if (_shouldReveal(elem)) {
|
||||
elem.config.beforeReveal(elem.domEl)
|
||||
if (delayed) {
|
||||
elem.domEl.setAttribute('style',
|
||||
elem.styles.inline +
|
||||
elem.styles.transform.target +
|
||||
elem.styles.transition.delayed
|
||||
)
|
||||
} else {
|
||||
elem.domEl.setAttribute('style',
|
||||
elem.styles.inline +
|
||||
elem.styles.transform.target +
|
||||
elem.styles.transition.instant
|
||||
)
|
||||
}
|
||||
|
||||
// Let’s queue the `afterReveal` callback
|
||||
// and mark the element as seen and revealing.
|
||||
_queueCallback('reveal', elem, delayed)
|
||||
elem.revealing = true
|
||||
elem.seen = true
|
||||
|
||||
if (elem.sequence) {
|
||||
_queueNextInSequence(elem, delayed)
|
||||
}
|
||||
} else if (_shouldReset(elem)) {
|
||||
//Otherwise reset our element and
|
||||
// trigger the `beforeReset` callback.
|
||||
elem.config.beforeReset(elem.domEl)
|
||||
elem.domEl.setAttribute('style',
|
||||
elem.styles.inline +
|
||||
elem.styles.transform.initial +
|
||||
elem.styles.transition.instant
|
||||
)
|
||||
// And queue the `afterReset` callback.
|
||||
_queueCallback('reset', elem)
|
||||
elem.revealing = false
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function _queueNextInSequence (elem, delayed) {
|
||||
var elapsed = 0
|
||||
var delay = 0
|
||||
var sequence = sr.sequences[elem.sequence.id]
|
||||
|
||||
// We’re processing a sequenced element, so let's block other elements in this sequence.
|
||||
sequence.blocked = true
|
||||
|
||||
// Since we’re triggering animations a part of a sequence after animations on first load,
|
||||
// we need to check for that condition and explicitly add the delay to our timer.
|
||||
if (delayed && elem.config.useDelay === 'onload') {
|
||||
delay = elem.config.delay
|
||||
}
|
||||
|
||||
// If a sequence timer is already running, capture the elapsed time and clear it.
|
||||
if (elem.sequence.timer) {
|
||||
elapsed = Math.abs(elem.sequence.timer.started - new Date())
|
||||
window.clearTimeout(elem.sequence.timer)
|
||||
}
|
||||
|
||||
// Start a new timer.
|
||||
elem.sequence.timer = { started: new Date() }
|
||||
elem.sequence.timer.clock = window.setTimeout(function () {
|
||||
// Sequence interval has passed, so unblock the sequence and re-run the handler.
|
||||
sequence.blocked = false
|
||||
elem.sequence.timer = null
|
||||
_handler()
|
||||
}, Math.abs(sequence.interval) + delay - elapsed)
|
||||
}
|
||||
|
||||
function _queueCallback (type, elem, delayed) {
|
||||
var elapsed = 0
|
||||
var duration = 0
|
||||
var callback = 'after'
|
||||
|
||||
// Check which callback we’re working with.
|
||||
switch (type) {
|
||||
case 'reveal':
|
||||
duration = elem.config.duration
|
||||
if (delayed) {
|
||||
duration += elem.config.delay
|
||||
}
|
||||
callback += 'Reveal'
|
||||
break
|
||||
|
||||
case 'reset':
|
||||
duration = elem.config.duration
|
||||
callback += 'Reset'
|
||||
break
|
||||
}
|
||||
|
||||
// If a timer is already running, capture the elapsed time and clear it.
|
||||
if (elem.timer) {
|
||||
elapsed = Math.abs(elem.timer.started - new Date())
|
||||
window.clearTimeout(elem.timer.clock)
|
||||
}
|
||||
|
||||
// Start a new timer.
|
||||
elem.timer = { started: new Date() }
|
||||
elem.timer.clock = window.setTimeout(function () {
|
||||
// The timer completed, so let’s fire the callback and null the timer.
|
||||
elem.config[callback](elem.domEl)
|
||||
elem.timer = null
|
||||
}, duration - elapsed)
|
||||
}
|
||||
|
||||
function _shouldReveal (elem) {
|
||||
if (elem.sequence) {
|
||||
var sequence = sr.sequences[elem.sequence.id]
|
||||
return sequence.active &&
|
||||
!sequence.blocked &&
|
||||
!elem.revealing &&
|
||||
!elem.disabled
|
||||
}
|
||||
return _isElemVisible(elem) &&
|
||||
!elem.revealing &&
|
||||
!elem.disabled
|
||||
}
|
||||
|
||||
function _shouldUseDelay (elem) {
|
||||
var config = elem.config.useDelay
|
||||
return config === 'always' ||
|
||||
(config === 'onload' && !sr.initialized) ||
|
||||
(config === 'once' && !elem.seen)
|
||||
}
|
||||
|
||||
function _shouldReset (elem) {
|
||||
if (elem.sequence) {
|
||||
var sequence = sr.sequences[elem.sequence.id]
|
||||
return !sequence.active &&
|
||||
elem.config.reset &&
|
||||
elem.revealing &&
|
||||
!elem.disabled
|
||||
}
|
||||
return !_isElemVisible(elem) &&
|
||||
elem.config.reset &&
|
||||
elem.revealing &&
|
||||
!elem.disabled
|
||||
}
|
||||
|
||||
function _getContainer (container) {
|
||||
return {
|
||||
width: container.clientWidth,
|
||||
height: container.clientHeight
|
||||
}
|
||||
}
|
||||
|
||||
function _getScrolled (container) {
|
||||
// Return the container scroll values, plus the its offset.
|
||||
if (container && container !== window.document.documentElement) {
|
||||
var offset = _getOffset(container)
|
||||
return {
|
||||
x: container.scrollLeft + offset.left,
|
||||
y: container.scrollTop + offset.top
|
||||
}
|
||||
} else {
|
||||
// Otherwise, default to the window object’s scroll values.
|
||||
return {
|
||||
x: window.pageXOffset,
|
||||
y: window.pageYOffset
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function _getOffset (domEl) {
|
||||
var offsetTop = 0
|
||||
var offsetLeft = 0
|
||||
|
||||
// Grab the element’s dimensions.
|
||||
var offsetHeight = domEl.offsetHeight
|
||||
var offsetWidth = domEl.offsetWidth
|
||||
|
||||
// Now calculate the distance between the element and its parent, then
|
||||
// again for the parent to its parent, and again etc... until we have the
|
||||
// total distance of the element to the document’s top and left origin.
|
||||
do {
|
||||
if (!isNaN(domEl.offsetTop)) {
|
||||
offsetTop += domEl.offsetTop
|
||||
}
|
||||
if (!isNaN(domEl.offsetLeft)) {
|
||||
offsetLeft += domEl.offsetLeft
|
||||
}
|
||||
domEl = domEl.offsetParent
|
||||
} while (domEl)
|
||||
|
||||
return {
|
||||
top: offsetTop,
|
||||
left: offsetLeft,
|
||||
height: offsetHeight,
|
||||
width: offsetWidth
|
||||
}
|
||||
}
|
||||
|
||||
function _isElemVisible (elem) {
|
||||
var offset = _getOffset(elem.domEl)
|
||||
var container = _getContainer(elem.config.container)
|
||||
var scrolled = _getScrolled(elem.config.container)
|
||||
var vF = elem.config.viewFactor
|
||||
|
||||
// Define the element geometry.
|
||||
var elemHeight = offset.height
|
||||
var elemWidth = offset.width
|
||||
var elemTop = offset.top
|
||||
var elemLeft = offset.left
|
||||
var elemBottom = elemTop + elemHeight
|
||||
var elemRight = elemLeft + elemWidth
|
||||
|
||||
return confirmBounds() || isPositionFixed()
|
||||
|
||||
function confirmBounds () {
|
||||
// Define the element’s functional boundaries using its view factor.
|
||||
var top = elemTop + elemHeight * vF
|
||||
var left = elemLeft + elemWidth * vF
|
||||
var bottom = elemBottom - elemHeight * vF
|
||||
var right = elemRight - elemWidth * vF
|
||||
|
||||
// Define the container functional boundaries using its view offset.
|
||||
var viewTop = scrolled.y + elem.config.viewOffset.top
|
||||
var viewLeft = scrolled.x + elem.config.viewOffset.left
|
||||
var viewBottom = scrolled.y - elem.config.viewOffset.bottom + container.height
|
||||
var viewRight = scrolled.x - elem.config.viewOffset.right + container.width
|
||||
|
||||
return top < viewBottom &&
|
||||
bottom > viewTop &&
|
||||
left < viewRight &&
|
||||
right > viewLeft
|
||||
}
|
||||
|
||||
function isPositionFixed () {
|
||||
return (window.getComputedStyle(elem.domEl).position === 'fixed')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Utilities
|
||||
* ---------
|
||||
*/
|
||||
|
||||
function Tools () {}
|
||||
|
||||
Tools.prototype.isObject = function (object) {
|
||||
return object !== null && typeof object === 'object' && object.constructor === Object
|
||||
}
|
||||
|
||||
Tools.prototype.isNode = function (object) {
|
||||
return typeof window.Node === 'object'
|
||||
? object instanceof window.Node
|
||||
: object && typeof object === 'object' &&
|
||||
typeof object.nodeType === 'number' &&
|
||||
typeof object.nodeName === 'string'
|
||||
}
|
||||
|
||||
Tools.prototype.isNodeList = function (object) {
|
||||
var prototypeToString = Object.prototype.toString.call(object)
|
||||
var regex = /^\[object (HTMLCollection|NodeList|Object)\]$/
|
||||
|
||||
return typeof window.NodeList === 'object'
|
||||
? object instanceof window.NodeList
|
||||
: object && typeof object === 'object' &&
|
||||
regex.test(prototypeToString) &&
|
||||
typeof object.length === 'number' &&
|
||||
(object.length === 0 || this.isNode(object[0]))
|
||||
}
|
||||
|
||||
Tools.prototype.forOwn = function (object, callback) {
|
||||
if (!this.isObject(object)) {
|
||||
throw new TypeError('Expected "object", but received "' + typeof object + '".')
|
||||
} else {
|
||||
for (var property in object) {
|
||||
if (object.hasOwnProperty(property)) {
|
||||
callback(property)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Tools.prototype.extend = function (target, source) {
|
||||
this.forOwn(source, function (property) {
|
||||
if (this.isObject(source[property])) {
|
||||
if (!target[property] || !this.isObject(target[property])) {
|
||||
target[property] = {}
|
||||
}
|
||||
this.extend(target[property], source[property])
|
||||
} else {
|
||||
target[property] = source[property]
|
||||
}
|
||||
}.bind(this))
|
||||
return target
|
||||
}
|
||||
|
||||
Tools.prototype.extendClone = function (target, source) {
|
||||
return this.extend(this.extend({}, target), source)
|
||||
}
|
||||
|
||||
Tools.prototype.isMobile = function () {
|
||||
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
|
||||
}
|
||||
|
||||
/**
|
||||
* Polyfills
|
||||
* --------
|
||||
*/
|
||||
|
||||
_requestAnimationFrame = window.requestAnimationFrame ||
|
||||
window.webkitRequestAnimationFrame ||
|
||||
window.mozRequestAnimationFrame ||
|
||||
function (callback) {
|
||||
window.setTimeout(callback, 1000 / 60)
|
||||
}
|
||||
|
||||
/**
|
||||
* Module Wrapper
|
||||
* --------------
|
||||
*/
|
||||
if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
|
||||
define(function () {
|
||||
return ScrollReveal
|
||||
})
|
||||
} else if (typeof module !== 'undefined' && module.exports) {
|
||||
module.exports = ScrollReveal
|
||||
} else {
|
||||
window.ScrollReveal = ScrollReveal
|
||||
}
|
||||
})();
|
||||
1
app/static/themes/creative/vendors/scrollreveal/scrollreveal.min.js
vendored
Normal file
1
app/static/themes/creative/vendors/scrollreveal/scrollreveal.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user