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,483 @@
/*
Admin custom CSS
@package ekko
by KeyDesign
*/
/* --------------------------------------
Meta box custom styles
-----------------------------------------*/
.kd_meta_block_prim {
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px dashed #ddd;
}
.meta_block_top {
margin-top: 10px;
}
.meta_block_bottom {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: 0;
}
.kd_meta_block_prim label {
width: 20%;
display: inline-block;
font-weight: bold;
padding-top: 4px;
}
.kd_meta_block_prim .kd-meta-desc {
display: block;
width: 18%;
padding-top: 6px;
clear: both;
font-style: italic;
font-size: 12px;
}
.kd_meta_block_prim input {
color: #000;
font-size: 12px;
display: inline-block;
}
.kd_meta_block_prim .page_subtitle_box {
width: 73%;
}
.kd_meta_block_prim input[type=checkbox] {
margin-top: 6px;
}
#redux-sticky .button {
background: #fff;
border-color: #25b15f;
box-shadow: none;
text-decoration: none;
text-shadow: none;
height: 35px;
color: #25b15f;
font-weight: 700;
line-height: 33px;
padding: 0 20px;
margin: 0 5px;
float: left;
border-radius: 30px;
border-width: 2px;
}
#redux-sticky .button:hover {
background: #333;
border-color: #333;
color: #fff;
}
#redux-sticky .button-primary {
background: #25b15f;
border-color: #25b15f;
box-shadow: none;
color: #fff;
text-decoration: none;
text-shadow: none;
height: 35px;
font-weight: 700;
line-height: 33px;
}
#redux-sticky .button-primary:hover {
background: #333;
border-color: #333;
}
#redux-footer .button {
background: #fff;
border-color: #25b15f;
box-shadow: none;
text-decoration: none;
text-shadow: none;
height: 35px;
color: #25b15f;
font-weight: 700;
line-height: 33px;
padding: 0 20px;
margin: 0 5px;
border-width: 2px;
border-radius: 30px;
}
#redux-footer .button:hover {
background: #333;
border-color: #333;
color: #fff;
}
#redux-footer .button-primary {
background: #25b15f;
border-color: #25b15f;
box-shadow: none;
color: #fff;
text-decoration: none;
text-shadow: none;
height: 35px;
font-weight: 700;
line-height: 33px;
margin: 0 5px;
}
#redux-footer .button-primary:hover {
background: #333;
border-color: #333;
}
#redux-form-wrapper input:focus {
box-shadow: none;
border-color: #25b15f;
}
#redux-form-wrapper .select2-container .select2-choice {
display: block;
height: 33px;
padding: 0 0 0 8px;
overflow: hidden;
position: relative;
border: 1px solid #ddd;
white-space: nowrap;
line-height: 33px;
color: #333;
text-decoration: none;
border-radius: 4px;
background-clip: padding-box;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: #fff;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr ='#ffffff', endColorstr ='#eeeeee', GradientType = 0);
background-image: none;
}
#redux-form-wrapper .el-icon-question-sign {
color: #25b15f;
}
#redux-form-wrapper .wp-color-result-text {
background: #fff;
border-radius: 0 2px 2px 0;
border-left: 1px solid #ddd;
color: #333;
display: block;
line-height: 22px;
padding: 0 6px;
text-align: center;
}
#redux-form-wrapper .select2-container .select2-choice .select2-arrow {
display: inline-block;
width: 18px;
height: 100%;
position: absolute;
right: 0;
line-height: 35px;
top: 0;
border-left: 1px solid #ddd;
border-radius: 0 4px 4px 0;
background-clip: padding-box;
background: #fff;
background-image: none;
background-image: none;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr ='#eeeeee', endColorstr ='#cccccc', GradientType = 0);
background-image: none;
}
.redux-container {
background-color: #f5f5f5;
background-repeat: repeat-x;
background-image: -moz-linear-gradient(top, #f2f2f2 0, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f2f2f2), color-stop(100%, #f5f5f5));
background-image: -webkit-linear-gradient(top, #f2f2f2 0, #f5f5f5 100%);
background-image: -ms-linear-gradient(top, #f2f2f2 0, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #f2f2f2 0, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);
background-image: linear-gradient(top, #f2f2f2 0, #f5f5f5 100%);
border: 1px solid #dedede;
box-shadow: none;
-moz-box-shadow: 0 1px 5px rgba(0, 0, 0, .4);
margin-top: 5px;
overflow: hidden;
border-radius: 4px;
}
.redux-container #redux-header, .redux-container #redux-footer {
text-align: right;
padding: 10px;
}
.redux-container #redux-footer {
border-top: 1px solid #ddd!important;
z-index: 9999;
box-shadow: none;
}
.redux-container .notice-yellow {
margin: 0;
border-bottom: 1px solid #E7E7E7;
background-color: #f3f3f3;
color: red;
padding: 15px 35px 15px 14px;
text-shadow: none;
}
.redux-container #info_bar {
background: #f4f4f4;
border-bottom: 1px solid #ddd;
padding: 7px;
text-align: right;
-moz-box-shadow: inset 0 1px 0 #fcfcfc;
-webkit-box-shadow: inset 0 1px 0 #fcfcfc;
box-shadow: inset 0 1px 0 #fcfcfc;
height: 34px!important;
border-left: 0;
}
.redux-container .expand_options {
cursor: pointer;
display: block;
height: 22px;
width: 21px;
float: left;
font-size: 0;
text-indent: -9999px;
display: none;
margin: 1px 0 0 5px;
border: 1px solid #bbb;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
/*background: url(../img/toggle_tabs.png) no-repeat -2px -26px;*/
}
.redux-main .form-table tr {
border-bottom: none!important;
}
.redux-main input {
line-height: 27px!important;
box-shadow: none!important;
border-radius: 4px;
background: #fff;
box-shadow: none;
outline: none;
}
.redux-main .input-append .add-on, .redux-main .input-prepend .add-on {
width: auto;
display: inline-block;
min-width: 16px;
padding: 3px 4px;
font-size: 12px;
font-weight: 400;
line-height: 20px;
text-align: center;
text-shadow: none;
background-color: #fff;
border: 1px solid #dedede;
}
.redux-container .redux-main .input-append .add-on, .redux-container .redux-main .input-prepend .add-on {
width: auto;
display: inline-block;
min-width: 16px;
padding: 7px 4px;
font-size: 12px;
font-weight: 400;
line-height: 27px;
text-align: center;
text-shadow: none;
background-color: #fff;
border: 1px solid #dddddd;
}
.redux-container .redux-main .input-prepend .add-on {
line-height:20px;
}
.redux-sidebar .redux-group-menu li a {
display: block;
padding: 15px 4px 15px 14px;
background: #e0e0e0;
background: 0 0;
border-width: 1px 0;
border-style: solid;
border-bottom-color: #E7E7E7;
border-top-color: #F9F9F9;
opacity: 1;
color: #333;
font-weight: 700;
text-decoration: none;
-webkit-transition: none;
transition: none;
outline: none;
box-shadow: none;
}
.redux-sidebar .redux-group-menu li a:hover {
background: #eaeaea;
color: #25b15f;
opacity: 1;
}
.redux-sidebar .redux-group-tab-link-a i {
vertical-align: middle;
font-size: 1em;
position: absolute;
line-height: 1.4em;
color: #25b15f;
}
.admin-color-fresh .redux-container-switch .cb-disable, .admin-color-fresh .redux-container-switch .cb-enable, .admin-color-fresh .ui-state-default, .admin-color-fresh .ui-widget-content .ui-state-default, .admin-color-fresh .ui-widget-header .ui-state-default {
background-color: #f5f5f5;
background-image: -khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5));
background-image: -moz-linear-gradient(top, #f8f8f8, #f5f5f5);
background-image: -ms-linear-gradient(top, #f8f8f8, #f5f5f5);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f8f8f8), color-stop(100%, #f5f5f5));
background-image: -webkit-linear-gradient(top, #f8f8f8, #f5f5f5);
background-image: -o-linear-gradient(top, #f8f8f8, #f5f5f5);
background-image: linear-gradient(top, #f8f8f8, #f5f5f5);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@from', endColorstr='@to', GradientType=0);
border-color: #ddd;
box-shadow: none;
line-height: 22px;
font-weight: 700;
}
.admin-color-fresh .redux-container-switch .cb-disable.selected {
background: #32373c !important;
background-image: -khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464));
background-image: -moz-linear-gradient(top, #929292, #646464);
background-image: -ms-linear-gradient(top, #929292, #646464);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #929292), color-stop(100%, #646464));
background-image: -webkit-linear-gradient(top, #929292, #646464);
background-image: -o-linear-gradient(top, #929292, #646464);
background-image: linear-gradient(top, #929292, #646464);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@from', endColorstr='@to', GradientType=0);
border-color: #32373c!important;
}
#wpbody .redux-container-switch .cb-enable.selected, #wpbody .ui-buttonset .ui-state-active {
background: #25b15f!important;
background-image: -khtml-gradient(linear, left top, left bottom, from(#008ec6), to(#0074a2));
background-image: -moz-linear-gradient(top, #008ec6, #0074a2);
background-image: -ms-linear-gradient(top, #008ec6, #0074a2);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #008ec6), color-stop(100%, #0074a2));
background-image: -webkit-linear-gradient(top, #008ec6, #0074a2);
background-image: -o-linear-gradient(top, #008ec6, #0074a2);
background-image: linear-gradient(top, #008ec6, #0074a2);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@from', endColorstr='@to', GradientType=0);
border-color: #25b15f!important;
border-color: #25b15f!important;
-webkit-box-shadow: inset 0 1px 0 #00abef, 0 1px 0 rgba(0, 0, 0, .15);
box-shadow: none!important;
}
.redux-main .redux-typography-container .input_wrapper input.mini {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
width: 78%;
text-align: center;
margin: 0;
height: 35px;
top: 3px;
padding: 0 2px 0 5px;
text-decoration: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.redux-container .form-table>tbody>tr>th {
width: 35%;
}
.admin-color-fresh #redux-header {
background: #25b15f;
border: none;
}
.redux-container #redux-header .display_header .redux-dev-mode-notice-container {display:none;}
.admin-color-fresh .redux-sidebar .redux-group-menu li.active a, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a {
color: #222;
box-shadow: none;
text-shadow: none!important;
}
.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
background: #fff;
-webkit-transition: all .2s;
-moz-transition: all .2s;
transition: all .2s;
color: #333;
width: auto;
border-bottom: 0;
}
.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li {
border-top: 0 none !important
}
.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a {
background: #e5e5e5!important;
width: auto;
border-top: 0 !important;
padding: 7px;
color: #333;
padding-left: 15px;
-webkit-transition: all .2;
-moz-transition: all .2;
-ms-transition: all .2;
-o-transition: all .2;
transition: all .2;
}
.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a, .wp-customizer .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a {
background: #25b15f!important;
color: #fff!important;
}
.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after, .wp-customizer .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after, .wp-customizer .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after {
display:none;
}
.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover {
color: #25b15f!important;
background: #e5e5e5!important;
}
.admin-color-fresh .ui-state-default {
line-height: 16px;
}
.redux-main .wp-picker-container .wp-color-result {
outline: 0;
margin: 0;
box-shadow: none;
}
.redux-container .wp-picker-container {
display: inline-block;
}
.redux-message.redux-notice {
display: none!important;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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,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("../images/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("../images/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("../images/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; }

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,24 @@
i.mce-i-wp_code {
padding: 0;
vertical-align: top;
speak: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
margin-left: -2px;
padding-right: 2px;
background-image: url('../../../images/fav-icon.png');
}
.select-icon {
position: fixed;
float: left;
width: 400px;
margin-left: -200px;
background: #fff;
border: 1px solid #ccc;
padding: 20px;
left: 50%;
height: 300px;
z-index: 999;
top: 50%;
margin-top: -150px; }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,187 @@
<?php
/**
* Class Name: wp_bootstrap_navwalker
* GitHub URI: https://github.com/twittem/wp-bootstrap-navwalker
* Description: A custom WordPress nav walker class to implement the Bootstrap 3 navigation style in a custom theme using the WordPress built in menu manager.
* Version: 2.0.4
* Author: Edward McIntyre - @twittem
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
*/
class wp_bootstrap_navwalker extends Walker_Nav_Menu {
/**
* @see Walker::start_lvl()
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param int $depth Depth of page. Used for padding.
*/
public function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat( "\t", $depth );
$output .= "\n$indent<ul role=\"menu\" class=\" dropdown-menu\">\n";
}
/**
* @see Walker::start_el()
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param object $item Menu item data object.
* @param int $depth Depth of menu item. Used for padding.
* @param int $current_page Menu item ID.
* @param object $args
*/
public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
/**
* Dividers, Headers or Disabled
* =============================
* Determine whether the item is a Divider, Header, Disabled or regular
* menu item. To prevent errors we use the strcasecmp() function to so a
* comparison that is not case sensitive. The strcasecmp() function returns
* a 0 if the strings are equal.
*/
if ( strcasecmp( $item->attr_title, 'divider' ) == 0 && $depth === 1 ) {
$output .= $indent . '<li role="presentation" class="divider">';
} else if ( strcasecmp( $item->title, 'divider') == 0 && $depth === 1 ) {
$output .= $indent . '<li role="presentation" class="divider">';
} else if ( strcasecmp( $item->attr_title, 'dropdown-header') == 0 && $depth === 1 ) {
$output .= $indent . '<li role="presentation" class="dropdown-header">' . esc_attr( $item->title );
} else if ( strcasecmp($item->attr_title, 'disabled' ) == 0 ) {
$output .= $indent . '<li role="presentation" class="disabled"><a href="#">' . esc_attr( $item->title ) . '</a>';
} else {
$class_names = $value = '';
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
$classes[] = 'menu-item-' . $item->ID;
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
if ( $args->has_children )
$class_names .= ' dropdown';
if ( in_array( 'current-menu-item', $classes ) )
$class_names .= ' active';
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
$output .= $indent . '<li' . $id . $value . $class_names .'>';
$atts = array();
if ( empty( $item->attr_title ) ) {
$atts['title'] = ! empty( $item->title ) ? strip_tags( $item->title ) : '';
} else {
$atts['title'] = $item->attr_title;
}
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
$atts['data-toggle'] = '';
$atts['class'] = '';
$atts['aria-haspopup'] = '';
} else if ( $depth === 0 ) {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
}
else {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
}
$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args );
$attributes = '';
foreach ( $atts as $attr => $value ) {
if ( ! empty( $value ) ) {
$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
$attributes .= ' ' . $attr . '="' . $value . '"';
}
}
$item_output = $args->before;
/*
* Glyphicons
* ===========
* Since the the menu item is NOT a Divider or Header we check the see
* if there is a value in the attr_title property. If the attr_title
* property is NOT null we apply it as the class name for the glyphicon.
*/
if ( ! empty( $item->attr_title ) )
$item_output .= '<a'. $attributes .'><span class="glyphicon ' . esc_attr( $item->attr_title ) . '"></span>&nbsp;';
else
$item_output .= '<a'. $attributes .'>';
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
$item_output .= ( $args->has_children && 0 === $depth ) ? '</a>' : '</a>';
$item_output .= $args->after;
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
}
/**
* Traverse elements to create list from elements.
*
* Display one element if the element doesn't have any children otherwise,
* display the element and its children. Will only traverse up to the max
* depth and no ignore elements under that depth.
*
* This method shouldn't be called directly, use the walk() method instead.
*
* @see Walker::start_el()
* @since 2.5.0
*
* @param object $element Data object
* @param array $children_elements List of elements to continue traversing.
* @param int $max_depth Max depth to traverse.
* @param int $depth Depth of current element.
* @param array $args
* @param string $output Passed by reference. Used to append additional content.
* @return null Null on failure with no changes to parameters.
*/
public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
if ( ! $element )
return;
$id_field = $this->db_fields['id'];
// Display this element.
if ( is_object( $args[0] ) )
$args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] );
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
}
/**
* Menu Fallback
* =============
* If this function is assigned to the wp_nav_menu's fallback_cb variable
* and a manu has not been assigned to the theme location in the WordPress
* menu manager the function with display nothing to a non-logged in user,
* and will add a link to the WordPress menu manager if logged in as an admin.
*
* @param array $args passed from the wp_nav_menu function.
*
*/
public static function fallback( $args ) {
if ( current_user_can( 'manage_options' ) ) {
extract( $args );
echo '<ul class="nav navbar-nav"><li><a href="' . esc_url(admin_url( 'nav-menus.php' )) . '">Add a menu</a></li></ul>';
}
}
}

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG font generated by IcoMoon.
<iconset grid="16"></iconset>
</metadata>
<defs>
<font id="icomoon" horiz-adv-x="512" >
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph unicode="&#x53;" d="M 269.474,480.00L 352.509,311.757L 538.171,284.777L 403.822,153.824L 435.54-31.095L 269.474,56.21L 103.408-31.095L 135.119,153.824L 0.771,284.777L 186.438,311.757 z" horiz-adv-x="538.9473684210526" />
<glyph unicode="&#x73;" d="M 269.474,406.94l 54.04-109.487l 7.524-15.247l 16.821-2.447l 120.827-17.559L 381.251,176.982l-12.18-11.868l 2.873-16.756l 20.647-120.336
L 284.521,84.833L 269.474,92.745l-15.047-7.912L 146.351,28.017l 20.642,120.336l 2.873,16.756l-12.175,11.868L 70.263,262.201l 120.827,17.559
l 16.826,2.447l 7.524,15.247L 269.474,406.94 M 269.474,480.00L 186.438,311.757l-185.667-26.98l 134.349-130.953l-31.717-184.918L 269.474,56.21l 166.066-87.304
l-31.722,184.918l 134.354,130.953l-185.662,26.98L 269.474,480.00L 269.474,480.00z" horiz-adv-x="538.9473684210526" />
<glyph unicode="&#x20;" horiz-adv-x="256" />
<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,33 @@
<!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
<svg width="120" height="30" viewBox="0 0 120 30" xmlns="http://www.w3.org/2000/svg" fill="#fff">
<circle cx="15" cy="15" r="15">
<animate attributeName="r" from="15" to="15"
begin="0s" dur="0.8s"
values="15;9;15" calcMode="linear"
repeatCount="indefinite" />
<animate attributeName="fill-opacity" from="1" to="1"
begin="0s" dur="0.8s"
values="1;.5;1" calcMode="linear"
repeatCount="indefinite" />
</circle>
<circle cx="60" cy="15" r="9" fill-opacity="0.3">
<animate attributeName="r" from="9" to="9"
begin="0s" dur="0.8s"
values="9;15;9" calcMode="linear"
repeatCount="indefinite" />
<animate attributeName="fill-opacity" from="0.5" to="0.5"
begin="0s" dur="0.8s"
values=".5;1;.5" calcMode="linear"
repeatCount="indefinite" />
</circle>
<circle cx="105" cy="15" r="15">
<animate attributeName="r" from="15" to="15"
begin="0s" dur="0.8s"
values="15;9;15" calcMode="linear"
repeatCount="indefinite" />
<animate attributeName="fill-opacity" from="1" to="1"
begin="0s" dur="0.8s"
values="1;.5;1" calcMode="linear"
repeatCount="indefinite" />
</circle>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 91.3 91.1" enable-background="new 0 0 91.3 91.1" xml:space="preserve">
<circle cx="45.7" cy="45.7" r="45.7"/>
<circle fill="#FFFFFF" cx="45.7" cy="24.4" r="12.5"/>
</svg>

After

Width:  |  Height:  |  Size: 545 B

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

View File

@@ -0,0 +1,788 @@
//
// SmoothScroll for websites v1.4.9 (Balazs Galambosi)
// http://www.smoothscroll.net/
//
// Licensed under the terms of the MIT license.
//
// You may use it in your theme if you credit me.
// It is also free to use on any individual website.
//
// Exception:
// The only restriction is to not publish any
// extension for browsers or native application
// without getting a written permission first.
//
(function () {
// Scroll Variables (tweakable)
var defaultOptions = {
// Scrolling Core
frameRate : 150, // [Hz]
animationTime : 400, // [ms]
stepSize : 100, // [px]
// Pulse (less tweakable)
// ratio of "tail" to "acceleration"
pulseAlgorithm : true,
pulseScale : 4,
pulseNormalize : 1,
// Acceleration
accelerationDelta : 50, // 50
accelerationMax : 3, // 3
// Keyboard Settings
keyboardSupport : true, // option
arrowScroll : 50, // [px]
// Other
fixedBackground : true,
excluded : ''
};
var options = defaultOptions;
// Other Variables
var isExcluded = false;
var isFrame = false;
var direction = { x: 0, y: 0 };
var initDone = false;
var root = document.documentElement;
var activeElement;
var observer;
var refreshSize;
var deltaBuffer = [];
var deltaBufferTimer;
var isMac = /^Mac/.test(navigator.platform);
var key = { left: 37, up: 38, right: 39, down: 40, spacebar: 32,
pageup: 33, pagedown: 34, end: 35, home: 36 };
var arrowKeys = { 37: 1, 38: 1, 39: 1, 40: 1 };
/***********************************************
* INITIALIZE
***********************************************/
/**
* Tests if smooth scrolling is allowed. Shuts down everything if not.
*/
function initTest() {
if (options.keyboardSupport) {
addEvent('keydown', keydown);
}
}
/**
* Sets up scrolls array, determines if frames are involved.
*/
function init() {
if (initDone || !document.body) return;
initDone = true;
var body = document.body;
var html = document.documentElement;
var windowHeight = window.innerHeight;
var scrollHeight = body.scrollHeight;
// check compat mode for root element
root = (document.compatMode.indexOf('CSS') >= 0) ? html : body;
activeElement = body;
initTest();
// Checks if this script is running in a frame
if (top != self) {
isFrame = true;
}
/**
* Safari 10 fixed it, Chrome fixed it in v45:
* This fixes a bug where the areas left and right to
* the content does not trigger the onmousewheel event
* on some pages. e.g.: html, body { height: 100% }
*/
else if (isOldSafari &&
scrollHeight > windowHeight &&
(body.offsetHeight <= windowHeight ||
html.offsetHeight <= windowHeight)) {
var fullPageElem = document.createElement('div');
fullPageElem.style.cssText = 'position:absolute; z-index:-10000; ' +
'top:0; left:0; right:0; height:' +
root.scrollHeight + 'px';
document.body.appendChild(fullPageElem);
// DOM changed (throttled) to fix height
var pendingRefresh;
refreshSize = function () {
if (pendingRefresh) return; // could also be: clearTimeout(pendingRefresh);
pendingRefresh = setTimeout(function () {
if (isExcluded) return; // could be running after cleanup
fullPageElem.style.height = '0';
fullPageElem.style.height = root.scrollHeight + 'px';
pendingRefresh = null;
}, 500); // act rarely to stay fast
};
setTimeout(refreshSize, 10);
addEvent('resize', refreshSize);
// TODO: attributeFilter?
var config = {
attributes: true,
childList: true,
characterData: false
// subtree: true
};
observer = new MutationObserver(refreshSize);
observer.observe(body, config);
if (root.offsetHeight <= windowHeight) {
var clearfix = document.createElement('div');
clearfix.style.clear = 'both';
body.appendChild(clearfix);
}
}
// disable fixed background
if (!options.fixedBackground && !isExcluded) {
body.style.backgroundAttachment = 'scroll';
html.style.backgroundAttachment = 'scroll';
}
}
/**
* Removes event listeners and other traces left on the page.
*/
function cleanup() {
observer && observer.disconnect();
removeEvent(wheelEvent, wheel);
removeEvent('mousedown', mousedown);
removeEvent('keydown', keydown);
removeEvent('resize', refreshSize);
removeEvent('load', init);
}
/************************************************
* SCROLLING
************************************************/
var que = [];
var pending = false;
var lastScroll = Date.now();
/**
* Pushes scroll actions to the scrolling queue.
*/
function scrollArray(elem, left, top) {
directionCheck(left, top);
if (options.accelerationMax != 1) {
var now = Date.now();
var elapsed = now - lastScroll;
if (elapsed < options.accelerationDelta) {
var factor = (1 + (50 / elapsed)) / 2;
if (factor > 1) {
factor = Math.min(factor, options.accelerationMax);
left *= factor;
top *= factor;
}
}
lastScroll = Date.now();
}
// push a scroll command
que.push({
x: left,
y: top,
lastX: (left < 0) ? 0.99 : -0.99,
lastY: (top < 0) ? 0.99 : -0.99,
start: Date.now()
});
// don't act if there's a pending queue
if (pending) {
return;
}
var scrollRoot = getScrollRoot();
var isWindowScroll = (elem === scrollRoot || elem === document.body);
// if we haven't already fixed the behavior,
// and it needs fixing for this sesh
if (elem.$scrollBehavior == null && isScrollBehaviorSmooth(elem)) {
elem.$scrollBehavior = elem.style.scrollBehavior;
elem.style.scrollBehavior = 'auto';
}
var step = function (time) {
var now = Date.now();
var scrollX = 0;
var scrollY = 0;
for (var i = 0; i < que.length; i++) {
var item = que[i];
var elapsed = now - item.start;
var finished = (elapsed >= options.animationTime);
// scroll position: [0, 1]
var position = (finished) ? 1 : elapsed / options.animationTime;
// easing [optional]
if (options.pulseAlgorithm) {
position = pulse(position);
}
// only need the difference
var x = (item.x * position - item.lastX) >> 0;
var y = (item.y * position - item.lastY) >> 0;
// add this to the total scrolling
scrollX += x;
scrollY += y;
// update last values
item.lastX += x;
item.lastY += y;
// delete and step back if it's over
if (finished) {
que.splice(i, 1); i--;
}
}
// scroll left and top
if (isWindowScroll) {
window.scrollBy(scrollX, scrollY);
}
else {
if (scrollX) elem.scrollLeft += scrollX;
if (scrollY) elem.scrollTop += scrollY;
}
// clean up if there's nothing left to do
if (!left && !top) {
que = [];
}
if (que.length) {
requestFrame(step, elem, (1000 / options.frameRate + 1));
} else {
pending = false;
// restore default behavior at the end of scrolling sesh
if (elem.$scrollBehavior != null) {
elem.style.scrollBehavior = elem.$scrollBehavior;
elem.$scrollBehavior = null;
}
}
};
// start a new queue of actions
requestFrame(step, elem, 0);
pending = true;
}
/***********************************************
* EVENTS
***********************************************/
/**
* Mouse wheel handler.
* @param {Object} event
*/
function wheel(event) {
if (!initDone) {
init();
}
var target = event.target;
// leave early if default action is prevented
// or it's a zooming event with CTRL
if (event.defaultPrevented || event.ctrlKey) {
return true;
}
// leave embedded content alone (flash & pdf)
if (isNodeName(activeElement, 'embed') ||
(isNodeName(target, 'embed') && /\.pdf/i.test(target.src)) ||
isNodeName(activeElement, 'object') ||
target.shadowRoot) {
return true;
}
var deltaX = -event.wheelDeltaX || event.deltaX || 0;
var deltaY = -event.wheelDeltaY || event.deltaY || 0;
if (isMac) {
if (event.wheelDeltaX && isDivisible(event.wheelDeltaX, 120)) {
deltaX = -120 * (event.wheelDeltaX / Math.abs(event.wheelDeltaX));
}
if (event.wheelDeltaY && isDivisible(event.wheelDeltaY, 120)) {
deltaY = -120 * (event.wheelDeltaY / Math.abs(event.wheelDeltaY));
}
}
// use wheelDelta if deltaX/Y is not available
if (!deltaX && !deltaY) {
deltaY = -event.wheelDelta || 0;
}
// line based scrolling (Firefox mostly)
if (event.deltaMode === 1) {
deltaX *= 40;
deltaY *= 40;
}
var overflowing = overflowingAncestor(target);
// nothing to do if there's no element that's scrollable
if (!overflowing) {
// except Chrome iframes seem to eat wheel events, which we need to
// propagate up, if the iframe has nothing overflowing to scroll
if (isFrame && isChrome) {
// change target to iframe element itself for the parent frame
Object.defineProperty(event, "target", {value: window.frameElement});
return parent.wheel(event);
}
return true;
}
// check if it's a touchpad scroll that should be ignored
if (isTouchpad(deltaY)) {
return true;
}
// scale by step size
// delta is 120 most of the time
// synaptics seems to send 1 sometimes
if (Math.abs(deltaX) > 1.2) {
deltaX *= options.stepSize / 120;
}
if (Math.abs(deltaY) > 1.2) {
deltaY *= options.stepSize / 120;
}
scrollArray(overflowing, deltaX, deltaY);
event.preventDefault();
scheduleClearCache();
}
/**
* Keydown event handler.
* @param {Object} event
*/
function keydown(event) {
var target = event.target;
var modifier = event.ctrlKey || event.altKey || event.metaKey ||
(event.shiftKey && event.keyCode !== key.spacebar);
// our own tracked active element could've been removed from the DOM
if (!document.body.contains(activeElement)) {
activeElement = document.activeElement;
}
// do nothing if user is editing text
// or using a modifier key (except shift)
// or in a dropdown
// or inside interactive elements
var inputNodeNames = /^(textarea|select|embed|object)$/i;
var buttonTypes = /^(button|submit|radio|checkbox|file|color|image)$/i;
if ( event.defaultPrevented ||
inputNodeNames.test(target.nodeName) ||
isNodeName(target, 'input') && !buttonTypes.test(target.type) ||
isNodeName(activeElement, 'video') ||
isInsideYoutubeVideo(event) ||
target.isContentEditable ||
modifier ) {
return true;
}
// [spacebar] should trigger button press, leave it alone
if ((isNodeName(target, 'button') ||
isNodeName(target, 'input') && buttonTypes.test(target.type)) &&
event.keyCode === key.spacebar) {
return true;
}
// [arrwow keys] on radio buttons should be left alone
if (isNodeName(target, 'input') && target.type == 'radio' &&
arrowKeys[event.keyCode]) {
return true;
}
var shift, x = 0, y = 0;
var overflowing = overflowingAncestor(activeElement);
if (!overflowing) {
// Chrome iframes seem to eat key events, which we need to
// propagate up, if the iframe has nothing overflowing to scroll
return (isFrame && isChrome) ? parent.keydown(event) : true;
}
var clientHeight = overflowing.clientHeight;
if (overflowing == document.body) {
clientHeight = window.innerHeight;
}
switch (event.keyCode) {
case key.up:
y = -options.arrowScroll;
break;
case key.down:
y = options.arrowScroll;
break;
case key.spacebar: // (+ shift)
shift = event.shiftKey ? 1 : -1;
y = -shift * clientHeight * 0.9;
break;
case key.pageup:
y = -clientHeight * 0.9;
break;
case key.pagedown:
y = clientHeight * 0.9;
break;
case key.home:
if (overflowing == document.body && document.scrollingElement)
overflowing = document.scrollingElement;
y = -overflowing.scrollTop;
break;
case key.end:
var scroll = overflowing.scrollHeight - overflowing.scrollTop;
var scrollRemaining = scroll - clientHeight;
y = (scrollRemaining > 0) ? scrollRemaining + 10 : 0;
break;
case key.left:
x = -options.arrowScroll;
break;
case key.right:
x = options.arrowScroll;
break;
default:
return true; // a key we don't care about
}
scrollArray(overflowing, x, y);
event.preventDefault();
scheduleClearCache();
}
/**
* Mousedown event only for updating activeElement
*/
function mousedown(event) {
activeElement = event.target;
}
/***********************************************
* OVERFLOW
***********************************************/
var uniqueID = (function () {
var i = 0;
return function (el) {
return el.uniqueID || (el.uniqueID = i++);
};
})();
var cacheX = {}; // cleared out after a scrolling session
var cacheY = {}; // cleared out after a scrolling session
var clearCacheTimer;
var smoothBehaviorForElement = {};
//setInterval(function () { cache = {}; }, 10 * 1000);
function scheduleClearCache() {
clearTimeout(clearCacheTimer);
clearCacheTimer = setInterval(function () {
cacheX = cacheY = smoothBehaviorForElement = {};
}, 1*1000);
}
function setCache(elems, overflowing, x) {
var cache = x ? cacheX : cacheY;
for (var i = elems.length; i--;)
cache[uniqueID(elems[i])] = overflowing;
return overflowing;
}
function getCache(el, x) {
return (x ? cacheX : cacheY)[uniqueID(el)];
}
// (body) (root)
// | hidden | visible | scroll | auto |
// hidden | no | no | YES | YES |
// visible | no | YES | YES | YES |
// scroll | no | YES | YES | YES |
// auto | no | YES | YES | YES |
function overflowingAncestor(el) {
var elems = [];
var body = document.body;
var rootScrollHeight = root.scrollHeight;
do {
var cached = getCache(el, false);
if (cached) {
return setCache(elems, cached);
}
elems.push(el);
if (rootScrollHeight === el.scrollHeight) {
var topOverflowsNotHidden = overflowNotHidden(root) && overflowNotHidden(body);
var isOverflowCSS = topOverflowsNotHidden || overflowAutoOrScroll(root);
if (isFrame && isContentOverflowing(root) ||
!isFrame && isOverflowCSS) {
return setCache(elems, getScrollRoot());
}
} else if (isContentOverflowing(el) && overflowAutoOrScroll(el)) {
return setCache(elems, el);
}
} while ((el = el.parentElement));
}
function isContentOverflowing(el) {
return (el.clientHeight + 10 < el.scrollHeight);
}
// typically for <body> and <html>
function overflowNotHidden(el) {
var overflow = getComputedStyle(el, '').getPropertyValue('overflow-y');
return (overflow !== 'hidden');
}
// for all other elements
function overflowAutoOrScroll(el) {
var overflow = getComputedStyle(el, '').getPropertyValue('overflow-y');
return (overflow === 'scroll' || overflow === 'auto');
}
// for all other elements
function isScrollBehaviorSmooth(el) {
var id = uniqueID(el);
if (smoothBehaviorForElement[id] == null) {
var scrollBehavior = getComputedStyle(el, '')['scroll-behavior'];
smoothBehaviorForElement[id] = ('smooth' == scrollBehavior);
}
return smoothBehaviorForElement[id];
}
/***********************************************
* HELPERS
***********************************************/
function addEvent(type, fn, arg) {
window.addEventListener(type, fn, arg || false);
}
function removeEvent(type, fn, arg) {
window.removeEventListener(type, fn, arg || false);
}
function isNodeName(el, tag) {
return el && (el.nodeName||'').toLowerCase() === tag.toLowerCase();
}
function directionCheck(x, y) {
x = (x > 0) ? 1 : -1;
y = (y > 0) ? 1 : -1;
if (direction.x !== x || direction.y !== y) {
direction.x = x;
direction.y = y;
que = [];
lastScroll = 0;
}
}
if (window.localStorage && localStorage.SS_deltaBuffer) {
try { // #46 Safari throws in private browsing for localStorage
deltaBuffer = localStorage.SS_deltaBuffer.split(',');
} catch (e) { }
}
function isTouchpad(deltaY) {
if (!deltaY) return;
if (!deltaBuffer.length) {
deltaBuffer = [deltaY, deltaY, deltaY];
}
deltaY = Math.abs(deltaY);
deltaBuffer.push(deltaY);
deltaBuffer.shift();
clearTimeout(deltaBufferTimer);
deltaBufferTimer = setTimeout(function () {
try { // #46 Safari throws in private browsing for localStorage
localStorage.SS_deltaBuffer = deltaBuffer.join(',');
} catch (e) { }
}, 1000);
var dpiScaledWheelDelta = deltaY > 120 && allDeltasDivisableBy(deltaY); // win64
return !allDeltasDivisableBy(120) && !allDeltasDivisableBy(100) && !dpiScaledWheelDelta;
}
function isDivisible(n, divisor) {
return (Math.floor(n / divisor) == n / divisor);
}
function allDeltasDivisableBy(divisor) {
return (isDivisible(deltaBuffer[0], divisor) &&
isDivisible(deltaBuffer[1], divisor) &&
isDivisible(deltaBuffer[2], divisor));
}
function isInsideYoutubeVideo(event) {
var elem = event.target;
var isControl = false;
if (document.URL.indexOf ('www.youtube.com/watch') != -1) {
do {
isControl = (elem.classList &&
elem.classList.contains('html5-video-controls'));
if (isControl) break;
} while ((elem = elem.parentNode));
}
return isControl;
}
var requestFrame = (function () {
return (window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function (callback, element, delay) {
window.setTimeout(callback, delay || (1000/60));
});
})();
var MutationObserver = (window.MutationObserver ||
window.WebKitMutationObserver ||
window.MozMutationObserver);
var getScrollRoot = (function() {
var SCROLL_ROOT = document.scrollingElement;
return function() {
if (!SCROLL_ROOT) {
var dummy = document.createElement('div');
dummy.style.cssText = 'height:10000px;width:1px;';
document.body.appendChild(dummy);
var bodyScrollTop = document.body.scrollTop;
var docElScrollTop = document.documentElement.scrollTop;
window.scrollBy(0, 3);
if (document.body.scrollTop != bodyScrollTop)
(SCROLL_ROOT = document.body);
else
(SCROLL_ROOT = document.documentElement);
window.scrollBy(0, -3);
document.body.removeChild(dummy);
}
return SCROLL_ROOT;
};
})();
/***********************************************
* PULSE (by Michael Herf)
***********************************************/
/**
* Viscous fluid with a pulse for part and decay for the rest.
* - Applies a fixed force over an interval (a damped acceleration), and
* - Lets the exponential bleed away the velocity over a longer interval
* - Michael Herf, http://stereopsis.com/stopping/
*/
function pulse_(x) {
var val, start, expx;
// test
x = x * options.pulseScale;
if (x < 1) { // acceleartion
val = x - (1 - Math.exp(-x));
} else { // tail
// the previous animation ended here:
start = Math.exp(-1);
// simple viscous drag
x -= 1;
expx = 1 - Math.exp(-x);
val = start + (expx * (1 - start));
}
return val * options.pulseNormalize;
}
function pulse(x) {
if (x >= 1) return 1;
if (x <= 0) return 0;
if (options.pulseNormalize == 1) {
options.pulseNormalize /= pulse_(1);
}
return pulse_(x);
}
/***********************************************
* FIRST RUN
***********************************************/
var userAgent = window.navigator.userAgent;
var isEdge = /Edge/.test(userAgent); // thank you MS
var isChrome = /chrome/i.test(userAgent) && !isEdge;
var isSafari = /safari/i.test(userAgent) && !isEdge;
var isMobile = /mobile/i.test(userAgent);
var isIEWin7 = /Windows NT 6.1/i.test(userAgent) && /rv:11/i.test(userAgent);
var isOldSafari = isSafari && (/Version\/8/i.test(userAgent) || /Version\/9/i.test(userAgent));
var isEnabledForBrowser = (isChrome || isSafari || isIEWin7) && !isMobile;
var supportsPassive = false;
try {
window.addEventListener("test", null, Object.defineProperty({}, 'passive', {
get: function () {
supportsPassive = true;
}
}));
} catch(e) {}
var wheelOpt = supportsPassive ? { passive: false } : false;
var wheelEvent = 'onwheel' in document.createElement('div') ? 'wheel' : 'mousewheel';
if (wheelEvent && isEnabledForBrowser) {
addEvent(wheelEvent, wheel, wheelOpt);
addEvent('mousedown', mousedown);
addEvent('load', init);
}
/***********************************************
* PUBLIC INTERFACE
***********************************************/
function SmoothScroll(optionsToSet) {
for (var key in optionsToSet)
if (defaultOptions.hasOwnProperty(key))
options[key] = optionsToSet[key];
}
SmoothScroll.destroy = cleanup;
if (window.SmoothScrollOptions) // async API
SmoothScroll(window.SmoothScrollOptions);
if (typeof define === 'function' && define.amd)
define(function() {
return SmoothScroll;
});
else if ('object' == typeof exports)
module.exports = SmoothScroll;
else
window.SmoothScroll = SmoothScroll;
})();

View File

@@ -0,0 +1,9 @@
jQuery(document).ready(function($) {
"use strict";
$( "a:contains('import-demo-full-custom')" ).parent().remove();
$("#import-content").change(function() {
var id = $(this).children(":selected").attr("id");
$('#import-link-value').val(id);
});
$("#vc_settings-templatera #submit_btn").attr('value', 'Import ekko Templates');
});

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,645 @@
// ------------------------------------------------------------------------
// Check if element is in ViewPort
// ------------------------------------------------------------------------
(function($) {
"use strict";
$.belowthefold = function(element, settings) {
var fold = $(window).height() + $(window).scrollTop();
return fold <= $(element).offset().top - settings.threshold;
};
$.abovethetop = function(element, settings) {
var top = $(window).scrollTop();
return top >= $(element).offset().top + $(element).height() - settings.threshold;
};
$.rightofscreen = function(element, settings) {
var fold = $(window).width() + $(window).scrollLeft();
return fold <= $(element).offset().left - settings.threshold;
};
$.leftofscreen = function(element, settings) {
var left = $(window).scrollLeft();
return left >= $(element).offset().left + $(element).width() - settings.threshold;
};
$.inviewport = function(element, settings) {
return !$.rightofscreen(element, settings) && !$.leftofscreen(element, settings) && !$.belowthefold(element, settings) && !$.abovethetop(element, settings);
};
$.extend($.expr[':'], {
"below-the-fold": function(a, i, m) {
return $.belowthefold(a, {
threshold: 0
});
},
"above-the-top": function(a, i, m) {
return $.abovethetop(a, {
threshold: 0
});
},
"left-of-screen": function(a, i, m) {
return $.leftofscreen(a, {
threshold: 0
});
},
"right-of-screen": function(a, i, m) {
return $.rightofscreen(a, {
threshold: 0
});
},
"in-viewport": function(a, i, m) {
return $.inviewport(a, {
threshold: 0
});
}
});
// ------------------------------------------------------------------------
// Preload Effect
// ------------------------------------------------------------------------
$(window).load(function() {
"use strict";
$('body').removeClass('fade-in');
});
window.addEventListener("beforeunload", function () {
$("body a[href]").click(function(){
var $anchor = $(this);
// Don't fade for links that open in new window
if ( $anchor.attr('target') && $anchor.attr('target').indexOf('_blank') >=0 ) {
return;
}
// Don't fade for email
if ( $anchor.attr('href').indexOf('mailto:') >=0 ) {
return;
}
// Don't fade for telephone links
if ( $anchor.attr('href').indexOf('tel:') >=0 ) {
return;
}
// Don't fade for links to anchor tags
if ( $anchor.attr('href').indexOf('#') >=0 ) {
return;
}
// Fade out
document.body.classList.add("fade-out");
});
});
$(document).ready(function() {
"use strict";
$(".wpb_wrapper:empty").parent().addClass('hide-on-mobile');
$('.parallax-overlay').each(function() {
var size = $(this).attr('data-vc-kd-parallax');
var height = $(this).closest('.kd_vc_parallax').innerHeight();
$(this).css('height', size * height + 'px');
});
if ($('.entry-header .breadcrumbs').length > 0) {
var str = $(".entry-header .breadcrumbs").html();
$(".entry-header .breadcrumbs").html(str.replace(/&gt;/g, '<span class="fa fa-angle-right"></span>'));
}
// ------------------------------------------------------------------------
// 3rd level menu off screen
// ------------------------------------------------------------------------
$(".navbar-nav .dropdown").on("mouseover", function () {
var dropdown = $(this).find('.dropdown-menu');
var off = dropdown.offset();
var l = off.left;
var w = dropdown.width();
var docW = $(window).width();
var isEntirelyVisible = (l + w < docW);
if (!isEntirelyVisible) {
console.log(l + w - docW);
dropdown.addClass('align-menu-right');
}
});
$(window).on('resize', function(){
$(".dropdown-menu").removeClass('align-menu-right');
});
// ------------------------------------------------------------------------
// Mega menu effects
// ------------------------------------------------------------------------
if ($('.transparent-navigation').length > 0) {
$( ".navbar-nav .mega-menu" ).hover(
function () {
$('body').removeClass( "transparent-navigation" );
},
function () {
$('body').addClass( "transparent-navigation" );
}
);
}
$( ".navbar-nav .mega-menu" ).hover(
function () {
$('.navbar-nav').addClass( "no-transition" );
},
function () {
$('.navbar-nav').removeClass( "no-transition" );
}
);
if ($('#single-page').length > 0) {
$('body').addClass('single-post');
}
// ------------------------------------------------------------------------
// Side panel
// ------------------------------------------------------------------------
var $html_wrapper = $('html'),
scrollDisabled = false,
scrollTop;
function scrollDisable() {
if (scrollDisabled) {
return;
}
scrollTop = $(window).scrollTop();
$html_wrapper.addClass('scrollLock')
.css({
top: -1 * scrollTop
});
scrollDisabled = true;
}
function scrollEnable() {
if (!scrollDisabled) {
return;
}
$html_wrapper.removeClass('scrollLock');
$(window).scrollTop(scrollTop);
scrollDisabled = false;
}
if ($(".panel-trigger-btn").length) {
$(".panel-trigger-btn").click(function() {
scrollDisable();
$(".kd-side-panel, .panel-screen-overlay").addClass("active");
$(".navbar.navbar-default.fixed-menu").addClass("panel-enabled");
});
$(".kd-side-panel .panel-close").click(function() {
scrollEnable();
$(".kd-side-panel, .panel-screen-overlay").removeClass("active");
$(".navbar.navbar-default.fixed-menu").removeClass("panel-enabled");
});
$('.panel-screen-overlay').on("click", function(){
$(".kd-side-panel .panel-close").trigger("click");
});
}
// ------------------------------------------------------------------------
// Live Preview Customizer
// ------------------------------------------------------------------------
$("#customizer .switcher, .demo-switcher ").click(function() {
$("#customizer").toggleClass('active');
});
// ------------------------------------------------------------------------
// Topbar search
// ------------------------------------------------------------------------
$(".topbar-search .toggle-search").click(function() {
$(".topbar-search .topbar-search-container").toggleClass('active');
$(this).toggleClass('fa-times');
});
function draw() {
requestAnimationFrame(draw);
scrollEvent();
}
draw();
// ------------------------------------------------------------------------
// Fixed Footer
// ------------------------------------------------------------------------
if ($("#footer.fixed").length) {
var footerHeight = $("#footer.fixed").height();
$("#wrapper").css("margin-bottom", footerHeight);
}
// ------------------------------------------------------------------------
// Custom Search Field
// ------------------------------------------------------------------------
$("#s").each(function(index, elem) {
var eId = $(elem).attr("id");
var label = null;
if (eId && (label = $(elem).parents("form").find("label[for=" + eId + "]")).length == 1) {
$(elem).attr("placeholder", 'Search');
$(label).remove();
}
});
$(".search-submit, .blog_widget #bbp_search_submit").val('');
$(".woocommerce-product-search input[type='submit']").val('');
// ------------------------------------------------------------------------
// Contact Form Buttons
// ------------------------------------------------------------------------
$(document).on("click", ".section .wpcf7-not-valid-tip,.section .wpcf7-mail-sent-ok, .blog-header-form .wpcf7-not-valid-tip, .blog-header-form .wpcf7-mail-sent-ok, .subscribe-form header .wpcf7-response-output, .modal-content-inner .wpcf7-not-valid-tip, .kd-side-panel .wpcf7-not-valid-tip", function() {
$(this).fadeOut();
});
// ------------------------------------------------------------------------
// Reset reCaptcha for modal window
// ------------------------------------------------------------------------
if ($('.wpcf7-recaptcha').length > 0) {
$(document).on("click", ".modal-menu-item", function() {
grecaptcha.reset();
});
}
// ------------------------------------------------------------------------
// Blog video cover
// ------------------------------------------------------------------------
$('.background-video-image').each(function() {
var imgSrc = $(this).children('img').attr('src');
$(this).css('background', 'url("' + imgSrc + '")').css('background-position', 'initial');
});
$('.video-cover').each(function(){
var videoCover = $(this);
if(videoCover.find('iframe').length){
videoCover.find('iframe').attr('data-src', videoCover.find('iframe').attr('src'));
videoCover.find('iframe').attr('src','');
}
});
$('.video-cover .play-video').on("click", function(){
var playIcon = $(this);
var videoCover = playIcon.closest('.video-cover');
if(videoCover.find('video').length){
var video = videoCover.find('video').get(0);
videoCover.addClass('show-video');
video.play();
return false;
} else if(videoCover.find('iframe').length){
var iframe = videoCover.find('iframe');
var videoSrc = iframe.attr('data-src');
var videoSrcAuto = videoSrc.replace('?feature=oembed', '?autoplay=1');
iframe.attr('src', videoSrcAuto);
videoCover.addClass('show-video');
return false;
}
});
// ------------------------------------------------------------------------
// Main Menu One Page Links
// ------------------------------------------------------------------------
$( "<span class='mobile-dropdown'></span>" ).appendTo( $( ".navbar-nav .menu-item-has-children" ) );
$(".navbar-nav .menu-item-has-children .mobile-dropdown").click(function() {
$(this).closest(".menu-item-has-children").toggleClass('mobile-visible');
});
// ------------------------------------------------------------------------
// Bbpress Breadcrumbs
// ------------------------------------------------------------------------
if ($('.bbp-breadcrumb').length > 0) {
$( '.bbp-breadcrumb' ).appendTo( $(".bbpress-breadcrumbs"));
}
// ------------------------------------------------------------------------
// Main Smooth Scroll and Scroll Spy
// ------------------------------------------------------------------------
$('.navbar-collapse ul li a, .navbar-collapse .modal-menu-item.scroll-section').click(function() {
$('.navbar-toggle:visible').click();
});
$(function() {
$('.navbar-nav .one-page-link a, .footer_widget .menu li a, .scroll-section a, .btn-smooth-scroll, .modal-menu-item.scroll-section, .demo-button').bind('click', function(event) {
if ($("body").hasClass("home")) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top - 90
}, 1500, 'easeInOutExpo');
event.preventDefault();
}
});
});
$(function() {
$('.portfolio-demo-button').bind('click', function(event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top - 250
}, 1500, 'easeInOutExpo');
event.preventDefault();
});
});
$('body').scrollspy({
offset: 100,
target: '.navbar-fixed-top'
});
// ------------------------------------------------------------------------
// WPGlobus compatibility - NavWalker conflict
// ------------------------------------------------------------------------
if ($('.wpglobus-selector-link').length > 0) {
$('.wpglobus-selector-link .dropdown-menu').addClass('sub-menu');
}
// ------------------------------------------------------------------------
// Back to top button
// ------------------------------------------------------------------------
$(window).bind("scroll", function() {
if ($(window).scrollTop() > $(window).height()) {
$('.back-to-top').addClass('active');
}
if ($(window).scrollTop() < $(window).height()) {
$('.back-to-top').removeClass('active');
}
});
$('.back-to-top').click(function(event) {
event.preventDefault();
$('html, body').animate({
scrollTop: 0
}, 500);
return false;
});
});
// ------------------------------------------------------------------------
// Blog image carousel
// ------------------------------------------------------------------------
if (jQuery().owlCarousel) {
jQuery('.post .entry-gallery .gallery').addClass('post-gallery-carousel');
jQuery('.single-post .gallery').addClass('post-gallery-carousel');
}
if ($(".post .entry-gallery .post-gallery-carousel").length || $(".single-post .post-gallery-carousel").length) {
$(".post .entry-gallery .post-gallery-carousel, .single-post .post-gallery-carousel").owlCarousel({
stageClass: "owl-wrapper",
stageOuterClass: "owl-wrapper-outer",
loadedClass: "owl-carousel",
items: 1,
dots: true,
dotsSpeed: 500,
dotsEach: true,
});
}
// ------------------------------------------------------------------------
// Portfolio & Blog related posts slider
// ------------------------------------------------------------------------
if ($(".related-content.owlslider-related-posts").length) {
$(".related-content.owlslider-related-posts").owlCarousel({
stageClass: "owl-wrapper",
stageOuterClass: "owl-wrapper-outer",
loadedClass: "owl-carousel",
responsive:{
0:{
items: 1,
nav: false,
dots: true,
},
767:{
items: 3,
nav: false,
dots: true,
},
960:{
nav: true,
navSpeed: 500,
dots: false,
}
},
nav: true,
navSpeed: 500,
dots: false,
rewind: true,
loop: true,
});
}
// ------------------------------------------------------------------------
// Portfolio photoSwipe init
// ------------------------------------------------------------------------
var PhotoSwipe = window.PhotoSwipe,
PhotoSwipeUI_Default = window.PhotoSwipeUI_Default;
$('body').on('click', 'a[data-size]', function(e) {
if (!PhotoSwipe || !PhotoSwipeUI_Default) {
return;
}
e.preventDefault();
openPhotoSwipe(this);
});
var parseThumbnailElements = function(gallery, el) {
var elements = $(gallery).find('a[data-size]').has('img'),
galleryItems = [],
index;
elements.each(function(i) {
var $el = $(this),
size = $el.data('size').split('x'),
caption;
if ($el.next().is('.wp-caption-text')) {
// image with caption
caption = $el.next().text();
} else if ($el.parent().next().is('.wp-caption-text')) {
// gallery icon with caption
caption = $el.parent().next().text();
} else {
caption = $el.attr('title');
}
galleryItems.push({
src: $el.attr('href'),
w: parseInt(size[0], 10),
h: parseInt(size[1], 10),
title: caption,
msrc: $el.find('img').attr('src'),
el: $el
});
if (el === $el.get(0)) {
index = i;
}
});
return [galleryItems, parseInt(index, 10)];
};
var openPhotoSwipe = function(element, disableAnimation) {
var pswpElement = $('.pswp').get(0),
galleryElement = $(element).parents('.gallery, .hentry, .main, body').first(),
gallery,
options,
items, index;
items = parseThumbnailElements(galleryElement, element);
index = items[1];
items = items[0];
options = {
index: index,
getThumbBoundsFn: function(index) {
var image = items[index].el.find('img'),
offset = image.offset();
return {
x: offset.left,
y: offset.top,
w: image.width()
};
},
showHideOpacity: true,
history: false
};
if (disableAnimation) {
options.showAnimationDuration = 0;
}
// Pass data to PhotoSwipe and initialize it
gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
gallery.init();
};
// ------------------------------------------------------------------------
// Classie Script
// ------------------------------------------------------------------------
(function(window) {
function classReg(className) {
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}
var hasClass, addClass, removeClass;
if ('classList' in document.documentElement) {
hasClass = function(elem, c) {
return elem.classList.contains(c);
};
addClass = function(elem, c) {
elem.classList.add(c);
};
removeClass = function(elem, c) {
elem.classList.remove(c);
};
} else {
hasClass = function(elem, c) {
return classReg(c).test(elem.className);
};
addClass = function(elem, c) {
if (!hasClass(elem, c)) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function(elem, c) {
elem.className = elem.className.replace(classReg(c), ' ');
};
}
function toggleClass(elem, c) {
var fn = hasClass(elem, c) ? removeClass : addClass;
fn(elem, c);
}
var classie = {
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass,
has: hasClass,
add: addClass,
remove: removeClass,
toggle: toggleClass
};
if (typeof define === 'function' && define.amd) {
define(classie);
} else {
window.classie = classie;
}
})(window);
// ------------------------------------------------------------------------
// Animated Header
// ------------------------------------------------------------------------
var cbpAnimatedHeader = (function() {
var docElem = document.documentElement,
header = document.querySelector('.navbar-default'),
didScroll = false,
changeHeaderOn = 50;
function init() {
window.addEventListener('scroll', function(event) {
if (!didScroll) {
didScroll = true;
setTimeout(scrollPage, 100);
}
}, false);
window.addEventListener('load', function(event) {
if (!didScroll) {
didScroll = true;
setTimeout(scrollPage, 100);
}
}, false);
}
function scrollPage() {
var sy = scrollY();
if (sy >= changeHeaderOn) {
classie.add(header, 'navbar-shrink');
$(".topbar-search-container").removeClass('active');
$(".topbar-search .toggle-search").removeClass('fa-times');
} else {
if (!$(".panel-screen-overlay.active").length) {
classie.remove(header, 'navbar-shrink');
}
}
didScroll = false;
}
function scrollY() {
return window.pageYOffset || docElem.scrollTop;
}
if (!$(header).hasClass("fixed-menu")) {
init();
}
})();
})(jQuery);
function scrollEvent() {
if (!is_touch_device()) {
viewportTop = jQuery(window).scrollTop();
if (jQuery(window).width())
jQuery('.parallax-overlay').each(function() {
elementOffset = jQuery(this).offset().top;
var size = jQuery(this).attr('data-vc-kd-parallax');
distance = (elementOffset - viewportTop) * ( 1 - size );
jQuery(this).css('transform', 'translate3d(0, ' + distance + 'px,0)');
});
jQuery('.kd-parallax-image .vc_figure img').each(function() {
elementOffset = jQuery(this).offset().top;
distance = (elementOffset - viewportTop) * -0.5;
jQuery(this).css('transform', 'translateY(' + distance + 'px)');
});
}
}
function is_touch_device() {
return 'ontouchstart' in window || 'onmsgesturechange' in window;
}

View File

@@ -0,0 +1,33 @@
(function($){
"use strict";
function get_cart(){
if(window.wc_add_to_cart_params!=undefined){
$.post({
url: wc_add_to_cart_params.ajax_url,
dataType: 'JSON',
data: {action: 'woomenucart_ajax', nonce: keydesign_menucart_ajax.nonce},
success: function(data, textStatus, XMLHttpRequest){
$('.keydesign-cart-dropdown').html(data.cart);
if(data.articles < 1) { $('.keydesign-cart-dropdown').html('<li><span class="empty-cart">Your cart is currently empty</span></li>'); }
if(data!='') {
if($('.keydesign-cart .badge, .mobile-shopping-cart .badge').length){
if(data.articles>0){
$('.keydesign-cart .badge, .mobile-shopping-cart .badge').html(data.articles);
$('.keydesign-cart .badge, .mobile-shopping-cart .badge').show();
} else {
$('.keydesign-cart .badge, .mobile-shopping-cart .badge').hide();
}
} else $('.keydesign-cart .cart-icon-container').append('<span class="badge">'+data.articles+'</span>');
}
}
});
}
}
$(document).ready(function(){
$('body').bind("added_to_cart",get_cart);
$('body').bind("wc_fragments_refreshed",get_cart);
});
})(jQuery);