This commit is contained in:
KhaiNguyen
2020-02-13 10:39:37 +07:00
commit 59401cb805
12867 changed files with 4646216 additions and 0 deletions

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1,639 @@
#vc_ui-panel-templates.vc_active:before {
content: '';
display: block;
background-color: rgba(0, 0, 0, 0.6);
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
}
.wp-admin .vc_ui-panel-header-container {
background: #25b15f;
}
.wp-admin .vc_ui-panel-window-inner {
border-radius: 4px;
box-shadow: none;
overflow: hidden;
}
.wp-admin .vc_ui-panel-header .vc_ui-panel-header-heading {
font-weight: 500;
}
.wp-admin .vc_general.vc_ui-tabs-line .vc_ui-tabs-line-trigger {
box-sizing: border-box;
display: block;
text-transform: none;
border: 1px solid transparent;
font-size: 13px;
font-weight: 600;
line-height: 1;
text-decoration: none;
font-family: inherit;
padding: 16px 12px;
margin: 0;
outline: 0;
transition-property: color,background,border;
transition-duration: .2s;
transition-timing-function: ease-in-out;
border-radius: 4px 4px 0 0;
white-space: nowrap;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
text-align: left;
}
.templates-filter-list {
float: left;
width: 20%;
overflow-y: scroll;
position: relative;
left: 0;
height: 100%;
background: #fff;
z-index: 100;
max-height: calc(100vh - 300px);
overflow-x: hidden;
margin: 0;
}
.templates-filter-list li {
width: 100%;
font-weight: 600;
padding: 13px;
cursor: pointer;
margin:0;
font-size: 13px;
position: relative;
color: #1a1a1a;
}
.templates-filter-list li.active,
.templates-filter-list li:hover {
background: #f5f5f5;
color: #25b15f;
}
.templates-filter-list .block-counter {
position: absolute;
right: 40px;
background: #ececec;
width: 21px;
height: 21px;
display: block;
line-height: 21px;
text-align: center;
border-radius: 90px;
color: #1a1a1a;
top: 14px;
font-size: 9px;
font-weight: bold;
}
.templates-filter-list li.active .block-counter,
.templates-filter-list li:hover .block-counter {
background: #25b15f;
color: #fff;
}
.keydesign_templates_list {
width: 80%!important;
float: right!important;
max-height: calc(100vh - 300px);
overflow-y: scroll;
overflow-x: hidden;
display: block;
}
.vc_templates-template-type-keydesign_templates {
float: left;
width: 29%;
margin: 1% 0 2% 3%!important;
border-radius: 4px;
transition: 0.3s;
overflow: hidden;
box-shadow: 0 2px 30px rgba(0, 0, 0, 0.1);
border: none;
position: relative;
}
.vc_templates-template-type-keydesign_templates:hover {
box-shadow: 0 2px 30px rgba(0, 0, 0, 0.15);
}
.vc_templates-template-type-keydesign_templates:hover h5 {
background: #25b15f;
color: #fff;
}
.vc_templates-template-type-keydesign_templates img {
width:353px;
height:auto;
float: left;
}
.vc_templates-template-type-keydesign_templates h5 {
font-size: .83em;
padding: 1.67em 0;
float: left;
width: 100%;
transition:0.3s;
text-align: center;
font-size: 13px;
font-weight: 600;
margin: 0;
color: #1a1a1a;
}
.vc_templates-template-type-keydesign_templates .vc_ui-list-bar-item {
border:none!important;
display: block;
position: initial!important;
}
.vc_templates-template-type-keydesign_templates .vc_ui-list-bar-item-trigger {
padding: 18px;
font-weight: 600;
outline: 0;
transition-property: color;
color: #5e5e5e;
/* float: left; */
width: 100%;
position: absolute;
top: 0;
bottom: 0;
font-size: 0;
display: block;
left: 0;
right: 0;
height: 100%;
}
.vc_templates-template-type-keydesign_templates .vc_ui-list-bar-item-actions {
display:none
}
.wp-admin .composer-switch .logo-icon,
.wp-admin .composer-switch a,
.wp-admin .composer-switch a.wpb_switch-to-front-composer,
.wp-admin .composer-switch a:visited.wpb_switch-to-front-composer,
.wp-admin #wpb_visual_composer .vc_navbar,
.wp-admin .vc_welcome .vc_ui-button,
.wp-admin .vc_navgar-frontend.vc_navbar {
background-color: #25b15f;
}
.wp-admin #wpb_visual_composer .vc_navbar {
border-bottom:none;
}
.wp-admin #vc_no-content-add-text-block {
display: none;
}
.kdadmin-dashboard-box {
width: calc(33.33% - 15px);
display: inline-block;
margin-right: 15px;
padding: 20px 25px;
box-sizing: border-box;
float: left;
min-height: 280px;
border-radius: 5px;
}
.kdadmin-panel-column {
display:inline-block;
width: 33%;
box-sizing: border-box;
border: 1px solid #e5e7f2;
padding: 45px;
padding-top: 70px;
padding-bottom: 85px;
border-radius: 5px;
background: #eaeaea;
margin-top: 15px;
width: calc(33.3% - 15px);
margin-right: 15px;
float: left;
}
.kdadmin-panel-column:last-child {
margin-right:0;
}
.kdadmin-dashboard-box:last-child {
margin-right:0;
}
.kdadmin-dashboard .dashicons {margin-right:7px; color:#25b15f; }
.kdadmin-activate-column input[type="submit"],
.admin-color-fresh .ui-widget-content .ui-state-default.kdadmin-button,
.kdadmin-import .ocdi__gl-item-button,
.kdadmin-import .ocdi__gl-item-button.button-primary,
.kdadmin-dashboard .kdadmin-button {
background: #fff;
cursor: pointer;
border-width: 2px;
border-style: solid;
-webkit-appearance: none;
border-radius: 30px;
white-space: nowrap;
box-sizing: border-box;
padding: 0 20px;
margin: 0 5px;
background: #25b15f;
border-color: #25b15f;
box-shadow: none;
color: #fff;
text-decoration: none;
text-shadow: none;
font-weight: 700;
line-height: 36px;
display: inline-block;
font-size: 13px;
margin: 0;
min-width: 135px;
text-align: center;
transition:0.25s;
}
.kdadmin-dashboard p {
margin-bottom:20px;
}
.kdadmin-activate-column input[type="submit"]:hover,
.admin-color-fresh .ui-widget-content .ui-state-default.kdadmin-button:hover,
.kdadmin-import .ocdi__gl-item-button:hover,
.kdadmin-dashboard .kdadmin-button:hover {
background: #333;
border-color: #333;
}
.kdadmin-dashboard-box ul a {
text-decoration:none;
color: #25b15f;
}
.kdadmin-dashboard-box ul a:hover {
color:#333;
}
.kdadmin-welcome-box {
padding: 15px 25px;
border-radius: 5px;
float: left;
padding-bottom: 37px;
width: calc(100% - 15px);
box-sizing: border-box;
}
.kdadmin-import .ocdi__gl-item-button,
.kdadmin-dashboard .kdadmin-button.kdadmin-second-button {
background: none;
color: #25b15f;
}
.kdadmin-dashboard .kdadmin-button.kdadmin-second-button:hover {
background: #25b15f;
border-color: #25b15f;
color: #fff;
}
.kdadmin-import .ocdi__gl-item-container {
margin-right: -20px;
min-width: 100%!important;
}
.kdadmin-import .ocdi__gl-header {
display: inline-block;
width: calc(100% - 50px);
background-color: #ffffff;
margin-bottom: 20px;
padding: 0 20px;
border: 1px solid #e5e5e5;
border-radius: 4px;
}
.kdadmin-import .ocdi__gl-search-input {
display: inline-block;
width: 180px;
height: 30px;
margin: 0;
margin-top: 11px;
background: #eaeaea!important;
box-shadow: none!important;
border-radius: 4px;
outline: none;
padding: 0;
padding-left: 20px;
width: 300px;
font-size: 13px;
height: 40px;
line-height: 40px;
border: 1px solid #e5e7f2;
}
.kdadmin-import .ocdi__gl-navigation {
width: calc(100% - 300px);
}
.kdadmin-import .ocdi__gl-navigation li.active a, .ocdi__gl-navigation li.active a:hover {
border-bottom: 4px solid #25b15f;
}
.kdadmin-import .ocdi__gl-navigation li a {
padding: 20px;
font-weight: bold;
font-size: 14px;
}
.kdadmin-import .ocdi__gl-navigation li a:hover {
color: #25b15f;
}
.kdadmin-import .ocdi__gl-header {
margin-bottom: 30px;
}
.kdadmin-import .kdadmin-welcome-box {
width: calc(100% - 10px);
margin-bottom: 29px;
margin-top: 15px;
box-shadow: none;
padding-bottom: 20px;
}
.wp-core-ui .kdadmin-import .notice.is-dismissible {
padding-right: 38px;
position: relative;
background: #eaeaea!important;
border: 1px solid #e5e7f2;
margin-top: 20px;
margin-bottom: 20px;
box-shadow: none;
border-radius: 4px;
border-left: 4px solid #25b15f;
}
.wp-core-ui .kdadmin-import .notice.is-dismissible p {
margin: 10px 0px;
}
.kdadmin-import .kdadmin-welcome-box ul {
list-style: inherit;
padding-left: 20px;
}
.kdadmin-import .ocdi__gl-item-footer {
margin: 0;
padding: 20px;
-webkit-box-shadow: none;
box-shadow: none;
background: #fff;
border-top: 1px solid #eaeaea;
height: 40px;
}
.kdadmin-import .ocdi__gl-item {
border: 1px solid #e5e7f2;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-radius: 4px;
overflow: hidden;
}
.kdadmin-import .ocdi__gl-item-button.button-primary {
height: 40px;
margin-left: 10px;
}
.kdadmin-import .ocdi__gl-item-button {
height:40px;
}
.kdadmin-import .ocdi__gl-item-button:hover {
color:#fff;
}
.kdadmin-import .ocdi__gl-item-footer--with-preview h4.ocdi__gl-item-title {
width: auto;
margin: 0;
font-weight: bold;
line-height: 40px;
margin-left: 10px;
font-size: 16px;
}
#js-ocdi-modal-content {
width: 600px!important;
}
.ocdi__modal-image-container {
height: auto!important;
}
.ekko_page_import-demos .ui-dialog {
position: absolute;
top: 0;
left: 0;
z-index: 100102;
background-color: #fff;
box-shadow: none;
border-radius: 4px;
overflow: hidden;
}
.ekko_page_import-demos .ui-dialog-titlebar {
background: #eaeaea;
border-bottom: 1px solid #e5e7f2;
height: 50px;
font-size: 16px;
font-weight: 600;
line-height: 50px;
padding: 0 36px 0 16px;
}
.ekko_page_import-demos .ui-button.ui-dialog-titlebar-close {
background: none!important;
}
.ekko_page_import-demos .ui-dialog-buttonpane {
padding: 10px;
background: #eaeaea;
border-top: 1px solid #e5e7f2;
}
.admin-color-fresh .ui-widget-content .ui-state-default.kdadmin-button {
height:40px;
margin-left:10px;
}
#vc_add-new-element:before {
content: 'Add Element'
}
#vc_templates-editor-button:before {
content: 'Add Block'
}
#vc_templates-editor-button,
#vc_add-new-element {
min-width: 150px;
text-transform: capitalize;
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
text-decoration: none;
color: #fff;
border-left: 1px solid #fff;
font-size: 14px;
}
#vc_templates-editor-button {
border-right: 1px solid #fff;
}
#vc_templates-editor-button i,
#vc_add-new-element i {display: none;}
#vc_templates-more-layouts span {
display: none;
}
#vc_templates-more-layouts:after {
content: 'Add Block';
}
.kdadmin-activate-column {
border: 1px solid #e5e7f2;
padding: 30px;
border-radius: 5px;
background: #eaeaea;
margin-top: 35px;
position: relative;
width: calc(100% - 15px);
box-sizing: border-box;
}
.kdadmin-activate-column form {
margin-top: 18px;
}
.kdadmin-activate-column h3 {
margin: 0;
margin-bottom: 20px;
}
.kdadmin-activate-column h3.activated {
color: #25b15f;
margin-bottom: 0;
}
.kdadmin-activate-column a.deactivate-ekko, .kdadmin-dashboard .deactivate-ekko .dashicons {
color: #ff1053;
}
.kdadmin-activate-column a.deactivate-ekko:hover, .kdadmin-dashboard .deactivate-ekko:hover .dashicons {
color: #1f1f1f;
}
.kdadmin-activate-column a.deactivate-ekko {
position:absolute;
right: 30px;
top: 30px;
}
.kdadmin-activate-column input[type="text"] {border: 1px solid #e5e7f2;min-width: 300px;box-shadow: none;outline: none;background: #fff;line-height: 32px;border-radius: 4px;padding-left: 10px;}
.kdadmin-activate-column a {
text-decoration:none;
font-weight:600;
color:#1f1f1f;
outline: none;
}
.kdadmin-activate-column a:hover {
color: #25b15f;
}
.kdadmin-activate-column.kdadmin-activate-column-import {margin-top: 20px;}
.kdadmin-activate-column.kdadmin-activate-column-import h3 {
margin-bottom: 0;
}
.kdadmin-code-error {
display: block;
margin-top: 20px;
color: #ff1053;
font-weight: 600;
}
@media (max-width:1024px) {
.kdadmin-dashboard-box {
width: 100%;
min-height: inherit;
}
.kdadmin-import .ocdi__gl-navigation,
.kdadmin-import .ocdi__gl-item-footer--with-preview h4.ocdi__gl-item-title,
.kdadmin-import .kdadmin-welcome-box,
.kdadmin-welcome-box,
.kdadmin-activate-column,
.kdadmin-panel-column {
width: 100%;
}
.kdadmin-activate-column a.deactivate-ekko {
position: relative;
right: inherit;
top: inherit;
margin-top: 20px;
display: block;
}
.kdadmin-import .ocdi__gl-header {padding-bottom: 20px;}
}
body .composer-switch a.wpb_switch-to-front-composer:hover,
body .composer-switch a:visited.wpb_switch-to-front-composer:hover,
body .composer-switch a.wpb_switch-to-composer:hover,
body .composer-switch a:visited.wpb_switch-to-composer:hover,
body .vc_ui-button.vc_ui-button-info:focus,
body .vc_ui-button.vc_ui-button-info:hover,
body .vc_navbar .vc_icon-btn:not([disabled]):hover {
background-color: #008a67;
}
.kd-back-desc p {
margin: 0.2em 0;
font-size: 12px;
color: #999;
}
.wpb_el_type_kd_param_title h3 {
margin: 1em 0 0;
padding: 0 0 0.6em;
border-bottom: 1px solid #ddd;
}

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1,36 @@
jQuery(document).ready(function($) {
$('#vc_templates-editor-button, #vc-templatera-editor-button, #vc_templates-more-layouts').on('click', function() {
$('.templates-filter-list .filter').removeClass('active');
$('.templates-filter-list .filter:first-child').addClass('active');
var $btns = $('.templates-filter-list .filter').click(function() {
if (this.id == 'all') {
$('#KeydesignTemplates > .vc_ui-template').fadeIn(450);
} else {
var $el = $('.' + this.id).fadeIn(450);
$('#KeydesignTemplates > .vc_ui-template').not($el).hide();
}
$btns.removeClass('active');
$(this).addClass('active');
})
});
$('#vc_inline-frame-wrapper iframe').load(function() {
var iframe = $('#vc_inline-frame-wrapper iframe').contents();
iframe.find("#vc_templates-more-layouts").click(function() {
$('.templates-filter-list .filter').removeClass('active');
$('.templates-filter-list .filter:first-child').addClass('active');
var $btns = $('.templates-filter-list .filter').click(function() {
if (this.id == 'all') {
$('#KeydesignTemplates > .vc_ui-template').fadeIn(450);
} else {
var $el = $('.' + this.id).fadeIn(450);
$('#KeydesignTemplates > .vc_ui-template').not($el).hide();
}
$btns.removeClass('active');
$(this).addClass('active');
})
});
});
});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,92 @@
/*
* jQuery FlexSlider v2.2.0
* http://www.woothemes.com/flexslider/
*
* Copyright 2012 WooThemes
* Free to use under the GPLv2 license.
* http://www.gnu.org/licenses/gpl-2.0.html
*
* Contributing author: Tyler Smith (@mbmufffin)
*/
/* Browser Resets
*********************************/
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}
/* Icon Fonts
*********************************/
/* Font-face Icons */
/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {width: 100%; display: block;}
.flex-pauseplay span {text-transform: capitalize;}
/* Clearfix for the .slides element */
.slides:after {content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}
/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
* include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}
/* FlexSlider Default Theme
*********************************/
.flexslider { margin: 0 0 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1; }
.flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
.loading .flex-viewport { max-height: 300px; }
.flexslider .slides { zoom: 1; }
.carousel li { margin-right: 5px; }
/* Direction Nav */
.flex-direction-nav {*height: 0;}
.flex-direction-nav a { text-decoration:none; display: block; width: 40px; height: 40px; margin: -20px 0 0; position: absolute; top: 50%; z-index: 10; overflow: hidden; opacity: 0; cursor: pointer; color: rgba(0,0,0,0.8); text-shadow: 1px 1px 0 rgba(255,255,255,0.3); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
.flex-direction-nav .flex-prev { left: -50px; }
.flex-direction-nav .flex-next { right: -50px; text-align: right; }
.flexslider:hover .flex-prev { opacity: 0.7; left: 10px; }
.flexslider:hover .flex-next { opacity: 0.7; right: 10px; }
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover { opacity: 1; }
.flex-direction-nav .flex-disabled { opacity: 0!important; filter:alpha(opacity=0); cursor: default; }
.flex-direction-nav a:before { font-family: "flexslider-icon"; font-size: 40px; display: inline-block; content: '\f001'; }
.flex-direction-nav a.flex-next:before { content: '\f002'; }
/* Pause/Play */
.flex-pauseplay a { display: block; width: 20px; height: 20px; position: absolute; bottom: 5px; left: 10px; opacity: 0.8; z-index: 10; overflow: hidden; cursor: pointer; color: #000; }
.flex-pauseplay a:before { font-family: "flexslider-icon"; font-size: 20px; display: inline-block; content: '\f004'; }
.flex-pauseplay a:hover { opacity: 1; }
.flex-pauseplay a.flex-play:before { content: '\f003'; }
/* Control Nav */
.flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {
display: block;
cursor: pointer;
padding: 5px 30px;
background: none;
margin: 0;
}
.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }
.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}
@media screen and (max-width: 860px) {
.flex-direction-nav .flex-prev { opacity: 1; left: 10px;}
.flex-direction-nav .flex-next { opacity: 1; right: 10px;}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<?php

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,483 @@
/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
Contents:
1. Buttons
2. Share modal and links
3. Index indicator ("1 of X" counter)
4. Caption
5. Loading indicator
6. Additional styles (root element, top bar, idle state, hidden state, etc.)
*/
/*
1. Buttons
*/
/* <button> css reset */
.pswp__button {
width: 44px;
height: 44px;
position: relative;
background: none;
cursor: pointer;
overflow: visible;
-webkit-appearance: none;
display: block;
border: 0;
padding: 0;
margin: 0;
float: right;
opacity: 0.75;
-webkit-transition: opacity 0.2s;
transition: opacity 0.2s;
-webkit-box-shadow: none;
box-shadow: none; }
.pswp__button:focus,
.pswp__button:hover {
opacity: 1; }
.pswp__button:active {
outline: none;
opacity: 0.9; }
.pswp__button::-moz-focus-inner {
padding: 0;
border: 0; }
/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
opacity: 1; }
.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
background: url("../img/photoswipe/default-skin.png") 0 0 no-repeat;
background-size: 264px 88px;
width: 44px;
height: 44px; }
@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
/* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
.pswp--svg .pswp__button,
.pswp--svg .pswp__button--arrow--left:before,
.pswp--svg .pswp__button--arrow--right:before {
background-image: url("../img/photoswipe/default-skin.svg"); }
.pswp--svg .pswp__button--arrow--left,
.pswp--svg .pswp__button--arrow--right {
background: none; } }
.pswp__button--close {
background-position: 0 -44px; }
.pswp__button--share {
background-position: -44px -44px; }
.pswp__button--fs {
display: none; }
.pswp--supports-fs .pswp__button--fs {
display: block; }
.pswp--fs .pswp__button--fs {
background-position: -44px 0; }
.pswp__button--zoom {
display: none;
background-position: -88px 0; }
.pswp--zoom-allowed .pswp__button--zoom {
display: block; }
.pswp--zoomed-in .pswp__button--zoom {
background-position: -132px 0; }
/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
visibility: hidden; }
/*
Arrow buttons hit area
(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
background: none;
top: 50%;
margin-top: -50px;
width: 70px;
height: 100px;
position: absolute; }
.pswp__button--arrow--left {
left: 0; }
.pswp__button--arrow--right {
right: 0; }
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
content: '';
top: 35px;
background-color: rgba(0, 0, 0, 0.3);
height: 30px;
width: 32px;
position: absolute; }
.pswp__button--arrow--left:before {
left: 6px;
background-position: -138px -44px; }
.pswp__button--arrow--right:before {
right: 6px;
background-position: -94px -44px; }
/*
2. Share modal/popup and links
*/
.pswp__counter,
.pswp__share-modal {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; }
.pswp__share-modal {
display: block;
background: rgba(0, 0, 0, 0.5);
width: 100%;
height: 100%;
top: 0;
left: 0;
padding: 10px;
position: absolute;
z-index: 1600;
opacity: 0;
-webkit-transition: opacity 0.25s ease-out;
transition: opacity 0.25s ease-out;
-webkit-backface-visibility: hidden;
will-change: opacity; }
.pswp__share-modal--hidden {
display: none; }
.pswp__share-tooltip {
z-index: 1620;
position: absolute;
background: #FFF;
top: 56px;
border-radius: 2px;
display: block;
width: auto;
right: 44px;
-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
-webkit-transform: translateY(6px);
-ms-transform: translateY(6px);
transform: translateY(6px);
-webkit-transition: -webkit-transform 0.25s;
transition: transform 0.25s;
-webkit-backface-visibility: hidden;
will-change: transform; }
.pswp__share-tooltip a {
display: block;
padding: 8px 12px;
color: #000;
text-decoration: none;
font-size: 14px;
line-height: 18px; }
.pswp__share-tooltip a:hover {
text-decoration: none;
color: #000; }
.pswp__share-tooltip a:first-child {
/* round corners on the first/last list item */
border-radius: 2px 2px 0 0; }
.pswp__share-tooltip a:last-child {
border-radius: 0 0 2px 2px; }
.pswp__share-modal--fade-in {
opacity: 1; }
.pswp__share-modal--fade-in .pswp__share-tooltip {
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0); }
/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
padding: 16px 12px; }
a.pswp__share--facebook:before {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
top: -12px;
right: 15px;
border: 6px solid transparent;
border-bottom-color: #FFF;
-webkit-pointer-events: none;
-moz-pointer-events: none;
pointer-events: none; }
a.pswp__share--facebook:hover {
background: #3E5C9A;
color: #FFF; }
a.pswp__share--facebook:hover:before {
border-bottom-color: #3E5C9A; }
a.pswp__share--twitter:hover {
background: #55ACEE;
color: #FFF; }
a.pswp__share--pinterest:hover {
background: #CCC;
color: #CE272D; }
a.pswp__share--download:hover {
background: #DDD; }
/*
3. Index indicator ("1 of X" counter)
*/
.pswp__counter {
position: absolute;
left: 0;
top: 0;
height: 44px;
font-size: 13px;
line-height: 44px;
color: #FFF;
opacity: 0.75;
padding: 0 10px; }
/*
4. Caption
*/
.pswp__caption {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
min-height: 44px; }
.pswp__caption small {
font-size: 11px;
color: #BBB; }
.pswp__caption__center {
text-align: left;
max-width: 420px;
margin: 0 auto;
font-size: 13px;
padding: 10px;
line-height: 20px;
color: #CCC; }
.pswp__caption--empty {
display: none; }
/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
visibility: hidden; }
/*
5. Loading indicator (preloader)
You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR
*/
.pswp__preloader {
width: 44px;
height: 44px;
position: absolute;
top: 0;
left: 50%;
margin-left: -22px;
opacity: 0;
-webkit-transition: opacity 0.25s ease-out;
transition: opacity 0.25s ease-out;
will-change: opacity;
direction: ltr; }
.pswp__preloader__icn {
width: 20px;
height: 20px;
margin: 12px; }
.pswp__preloader--active {
opacity: 1; }
.pswp__preloader--active .pswp__preloader__icn {
/* We use .gif in browsers that don't support CSS animation */
background: url("../img/photoswipe/preloader.gif") 0 0 no-repeat; }
.pswp--css_animation .pswp__preloader--active {
opacity: 1; }
.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
-webkit-animation: clockwise 500ms linear infinite;
animation: clockwise 500ms linear infinite; }
.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
-webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }
.pswp--css_animation .pswp__preloader__icn {
background: none;
opacity: 0.75;
width: 14px;
height: 14px;
position: absolute;
left: 15px;
top: 15px;
margin: 0; }
.pswp--css_animation .pswp__preloader__cut {
/*
The idea of animating inner circle is based on Polymer ("material") loading indicator
by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
*/
position: relative;
width: 7px;
height: 14px;
overflow: hidden; }
.pswp--css_animation .pswp__preloader__donut {
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 14px;
height: 14px;
border: 2px solid #FFF;
border-radius: 50%;
border-left-color: transparent;
border-bottom-color: transparent;
position: absolute;
top: 0;
left: 0;
background: none;
margin: 0; }
@media screen and (max-width: 1024px) {
.pswp__preloader {
position: relative;
left: auto;
top: auto;
margin: 0;
float: right; } }
@-webkit-keyframes clockwise {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
@keyframes clockwise {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
@-webkit-keyframes donut-rotate {
0% {
-webkit-transform: rotate(0);
transform: rotate(0); }
50% {
-webkit-transform: rotate(-140deg);
transform: rotate(-140deg); }
100% {
-webkit-transform: rotate(0);
transform: rotate(0); } }
@keyframes donut-rotate {
0% {
-webkit-transform: rotate(0);
transform: rotate(0); }
50% {
-webkit-transform: rotate(-140deg);
transform: rotate(-140deg); }
100% {
-webkit-transform: rotate(0);
transform: rotate(0); } }
/*
6. Additional styles
*/
/* root element of UI */
.pswp__ui {
-webkit-font-smoothing: auto;
visibility: visible;
opacity: 1;
z-index: 1550; }
/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
position: absolute;
left: 0;
top: 0;
height: 44px;
width: 100%; }
.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
-webkit-backface-visibility: hidden;
will-change: opacity;
-webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
visibility: visible; }
.pswp__top-bar,
.pswp__caption {
background-color: rgba(0, 0, 0, 0.5); }
/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
background-color: rgba(0, 0, 0, 0.3); }
/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
opacity: 0; }
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
opacity: 0; }
/*
pswp__ui--hidden class is added when controls are hidden
e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
/* Force paint & create composition layer for controls. */
opacity: 0.001; }
/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
display: none; }
.pswp__element--disabled {
display: none !important; }
.pswp--minimal--dark .pswp__top-bar {
background: none; }

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,178 @@
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
display: none;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
overflow: hidden;
-ms-touch-action: none;
touch-action: none;
z-index: 1500;
-webkit-text-size-adjust: 100%;
/* create separate layer, to avoid paint on window.onscroll in webkit/blink */
-webkit-backface-visibility: hidden;
outline: none; }
.pswp * {
-webkit-box-sizing: border-box;
box-sizing: border-box; }
.pswp img {
max-width: none; }
/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
/* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
opacity: 0.001;
will-change: opacity;
/* for open/close transition */
-webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
.pswp--open {
display: block; }
.pswp--zoom-allowed .pswp__img {
/* autoprefixer: off */
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in; }
.pswp--zoomed-in .pswp__img {
/* autoprefixer: off */
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab; }
.pswp--dragging .pswp__img {
/* autoprefixer: off */
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
cursor: grabbing; }
/*
Background is added as a separate element.
As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: #000;
opacity: 0;
transform: translateZ(0);
-webkit-backface-visibility: hidden;
will-change: opacity; }
.pswp__scroll-wrap {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: hidden; }
.pswp__container,
.pswp__zoom-wrap {
-ms-touch-action: none;
touch-action: none;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0; }
/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none; }
.pswp__zoom-wrap {
position: absolute;
width: 100%;
-webkit-transform-origin: left top;
-ms-transform-origin: left top;
transform-origin: left top;
/* for open/close transition */
-webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }
.pswp__bg {
will-change: opacity;
/* for open/close transition */
-webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
-webkit-transition: none;
transition: none; }
.pswp__container,
.pswp__zoom-wrap {
-webkit-backface-visibility: hidden; }
.pswp__item {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
overflow: hidden; }
.pswp__img {
position: absolute;
width: auto;
height: auto;
top: 0;
left: 0; }
/*
stretched thumbnail or div placeholder element (see below)
style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
-webkit-backface-visibility: hidden; }
/*
div element that matches size of large image
large image loads on top of it
*/
.pswp__img--placeholder--blank {
background: #222; }
.pswp--ie .pswp__img {
width: 100% !important;
height: auto !important;
left: 0;
top: 0; }
/*
Error message appears when image is not loaded
(JS option errorMsg controls markup)
*/
.pswp__error-msg {
position: absolute;
left: 0;
top: 50%;
width: 100%;
text-align: center;
font-size: 14px;
line-height: 16px;
margin-top: -8px;
color: #CCC; }
.pswp__error-msg a {
color: #CCC;
text-decoration: underline; }

View File

@@ -0,0 +1 @@
/*!PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license*/.pswp{display:none;position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;-ms-touch-action:none;touch-action:none;z-index:1500;-webkit-text-size-adjust:100%;-webkit-backface-visibility:hidden;outline:0}.pswp *{-webkit-box-sizing:border-box;box-sizing:border-box}.pswp img{max-width:none}.pswp--animate_opacity{opacity:.001;will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--open{display:block}.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--dragging .pswp__img{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp__bg{position:absolute;left:0;top:0;width:100%;height:100%;background:#000;opacity:0;transform:translateZ(0);-webkit-backface-visibility:hidden;will-change:opacity}.pswp__scroll-wrap{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden}.pswp__container,.pswp__zoom-wrap{-ms-touch-action:none;touch-action:none;position:absolute;left:0;right:0;top:0;bottom:0}.pswp__container,.pswp__img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;width:100%;-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 333ms cubic-bezier(.4,0,.22,1);transition:transform 333ms cubic-bezier(.4,0,.22,1)}.pswp__bg{will-change:opacity;-webkit-transition:opacity 333ms cubic-bezier(.4,0,.22,1);transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{-webkit-transition:none;transition:none}.pswp__container,.pswp__zoom-wrap{-webkit-backface-visibility:hidden}.pswp__item{position:absolute;left:0;right:0;top:0;bottom:0;overflow:hidden}.pswp__img{position:absolute;width:auto;height:auto;top:0;left:0}.pswp__img--placeholder{-webkit-backface-visibility:hidden}.pswp__img--placeholder--blank{background:#222}.pswp--ie .pswp__img{width:100%!important;height:auto!important;left:0;top:0}.pswp__error-msg{position:absolute;left:0;top:50%;width:100%;text-align:center;font-size:14px;line-height:16px;margin-top:-8px;color:#ccc}.pswp__error-msg a{color:#ccc;text-decoration:underline}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

View File

@@ -0,0 +1 @@
<?php

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

View File

@@ -0,0 +1 @@
<svg width="264" height="88" viewBox="0 0 264 88" xmlns="http://www.w3.org/2000/svg"><title>default-skin 2</title><g fill="none" fill-rule="evenodd"><g><path d="M67.002 59.5v3.768c-6.307.84-9.184 5.75-10.002 9.732 2.22-2.83 5.564-5.098 10.002-5.098V71.5L73 65.585 67.002 59.5z" id="Shape" fill="#fff"/><g fill="#fff"><path d="M13 29v-5h2v3h3v2h-5zM13 15h5v2h-3v3h-2v-5zM31 15v5h-2v-3h-3v-2h5zM31 29h-5v-2h3v-3h2v5z" id="Shape"/></g><g fill="#fff"><path d="M62 24v5h-2v-3h-3v-2h5zM62 20h-5v-2h3v-3h2v5zM70 20v-5h2v3h3v2h-5zM70 24h5v2h-3v3h-2v-5z"/></g><path d="M20.586 66l-5.656-5.656 1.414-1.414L22 64.586l5.656-5.656 1.414 1.414L23.414 66l5.656 5.656-1.414 1.414L22 67.414l-5.656 5.656-1.414-1.414L20.586 66z" fill="#fff"/><path d="M111.785 65.03L110 63.5l3-3.5h-10v-2h10l-3-3.5 1.785-1.468L117 59l-5.215 6.03z" fill="#fff"/><path d="M152.215 65.03L154 63.5l-3-3.5h10v-2h-10l3-3.5-1.785-1.468L147 59l5.215 6.03z" fill="#fff"/><g><path id="Rectangle-11" fill="#fff" d="M160.957 28.543l-3.25-3.25-1.413 1.414 3.25 3.25z"/><path d="M152.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" id="Oval-1" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M150 21h5v1h-5z"/></g><g><path d="M116.957 28.543l-1.414 1.414-3.25-3.25 1.414-1.414 3.25 3.25z" fill="#fff"/><path d="M108.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z" stroke="#fff" stroke-width="1.5"/><path fill="#fff" d="M106 21h5v1h-5z"/><path fill="#fff" d="M109.043 19.008l-.085 5-1-.017.085-5z"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1,115 @@
/*
* jQuery.appear
* https://github.com/bas2k/jquery.appear/
* http://code.google.com/p/jquery-appear/
*
* Copyright (c) 2009 Michael Hixson
* Copyright (c) 2012 Alexander Brovikov
* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
*/
(function($) {
$.fn.appear = function(fn, options) {
var settings = $.extend({
//arbitrary data to pass to fn
data: undefined,
//call fn only on the first appear?
one: true,
// X & Y accuracy
accX: 0,
accY: 0
}, options);
return this.each(function() {
var t = $(this);
//whether the element is currently visible
t.appeared = false;
if (!fn) {
//trigger the custom event
t.trigger('appear', settings.data);
return;
}
var w = $(window);
//fires the appear event when appropriate
var check = function() {
//is the element hidden?
if (!t.is(':visible')) {
//it became hidden
t.appeared = false;
return;
}
//is the element inside the visible window?
var a = w.scrollLeft();
var b = w.scrollTop();
var o = t.offset();
var x = o.left;
var y = o.top;
var ax = settings.accX;
var ay = settings.accY;
var th = t.height();
var wh = w.height();
var tw = t.width();
var ww = w.width();
if (y + th + ay >= b &&
y <= b + wh + ay &&
x + tw + ax >= a &&
x <= a + ww + ax) {
//trigger the custom event
if (!t.appeared) t.trigger('appear', settings.data);
} else {
//it scrolled out of view
t.appeared = false;
}
};
//create a modified fn with some additional logic
var modifiedFn = function() {
//mark the element as visible
t.appeared = true;
//is this supposed to happen only once?
if (settings.one) {
//remove the check
w.unbind('scroll', check);
var i = $.inArray(check, $.fn.appear.checks);
if (i >= 0) $.fn.appear.checks.splice(i, 1);
}
//trigger the original fn
fn.apply(this, arguments);
};
//bind the modified fn to the element
if (settings.one) t.one('appear', settings.data, modifiedFn);
else t.bind('appear', settings.data, modifiedFn);
//check whenever the window scrolls
w.scroll(check);
//check whenever the dom changes
$.fn.appear.checks.push(check);
//check now
(check)();
});
};
//keep a queue of appearance checks
$.extend($.fn.appear, {
checks: [],
timeout: null,
//process the queue
checkAll: function() {
var length = $.fn.appear.checks.length;
if (length > 0) while (length--) ($.fn.appear.checks[length])();
},
//check the queue asynchronously
run: function() {
if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout);
$.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20);
}
});
//run checks when these methods are called
$.each(['append', 'prepend', 'after', 'before', 'attr',
'removeAttr', 'addClass', 'removeClass', 'toggleClass',
'remove', 'css', 'show', 'hide'], function(i, n) {
var old = $.fn[n];
if (old) {
$.fn[n] = function() {
var r = old.apply(this, arguments);
$.fn.appear.run();
return r;
};
}
});
})(jQuery);

View File

@@ -0,0 +1,235 @@
/*!
* The Final Countdown for jQuery v2.1.0 (http://hilios.github.io/jQuery.countdown/)
* Copyright (c) 2015 Edson Hilios
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
(function(factory) {
"use strict";
if (typeof define === "function" && define.amd) {
define([ "jquery" ], factory);
} else {
factory(jQuery);
}
})(function($) {
"use strict";
var instances = [], matchers = [], defaultOptions = {
precision: 100,
elapse: false
};
matchers.push(/^[0-9]*$/.source);
matchers.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source);
matchers.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source);
matchers = new RegExp(matchers.join("|"));
function parseDateString(dateString) {
if (dateString instanceof Date) {
return dateString;
}
if (String(dateString).match(matchers)) {
if (String(dateString).match(/^[0-9]*$/)) {
dateString = Number(dateString);
}
if (String(dateString).match(/\-/)) {
dateString = String(dateString).replace(/\-/g, "/");
}
return new Date(dateString);
} else {
throw new Error("Couldn't cast `" + dateString + "` to a date object.");
}
}
var DIRECTIVE_KEY_MAP = {
Y: "years",
m: "months",
n: "daysToMonth",
w: "weeks",
d: "daysToWeek",
D: "totalDays",
H: "hours",
M: "minutes",
S: "seconds"
};
function escapedRegExp(str) {
var sanitize = str.toString().replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
return new RegExp(sanitize);
}
function strftime(offsetObject) {
return function(format) {
var directives = format.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);
if (directives) {
for (var i = 0, len = directives.length; i < len; ++i) {
var directive = directives[i].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/), regexp = escapedRegExp(directive[0]), modifier = directive[1] || "", plural = directive[3] || "", value = null;
directive = directive[2];
if (DIRECTIVE_KEY_MAP.hasOwnProperty(directive)) {
value = DIRECTIVE_KEY_MAP[directive];
value = Number(offsetObject[value]);
}
if (value !== null) {
if (modifier === "!") {
value = pluralize(plural, value);
}
if (modifier === "") {
if (value < 10) {
value = "0" + value.toString();
}
}
format = format.replace(regexp, value.toString());
}
}
}
format = format.replace(/%%/, "%");
return format;
};
}
function pluralize(format, count) {
var plural = "s", singular = "";
if (format) {
format = format.replace(/(:|;|\s)/gi, "").split(/\,/);
if (format.length === 1) {
plural = format[0];
} else {
singular = format[0];
plural = format[1];
}
}
if (Math.abs(count) === 1) {
return singular;
} else {
return plural;
}
}
var Countdown = function(el, finalDate, options) {
this.el = el;
this.$el = $(el);
this.interval = null;
this.offset = {};
this.options = $.extend({}, defaultOptions);
this.instanceNumber = instances.length;
instances.push(this);
this.$el.data("countdown-instance", this.instanceNumber);
if (options) {
if (typeof options === "function") {
this.$el.on("update.countdown", options);
this.$el.on("stoped.countdown", options);
this.$el.on("finish.countdown", options);
} else {
this.options = $.extend({}, defaultOptions, options);
}
}
this.setFinalDate(finalDate);
this.start();
};
$.extend(Countdown.prototype, {
start: function() {
if (this.interval !== null) {
clearInterval(this.interval);
}
var self = this;
this.update();
this.interval = setInterval(function() {
self.update.call(self);
}, this.options.precision);
},
stop: function() {
clearInterval(this.interval);
this.interval = null;
this.dispatchEvent("stoped");
},
toggle: function() {
if (this.interval) {
this.stop();
} else {
this.start();
}
},
pause: function() {
this.stop();
},
resume: function() {
this.start();
},
remove: function() {
this.stop.call(this);
instances[this.instanceNumber] = null;
delete this.$el.data().countdownInstance;
},
setFinalDate: function(value) {
this.finalDate = parseDateString(value);
},
update: function() {
if (this.$el.closest("html").length === 0) {
this.remove();
return;
}
var hasEventsAttached = $._data(this.el, "events") !== undefined, now = new Date(), newTotalSecsLeft;
newTotalSecsLeft = this.finalDate.getTime() - now.getTime();
newTotalSecsLeft = Math.ceil(newTotalSecsLeft / 1e3);
newTotalSecsLeft = !this.options.elapse && newTotalSecsLeft < 0 ? 0 : Math.abs(newTotalSecsLeft);
if (this.totalSecsLeft === newTotalSecsLeft || !hasEventsAttached) {
return;
} else {
this.totalSecsLeft = newTotalSecsLeft;
}
this.elapsed = now >= this.finalDate;
this.offset = {
seconds: this.totalSecsLeft % 60,
minutes: Math.floor(this.totalSecsLeft / 60) % 60,
hours: Math.floor(this.totalSecsLeft / 60 / 60) % 24,
days: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,
daysToWeek: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,
daysToMonth: Math.floor(this.totalSecsLeft / 60 / 60 / 24 % 30.4368),
totalDays: Math.floor(this.totalSecsLeft / 60 / 60 / 24),
weeks: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7),
months: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30.4368),
years: Math.abs(this.finalDate.getFullYear() - now.getFullYear())
};
if (!this.options.elapse && this.totalSecsLeft === 0) {
this.stop();
this.dispatchEvent("finish");
} else {
this.dispatchEvent("update");
}
},
dispatchEvent: function(eventName) {
var event = $.Event(eventName + ".countdown");
event.finalDate = this.finalDate;
event.elapsed = this.elapsed;
event.offset = $.extend({}, this.offset);
event.strftime = strftime(this.offset);
this.$el.trigger(event);
}
});
$.fn.countdown = function() {
var argumentsArray = Array.prototype.slice.call(arguments, 0);
return this.each(function() {
var instanceNumber = $(this).data("countdown-instance");
if (instanceNumber !== undefined) {
var instance = instances[instanceNumber], method = argumentsArray[0];
if (Countdown.prototype.hasOwnProperty(method)) {
instance[method].apply(instance, argumentsArray.slice(1));
} else if (String(method).match(/^[$A-Z_][0-9A-Z_$]*$/i) === null) {
instance.setFinalDate.call(instance, method);
instance.start();
} else {
$.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi, method));
}
} else {
new Countdown(this, argumentsArray[0], argumentsArray[1]);
}
});
};
});

View File

@@ -0,0 +1,44 @@
/*
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
*
* Uses the built in easing capabilities added In jQuery 1.1
* to offer multiple easing options
*
* TERMS OF USE - EASING EQUATIONS
*
* Open source under the BSD License.
*
* Copyright © 2001 Robert Penner
* All rights reserved.
*
* TERMS OF USE - jQuery Easing
*
* Open source under the BSD License.
*
* Copyright © 2008 George McGinley Smith
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* Neither the name of the author nor the names of contributors may be used to endorse
* or promote products derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return -(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return -0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});

View File

@@ -0,0 +1,9 @@
/**!
* easyPieChart
* Lightweight plugin to render simple, animated and retina optimized pie charts
*
* @license
* @author Robert Fleischmann <rendro87@gmail.com> (http://robert-fleischmann.de)
* @version 2.1.5
**/
!function(a,b){"object"==typeof exports?module.exports=b(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],b):b(a.jQuery)}(this,function(a){var b=function(a,b){var c,d=document.createElement("canvas");a.appendChild(d),"undefined"!=typeof G_vmlCanvasManager&&G_vmlCanvasManager.initElement(d);var e=d.getContext("2d");d.width=d.height=b.size;var f=1;window.devicePixelRatio>1&&(f=window.devicePixelRatio,d.style.width=d.style.height=[b.size,"px"].join(""),d.width=d.height=b.size*f,e.scale(f,f)),e.translate(b.size/2,b.size/2),e.rotate((-0.5+b.rotate/180)*Math.PI);var g=(b.size-b.lineWidth)/2;b.scaleColor&&b.scaleLength&&(g-=b.scaleLength+2),Date.now=Date.now||function(){return+new Date};var h=function(a,b,c){c=Math.min(Math.max(-1,c||0),1);var d=0>=c?!0:!1;e.beginPath(),e.arc(0,0,g,0,2*Math.PI*c,d),e.strokeStyle=a,e.lineWidth=b,e.stroke()},i=function(){var a,c;e.lineWidth=1,e.fillStyle=b.scaleColor,e.save();for(var d=24;d>0;--d)d%6===0?(c=b.scaleLength,a=0):(c=.6*b.scaleLength,a=b.scaleLength-c),e.fillRect(-b.size/2+a,0,c,1),e.rotate(Math.PI/12);e.restore()},j=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),k=function(){b.scaleColor&&i(),b.trackColor&&h(b.trackColor,b.lineWidth,1)};this.getCanvas=function(){return d},this.getCtx=function(){return e},this.clear=function(){e.clearRect(b.size/-2,b.size/-2,b.size,b.size)},this.draw=function(a){b.scaleColor||b.trackColor?e.getImageData&&e.putImageData?c?e.putImageData(c,0,0):(k(),c=e.getImageData(0,0,b.size*f,b.size*f)):(this.clear(),k()):this.clear(),e.lineCap=b.lineCap;var d;d="function"==typeof b.barColor?b.barColor(a):b.barColor,h(d,b.lineWidth,a/100)}.bind(this),this.animate=function(a,c){var d=Date.now();b.onStart(a,c);var e=function(){var f=Math.min(Date.now()-d,b.animate.duration),g=b.easing(this,f,a,c-a,b.animate.duration);this.draw(g),b.onStep(a,c,g),f>=b.animate.duration?b.onStop(a,c):j(e)}.bind(this);j(e)}.bind(this)},c=function(a,c){var d={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(a,b,c,d,e){return b/=e/2,1>b?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},onStart:function(){},onStep:function(){},onStop:function(){}};if("undefined"!=typeof b)d.renderer=b;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");d.renderer=SVGRenderer}var e={},f=0,g=function(){this.el=a,this.options=e;for(var b in d)d.hasOwnProperty(b)&&(e[b]=c&&"undefined"!=typeof c[b]?c[b]:d[b],"function"==typeof e[b]&&(e[b]=e[b].bind(this)));e.easing="string"==typeof e.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[e.easing])?jQuery.easing[e.easing]:d.easing,"number"==typeof e.animate&&(e.animate={duration:e.animate,enabled:!0}),"boolean"!=typeof e.animate||e.animate||(e.animate={duration:1e3,enabled:e.animate}),this.renderer=new e.renderer(a,e),this.renderer.draw(f),a.dataset&&a.dataset.percent?this.update(parseFloat(a.dataset.percent)):a.getAttribute&&a.getAttribute("data-percent")&&this.update(parseFloat(a.getAttribute("data-percent")))}.bind(this);this.update=function(a){return a=parseFloat(a),e.animate.enabled?this.renderer.animate(f,a):this.renderer.draw(a),f=a,this}.bind(this),this.disableAnimation=function(){return e.animate.enabled=!1,this},this.enableAnimation=function(){return e.animate.enabled=!0,this},g()};a.fn.easyPieChart=function(b){return this.each(function(){var d;a.data(this,"easyPieChart")||(d=a.extend({},b,a(this).data()),a.data(this,"easyPieChart",new c(this,d)))})}});

View File

@@ -0,0 +1,450 @@
/*
* jQuery EasyTabs plugin 3.2.0
*
* Copyright (c) 2010-2011 Steve Schwartz (JangoSteve)
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Date: Thu May 09 17:30:00 2013 -0500
*/
(function(a) {
a.easytabs = function(j, e) {
var f = this,
q = a(j),
i = {
animate: true,
panelActiveClass: "active",
tabActiveClass: "active",
defaultTab: "li:first-child",
animationSpeed: "normal",
tabs: "> ul > li",
updateHash: true,
cycle: false,
collapsible: false,
collapsedClass: "collapsed",
collapsedByDefault: false,
uiTabs: false,
transitionIn: "fadeIn",
transitionOut: "fadeOut",
transitionInEasing: "swing",
transitionOutEasing: "swing",
transitionCollapse: false,
transitionUncollapse: false,
transitionCollapseEasing: false,
transitionUncollapseEasing: false,
containerClass: "",
tabsClass: "",
tabClass: "",
panelClass: "",
cache: true,
event: "click",
panelContext: q
},
h, l, v, m, d, t = {
fast: 200,
normal: 300,
slow: 600
},
r;
f.init = function() {
f.settings = r = a.extend({}, i, e);
r.bind_str = r.event + ".easytabs";
if (r.uiTabs) {
r.tabActiveClass = "ui-tabs-selected";
r.containerClass = "ui-tabs ui-widget ui-widget-content ui-corner-all";
r.tabsClass = "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all";
r.tabClass = "ui-state-default ui-corner-top";
r.panelClass = "ui-tabs-panel ui-widget-content ui-corner-bottom"
}
if (r.collapsible && e.defaultTab !== undefined && e.collpasedByDefault === undefined) {
r.collapsedByDefault = false
}
if (typeof(r.animationSpeed) === "string") {
r.animationSpeed = t[r.animationSpeed]
}
a("a.anchor").remove().prependTo("body");
q.data("easytabs", {});
f.setTransitions();
f.getTabs();
b();
g();
w();
n();
c();
q.attr("data-easytabs", true)
};
f.setTransitions = function() {
v = (r.animate) ? {
show: r.transitionIn,
hide: r.transitionOut,
speed: r.animationSpeed,
collapse: r.transitionCollapse,
uncollapse: r.transitionUncollapse,
halfSpeed: r.animationSpeed / 2
} : {
show: "show",
hide: "hide",
speed: 0,
collapse: "hide",
uncollapse: "show",
halfSpeed: 0
}
};
f.getTabs = function() {
var x;
f.tabs = q.find(r.tabs), f.panels = a(), f.tabs.each(function() {
var A = a(this),
z = A.children("a"),
y = A.children("a").data("target");
A.data("easytabs", {});
if (y !== undefined && y !== null) {
A.data("easytabs").ajax = z.attr("href")
} else {
y = z.attr("href")
}
y = y.match(/#([^\?]+)/)[1];
x = r.panelContext.find("#" + y);
if (x.length) {
x.data("easytabs", {
position: x.css("position"),
visibility: x.css("visibility")
});
x.not(r.panelActiveClass).hide();
f.panels = f.panels.add(x);
A.data("easytabs").panel = x
} else {
f.tabs = f.tabs.not(A);
if ("console" in window) {
console.warn("Warning: tab without matching panel for selector '#" + y + "' removed from set")
}
}
})
};
f.selectTab = function(x, C) {
var y = window.location,
B = y.hash.match(/^[^\?]*/)[0],
z = x.parent().data("easytabs").panel,
A = x.parent().data("easytabs").ajax;
if (r.collapsible && !d && (x.hasClass(r.tabActiveClass) || x.hasClass(r.collapsedClass))) {
f.toggleTabCollapse(x, z, A, C)
} else {
if (!x.hasClass(r.tabActiveClass) || !z.hasClass(r.panelActiveClass)) {
o(x, z, A, C)
} else {
if (!r.cache) {
o(x, z, A, C)
}
}
}
};
f.toggleTabCollapse = function(x, y, z, A) {
f.panels.stop(true, true);
if (u(q, "easytabs:before", [x, y, r])) {
f.tabs.filter("." + r.tabActiveClass).removeClass(r.tabActiveClass).children().removeClass(r.tabActiveClass);
if (x.hasClass(r.collapsedClass)) {
if (z && (!r.cache || !x.parent().data("easytabs").cached)) {
q.trigger("easytabs:ajax:beforeSend", [x, y]);
y.load(z, function(C, B, D) {
x.parent().data("easytabs").cached = true;
q.trigger("easytabs:ajax:complete", [x, y, C, B, D])
})
}
x.parent().removeClass(r.collapsedClass).addClass(r.tabActiveClass).children().removeClass(r.collapsedClass).addClass(r.tabActiveClass);
y.addClass(r.panelActiveClass)[v.uncollapse](v.speed, r.transitionUncollapseEasing, function() {
q.trigger("easytabs:midTransition", [x, y, r]);
if (typeof A == "function") {
A()
}
})
} else {
x.addClass(r.collapsedClass).parent().addClass(r.collapsedClass);
y.removeClass(r.panelActiveClass)[v.collapse](v.speed, r.transitionCollapseEasing, function() {
q.trigger("easytabs:midTransition", [x, y, r]);
if (typeof A == "function") {
A()
}
})
}
}
};
f.matchTab = function(x) {
return f.tabs.find("[href='" + x + "'],[data-target='" + x + "']").first()
};
f.matchInPanel = function(x) {
return (x && f.validId(x) ? f.panels.filter(":has(" + x + ")").first() : [])
};
f.validId = function(x) {
return x.substr(1).match(/^[A-Za-z]+[A-Za-z0-9\-_:\.].$/)
};
f.selectTabFromHashChange = function() {
var y = window.location.hash.match(/^[^\?]*/)[0],
x = f.matchTab(y),
z;
if (r.updateHash) {
if (x.length) {
d = true;
f.selectTab(x)
} else {
z = f.matchInPanel(y);
if (z.length) {
y = "#" + z.attr("id");
x = f.matchTab(y);
d = true;
f.selectTab(x)
} else {
if (!h.hasClass(r.tabActiveClass) && !r.cycle) {
if (y === "" || f.matchTab(m).length || q.closest(y).length) {
d = true;
f.selectTab(l)
}
}
}
}
}
};
f.cycleTabs = function(x) {
if (r.cycle) {
x = x % f.tabs.length;
$tab = a(f.tabs[x]).children("a").first();
d = true;
f.selectTab($tab, function() {
setTimeout(function() {
f.cycleTabs(x + 1)
}, r.cycle)
})
}
};
f.publicMethods = {
select: function(x) {
var y;
if ((y = f.tabs.filter(x)).length === 0) {
if ((y = f.tabs.find("a[href='" + x + "']")).length === 0) {
if ((y = f.tabs.find("a" + x)).length === 0) {
if ((y = f.tabs.find("[data-target='" + x + "']")).length === 0) {
if ((y = f.tabs.find("a[href$='" + x + "']")).length === 0) {
a.error("Tab '" + x + "' does not exist in tab set")
}
}
}
}
} else {
y = y.children("a").first()
}
f.selectTab(y)
}
};
var u = function(A, x, z) {
var y = a.Event(x);
A.trigger(y, z);
return y.result !== false
};
var b = function() {
q.addClass(r.containerClass);
f.tabs.parent().addClass(r.tabsClass);
f.tabs.addClass(r.tabClass);
f.panels.addClass(r.panelClass)
};
var g = function() {
var y = window.location.hash.match(/^[^\?]*/)[0],
x = f.matchTab(y).parent(),
z;
if (x.length === 1) {
h = x;
r.cycle = false
} else {
z = f.matchInPanel(y);
if (z.length) {
y = "#" + z.attr("id");
h = f.matchTab(y).parent()
} else {
h = f.tabs.parent().find(r.defaultTab);
if (h.length === 0) {
a.error("The specified default tab ('" + r.defaultTab + "') could not be found in the tab set ('" + r.tabs + "') out of " + f.tabs.length + " tabs.")
}
}
}
l = h.children("a").first();
p(x)
};
var p = function(z) {
var y, x;
if (r.collapsible && z.length === 0 && r.collapsedByDefault) {
h.addClass(r.collapsedClass).children().addClass(r.collapsedClass)
} else {
y = a(h.data("easytabs").panel);
x = h.data("easytabs").ajax;
if (x && (!r.cache || !h.data("easytabs").cached)) {
q.trigger("easytabs:ajax:beforeSend", [l, y]);
y.load(x, function(B, A, C) {
h.data("easytabs").cached = true;
q.trigger("easytabs:ajax:complete", [l, y, B, A, C])
})
}
h.data("easytabs").panel.show().addClass(r.panelActiveClass);
h.addClass(r.tabActiveClass).children().addClass(r.tabActiveClass)
}
q.trigger("easytabs:initialised", [l, y])
};
var w = function() {
f.tabs.children("a").bind(r.bind_str, function(x) {
r.cycle = false;
d = false;
f.selectTab(a(this));
x.preventDefault ? x.preventDefault() : x.returnValue = false
})
};
var o = function(z, D, E, H) {
f.panels.stop(true, true);
if (u(q, "easytabs:before", [z, D, r])) {
var A = f.panels.filter(":visible"),
y = D.parent(),
F, x, C, G, B = window.location.hash.match(/^[^\?]*/)[0];
if (r.animate) {
F = s(D);
x = A.length ? k(A) : 0;
C = F - x
}
m = B;
G = function() {
q.trigger("easytabs:midTransition", [z, D, r]);
if (r.animate && r.transitionIn == "fadeIn") {
if (C < 0) {
y.animate({
height: y.height() + C
}, v.halfSpeed).css({
"min-height": ""
})
}
}
if (r.updateHash && !d) {
window.location.hash = "#" + D.attr("id")
} else {
d = false
}
D[v.show](v.speed, r.transitionInEasing, function() {
y.css({
height: "",
"min-height": ""
});
q.trigger("easytabs:after", [z, D, r]);
if (typeof H == "function") {
H()
}
})
};
if (E && (!r.cache || !z.parent().data("easytabs").cached)) {
q.trigger("easytabs:ajax:beforeSend", [z, D]);
D.load(E, function(J, I, K) {
z.parent().data("easytabs").cached = true;
q.trigger("easytabs:ajax:complete", [z, D, J, I, K])
})
}
if (r.animate && r.transitionOut == "fadeOut") {
if (C > 0) {
y.animate({
height: (y.height() + C)
}, v.halfSpeed)
} else {
y.css({
"min-height": y.height()
})
}
}
f.tabs.filter("." + r.tabActiveClass).removeClass(r.tabActiveClass).children().removeClass(r.tabActiveClass);
f.tabs.filter("." + r.collapsedClass).removeClass(r.collapsedClass).children().removeClass(r.collapsedClass);
z.parent().addClass(r.tabActiveClass).children().addClass(r.tabActiveClass);
f.panels.filter("." + r.panelActiveClass).removeClass(r.panelActiveClass);
D.addClass(r.panelActiveClass);
if (A.length) {
A[v.hide](v.speed, r.transitionOutEasing, G)
} else {
D[v.uncollapse](v.speed, r.transitionUncollapseEasing, G)
}
}
};
var s = function(z) {
if (z.data("easytabs") && z.data("easytabs").lastHeight) {
return z.data("easytabs").lastHeight
}
var B = z.css("display"),
y, x;
try {
y = a("<div></div>", {
position: "absolute",
visibility: "hidden",
overflow: "hidden"
})
} catch (A) {
y = a("<div></div>", {
visibility: "hidden",
overflow: "hidden"
})
}
x = z.wrap(y).css({
position: "relative",
visibility: "hidden",
display: "block"
}).outerHeight();
z.unwrap();
z.css({
position: z.data("easytabs").position,
visibility: z.data("easytabs").visibility,
display: B
});
z.data("easytabs").lastHeight = x;
return x
};
var k = function(y) {
var x = y.outerHeight();
if (y.data("easytabs")) {
y.data("easytabs").lastHeight = x
} else {
y.data("easytabs", {
lastHeight: x
})
}
return x
};
var n = function() {
if (typeof a(window).hashchange === "function") {
a(window).hashchange(function() {
f.selectTabFromHashChange()
})
} else {
if (a.address && typeof a.address.change === "function") {
a.address.change(function() {
f.selectTabFromHashChange()
})
}
}
};
var c = function() {
var x;
if (r.cycle) {
x = f.tabs.index(h);
setTimeout(function() {
f.cycleTabs(x + 1)
}, r.cycle)
}
};
f.init()
};
a.fn.easytabs = function(c) {
var b = arguments;
return this.each(function() {
var e = a(this),
d = e.data("easytabs");
if (undefined === d) {
d = new a.easytabs(this, c);
e.data("easytabs", d)
}
if (d.publicMethods[c]) {
return d.publicMethods[c](Array.prototype.slice.call(b, 1))
}
})
}
})(jQuery);

View File

@@ -0,0 +1,176 @@
;
(function($) {
"use strict";
// MutationSelectorObserver represents a selector and it's associated initialization callback.
var MutationSelectorObserver = function(selector, callback) {
this.selector = selector;
this.callback = callback;
};
// List of MutationSelectorObservers.
var msobservers = [];
msobservers.initialize = function(selector, callback) {
// Wrap the callback so that we can ensure that it is only
// called once per element.
var seen = [];
var callbackOnce = function() {
if (seen.indexOf(this) == -1) {
seen.push(this);
$(this).each(callback);
}
};
// See if the selector matches any elements already on the page.
$(selector).each(callbackOnce);
// Then, add it to the list of selector observers.
this.push(new MutationSelectorObserver(selector, callbackOnce));
};
// The MutationObserver watches for when new elements are added to the DOM.
var observer = new MutationObserver(function(mutations) {
// For each MutationSelectorObserver currently registered.
for (var j = 0; j < msobservers.length; j++) {
$(msobservers[j].selector).each(msobservers[j].callback);
}
});
// Observe the entire document.
observer.observe(document.documentElement, {
childList: true,
subtree: true,
attributes: true
});
// Deprecated API (does not work with jQuery >= 3.1.1):
$.fn.initialize = function(callback) {
msobservers.initialize(this.selector, callback);
};
$.initialize = function(selector, callback) {
msobservers.initialize(selector, callback);
};
})(jQuery);
jQuery(document).ready(function($) {
$(".kd_number_string").initialize(function() {
jQuery(this).countTo();
});
$(".countdown").initialize(function() {
var text_days = $(this).attr("data-text-days");
var text_hours = $(this).attr("data-text-hours");
var text_minutes = $(this).attr("data-text-minutes");
var text_seconds = $(this).attr("data-text-seconds");
var count_year = $(this).attr("data-count-year");
var count_month = $(this).attr("data-count-month");
var count_day = $(this).attr("data-count-day");
var count_date = count_year + '/' + count_month + '/' + count_day;
$(this).countdown(count_date, function(event) {
$(this).html(
event.strftime('<span class="CountdownContent">%D<span class="CountdownLabel">' + text_days + '</span></span><span class="CountdownSeparator">:</span><span class="CountdownContent">%H <span class="CountdownLabel">' + text_hours + '</span></span><span class="CountdownSeparator">:</span><span class="CountdownContent">%M <span class="CountdownLabel">' + text_minutes + '</span></span><span class="CountdownSeparator">:</span><span class="CountdownContent">%S <span class="CountdownLabel">' + text_seconds + '</span></span>')
);
});
});
$(".features-tabs").initialize(function() {
$("li.tab", this).appendTo($(".tabs", this));
$(this).easytabs({
updateHash: false,
animationSpeed: 'fast',
transitionIn: 'fadeIn'
});
});
jQuery(".kd-text-rotator").initialize(function(index, value) {
jQuery(this).addClass("start-rotator");
});
jQuery(".kd_progress_bar").initialize(function() {
var percent = '0.' + jQuery(this).find(".kd_progressbarfill").attr("data-value");
var filltime = parseInt(jQuery(this).find(".kd_progressbarfill").attr("data-time"));
var add_width = (percent * jQuery(this).find(".kd_progressbarfill").parent().width()) + 'px';
jQuery(this).find(".kd_progressbarfill").animate({
width: add_width
}, {
duration: filltime,
queue: false
});
});
$(".kd_pie_chart .kd_chart").initialize(function() {
$(this).easyPieChart({
easing: "easeInQuad",
barColor: "#000",
trackColor: "rgba(210, 210, 210, 0.2)",
animate: 2000,
size: "160",
lineCap: 'square',
lineWidth: "3",
scaleColor: false,
onStep: function(from, to, percent) {
$(this.el).find(".pc_percent").text(Math.round(percent));
}
});
var chart = window.chart = $("kd_pie_chart .kd_chart").data("easyPieChart");
});
$(".feature-sections-wrapper").initialize(function() {
$("li.nav-label", this).appendTo($(".sticky-tabs", this));
$('.sticky-tabs li a[href*=#]').bind('click', function(e) {
e.preventDefault();
var target = $(this).attr("href");
$('html, body').stop().animate({
scrollTop: $(target).offset().top - 136
}, 1000, 'easeOutCubic');
return false;
});
var feature_container = $(".feature-sections-wrapper");
var feature_nav = $(".feature-sections-tabs");
var offset = feature_container.offset().top;
$(window).scroll(function(event) {
var scroll = $(window).scrollTop();
var total = feature_container.height() + offset - 400;
if (scroll > total) {
feature_nav.addClass('sticky-hide')
}
if (scroll < total) {
feature_nav.removeClass('sticky-hide')
}
});
});
jQuery('.mg-gallery').initialize(function() {
var msnry = new Masonry(this, {
itemSelector: '.mg-single-img',
columnWidth: '.mg-sizer',
percentPosition: true,
gutter: 15
});
setInterval(function(){
msnry.reloadItems();
msnry.layout();
},500);
});
jQuery('.kd_map').initialize(function() {
var map_id = $(this).attr('id');
setTimeout(
function() {
eval("initKdMap_" + map_id + "()");
}, 1000);
});
});

View File

@@ -0,0 +1,254 @@
jQuery(document).ready(function($) {
(function($, win) {
$.fn.inViewport = function(cb) {
return this.each(function(i, el) {
function visPx() {
var H = $(this).height(),
r = el.getBoundingClientRect(),
t = r.top,
b = r.bottom;
return cb.call(el, Math.max(0, t > 0 ? H - t : (b < H ? b : H)));
}
visPx();
$(win).on("resize scroll", visPx);
});
};
}(jQuery, window));
/* ------------------------------------------------------------------------
COUNTDOWN
------------------------------------------------------------------------*/
$('.kd-countdown').each(function(index, value) {
var text_days = $(this).attr("data-text-days");
var text_hours = $(this).attr("data-text-hours");
var text_minutes = $(this).attr("data-text-minutes");
var text_seconds = $(this).attr("data-text-seconds");
var count_year = $(this).attr("data-count-year");
var count_month = $(this).attr("data-count-month");
var count_day = $(this).attr("data-count-day");
var count_date = count_year + '/' + count_month + '/' + count_day;
$(this).countdown(count_date, function(event) {
$(this).html(
event.strftime('<span class="CountdownContent">%D<span class="CountdownLabel">' + text_days + '</span></span><span class="CountdownSeparator">:</span><span class="CountdownContent">%H <span class="CountdownLabel">' + text_hours + '</span></span><span class="CountdownSeparator">:</span><span class="CountdownContent">%M <span class="CountdownLabel">' + text_minutes + '</span></span><span class="CountdownSeparator">:</span><span class="CountdownContent">%S <span class="CountdownLabel">' + text_seconds + '</span></span>')
);
});
});
/* ------------------------------------------------------------------------
PIE CHART
------------------------------------------------------------------------*/
jQuery(".kd_pie_chart .kd_chart").each(function(index, value) {
jQuery(this).appear(function() {
jQuery(this).easyPieChart({
easing: "easeInQuad",
barColor: "#000",
trackColor: "rgba(210, 210, 210, 0.2)",
animate: 2000,
size: "160",
lineCap: 'square',
lineWidth: "2",
scaleColor: false,
onStep: function(from, to, percent) {
jQuery(this.el).find(".pc_percent").text(Math.round(percent));
}
});
});
var chart = window.chart = jQuery("kd_pie_chart .kd_chart").data("easyPieChart");
});
/* ------------------------------------------------------------------------
COUNTERS
------------------------------------------------------------------------*/
jQuery(".kd_number_string").each(function(index, value) {
jQuery(this).appear(function() {
jQuery(this).countTo();
});
});
/* ------------------------------------------------------------------------
REFRESH GOOGLE MAP WITH THE ACTIVE TAB
------------------------------------------------------------------------*/
if (jQuery(".contact-map-container").length) {
jQuery('.vc_tta-tabs a').on('show.vc.tab', function() {
setTimeout(function() {
google.maps.event.trigger(window, 'resize', {});
}, 500)
});
}
jQuery('.toggle-map-info').on('click', function(e) {
e.preventDefault();
jQuery('.business-info-wrapper').toggleClass('minimize');
});
/* ------------------------------------------------------------------------
VIDEO MODAL
------------------------------------------------------------------------*/
function autoPlayYouTubeModal() {
var trigger = $("body").find('.video-container [data-toggle="modal"]');
trigger.click(function() {
var theModal = $(this).data("target");
videoSRC = $(this).data("src");
videoSRCauto = videoSRC + "?autoplay=1";
$(theModal + ' iframe').attr('src', videoSRCauto);
$(theModal + ' button.close').click(function() {
$(theModal + ' iframe').attr('src', videoSRC);
});
$('.modal').click(function() {
$(theModal + ' iframe').attr('src', videoSRC);
});
});
}
autoPlayYouTubeModal();
function autoPlayVideoModal() {
var trigger = $("body").find('.video-container [data-toggle="modal"]');
trigger.click(function() {
var theModal = $(this).data("target");
if ($(theModal + ' .video-modal-local').length) {
$(theModal + ' .video-modal-local')[0].play();
}
});
}
autoPlayVideoModal();
$('body').on('hidden.bs.modal', '.modal', function () {
$('video').trigger('pause');
});
if (jQuery(".modal.video-modal").length > 0) {
jQuery(".video-modal").each(function() {
jQuery(this).insertAfter("#footer");
});
}
/* ------------------------------------------------------------------------
FEATURE SECTIONS
------------------------------------------------------------------------*/
if (jQuery(".feature-sections-wrapper").length > 0) {
jQuery('body').scrollspy({
offset: 180,
target: '.kd-feature-tabs'
});
}
});
jQuery(window).load(function() {
/* ------------------------------------------------------------------------
TEXT ROTATOR
------------------------------------------------------------------------*/
jQuery(".kd-text-rotator").each(function(index, value) {
jQuery(this).appear(function() {
jQuery(this).addClass("start-rotator");
});
});
jQuery(".kd-animated, .portfolio-item, .play-video, .toggle-map").inViewport(function(px) {
if (px) jQuery(this).addClass("kd-animate");
});
/* ------------------------------------------------------------------------
STICKY NAVIGATION ELEMENT
------------------------------------------------------------------------*/
if (jQuery(".feature-sections-wrapper").length > 0) {
jQuery(".feature-sections-wrapper").each(function() {
jQuery("li.nav-label", this).appendTo(jQuery(".sticky-tabs", this));
});
jQuery('.sticky-tabs li a[href*=#]').bind('click', function(e) {
e.preventDefault();
var target = jQuery(this).attr("href");
jQuery('html, body').stop().animate({
scrollTop: jQuery(target).offset().top - 176
}, 1000, 'easeOutCubic');
return false;
});
var feature_container = jQuery(".feature-sections-wrapper");
var feature_nav = jQuery(".feature-sections-tabs");
var offset = feature_container.offset().top;
jQuery(window).scroll(function(event) {
var scroll = jQuery(window).scrollTop();
var total = feature_container.height() + offset - 200;
if (scroll > total) {
feature_nav.addClass('sticky-hide')
}
if (scroll < total) {
feature_nav.removeClass('sticky-hide')
}
});
}
jQuery('.features-tabs').easytabs({
updateHash: false,
animationSpeed: 'fast',
transitionIn: 'fadeIn'
});
/* ------------------------------------------------------------------------
MASONRY GALLERY ELEMENT
------------------------------------------------------------------------*/
if (jQuery('.mg-gallery').length > 0) {
jQuery('.mg-gallery').each(function() {
var msnry = new Masonry(this, {
itemSelector: '.mg-single-img',
columnWidth: '.mg-sizer',
percentPosition: true,
gutter: 30
});
});
var classes = '.vc_tta-tabs-list .vc_tta-tab,' + '.vc_pagination .vc_pagination-item';
jQuery('body').on('click', classes,
function() {
setInterval(function(){
var reloadMasonry = jQuery('.vc_active .mg-gallery').masonry({
itemSelector: '.mg-single-img',
columnWidth: '.mg-sizer',
percentPosition: true,
gutter: 30
});
reloadMasonry.masonry("reloadItems");
reloadMasonry.masonry('layout');
},200);
});
}
/* ------------------------------------------------------------------------
ALERT BOX ELEMENT
------------------------------------------------------------------------*/
jQuery('.kd-alertbox .ab-close').on('click', function(e) {
e.preventDefault();
jQuery(this).closest('.kd-alertbox').hide(200);
});
/* ------------------------------------------------------------------------
LOGIN FORM
------------------------------------------------------------------------*/
jQuery('#user_login').attr('placeholder', 'Username');
jQuery('#user_pass').attr('placeholder', 'Password');
});

View File

@@ -0,0 +1,80 @@
(function ($) {
$.fn.countTo = function (options) {
options = options || {};
return $(this).each(function () {
// set options for current element
var settings = $.extend({}, $.fn.countTo.defaults, {
from: $(this).data('from'),
to: $(this).data('to'),
speed: $(this).data('speed'),
refreshInterval: $(this).data('refresh-interval'),
decimals: $(this).data('decimals')
}, options);
// how many times to update the value, and how much to increment the value on each update
var loops = Math.ceil(settings.speed / settings.refreshInterval),
increment = (settings.to - settings.from) / loops;
// references & variables that will change with each update
var self = this,
$self = $(this),
loopCount = 0,
value = settings.from,
data = $self.data('countTo') || {};
$self.data('countTo', data);
// if an existing interval can be found, clear it first
if (data.interval) {
clearInterval(data.interval);
}
data.interval = setInterval(updateTimer, settings.refreshInterval);
// initialize the element with the starting value
render(value);
function updateTimer() {
value += increment;
loopCount++;
render(value);
if (typeof(settings.onUpdate) == 'function') {
settings.onUpdate.call(self, value);
}
if (loopCount >= loops) {
// remove the interval
$self.removeData('countTo');
clearInterval(data.interval);
value = settings.to;
if (typeof(settings.onComplete) == 'function') {
settings.onComplete.call(self, value);
}
}
}
function render(value) {
var formattedValue = settings.formatter.call(self, value, settings);
$self.text(formattedValue);
}
});
};
$.fn.countTo.defaults = {
from: 0, // the number the element should start at
to: 0, // the number the element should end at
speed: 2000, // how long it should take to count between the target numbers
refreshInterval: 100, // how often the element should be updated
decimals: 0, // the number of decimal places to show
formatter: formatter, // handler for formatting the value before rendering
onUpdate: null, // callback method for every time the element is updated
onComplete: null // callback method for when the element finishes updating
};
function formatter(value, settings) {
return value.toFixed(settings.decimals);
}
}(jQuery));

View File

@@ -0,0 +1,14 @@
jQuery(document).ready(function() {
"use strict";
var el = jQuery(".kd_progress_bar");
jQuery(el).each(function() {
jQuery(this).appear(function() {
var percent = ( jQuery(this).find(".kd_progressbarfill").attr("data-value") / 100 );
var filltime = parseInt(jQuery(this).find(".kd_progressbarfill").attr("data-time"));
var add_width = (percent*jQuery(this).find(".kd_progressbarfill").parent().width())+'px';
jQuery(this).find(".kd_progressbarfill, .kd_progb_head").animate({
width: add_width
}, { duration: filltime, queue: false });
});
});
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,87 @@
<?php
/**
* Initialize portfolio custom post type
*/
// ------------------------------------------------------------------------
// Register portfolio custom post type
// ------------------------------------------------------------------------
$labels = array(
'name' => esc_html__( 'Portfolio', 'keydesign' ),
'singular_name' => esc_html__( 'Portfolio Item', 'keydesign' ),
'menu_name' => esc_html_x( 'Portfolio', 'admin menu', 'keydesign' ),
'name_admin_bar' => esc_html_x( 'Portfolio Item', 'add new on admin bar', 'keydesign' ),
'add_new' => esc_html_x( 'Add New', 'portfolio', 'keydesign' ),
'add_new_item' => esc_html__( 'Add New Portfolio Item', 'keydesign' ),
'new_item' => esc_html__( 'Add New Portfolio Item', 'keydesign' ),
'edit_item' => esc_html__( 'Edit Portfolio Item', 'keydesign' ),
'view_item' => esc_html__( 'View Portfolio Item', 'keydesign' ),
'all_items' => esc_html__( 'All Portfolio Items', 'keydesign' ),
'search_items' => esc_html__( 'Search Portfolio Items', 'keydesign' ),
'parent_item_colon' => esc_html__( 'Parent Portfolio Item:', 'keydesign' ),
'not_found' => esc_html__( 'No portfolio items found.', 'keydesign' ),
'not_found_in_trash' => esc_html__( 'No portfolio items found in Trash', 'keydesign' ),
'filter_items_list' => esc_html__( 'Filter portfolio items list', 'keydesign' ),
'items_list_navigation' => esc_html__( 'Portfolio items list navigation', 'keydesign' ),
'items_list' => esc_html__( 'Portfolio items list', 'keydesign' ),
);
$labels = apply_filters( 'keydesign_portfolio_item_labels', $labels ); // allow filtering
$args = array(
'labels' => $labels,
'description' => esc_html__( 'Description.', 'keydesign' ),
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'menu_icon' => 'dashicons-schedule',
'query_var' => 'portfolios',
'exclude_from_search' => false,
'rewrite' => array( 'slug' => 'portfolio', 'with_front' => false, 'pages' => true, 'feeds' => false, ),
'capability_type' => 'page',
'has_archive' => false,
'hierarchical' => false,
'menu_position' => null,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'revisions', 'custom-fields' ),
'taxonomies' => array('portfolio-tag','portfolio-category')
);
$args = apply_filters( 'keydesign_portfolio_item_args', $args ); // allow filtering
register_post_type( 'portfolio', $args );
// Create portfolio categories taxonomy
register_taxonomy( 'portfolio-category', array('portfolio'),
array(
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => false,
'show_tagcloud' => true,
'query_var' => 'portfolio-category',
'label' => esc_html__( 'Categories','keydesign' ),
'rewrite' => array(
'slug' => 'portfolio-category',
'with_front' => true,
'hierarchical' => false,
),
)
);
add_action('after_theme_switch', 'keydesign_custom_flush_rules');
function keydesign_custom_flush_rules() {
//defines the post type so the rules can be flushed.
keydesign_portfolio_post_type();
//flush the rules.
flush_rewrite_rules();
}
?>

View File

@@ -0,0 +1,110 @@
<?php
if (!class_exists('KD_ELEM_ALERT_BOX')) {
class KD_ELEM_ALERT_BOX extends KEYDESIGN_ADDON_CLASS {
function __construct() {
add_action('init', array($this, 'kd_alertbox_init'));
add_shortcode('tek_alertbox', array($this, 'kd_alertbox_shrt'));
}
// Element configuration in admin
function kd_alertbox_init() {
if (function_exists('vc_map')) {
vc_map(array(
"name" => esc_html__("Alert box", "keydesign"),
"description" => esc_html__("Easily display warning, error, info and success messages.", "keydesign"),
"base" => "tek_alertbox",
"class" => "",
"icon" => plugins_url('assets/element_icons/alert-box.png', dirname(__FILE__)),
"category" => esc_html__("KeyDesign Elements", "keydesign"),
"params" => array(
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Box type","keydesign"),
"param_name" => "ab_type",
"value" => array(
"Warning" => "ab_warning",
"Error" => "ab_error",
"Info" => "ab_info",
"Success" => "ab_success",
),
"save_always" => true,
"description" => esc_html__("Select box type.", "keydesign")
),
array(
"type" => "textarea",
"class" => "",
"heading" => esc_html__("Box message", "keydesign"),
"param_name" => "ab_message",
"value" => "",
"save_always" => true,
"description" => esc_html__("Enter box message here.", "keydesign")
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Extra class name", "keydesign"),
"param_name" => "ab_extra_class",
"value" => "",
"description" => esc_html__("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "keydesign"),
),
)
));
}
}
// Render the element on front-end
public function kd_alertbox_shrt($atts, $content = null)
{
extract(shortcode_atts(array(
'ab_type' => '',
'ab_message' => '',
'ab_extra_class' => '',
), $atts));
$ab_icon = "";
switch($ab_type){
case 'ab_warning':
$ab_icon = "fa-bell-o";
break;
case 'ab_error':
$ab_icon = "fa-exclamation-triangle";
break;
case 'ab_info':
$ab_icon = "fa-question";
break;
case 'ab_success':
$ab_icon = "fa-check";
break;
default:
}
$output = '<div class="kd-alertbox '.$ab_type.' '.$ab_extra_class.'">
<div class="ab-icon"><i class="'.$ab_icon.' iconita"></i></div>
<div class="ab-message">'.$ab_message.'</div>
<a href="#" class="ab-close"><i class="fa-times iconita"></i></a>
</div>';
return $output;
}
}
}
if (class_exists('KD_ELEM_ALERT_BOX')) {
$KD_ELEM_ALERT_BOX = new KD_ELEM_ALERT_BOX;
}
?>

View File

@@ -0,0 +1,379 @@
<?php
if (class_exists('WPBakeryShortCodesContainer')) {
class WPBakeryShortCode_tek_appgallery extends WPBakeryShortCodesContainer {
}
}
if (class_exists('WPBakeryShortCode')) {
class WPBakeryShortCode_tek_appgallery_single extends WPBakeryShortCode {
}
}
if (!class_exists('tek_appgallery')) {
class tek_appgallery extends KEYDESIGN_ADDON_CLASS
{
function __construct() {
add_action('init', array($this, 'kd_appgallery_init'));
add_shortcode('tek_appgallery', array($this, 'kd_appgallery_container'));
add_shortcode('tek_appgallery_single', array($this, 'kd_appgallery_single'));
}
// Element configuration in admin
function kd_appgallery_init() {
// Container element configuration
if (function_exists('vc_map')) {
vc_map(array(
"name" => esc_html__("App gallery", "keydesign"),
"description" => esc_html__("Mobile app screenshots carousel.", "keydesign"),
"base" => "tek_appgallery",
"class" => "",
"show_settings_on_create" => true,
"content_element" => true,
"as_parent" => array('only' => 'tek_appgallery_single'),
"icon" => plugins_url('assets/element_icons/app-gallery.png', dirname(__FILE__)),
"category" => esc_html__("KeyDesign Elements", "keydesign"),
"js_view" => 'VcColumnView',
"params" => array(
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Section title", "keydesign"),
"param_name" => "ag_title",
"value" => "",
"description" => esc_html__("Enter section title here.", "keydesign"),
),
array(
"type" => "textarea",
"class" => "",
"heading" => esc_html__("Section description", "keydesign"),
"param_name" => "ag_description",
"value" => "",
"description" => esc_html__("Enter section description here.", "keydesign"),
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Mockup image source", "keydesign"),
"param_name" => "ag_mockup_source",
"value" => array(
"Media library" => "media_library",
"External link" => "external_link",
),
"description" => esc_html__("Select image source.", "keydesign"),
"save_always" => true,
),
array(
"type" => "attach_image",
"heading" => esc_html__("Upload mockup", "keydesign"),
"param_name" => "ag_mockup",
"description" => esc_html__("Upload container mockup.", "keydesign"),
"dependency" => array(
"element" => "ag_mockup_source",
"value" => array("media_library")
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Image external link", "keydesign"),
"param_name" => "ag_mockup_ext",
"value" => "",
"description" => esc_html__("Enter image external link.", "keydesign"),
"dependency" => array(
"element" => "ag_mockup_source",
"value" => array("external_link")
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Image size", "keydesign"),
"param_name" => "ag_mockup_size",
"value" => "",
"description" => esc_html__("Enter image size in pixels. Example: 325x660 (Width x Height).", "keydesign"),
"dependency" => array(
"element" => "ag_mockup_source",
"value" => array("external_link")
),
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Enable autoplay","keydesign"),
"param_name" => "ag_autoplay",
"value" => array(
"Off" => "auto_off",
"On" => "auto_on"
),
"save_always" => true,
"description" => esc_html__("Carousel autoplay settings.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Autoplay speed","keydesign"),
"param_name" => "ag_autoplay_speed",
"value" => array(
"10s" => "10000",
"9s" => "9000",
"8s" => "8000",
"7s" => "7000",
"6s" => "6000",
"5s" => "5000",
"4s" => "4000",
"3s" => "3000",
),
"save_always" => true,
"dependency" => array(
"element" => "ag_autoplay",
"value" => array("auto_on")
),
"description" => esc_html__("Carousel autoplay speed.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Stop on hover","keydesign"),
"param_name" => "ag_stoponhover",
"value" => array(
"Off" => "hover_off",
"On" => "hover_on"
),
"save_always" => true,
"dependency" => array(
"element" => "ag_autoplay",
"value" => array("auto_on")
),
"description" => esc_html__("Stop sliding carousel on mouse over.", "keydesign")
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Extra class name", "keydesign"),
"param_name" => "ag_extra_class",
"value" => "",
"description" => esc_html__("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
)
));
// Shortcode configuration
vc_map(array(
"name" => esc_html__("App screenshot", "keydesign"),
"base" => "tek_appgallery_single",
"content_element" => true,
"as_child" => array('only' => 'tek_appgallery'),
"icon" => plugins_url('assets/element_icons/child-image.png', dirname(__FILE__)),
"params" => array(
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Image source", "keydesign"),
"param_name" => "ag_screenshot_source",
"value" => array(
"Media library" => "media_library",
"External link" => "external_link",
),
"description" => esc_html__("Select image source.", "keydesign"),
"save_always" => true,
),
array(
"type" => "attach_image",
"heading" => esc_html__("Image", "keydesign"),
"param_name" => "ag_screenshot",
"admin_label" => true,
"description" => esc_html__("Upload mobile app screenshot.", "keydesign"),
"dependency" => array(
"element" => "ag_screenshot_source",
"value" => array("media_library")
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Image external link", "keydesign"),
"param_name" => "ag_screenshot_ext",
"value" => "",
"description" => esc_html__("Enter image external link.", "keydesign"),
"dependency" => array(
"element" => "ag_screenshot_source",
"value" => array("external_link")
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Image size", "keydesign"),
"param_name" => "ag_screenshot_size",
"value" => "",
"description" => esc_html__("Enter image size in pixels. Example: 280x500 (Width x Height).", "keydesign"),
"dependency" => array(
"element" => "ag_screenshot_source",
"value" => array("external_link")
),
),
)
));
}
}
public function kd_appgallery_container($atts, $content = null) {
extract(shortcode_atts(array(
'ag_title' => '',
'ag_description' => '',
'ag_mockup_source' => '',
'ag_mockup' => '',
'ag_mockup_ext' => '',
'ag_mockup_size' => '',
'ag_autoplay' => '',
'ag_autoplay_speed' => '',
'ag_stoponhover' => '',
'ag_extra_class' => ''
), $atts));
$output = $wrapper_class = $mockup_image = $ag_no_desc = $kd_appgallery_id = '';
$mockup_image = wpb_getImageBySize($params = array(
'post_id' => NULL,
'attach_id' => $ag_mockup,
'thumb_size' => 'full',
'class' => ""
));
if ('' == $ag_title && '' == $ag_description) {
$ag_no_desc = 'ag-no-desc-section';
}
$kd_appgallery_id = "kd-appgal-".uniqid();
$wrapper_class = implode(' ', array('app-gallery', 'ag-parent', $kd_appgallery_id, $ag_no_desc, $ag_extra_class));
$output = '<div class="'.trim($wrapper_class).'">';
if ($ag_title != '' || $ag_description != '') {
$output .= '<div class="ag-section-desc">
<h4>'.$ag_title.'</h4>
<p>'.$ag_description.'</p>
</div>';
}
if ($ag_mockup_source == 'external_link' && $ag_mockup_ext != '') {
$dimensions = vc_extract_dimensions( $ag_mockup_size );
$hwstring = $dimensions ? image_hwstring( $dimensions[0], $dimensions[1] ) : '';
$output .= '<div class="ag-mockup"><img src="'.$ag_mockup_ext.'" '.$hwstring.' /></div>';
} elseif ($ag_mockup_source == 'media_library' && $ag_mockup != '') {
$output .= '<div class="ag-mockup">'.$mockup_image['thumbnail'].'</div>';
}
$output .= '<div class="ag-slider-wrapper">
<div class="ag-slider">'.do_shortcode($content).'</div>
</div>
</div>';
$output .= '<script type="text/javascript">
jQuery(document).ready(function($){
if ($(".app-gallery.'.$kd_appgallery_id.' .ag-slider").length) {
$(".app-gallery.'.$kd_appgallery_id.' .ag-slider").owlCarousel({
stageClass: "owl-wrapper",
stageOuterClass: "owl-wrapper-outer",
loadedClass: "owl-carousel",
margin: 50,';
if ($ag_no_desc) {
$output .= 'responsive:{
0:{
items:1,
},
768:{
items:2,
},
1024:{
items:3,
}
},';
} else {
$output .= 'items: 1,';
}
$output .= 'loop: true,
dots: true,
dotsEach: true,
dotsSpeed: 500,
nav: false,';
if($ag_autoplay == "auto_on") {
$output .= 'autoplay: true,';
}
if($ag_autoplay_speed !== "") {
$output .= 'autoplayTimeout: '.$ag_autoplay_speed.',';
}
if($ag_autoplay == "auto_on" && $ag_stoponhover == "hover_on") {
$output .= 'autoplayHoverPause: true,';
}
$output .= '
});
}
});
</script>';
return $output;
}
public function kd_appgallery_single($atts, $content = null) {
extract(shortcode_atts(array(
'ag_screenshot_source' => '',
'ag_screenshot' => '',
'ag_screenshot_ext' => '',
'ag_screenshot_size' => '',
), $atts));
$output = $ss_image = $default_src = $dimensions = $hwstring = '';
$ss_image = wpb_getImageBySize($params = array(
'post_id' => NULL,
'attach_id' => $ag_screenshot,
'thumb_size' => 'full',
'class' => ""
));
$default_src = vc_asset_url( 'vc/no_image.png' );
$output = '<div class="ag-slider-child">';
if ($ag_screenshot_source == 'external_link') {
$dimensions = vc_extract_dimensions( $ag_screenshot_size );
$hwstring = $dimensions ? image_hwstring( $dimensions[0], $dimensions[1] ) : '';
$ag_screenshot_ext = $ag_screenshot_ext ? esc_attr( $ag_screenshot_ext ) : $default_src;
$output .= '<img src="'.$ag_screenshot_ext.'" '.$hwstring.' />';
} else {
if (!$ss_image) {
$output .= '<img src="'.$default_src.'" class="vc_img-placeholder" />';
} else {
$output .= $ss_image['thumbnail'];
}
}
$output .= '</div>';
return $output;
}
}
}
if (class_exists('tek_appgallery')) {
$tek_appgallery = new tek_appgallery;
}
?>

View File

@@ -0,0 +1,174 @@
<?php
if (!class_exists('KD_ELEM_BOOK_PREVIEW')) {
class KD_ELEM_BOOK_PREVIEW extends KEYDESIGN_ADDON_CLASS {
function __construct() {
add_action('init', array($this, 'kd_bookpreview_init'));
add_shortcode('tek_bookpreview', array($this, 'kd_bookpreview_shrt'));
}
// Element configuration in admin
function kd_bookpreview_init() {
if (function_exists('vc_map')) {
vc_map(array(
"name" => esc_html__("Book Preview", "keydesign"),
"description" => esc_html__("Book chapter preview in a device mockup.", "keydesign"),
"base" => "tek_bookpreview",
"class" => "",
"icon" => plugins_url('assets/element_icons/book-preview.png', dirname(__FILE__)),
"category" => esc_html__("KeyDesign Elements", "keydesign"),
"params" => array(
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Enable content scrolling", "keydesign"),
"param_name" => "bp_scroll",
"value" => array(
"On" => "scroll-on",
"Off" => "scroll-off",
),
"save_always" => true,
"description" => esc_html__("When active the content in the book mockup area will smoothly scroll down.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Mockup image source", "keydesign"),
"param_name" => "bp_mockup_source",
"value" => array(
"Media library" => "media_library",
"External link" => "external_link",
),
"description" => esc_html__("Select image source.", "keydesign"),
"save_always" => true,
),
array(
"type" => "attach_image",
"class" => "",
"heading" => esc_html__("Upload device mockup", "keydesign"),
"param_name" => "bp_mockup",
"value" => "",
"description" => esc_html__("Upload container mockup.", "keydesign"),
"dependency" => array(
"element" => "bp_mockup_source",
"value" => array("media_library")
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Mockup image external source", "keydesign"),
"param_name" => "bp_mockup_ext",
"value" => "",
"description" => esc_html__("Enter mockup image external link.", "keydesign"),
"dependency" => array(
"element" => "bp_mockup_source",
"value" => array("external_link")
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Mockup Image size", "keydesign"),
"param_name" => "ext_image_size",
"value" => "",
"description" => esc_html__("Enter image size in pixels. Example: 590x700 (Width x Height).", "keydesign"),
"dependency" => array(
"element" => "bp_mockup_source",
"value" => array("external_link")
),
),
array(
"type" => "textarea_html",
"class" => "",
"heading" => esc_html__("Book text", "keydesign"),
"param_name" => "content",
"value" => "",
"description" => esc_html__("Enter a short presentation of the book. HTML tags are allowed.", "keydesign"),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Extra class name", "keydesign"),
"param_name" => "bp_extra_class",
"value" => "",
"description" => esc_html__("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
)
));
}
}
// Render the element on front-end
public function kd_bookpreview_shrt($atts, $content = null)
{
extract(shortcode_atts(array(
'bp_mockup_source' => '',
'bp_mockup' => '',
'bp_mockup_ext' => '',
'ext_image_size' => '',
'bp_scroll' => '',
'bp_extra_class' => '',
), $atts));
$mockup_img = $output = $dimensions = $hwstring = '';
if ( !empty($bp_mockup) ) {
$mockup_img = wpb_getImageBySize($params = array(
'post_id' => NULL,
'attach_id' => $bp_mockup,
'thumb_size' => 'full',
'class' => ""
));
}
$default_src = vc_asset_url( 'vc/no_image.png' );
$dimensions = vc_extract_dimensions( $ext_image_size );
$hwstring = $dimensions ? image_hwstring( $dimensions[0], $dimensions[1] ) : '';
$bp_mockup_ext = $bp_mockup_ext ? esc_attr( $bp_mockup_ext ) : $default_src;
if ( $bp_scroll != "scroll-off" ) {
$output .= '<script type="text/javascript">
jQuery(document).ready(function($){
if ($(".bp-content").length) {
setInterval(function(){
var pos = $(".bp-content").scrollTop();
$(".bp-content").scrollTop(pos + 1);
}, 30)
}
});</script>';
}
$output .= '<div class="bp-container ' . $bp_extra_class . '">';
if ($bp_mockup_source == 'external_link' && $bp_mockup_ext != '') {
$output .= '<img src="'.$bp_mockup_ext.'" '.$hwstring.' />';
} elseif ($bp_mockup_source == 'media_library' && $mockup_img != '') {
$output .= $mockup_img['thumbnail'];
}
$output .= '<div class="bp-content">'.do_shortcode($content).'</div>
</div>';
return $output;
}
}
}
if (class_exists('KD_ELEM_BOOK_PREVIEW')) {
$KD_ELEM_BOOK_PREVIEW = new KD_ELEM_BOOK_PREVIEW;
}
?>

View File

@@ -0,0 +1,252 @@
<?php
if (!class_exists('KD_ELEM_BUTTON')) {
class KD_ELEM_BUTTON extends KEYDESIGN_ADDON_CLASS {
function __construct() {
add_action('init', array($this, 'kd_button_init'));
add_shortcode('tek_button', array($this, 'kd_button_shrt'));
}
// VC Elements render in admin
function kd_button_init() {
if (function_exists('vc_map')) {
vc_map(array(
"name" => esc_html__("Button", "keydesign"),
"description" => esc_html__("Call to action button with extensive settings.", "keydesign"),
"base" => "tek_button",
"class" => "",
"icon" => plugins_url('assets/element_icons/button.png', dirname(__FILE__)),
"category" => esc_html__("KeyDesign Elements", "keydesign"),
"params" => array(
array(
"type" => "textfield",
"class" => "kd-back-desc",
"heading" => esc_html__("Button text", "keydesign"),
"param_name" => "button_text",
"holder" => "div",
"value" => "",
"description" => esc_html__("Enter button text.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button style", "keydesign"),
"param_name" => "button_style",
"value" => array(
"Solid" => "tt_primary_button",
"Outline" => "tt_secondary_button"
),
"save_always" => true,
"description" => esc_html__("Select button style", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button color scheme", "keydesign"),
"param_name" => "button_color_scheme",
"value" => array(
"Primary color" => "btn_primary_color",
"Secondary color" => "btn_secondary_color"
),
"save_always" => true,
"description" => esc_html__("Select button predefined color scheme.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button hover state", "keydesign"),
"param_name" => "button_hover_state",
"value" => array(
"Default" => "",
"Solid - Primary color" => "hover_solid_primary",
"Solid - Secondary color" => "hover_solid_secondary",
"Outline - Primary color" => "hover_outline_primary",
"Outline - Secondary color" => "hover_outline_secondary",
),
"save_always" => true,
"description" => esc_html__("Select button hover state style.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button icon settings", "keydesign"),
"param_name" => "button_icon_bool",
"value" => array(
"No icon" => "no",
"Display icon" => "yes",
),
"save_always" => true,
"description" => esc_html__("Choose to display icon or not.", "keydesign")
),
array(
"type" => "iconpicker",
"class" => "",
"heading" => esc_html__("Icon database", "keydesign"),
"param_name" => "icons",
"dependency" => array(
"element" => "button_icon_bool",
"value" => array("yes")
),
"description" => esc_html__("Select your icon.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Icon position", "keydesign"),
"param_name" => "button_icon_position",
"value" => array(
"Left" => "icon_left",
"Right" => "icon_right",
),
"dependency" => array(
"element" => "button_icon_bool",
"value" => array("yes")
),
"save_always" => true,
"description" => esc_html__("Select icon position.", "keydesign")
),
array(
"type" => "vc_link",
"class" => "",
"heading" => esc_html__("Link settings", "keydesign"),
"param_name" => "button_link",
"value" => "",
"description" => esc_html__("Set link address and target.", "keydesign"),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Button width", "keydesign"),
"param_name" => "button_width",
"value" => "",
"description" => esc_html__("Button width in pixels", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button position", "keydesign"),
"param_name" => "button_position",
"value" => array(
"Center" => "button-center",
"Left" => "pull-left",
"Right" => "pull-right",
),
"save_always" => true,
"description" => esc_html__("Choose button position inside the content area.", "keydesign"),
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("CSS Animation", "keydesign"),
"param_name" => "css_animation",
"value" => array(
"No" => "",
"Fade In" => "kd-animated fadeIn",
"Fade In Down" => "kd-animated fadeInDown",
"Fade In Left" => "kd-animated fadeInLeft",
"Fade In Right" => "kd-animated fadeInRight",
"Fade In Up" => "kd-animated fadeInUp",
"Zoom In" => "kd-animated zoomIn",
),
"admin_label" => true,
"description" => esc_html__("Select type of animation for element to be animated when it enters the browsers viewport (Note: works only in modern browsers).", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Animation delay", "keydesign"),
"param_name" => "elem_animation_delay",
"value" => array(
"0 ms" => "",
"200 ms" => "200",
"400 ms" => "400",
"600 ms" => "600",
"800 ms" => "800",
"1s" => "1000",
),
"dependency" => array(
"element" => "css_animation",
"value" => array("kd-animated fadeIn", "kd-animated fadeInDown", "kd-animated fadeInLeft", "kd-animated fadeInRight", "kd-animated fadeInUp", "kd-animated zoomIn")
),
"admin_label" => true,
"description" => esc_html__("Enter animation delay in ms", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Extra class name", "keydesign"),
"param_name" => "button_extra_class",
"value" => "",
"description" => esc_html__("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
)
));
}
}
// Render the element on front-end
public function kd_button_shrt($atts, $content = null) {
$output = $icons = $link_target = $link_title = $button_link = $animation_delay = $wrapper_class = '';
extract(shortcode_atts(array(
'button_icon_bool' => 'yes',
'icons' => '',
'button_icon_position' => '',
'button_target' => '_self',
'button_text' => '',
'button_link' => '',
'button_style' => '',
'button_color_scheme' => '',
'button_hover_state' => '',
'button_position' => '',
'button_width' => '',
'css_animation' => '',
'elem_animation_delay' => '',
'button_extra_class' => '',
), $atts));
$href = vc_build_link($button_link);
if ($href['target'] == "") { $href['target'] = "_self"; }
if($href['url'] !== '') {
$link_target = (isset($href['target']) && ($href['target'] != '')) ? ' target="'.$href['target'].'"' : 'target="_self"';
$link_title = (isset($href['title'])) ? ' title="'.$href['title'].'"' : '';
}
//CSS Animation
if ($css_animation == "no_animation") {
$css_animation = "";
}
// Animation delay
if ($elem_animation_delay) {
$animation_delay = 'data-animation-delay='.$elem_animation_delay;
}
$wrapper_class = implode(' ', array('tt_button', $button_style, $button_color_scheme, $button_hover_state, $button_position, $button_icon_position, $css_animation, $button_extra_class));
$output .= '<a '.(!empty($button_width) ? 'style="width: '.$button_width.';"' : '').' href="'.$href['url'].'" '.$link_target.' '.$link_title.' class="'.trim($wrapper_class).'" '.$animation_delay.'>';
if ($button_icon_bool == 'yes' && $button_icon_position == 'icon_left') {
$output .= '<span class="'.$icons.' iconita"></span>';
}
$output .= '<span class="prim_text">'.$button_text.'</span>';
if ($button_icon_bool == 'yes' && $button_icon_position == 'icon_right') {
$output .= '<span class="'.$icons.' iconita"></span>';
}
$output .= '</a>';
return $output;
}
}
}
if (class_exists('KD_ELEM_BUTTON')) {
$KD_ELEM_BUTTON = new KD_ELEM_BUTTON;
}
?>

View File

@@ -0,0 +1,310 @@
<?php
if (!class_exists('KD_ELEM_CALL_TO_ACTION')) {
class KD_ELEM_CALL_TO_ACTION extends KEYDESIGN_ADDON_CLASS {
function __construct() {
add_action('init', array($this, 'kd_calltoaction_init'));
add_shortcode('tek_calltoaction', array($this, 'kd_calltoaction_shrt'));
}
// Element configuration in admin
function kd_calltoaction_init() {
if (function_exists('vc_map')) {
vc_map(array(
"name" => esc_html__("Call to action", "keydesign"),
"description" => esc_html__("Call to action section with button.", "keydesign"),
"base" => "tek_calltoaction",
"class" => "",
"icon" => plugins_url('assets/element_icons/calltoaction-box.png', dirname(__FILE__)),
"category" => esc_html__("KeyDesign Elements", "keydesign"),
"params" => array(
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Display icon","keydesign"),
"param_name" => "cta_icon_type",
"value" => array(
"No" => "no_icon",
"Icon Browser" => "icon_browser",
"Custom Icon" => "custom_image",
),
"save_always" => true,
"description" => esc_html__("Select icon source.", "keydesign")
),
array(
"type" => "iconpicker",
"heading" => esc_html__( "Icon", "keydesign" ),
"param_name" => "icon_iconsmind",
"settings" => array(
"type" => "iconsmind",
"iconsPerPage" => 50,
),
"dependency" => array(
"element" => "cta_icon_type",
"value" => "icon_browser",
),
"description" => esc_html__( "Select icon from library.", "keydesign" ),
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => esc_html__("Icon color", "keydesign"),
"param_name" => "cta_icon_color",
"value" => "",
"dependency" => array(
"element" => "cta_icon_type",
"value" => array("icon_browser")
),
"description" => esc_html__("Choose icon color. If none selected, the default theme color will be used.", "keydesign"),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Icon size", "keydesign"),
"param_name" => "cta_icon_size",
"value" => "",
"dependency" => array(
"element" => "cta_icon_type",
"value" => array("icon_browser")
),
"description" => esc_html__("Enter icon size. (eg. 10px, 1em, 1rem)", "keydesign"),
),
array(
"type" => "attach_image",
"class" => "",
"heading" => esc_html__("Upload custom image", "keydesign"),
"param_name" => "cta_image",
"value" => "",
"description" => esc_html__("Upload your own custom image.", "keydesign"),
"dependency" => array(
"element" => "cta_icon_type",
"value" => array("custom_image"),
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Call to action title", "keydesign"),
"param_name" => "cta_title",
"value" => "",
"description" => esc_html__("Enter call to action title here.", "keydesign")
),
array(
"type" => "textarea",
"class" => "",
"heading" => esc_html__("Call to action subtitle", "keydesign"),
"param_name" => "cta_subtitle",
"value" => "",
"description" => esc_html__("This text will be displayed under the title.", "keydesign")
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => esc_html__("Text color", "keydesign"),
"param_name" => "cta_text_color",
"value" => "",
"description" => esc_html__("Choose text color.", "keydesign")
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => esc_html__("Box color", "keydesign"),
"param_name" => "cta_box_color",
"value" => "",
"description" => esc_html__("Choose box color.", "keydesign")
),
array(
"type" => "vc_link",
"class" => "",
"heading" => esc_html__("Button link", "keydesign"),
"param_name" => "cta_button_link",
"value" => "",
"description" => esc_html__("You can add or remove the existing link from here.", "keydesign"),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Button text", "keydesign"),
"param_name" => "cta_button_text",
"value" => "",
"description" => esc_html__("Write the text displayed on the button.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button style", "keydesign"),
"param_name" => "cta_button_style",
"value" => array(
"Solid color" => "tt_primary_button",
"Outline" => "tt_secondary_button"
),
"save_always" => true,
"description" => esc_html__("Select button style", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button color scheme", "keydesign"),
"param_name" => "cta_button_color_scheme",
"value" => array(
"Primary color" => "btn_primary_color",
"Secondary color" => "btn_secondary_color"
),
"save_always" => true,
"description" => esc_html__("Select button predefined color scheme.", "keydesign")
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Text CSS animation", "keydesign"),
"param_name" => "css_animation_text",
"value" => array(
"None" => "",
"Fade In" => "kd-animated fadeIn",
"Fade In Down" => "kd-animated fadeInDown",
"Fade In Left" => "kd-animated fadeInLeft",
"Fade In Right" => "kd-animated fadeInRight",
"Fade In Up" => "kd-animated fadeInUp",
"Zoom In" => "kd-animated zoomIn",
),
"save_always" => true,
"admin_label" => true,
"description" => esc_html__("Select type of animation for element to be animated when it enters the browsers viewport (Note: works only in modern browsers).", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
array(
"type" => "dropdown",
"class" => "",
"heading" => esc_html__("Button CSS animation", "keydesign"),
"param_name" => "css_animation_button",
"value" => array(
"None" => "",
"Fade In" => "kd-animated fadeIn",
"Fade In Down" => "kd-animated fadeInDown",
"Fade In Left" => "kd-animated fadeInLeft",
"Fade In Right" => "kd-animated fadeInRight",
"Fade In Up" => "kd-animated fadeInUp",
"Zoom In" => "kd-animated zoomIn",
),
"save_always" => true,
"admin_label" => true,
"description" => esc_html__("Select type of animation for element to be animated when it enters the browsers viewport (Note: works only in modern browsers).", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
array(
"type" => "textfield",
"class" => "",
"heading" => esc_html__("Extra class name", "keydesign"),
"param_name" => "cta_extra_class",
"value" => "",
"description" => esc_html__("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "keydesign"),
"group" => esc_html__( "Extras", "keydesign" ),
),
)
));
}
}
// Render the element on front-end
public function kd_calltoaction_shrt($atts, $content = null)
{
extract(shortcode_atts(array(
'cta_icon_type' => '',
'icon_iconsmind' => '',
'cta_icon_color' => '',
'cta_icon_size' => '',
'cta_image' => '',
'cta_title' => '',
'cta_subtitle' => '',
'cta_text_color' => '',
'cta_box_color' => '',
'cta_button_link' => '',
'cta_button_text' => '',
'cta_button_style' => '',
'cta_button_color_scheme' => '',
'css_animation_text' => '',
'css_animation_button' => '',
'cta_extra_class' => '',
), $atts));
$content_icon = $icon_color_style = $icon_size_style = $cta_img_array = $href = $link_target = $link_title = $animation_delay_text = $animation_delay_button = '';
if( $cta_icon_type == 'icon_browser' ) {
// Enqueue needed icon font.
// vc_icon_element_fonts_enqueue( $icon_library );
wp_enqueue_style( 'kd_iconsmind' );
}
if (strlen($icon_iconsmind) > 0) {
$cta_icon = $icon_iconsmind;
}
if ($cta_icon_color !== '') {
$icon_color_style = 'color: '.$cta_icon_color.';';
}
if ($cta_icon_size !== '') {
$icon_size_style = 'font-size: '.$cta_icon_size.';';
}
if( $cta_icon_type == 'icon_browser' && !empty($cta_icon) ) {
$content_icon = '<i class="'.$cta_icon.' fa" style="'.$icon_size_style.' '.$icon_color_style.'"></i> ';
}
elseif($cta_icon_type == 'custom_image' && !empty($cta_image)){
$cta_img_array = wpb_getImageBySize ( $params = array( 'post_id' => NULL, 'attach_id' => $cta_image, 'thumb_size' => 'full', 'class' => "" ) );
$content_icon = $cta_img_array['thumbnail'];
}
$href = vc_build_link($cta_button_link);
if($href['url'] !== '') {
$link_target = (isset($href['target']) && ($href['target'] != '')) ? 'target="'.$href['target'].'"' : '';
$link_title = (isset($href['title'])) ? 'title="'.$href['title'].'"' : '';
}
//Animation delay
if ('' != $css_animation_text) {
$animation_delay_text = 'data-animation-delay="200"';
}
if ('' != $css_animation_button) {
$animation_delay_button = 'data-animation-delay="200"';
}
$output = '<div class="kd-calltoaction '.$cta_icon_type.' '.$cta_extra_class.'" '.(!empty($cta_box_color) ? 'style="background-color: '.$cta_box_color.';"' : '').'>
<div class="container">
<div class="cta-text-container ' . $css_animation_text . '" ' . $animation_delay_text . '>';
if ($cta_icon_type != "no_icon") {
$output .= '<div class="cta-icon">'.$content_icon.'</div>';
}
$output .= '<div class="cta-text">
<h3 '.(!empty($cta_text_color) ? 'style="color: '.$cta_text_color.';"' : '').'>'.$cta_title.'</h3>
<p '.(!empty($cta_text_color) ? 'style="color: '.$cta_text_color.';"' : '').'>'.$cta_subtitle.'</p>
</div>
</div>
<div class="cta-btncontainer">
<a href="'.$href['url'].'" '.$link_target.' '.$link_title.' class="tt_button '.$cta_button_style.' '.$cta_button_color_scheme.' ' . $css_animation_button . '" ' . $animation_delay_button . '>'.$cta_button_text.'</a>
</div>
</div>
</div>';
return $output;
}
}
}
if (class_exists('KD_ELEM_CALL_TO_ACTION')) {
$KD_ELEM_CALL_TO_ACTION = new KD_ELEM_CALL_TO_ACTION;
}
?>

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