logistic uploaded for doormile

This commit is contained in:
2026-04-02 18:19:12 +05:30
parent 60a53e6614
commit 3b9d28fbae
278 changed files with 222034 additions and 0 deletions

171
assets/css/brands.css Normal file
View File

@@ -0,0 +1,171 @@
.tax-product_brand .brand-description {
overflow: hidden;
zoom:1}
.tax-product_brand .brand-description img.brand-thumbnail {
width: 25%;
float: right
}
.tax-product_brand .brand-description .text {
width: 72%;
float: left
}
.widget_brand_description img {
box-sizing: border-box;
width: 100%;
max-width: none;
height: auto;
margin: 0 0 1em
}
ul.brand-thumbnails {
margin-left: 0;
margin-bottom: 0;
clear: both;
list-style: none
}
ul.brand-thumbnails:before {
clear: both;
content: "";
display: table
}
ul.brand-thumbnails:after {
clear: both;
content: "";
display: table
}
ul.brand-thumbnails li {
float: left;
margin: 0 3.8% 1em 0;
padding: 0;
position: relative;
width: 22.05%
}
ul.brand-thumbnails.fluid-columns li {
width: auto
}
ul.brand-thumbnails:not(.fluid-columns) li.first {
clear: both
}
ul.brand-thumbnails:not(.fluid-columns) li.last {
margin-right: 0
}
ul.brand-thumbnails.columns-1 li {
width: 100%;
margin-right: 0
}
ul.brand-thumbnails.columns-2 li {
width: 48%
}
ul.brand-thumbnails.columns-3 li {
width: 30.75%
}
ul.brand-thumbnails.columns-5 li {
width: 16.95%
}
ul.brand-thumbnails.columns-6 li {
width: 13.5%
}
.brand-thumbnails li img {
box-sizing: border-box;
width: 100%;
max-width: none;
height: auto;
margin: 0
}
@media screen and (max-width: 768px) {
ul.brand-thumbnails:not(.fluid-columns) li {
width:48%!important
}
ul.brand-thumbnails:not(.fluid-columns) li.first {
clear: none
}
ul.brand-thumbnails:not(.fluid-columns) li.last {
margin-right: 3.8%
}
ul.brand-thumbnails:not(.fluid-columns) li:nth-of-type(odd) {
clear: both
}
ul.brand-thumbnails:not(.fluid-columns) li:nth-of-type(even) {
margin-right: 0
}
}
.brand-thumbnails-description li {
text-align: center
}
.brand-thumbnails-description li .term-thumbnail img {
display: inline
}
.brand-thumbnails-description li .term-description {
margin-top: 1em;
text-align: left
}
#brands_a_z h3:target {
text-decoration: underline
}
ul.brands_index {
list-style: none outside;
overflow: hidden;
zoom:1}
ul.brands_index li {
float: left;
margin: 0 2px 2px 0
}
ul.brands_index li a,ul.brands_index li span {
border: 1px solid #ccc;
padding: 6px;
line-height: 1em;
float: left;
text-decoration: none
}
ul.brands_index li span {
border-color: #eee;
color: #ddd
}
ul.brands_index li a:hover {
border-width: 2px;
padding: 5px;
text-decoration: none
}
ul.brands_index li a.active {
border-width: 2px;
padding: 5px
}
div#brands_a_z a.top {
border: 1px solid #ccc;
padding: 4px;
line-height: 1em;
float: right;
text-decoration: none;
font-size: .8em
}

341
assets/css/comparision.css Normal file
View File

@@ -0,0 +1,341 @@
<!-- comparison approach -->
<!-- SECTION HTML -->
<style>
/* ── ALL STYLES SCOPED UNDER .dm-compare-section ── */
.dm-compare-section *,
.dm-compare-section *::before,
.dm-compare-section *::after {
box-sizing: border-box;
}
.dm-compare-section {
--dm-red: #c01227;
--dm-red-light: #fdf0f2;
--dm-red-border: rgba(192, 18, 39, 0.12);
--dm-red-hover: rgba(192, 18, 39, 0.025);
--dm-green: #1dab6e;
--dm-green-light: #edfaf4;
--dm-dark: #1a1e2e;
--dm-muted: #8d93a8;
--dm-white: #ffffff;
--dm-border: rgba(0, 0, 0, 0.07);
width: 100%;
max-width: 1100px;
margin: 0 auto;
padding: 90px 40px 100px;
position: relative;
font-family: 'Barlow', sans-serif;
}
/* grid background */
.dm-compare-section::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(0,0,0,0.035) 1px, transparent 1px),
linear-gradient(to bottom, rgba(0,0,0,0.035) 1px, transparent 1px);
background-size: 70px 70px;
pointer-events: none;
mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
-webkit-mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
z-index: 0;
border-radius: 24px;
}
/* ── HEADER ── */
.dm-compare-section .dm-section-header {
text-align: center;
margin-bottom: 56px;
position: relative;
z-index: 1;
}
.dm-compare-section .dm-eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 11px;
font-weight: 700;
letter-spacing: 3.5px;
text-transform: uppercase;
color: var(--dm-red);
margin-bottom: 18px;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.55s ease, transform 0.55s ease;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
content: '';
display: block;
width: 28px;
height: 1px;
background: var(--dm-red);
}
.dm-compare-section .dm-section-title {
font-family: 'Barlow Condensed', sans-serif;
font-size: clamp(36px, 5vw, 62px);
font-weight: 800;
color: var(--dm-dark);
line-height: 1.05;
letter-spacing: -1px;
margin: 0;
opacity: 0;
transform: translateY(28px);
transition: opacity 0.65s ease 0.12s, transform 0.65s ease 0.12s;
}
.dm-compare-section .dm-section-title em {
font-style: normal;
color: var(--dm-red);
position: relative;
}
.dm-compare-section .dm-section-title em::after {
content: '';
position: absolute;
bottom: 3px; left: 0; right: 0;
height: 3px;
background: var(--dm-red);
border-radius: 2px;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.8s cubic-bezier(.16,1,.3,1) 0.85s;
}
.dm-compare-section .dm-section-sub {
margin-top: 18px;
font-size: 15.5px;
color: var(--dm-muted);
line-height: 1.7;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.65s ease 0.26s, transform 0.65s ease 0.26s;
}
/* ── IN-VIEW TRIGGERS ── */
.dm-compare-section.dm-in-view .dm-eyebrow { opacity: 1; transform: translateY(0); }
.dm-compare-section.dm-in-view .dm-section-title { opacity: 1; transform: translateY(0); }
.dm-compare-section.dm-in-view .dm-section-title em::after { transform: scaleX(1); }
.dm-compare-section.dm-in-view .dm-section-sub { opacity: 1; transform: translateY(0); }
/* ── TABLE WRAPPER ── */
.dm-compare-section .dm-compare-wrap {
position: relative;
z-index: 1;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 8px 50px rgba(0,0,0,0.09);
background: var(--dm-white);
opacity: 0;
transform: translateY(40px);
transition: opacity 0.75s cubic-bezier(.16,1,.3,1) 0.35s,
transform 0.75s cubic-bezier(.16,1,.3,1) 0.35s;
}
.dm-compare-section.dm-in-view .dm-compare-wrap { opacity: 1; transform: translateY(0); }
/* ── COLUMN HEADERS ── */
.dm-compare-section .dm-col-headers {
display: grid;
grid-template-columns: 1fr 1fr;
position: relative;
}
.dm-compare-section .dm-col-headers::after {
content: '';
position: absolute;
top: 0; bottom: 0; left: 50%;
width: 1px;
background: var(--dm-border);
}
.dm-compare-section .dm-col-head {
padding: 26px 40px;
font-family: 'Barlow Condensed', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 2.5px;
text-transform: uppercase;
display: flex;
align-items: center;
gap: 10px;
}
.dm-compare-section .dm-col-head.dm-traditional {
background: #f7f8fa;
color: var(--dm-muted);
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-col-head.dm-doormile {
background: var(--dm-red-light);
color: var(--dm-red);
border-bottom: 1px solid var(--dm-red-border);
position: relative;
overflow: hidden;
}
.dm-compare-section .dm-col-head.dm-doormile::after {
content: '';
position: absolute;
top: 0; left: -100%;
width: 60%; height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
animation: dm-shimmer 3s ease-in-out infinite 1.2s;
}
@keyframes dm-shimmer {
0% { left: -100%; }
50% { left: 140%; }
100% { left: 140%; }
}
.dm-compare-section .dm-col-head-icon {
width: 28px; height: 28px;
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
flex-shrink: 0;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon { background: #ececee; }
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon { background: rgba(192,18,39,0.15); }
.dm-compare-section .dm-col-head-icon svg {
width: 14px; height: 14px;
stroke-width: 2.5;
stroke-linecap: round; stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon svg { stroke: var(--dm-muted); }
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon svg { stroke: var(--dm-red); }
/* ── ROWS ── */
.dm-compare-section .dm-compare-row {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
position: relative;
overflow: hidden;
opacity: 0;
transform: translateX(-16px);
transition: opacity 0.5s ease, transform 0.5s cubic-bezier(.16,1,.3,1);
}
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(1) { opacity: 1; transform: translateX(0); transition-delay: 0.55s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(2) { opacity: 1; transform: translateX(0); transition-delay: 0.68s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(3) { opacity: 1; transform: translateX(0); transition-delay: 0.81s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(4) { opacity: 1; transform: translateX(0); transition-delay: 0.94s; }
.dm-compare-section .dm-compare-row::before {
content: '';
position: absolute;
inset: 0;
background: var(--dm-red-hover);
opacity: 0;
transition: opacity 0.25s;
pointer-events: none;
}
.dm-compare-section .dm-compare-row:hover::before { opacity: 1; }
/* ── CELLS ── */
.dm-compare-section .dm-cell {
padding: 28px 40px;
display: flex;
align-items: center;
gap: 16px;
font-size: 15px;
line-height: 1.5;
position: relative;
}
.dm-compare-section .dm-cell.dm-right {
border-left: 1px solid var(--dm-border);
background: rgba(253,248,248,0.4);
}
/* ── ICONS ── */
.dm-compare-section .dm-cell-icon {
flex-shrink: 0;
width: 32px; height: 32px;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
transition: transform 0.35s cubic-bezier(.16,1,.3,1);
}
.dm-compare-section .dm-compare-row:hover .dm-cell-icon { transform: scale(1.18) rotate(-5deg); }
.dm-compare-section .dm-cell-icon.dm-bad { background: var(--dm-red-light); }
.dm-compare-section .dm-cell-icon.dm-good { background: var(--dm-green-light); }
.dm-compare-section .dm-cell-icon svg {
width: 15px; height: 15px;
stroke-width: 2.5;
stroke-linecap: round; stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-cell-icon.dm-bad svg { stroke: var(--dm-red); }
.dm-compare-section .dm-cell-icon.dm-good svg { stroke: var(--dm-green); }
.dm-compare-section .dm-cell-text {
font-weight: 500;
color: var(--dm-dark);
transition: color 0.2s;
margin: 0;
}
.dm-compare-section .dm-cell.dm-left .dm-cell-text { color: var(--dm-muted); }
.dm-compare-section .dm-compare-row:hover .dm-cell.dm-right .dm-cell-text { color: var(--dm-dark); }
/* ── FOOTER BAR ── */
.dm-compare-section .dm-compare-footer {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
}
.dm-compare-section .dm-footer-cell {
padding: 22px 40px;
font-size: 12px;
font-family: 'Barlow Condensed', sans-serif;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--dm-muted);
background: #f9fafb;
}
.dm-compare-section .dm-footer-cell.dm-right {
background: var(--dm-red-light);
color: var(--dm-red);
border-left: 1px solid var(--dm-red-border);
display: flex;
align-items: center;
gap: 8px;
}
.dm-compare-section .dm-footer-cell .dm-dot {
width: 7px; height: 7px;
border-radius: 50%;
background: var(--dm-red);
flex-shrink: 0;
animation: dm-pulse 1.8s ease-in-out infinite;
}
@keyframes dm-pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.35; transform: scale(0.55); }
}
/* ── RESPONSIVE ── */
@media (max-width: 680px) {
.dm-compare-section { padding: 60px 16px 70px; }
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell { padding: 20px 20px; }
.dm-compare-section .dm-footer-cell { padding: 18px 20px; }
.dm-compare-section .dm-col-head { font-size: 11px; letter-spacing: 1.5px; }
}
</style>
<script>
(function () {
var section = document.getElementById('dm-compare');
if (!section) return;
function activate() { section.classList.add('dm-in-view'); }
if ('IntersectionObserver' in window) {
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (e) {
if (e.isIntersecting) { activate(); io.unobserve(e.target); }
});
}, { threshold: 0.15 });
io.observe(section);
} else {
setTimeout(activate, 300);
}
})();
</script>

100
assets/css/custom-apple-webkit.min.css vendored Normal file
View File

@@ -0,0 +1,100 @@
.e--ua-appleWebkit.rtl {
--flex-right: flex-start
}
.e--ua-appleWebkit .elementor-share-buttons--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-right {
--justify-content: var(--flex-right,flex-end)
}
.e--ua-appleWebkit .elementor-share-buttons--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-center {
--justify-content: center
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid {
display: flex;
flex-wrap: wrap;
justify-content: var(--justify-content,space-between);
margin-left: calc(-.5 * var(--grid-column-gap));
margin-right: calc(-.5 * var(--grid-column-gap));
width: auto
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-right .elementor-grid-item {
margin-left: calc(.5 * var(--grid-column-gap));
margin-right: calc(.5 * var(--grid-column-gap))
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid {
display: inline-block
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-left .elementor-grid-item {
margin-left: 0;
margin-right: 0
}
@media (max-width: 1024px) {
.e--ua-appleWebkit .elementor-share-buttons-tablet--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-right {
--justify-content:var(--flex-right,flex-end)
}
.e--ua-appleWebkit .elementor-share-buttons-tablet--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-tablet-center {
--justify-content: center
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid {
display: flex;
flex-wrap: wrap;
justify-content: var(--justify-content,space-between);
margin-left: calc(-.5 * var(--grid-column-gap));
margin-right: calc(-.5 * var(--grid-column-gap));
width: auto
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-tablet-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-right .elementor-grid-item {
margin-left: calc(.5 * var(--grid-column-gap));
margin-right: calc(.5 * var(--grid-column-gap))
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid {
display: inline-block
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-tablet--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-tablet-left .elementor-grid-item {
margin-left: 0;
margin-right: 0
}
}
@media (max-width: 767px) {
.e--ua-appleWebkit .elementor-share-buttons-mobile--align-right,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-right {
--justify-content:var(--flex-right,flex-end)
}
.e--ua-appleWebkit .elementor-share-buttons-mobile--align-center,.e--ua-appleWebkit .elementor-widget-social-icons.e-grid-align-mobile-center {
--justify-content: center
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid {
display: flex;
flex-wrap: wrap;
justify-content: var(--justify-content,space-between);
margin-left: calc(-.5 * var(--grid-column-gap));
margin-right: calc(-.5 * var(--grid-column-gap));
width: auto
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-justify .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons--align-mobile-right .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-center .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-right .elementor-grid-item {
margin-left: calc(.5 * var(--grid-column-gap));
margin-right: calc(.5 * var(--grid-column-gap))
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid {
display: inline-block
}
.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-share-buttons-mobile--align-left .elementor-grid-item,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid,.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-mobile-left .elementor-grid-item {
margin-left: 0;
margin-right: 0
}
}

2535
assets/css/custom-frontend.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,79 @@
.elementor-tab-title a {
color: inherit
}
.elementor-accordion {
text-align: start
}
.elementor-accordion .elementor-accordion-item {
border: 1px solid #d5d8dc
}
.elementor-accordion .elementor-accordion-item+.elementor-accordion-item {
border-block-start:none}
.elementor-accordion .elementor-tab-title {
cursor: pointer;
font-weight: 700;
line-height: 1;
margin: 0;
outline: none;
padding: 15px 20px
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
display: inline-block;
width: 1.5em
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg {
height: 1em;
width: 1em
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right {
float: right;
text-align: right
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-left {
float: left;
text-align: left
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed {
display: block
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened,.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-closed {
display: none
}
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon-opened {
display: block
}
.elementor-accordion .elementor-tab-content {
border-block-start:1px solid #d5d8dc;display: none;
padding: 15px 20px
}
@media (max-width: 480px) {
.elementor-accordion .elementor-tab-title {
padding:12px 15px
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
width: 1.2em
}
.elementor-accordion .elementor-tab-content {
padding: 7px 15px
}
}
.e-con-inner>.elementor-widget-accordion,.e-con>.elementor-widget-accordion {
width: var(--container-widget-width);
--flex-grow: var( --container-widget-flex-grow )
}

View File

@@ -0,0 +1,223 @@
.elementor-widget-icon-box .elementor-icon-box-wrapper {
display: flex;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box .elementor-icon-box-icon {
display: inline-block;
flex: 0 0 auto;
line-height: 0
}
.elementor-widget-icon-box .elementor-icon-box-content {
flex-grow: 1;
width: 100%
}
.elementor-widget-icon-box .elementor-icon-box-title a {
color: inherit
}
.elementor-widget-icon-box .elementor-icon-box-description {
margin: 0
}
.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-wrapper {
flex-direction: row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
@media (min-width: -1) {
.elementor-widget-icon-box.elementor-widescreen-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-widescreen-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-widescreen-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-widescreen-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 1200px) {
.elementor-widget-icon-box.elementor-laptop-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-laptop-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-laptop-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-laptop-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 1020px) {
.elementor-widget-icon-box.elementor-tablet_extra-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-tablet_extra-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-tablet_extra-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-tablet_extra-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 840px) {
.elementor-widget-icon-box.elementor-tablet-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-tablet-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-tablet-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-tablet-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 660px) {
.elementor-widget-icon-box.elementor-mobile_extra-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-mobile_extra-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-mobile_extra-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-mobile_extra-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
}
@media (max-width: 480px) {
.elementor-widget-icon-box.elementor-mobile-position-right .elementor-icon-box-wrapper {
flex-direction:row-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: end
}
.elementor-widget-icon-box.elementor-mobile-position-left .elementor-icon-box-wrapper {
flex-direction: row;
gap: var(--icon-box-icon-margin,15px);
text-align: start
}
.elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-mobile-position-bottom .elementor-icon-box-wrapper {
align-items: unset!important;
flex-direction: column-reverse;
gap: var(--icon-box-icon-margin,15px);
text-align: center
}
.elementor-widget-icon-box.elementor-position-left .elementor-icon-box-icon,.elementor-widget-icon-box.elementor-position-right .elementor-icon-box-icon {
flex-direction: column
}
}

File diff suppressed because it is too large Load Diff

2004
assets/css/elementor-icons.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

8
assets/css/fontello-enqueue.css vendored Normal file
View File

@@ -0,0 +1,8 @@
@font-face {
font-display: swap;
font-family: 'fontello';
src: url(../../../../../../../../../themes/logico/fonts/fontello.eot?98791691);
src: url('../../../../../../../../../themes/logico/fonts/fontello.eot?98791691#iefix') format('embedded-opentype'),url(../../../../../../../../../themes/logico/fonts/fontello.woff2?98791691) format('woff2'),url(../../../../../../../../../themes/logico/fonts/fontello.woff?98791691) format('woff'),url(../../../../../../../../../themes/logico/fonts/fontello.ttf?98791691) format('truetype'),url('../../../../../../../../../themes/logico/fonts/fontello.svg?98791691#fontello') format('svg');
font-weight: 400;
font-style: normal
}

523
assets/css/fontello.css vendored Normal file
View File

@@ -0,0 +1,523 @@
[class^="icon-"]:before,[class*=" icon-"]:before {
font-family: 'fontello';
font-style: normal;
font-weight: 400;
speak: never;
display: inline-block;
text-decoration: inherit;
width: 1em;
text-align: center;
font-variant: normal;
text-transform: none;
line-height: 1em;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}
.icon-arrow-down:before {
content: '\e800'
}
.icon-arrow-right:before {
content: '\e801'
}
.icon-arrow-left:before {
content: '\e802'
}
.icon-arrow-top:before {
content: '\e803'
}
.icon-arrow-x-l-down:before {
content: '\e804'
}
.icon-arrow-x-r-down:before {
content: '\e805'
}
.icon-arrow-x-l-top:before {
content: '\e806'
}
.icon-button-arrow-x-l-down:before {
content: '\e807'
}
.icon-button-arrow-x-r-down:before {
content: '\e808'
}
.icon-button-arrow-x-l-top:before {
content: '\e809'
}
.icon-arrow-x-r-top:before {
content: '\e80a'
}
.icon-button-arrow-x-r-top:before {
content: '\e80b'
}
.icon-chevron-large-down:before {
content: '\e80c'
}
.icon-chevron-large-left:before {
content: '\e80d'
}
.icon-chevron-large-top:before {
content: '\e80e'
}
.icon-chevron-large-right:before {
content: '\e80f'
}
.icon-chevron-medium-down:before {
content: '\e810'
}
.icon-chevron-medium-left:before {
content: '\e811'
}
.icon-chevron-medium-right:before {
content: '\e812'
}
.icon-chevron-medium-top:before {
content: '\e813'
}
.icon-chevron-small-left:before {
content: '\e814'
}
.icon-chevron-small-top:before {
content: '\e815'
}
.icon-chevron-small-down:before {
content: '\e816'
}
.icon-chevron-small-right:before {
content: '\e817'
}
.icon-goods-export-1:before {
content: '\e819'
}
.icon-goods-export-2:before {
content: '\e81a'
}
.icon-goods-export-3:before {
content: '\e81b'
}
.icon-goods-export-4:before {
content: '\e81c'
}
.icon-goods-export-5:before {
content: '\e81d'
}
.icon-goods-export-6:before {
content: '\e81e'
}
.icon-goods-export-7:before {
content: '\e81f'
}
.icon-goods-export-8:before {
content: '\e820'
}
.icon-goods-export-9:before {
content: '\e821'
}
.icon-goods-export-10:before {
content: '\e822'
}
.icon-goods-export-11:before {
content: '\e823'
}
.icon-goods-export-12:before {
content: '\e824'
}
.icon-goods-export-13:before {
content: '\e825'
}
.icon-goods-export-14:before {
content: '\e826'
}
.icon-goods-export-15:before {
content: '\e827'
}
.icon-goods-export-16:before {
content: '\e828'
}
.icon-goods-export-17:before {
content: '\e829'
}
.icon-goods-export-18:before {
content: '\e82a'
}
.icon-goods-export-19:before {
content: '\e82b'
}
.icon-goods-export-20:before {
content: '\e82c'
}
.icon-goods-export-21:before {
content: '\e82d'
}
.icon-goods-export-22:before {
content: '\e82e'
}
.icon-goods-export-23:before {
content: '\e82f'
}
.icon-goods-export-24:before {
content: '\e830'
}
.icon-goods-export-25:before {
content: '\e831'
}
.icon-goods-export-26:before {
content: '\e832'
}
.icon-goods-export-27:before {
content: '\e833'
}
.icon-goods-export-28:before {
content: '\e834'
}
.icon-goods-export-29:before {
content: '\e835'
}
.icon-goods-export-30:before {
content: '\e836'
}
.icon-goods-export-31:before {
content: '\e837'
}
.icon-goods-export-32:before {
content: '\e838'
}
.icon-light-container:before {
content: '\e839'
}
.icon-light-delivery:before {
content: '\e83a'
}
.icon-light-directions:before {
content: '\e83b'
}
.icon-light-storage:before {
content: '\e83c'
}
.icon-triangle-arrow-down:before {
content: '\e83d'
}
.icon-triangle-arrow-left:before {
content: '\e83e'
}
.icon-triangle-arrow-right:before {
content: '\e83f'
}
.icon-triangle-arrow-top:before {
content: '\e840'
}
.icon-air-delivery:before {
content: '\e841'
}
.icon-call:before {
content: '\e842'
}
.icon-cart:before {
content: '\e843'
}
.icon-calendar:before {
content: '\e844'
}
.icon-close:before {
content: '\e845'
}
.icon-container:before {
content: '\e846'
}
.icon-coupon:before {
content: '\e847'
}
.icon-crop:before {
content: '\e848'
}
.icon-download:before {
content: '\e849'
}
.icon-download-alter:before {
content: '\e84a'
}
.icon-eye:before {
content: '\e84b'
}
.icon-file-doc:before {
content: '\e84c'
}
.icon-file-file:before {
content: '\e84d'
}
.icon-file-pdf:before {
content: '\e84e'
}
.icon-garland:before {
content: '\e84f'
}
.icon-font:before {
content: '\e850'
}
.icon-half-logo:before {
content: '\e851'
}
.icon-logo:before {
content: '\e852'
}
.icon-location:before {
content: '\e853'
}
.icon-hiring:before {
content: '\e854'
}
.icon-mail:before {
content: '\e855'
}
.icon-package-delivery:before {
content: '\e856'
}
.icon-paint:before {
content: '\e857'
}
.icon-print:before {
content: '\e858'
}
.icon-resize:before {
content: '\e85a'
}
.icon-sidebar:before {
content: '\e85b'
}
.icon-search:before {
content: '\e85c'
}
.icon-side-menu-black:before {
content: '\e85d'
}
.icon-side-menu-light:before {
content: '\e85e'
}
.icon-star-light:before {
content: '\e861'
}
.icon-star:before {
content: '\e862'
}
.icon-supply-chain:before {
content: '\e863'
}
.icon-tap:before {
content: '\e864'
}
.icon-terms:before {
content: '\e865'
}
.icon-translate:before {
content: '\e866'
}
.icon-trolley:before {
content: '\e867'
}
.icon-update:before {
content: '\e868'
}
.icon-user:before {
content: '\e869'
}
.icon-solid-warehousing-container:before {
content: '\e86a'
}
.icon-solid-warehousing-conveyor:before {
content: '\e86b'
}
.icon-solid-warehousing-delivery:before {
content: '\e86c'
}
.icon-solid-warehousing-hand-loader:before {
content: '\e86d'
}
.icon-solid-warehousing-loader:before {
content: '\e86e'
}
.icon-solid-warehousing-loader-in-work:before {
content: '\e86f'
}
.icon-solid-warehousing-manual-loader-box:before {
content: '\e870'
}
.icon-solid-warehousing-manual-transportation:before {
content: '\e871'
}
.icon-solid-warehousing-scales:before {
content: '\e872'
}
.icon-solid-warehousing-scanner:before {
content: '\e873'
}
.icon-solid-warehousing-palett:before {
content: '\e874'
}
.icon-solid-warehousing-security:before {
content: '\e875'
}
.icon-solid-warehousing-storage:before {
content: '\e876'
}
.icon-solid-warehousing-truck:before {
content: '\e877'
}
.icon-solid-warehousing-warehouse:before {
content: '\e878'
}
.icon-solid-warehousing-autoloader:before {
content: '\e879'
}
.icon-check:before {
content: '\e87a'
}
.icon-check-alter:before {
content: '\e87b'
}
.icon-quote-left:before {
content: '\e87c'
}
.icon-quote-right:before {
content: '\e87d'
}
.icon-quote-right-light:before {
content: '\e87e'
}
.icon-play:before {
content: '\e8a2'
}
.icon-play-active:before {
content: '\e8a3'
}
.icon-icon-rounded:before {
content: '\e8f9'
}
.icon-icon-angular:before {
content: '\e8fa'
}

2000
assets/css/frontend.css Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
.footer-width-fixer {
width: 100%
}
.ehf-template-genesis.ehf-header .site-header .wrap,.ehf-template-genesis.ehf-footer .site-footer .wrap,.ehf-template-generatepress.ehf-header .site-header .inside-header {
width: 100%;
padding: 0;
max-width: 100%
}
.ehf-template-generatepress.ehf-header .site-header,.ehf-template-generatepress.ehf-footer .site-footer {
width: 100%;
padding: 0;
max-width: 100%;
background-color: transparent!important
}
.bhf-hidden {
display: none
}
.ehf-header #masthead {
z-index: 99;
position: relative
}

17
assets/css/solid.css Normal file
View File

@@ -0,0 +1,17 @@
/*!
* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(../../../../../../../../../../../../plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.eot);
src: url("../../../../../../../../../../../../plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url(../../../../../../../../../../../../plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff2) format("woff2"),url(../../../../../../../../../../../../plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff) format("woff"),url(../../../../../../../../../../../../plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.ttf) format("truetype"),url("../../../../../../../../../../../../plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.svg#fontawesome") format("svg")
}
.fa,.fas {
font-family: 'Font Awesome 5 Free';
font-weight: 900
}

4527
assets/css/style.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

28901
assets/css/theme.css Normal file

File diff suppressed because one or more lines are too long

490
assets/css/wc-blocks.css Normal file
View File

@@ -0,0 +1,490 @@
@keyframes wc-skeleton-shimmer {
to {
transform: translateX(100%)
}
}
body.wc-block-product-gallery-modal-open,body.wc-modal--open {
overflow: hidden
}
.wc-block-grid__products .wc-block-grid__product-image {
display: block;
position: relative;
text-decoration: none
}
.wc-block-grid__products .wc-block-grid__product-image a {
border: 0;
box-shadow: none;
outline: 0;
text-decoration: none
}
.wc-block-grid__products .wc-block-grid__product-image img {
height: auto;
max-width: 100%;
width: 100%
}
.wc-block-grid__products .wc-block-grid__product-image img[hidden] {
display: none
}
.wc-block-grid__products .wc-block-grid__product-image img[alt=""] {
border: 1px solid #f2f2f2
}
.edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,.editor-styles-wrapper .wc-block-grid__product-title,.wc-block-grid__product-title {
color: inherit;
display: block;
font-family: inherit;
font-size: inherit;
font-weight: 700;
line-height: 1.2;
padding: 0
}
.wc-block-grid__product-price {
display: block
}
.wc-block-grid__product-price .wc-block-grid__product-price__regular {
margin-right: .5em
}
.wc-block-grid__product-add-to-cart.wp-block-button {
white-space: normal;
word-break: break-word
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
display: inline-flex;
font-size: 1em;
justify-content: center;
text-align: center;
white-space: normal;
word-break: break-word
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading {
opacity: .25
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.added:after {
content: "";
display: inline-block;
font-family: WooCommerce;
height: auto;
margin-left: .5em;
width: auto
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading:after {
animation: spin 2s linear infinite;
content: "";
display: inline-block;
font-family: WooCommerce;
height: auto;
margin-left: .5em;
width: auto
}
.has-5-columns:not(.alignfull) .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-6-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-7-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-8-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-9-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after {
content: "";
margin: 0
}
.wc-block-grid__product-rating,.wp-block-woocommerce-product-review-rating {
display: block
}
.wc-block-grid__product-rating .star-rating,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars,.wc-block-grid__product-rating .wc-block-product-review-rating__stars,.wp-block-woocommerce-product-review-rating .star-rating,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars {
font-family: WooCommerce;
font-size: 1em;
font-weight: 400;
height: 1.618em;
line-height: 1.618;
margin: 0 auto;
overflow: hidden;
position: relative;
text-align: left;
width: 5.3em
}
.wc-block-grid__product-rating .star-rating:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars:before,.wp-block-woocommerce-product-review-rating .star-rating:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars:before {
content: "SSSSS";
left: 0;
opacity: .5;
position: absolute;
right: 0;
top: 0;
white-space: nowrap
}
.wc-block-grid__product-rating .star-rating span,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span,.wp-block-woocommerce-product-review-rating .star-rating span,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span {
left: 0;
overflow: hidden;
padding-top: 1.5em;
position: absolute;
right: 0;
top: 0
}
.wc-block-grid__product-rating .star-rating span:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span:before,.wp-block-woocommerce-product-review-rating .star-rating span:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span:before {
color: inherit;
content: "SSSSS";
left: 0;
position: absolute;
right: 0;
top: 0;
white-space: nowrap
}
.wc-block-grid .wc-block-grid__product-onsale,.wc-block-grid__product-image .wc-block-grid__product-onsale {
background: #fff;
border: 1px solid #43454b;
border-radius: 4px;
color: #43454b;
display: inline-block;
font-size: .875em;
font-weight: 600;
left: auto;
padding: .25em .75em;
position: absolute;
right: 4px;
text-align: center;
text-transform: uppercase;
top: 4px;
width: auto;
z-index: 9
}
.wc-block-grid__product .wc-block-grid__product-image,.wc-block-grid__product .wc-block-grid__product-link {
display: inline-block;
position: relative
}
.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image),.wc-block-grid__product .wc-block-grid__product-title {
margin: 0 0 12px
}
.wc-block-grid__product .wc-block-grid__product-add-to-cart,.wc-block-grid__product .wc-block-grid__product-onsale,.wc-block-grid__product .wc-block-grid__product-price,.wc-block-grid__product .wc-block-grid__product-rating {
margin: 0 auto 12px
}
.theme-twentysixteen .wc-block-grid .price ins {
color: #77a464
}
.theme-twentynineteen .wc-block-grid__product {
font-size: .88889em
}
.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-components-product-title,.theme-twentynineteen .wc-block-grid__product-onsale,.theme-twentynineteen .wc-block-grid__product-title {
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif
}
.theme-twentynineteen .wc-block-grid__product-title:before {
display: none
}
.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-grid__product-onsale {
line-height: 1
}
.theme-twentynineteen .editor-styles-wrapper .wp-block-button .wp-block-button__link:not(.has-text-color) {
color: #fff
}
.theme-twentytwenty .wc-block-grid__product-link {
color: #000
}
.theme-twentytwenty .wc-block-components-product-title,.theme-twentytwenty .wc-block-grid__product-title {
color: #cd2653;
font-family: -apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;
font-size: 1em
}
.theme-twentytwenty .wp-block-columns .wc-block-components-product-title {
margin-top: 0
}
.theme-twentytwenty .wc-block-components-product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-components-product-price__value,.theme-twentytwenty .wc-block-grid__product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-grid__product-price__value {
font-family: -apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;
font-size: .9em
}
.theme-twentytwenty .wc-block-components-product-price del,.theme-twentytwenty .wc-block-grid__product-price del {
opacity: .7
}
.theme-twentytwenty .wc-block-components-product-price ins,.theme-twentytwenty .wc-block-grid__product-price ins {
text-decoration: none
}
.theme-twentytwenty .star-rating,.theme-twentytwenty .wc-block-grid__product-rating {
font-size: .7em
}
.theme-twentytwenty .star-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .star-rating .wc-block-grid__product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-grid__product-rating__stars {
line-height: 1
}
.theme-twentytwenty .wc-block-components-product-button>.wp-block-button__link,.theme-twentytwenty .wc-block-grid__product-add-to-cart>.wp-block-button__link {
font-family: -apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif
}
.theme-twentytwenty .wc-block-components-product-sale-badge,.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale {
background: #cd2653;
color: #fff;
font-family: -apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;
font-weight: 700;
letter-spacing: -.02em;
line-height: 1.2;
text-transform: uppercase
}
.theme-twentytwenty .wc-block-grid__products .wc-block-components-product-sale-badge {
position: static
}
.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-image .wc-block-components-product-sale-badge {
position: absolute
}
.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale:not(.wc-block-components-product-sale-badge) {
position: absolute;
right: 4px;
top: 4px;
z-index: 1
}
.theme-twentytwenty .wc-block-active-filters__title,.theme-twentytwenty .wc-block-attribute-filter__title,.theme-twentytwenty .wc-block-price-filter__title,.theme-twentytwenty .wc-block-stock-filter__title {
font-size: 1em
}
.theme-twentytwenty .wc-block-active-filters .wc-block-active-filters__clear-all,.theme-twentytwenty .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
font-size: .75em
}
@media only screen and (min-width: 768px) {
.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale {
font-size:.875em;
padding: .5em
}
}
@media only screen and (min-width: 1168px) {
.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale {
font-size:.875em;
padding: .5em
}
}
.theme-twentytwentytwo .wc-block-grid__product-add-to-cart .added_to_cart {
display: block;
margin-top: 12px
}
.theme-twentytwentytwo .wc-block-components-product-price ins,.theme-twentytwentytwo .wc-block-grid__product-price ins {
text-decoration: none
}
.screen-reader-text {
clip: rect(1px,1px,1px,1px);
word-wrap: normal!important;
border: 0;
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
overflow-wrap: normal!important;
padding: 0;
position: absolute!important;
width: 1px
}
.screen-reader-text:focus {
clip: auto!important;
background-color: #fff;
border-radius: 3px;
box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
clip-path: none;
color: #2b2d2f;
display: block;
font-size: .875rem;
font-weight: 700;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000
}
.wp-block-group.woocommerce.product .up-sells.upsells.products {
max-width: var(--wp--style--global--wide-size)
}
@keyframes wc-skeleton-shimmer {
to {
transform: translateX(100%)
}
}
.wc-block-components-notice-banner {
align-content: flex-start;
align-items: stretch;
background-color: #fff;
border: 1px solid #2f2f2f;
border-radius: 4px;
box-sizing: border-box;
color: #2f2f2f;
display: flex;
font-size: .875em;
font-weight: 400;
gap: 12px;
line-height: 1.5;
margin: 16px 0;
padding: 16px!important
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content {
align-self: center;
flex-basis: 100%;
padding-right: 16px;
white-space: normal
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content:last-child {
padding-right: 0
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-block-components-notice-banner__summary {
font-weight: 600;
margin: 0 0 8px
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul {
margin: 0 0 0 24px;
padding: 0
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol li:after,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul li:after {
clear: both;
content: "";
display: block
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward {
appearance: none;
background: transparent!important;
border: 0;
color: #2f2f2f!important;
float: right;
margin: 0;
opacity: .7;
padding: 0!important;
text-decoration-line: underline;
text-underline-position: under;
transition: all .2s ease-in-out
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:active,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:focus,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:hover {
opacity: 1;
text-decoration: none
}
.wc-block-components-notice-banner>svg {
fill: #fff;
background-color: #2f2f2f;
border-radius: 50%;
flex-grow: 0;
flex-shrink: 0;
height: 100%;
padding: 2px
}
.wc-block-components-notice-banner>.wc-block-components-button {
background: transparent none!important;
border: 0!important;
box-shadow: none!important;
color: #2f2f2f!important;
flex: 0 0 16px;
height: 16px!important;
margin: 6px 0 0 auto!important;
min-height: auto!important;
min-width: 0!important;
opacity: .6;
outline: none!important;
padding: 0!important;
width: 16px!important
}
.wc-block-components-notice-banner>.wc-block-components-button>svg {
margin: 0!important
}
.wc-block-components-notice-banner>.wc-block-components-button:active,.wc-block-components-notice-banner>.wc-block-components-button:focus,.wc-block-components-notice-banner>.wc-block-components-button:hover {
opacity: 1
}
.wc-block-components-notice-banner>.wc-block-components-button:focus {
outline: 2px solid currentColor!important;
outline-offset: 0
}
.wc-block-components-notice-banner.is-error {
background-color: #fff0f0;
border-color: #cc1818
}
.wc-block-components-notice-banner.is-error>svg {
background-color: #cc1818;
transform: rotate(180deg)
}
.wc-block-components-notice-banner.is-warning {
background-color: #fffbf4;
border-color: #f0b849
}
.wc-block-components-notice-banner.is-warning>svg {
background-color: #f0b849;
transform: rotate(180deg)
}
.wc-block-components-notice-banner.is-success {
background-color: #f4fff7;
border-color: #4ab866
}
.wc-block-components-notice-banner.is-success>svg {
background-color: #4ab866
}
.wc-block-components-notice-banner.is-info {
background-color: #f4f8ff;
border-color: #007cba
}
.wc-block-components-notice-banner.is-info>svg {
background-color: #007cba
}
.wc-block-components-notice-banner:focus {
outline-width: 0
}
.wc-block-components-notice-banner:focus-visible {
outline-style: solid;
outline-width: 2px
}
.woocommerce.wc-block-store-notices.alignwide {
max-width: var(--wp--style--global--wide-size)
}

133
assets/css/widget-divider.min.css vendored Normal file
View File

@@ -0,0 +1,133 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget-divider {
--divider-border-style: none;
--divider-border-width: 1px;
--divider-color: #0c0d0e;
--divider-icon-size: 20px;
--divider-element-spacing: 10px;
--divider-pattern-height: 24px;
--divider-pattern-size: 20px;
--divider-pattern-url: none;
--divider-pattern-repeat: repeat-x
}
.elementor-widget-divider .elementor-divider {
display: flex
}
.elementor-widget-divider .elementor-divider__text {
font-size: 15px;
line-height: 1;
max-width: 95%
}
.elementor-widget-divider .elementor-divider__element {
flex-shrink: 0;
margin: 0 var(--divider-element-spacing)
}
.elementor-widget-divider .elementor-icon {
font-size: var(--divider-icon-size)
}
.elementor-widget-divider .elementor-divider-separator {
direction: ltr;
display: flex;
margin: 0
}
.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator {
align-items: center
}
.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before {
border-block-end:0;border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color);content: "";
display: block;
flex-grow: 1
}
.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-left .elementor-divider-separator:before {
content: none
}
.elementor-widget-divider--element-align-left .elementor-divider__element {
margin-left: 0
}
.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-right .elementor-divider-separator:after {
content: none
}
.elementor-widget-divider--element-align-right .elementor-divider__element {
margin-right: 0
}
.elementor-widget-divider--element-align-start .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-start .elementor-divider-separator:before {
content: none
}
.elementor-widget-divider--element-align-start .elementor-divider__element {
margin-inline-start:0}
.elementor-widget-divider--element-align-end .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type {
flex-grow: 0;
flex-shrink: 100
}
.elementor-widget-divider--element-align-end .elementor-divider-separator:after {
content: none
}
.elementor-widget-divider--element-align-end .elementor-divider__element {
margin-inline-end:0}
.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}
.elementor-widget-divider--separator-type-pattern {
--divider-border-style: none
}
.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator {
background-color: var(--divider-color);
-webkit-mask-image: var(--divider-pattern-url);
mask-image: var(--divider-pattern-url);
-webkit-mask-repeat: var(--divider-pattern-repeat);
mask-repeat: var(--divider-pattern-repeat);
-webkit-mask-size: var(--divider-pattern-size) 100%;
mask-size: var(--divider-pattern-size) 100%;
min-height: var(--divider-pattern-height);
width: 100%
}
.elementor-widget-divider--no-spacing {
--divider-pattern-size: auto
}
.elementor-widget-divider--bg-round {
--divider-pattern-repeat: round
}
.rtl .elementor-widget-divider .elementor-divider__text {
direction: rtl
}
.e-con-inner>.elementor-widget-divider,.e-con>.elementor-widget-divider {
width: var(--container-widget-width,100%);
--flex-grow: var( --container-widget-flex-grow )
}

362
assets/css/widget-icon-list.min.css vendored Normal file
View File

@@ -0,0 +1,362 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget.elementor-icon-list--layout-inline .elementor-widget-container,.elementor-widget:not(:has(.elementor-widget-container)) .elementor-widget-container {
overflow: hidden
}
.elementor-widget .elementor-icon-list-items.elementor-inline-items {
display: flex;
flex-wrap: wrap;
margin-inline:-8px}
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-inline-item {
word-break: break-word
}
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
margin-inline:8px}
.elementor-widget .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after {
border-width: 0;
border-inline-start-width:1px;border-style: solid;
height: 100%;
inset-inline-end: -8px;
inset-inline-start: auto;
position: relative;
width: auto
}
.elementor-widget .elementor-icon-list-items {
list-style-type: none;
margin: 0;
padding: 0
}
.elementor-widget .elementor-icon-list-item {
margin: 0;
padding: 0;
position: relative
}
.elementor-widget .elementor-icon-list-item:after {
inset-block-end: 0;
position: absolute;
width: 100%
}
.elementor-widget .elementor-icon-list-item,.elementor-widget .elementor-icon-list-item a {
align-items: var(--icon-vertical-align,center);
display: flex;
font-size: inherit
}
.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
align-self: center;
padding-inline-start:5px}
.elementor-widget .elementor-icon-list-icon {
display: flex;
inset-block-start: var(--icon-vertical-offset,initial);
position: relative
}
.elementor-widget .elementor-icon-list-icon svg {
height: var(--e-icon-list-icon-size,1em);
width: var(--e-icon-list-icon-size,1em)
}
.elementor-widget .elementor-icon-list-icon i {
font-size: var(--e-icon-list-icon-size);
width: 1.25em
}
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon {
text-align: var(--e-icon-list-icon-align)
}
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
margin: var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0)
}
.elementor-widget.elementor-list-item-link-full_width a {
width: 100%
}
.elementor-widget.elementor-align-center .elementor-icon-list-item,.elementor-widget.elementor-align-center .elementor-icon-list-item a {
justify-content: center
}
.elementor-widget.elementor-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-align-left .elementor-icon-list-item,.elementor-widget.elementor-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-align-right .elementor-icon-list-item,.elementor-widget.elementor-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
@media (min-width: -1) {
.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-widescreen-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-widescreen-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-widescreen-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item,.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-widescreen-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-widescreen-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-widescreen-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: -1) {
.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-laptop-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-laptop-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-laptop-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item,.elementor-widget.elementor-laptop-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-laptop-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-laptop-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-laptop-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item a {
justify-content: center
}
.elementor-widget.elementor-tablet_extra-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-tablet_extra-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-tablet_extra-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-tablet_extra-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-tablet_extra-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-tablet_extra-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: 1024px) {
.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-tablet-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-tablet-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-tablet-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item,.elementor-widget.elementor-tablet-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-tablet-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-tablet-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-tablet-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: -1) {
.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-mobile_extra-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-mobile_extra-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-mobile_extra-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-mobile_extra-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-mobile_extra-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-mobile_extra-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
@media (max-width: 767px) {
.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item a {
justify-content:center
}
.elementor-widget.elementor-mobile-align-center .elementor-icon-list-item:after {
margin: auto
}
.elementor-widget.elementor-mobile-align-center .elementor-inline-items {
justify-content: center
}
.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-left .elementor-icon-list-item a {
justify-content: flex-start;
text-align: left
}
.elementor-widget.elementor-mobile-align-left .elementor-inline-items {
justify-content: flex-start
}
.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item,.elementor-widget.elementor-mobile-align-right .elementor-icon-list-item a {
justify-content: flex-end;
text-align: right
}
.elementor-widget.elementor-mobile-align-right .elementor-icon-list-items {
justify-content: flex-end
}
.elementor-widget:not(.elementor-mobile-align-right) .elementor-icon-list-item:after {
inset-inline-start: 0
}
.elementor-widget:not(.elementor-mobile-align-left) .elementor-icon-list-item:after {
inset-inline-end: 0
}
}
#left-area ul.elementor-icon-list-items,.elementor .elementor-element ul.elementor-icon-list-items,.elementor-edit-area .elementor-element ul.elementor-icon-list-items {
padding: 0
}

17
assets/css/widget-image.min.css vendored Normal file
View File

@@ -0,0 +1,17 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget-image {
text-align: center
}
.elementor-widget-image a {
display: inline-block
}
.elementor-widget-image a img[src$=".svg"] {
width: 48px
}
.elementor-widget-image img {
display: inline-block;
vertical-align: middle
}

291
assets/css/widget-social-icons.min.css vendored Normal file
View File

@@ -0,0 +1,291 @@
/*! elementor - v3.32.0 - 05-10-2025 */
.elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-0:not(:has(.elementor-widget-container)),.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0:not(:has(.elementor-widget-container)),.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0:not(:has(.elementor-widget-container)) {
font-size: 0;
line-height: 1
}
.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid {
display: inline-grid
}
.elementor-widget-social-icons .elementor-grid {
grid-column-gap: var(--grid-column-gap,5px);
grid-row-gap: var(--grid-row-gap,5px);
grid-template-columns: var(--grid-template-columns);
justify-content: var(--justify-content,center);
justify-items: var(--justify-content,center)
}
.elementor-icon.elementor-social-icon {
font-size: var(--icon-size,25px);
height: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
line-height: var(--icon-size,25px);
width: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em))
}
.elementor-social-icon {
--e-social-icon-icon-color: #fff;
align-items: center;
background-color: #69727d;
cursor: pointer;
display: inline-flex;
justify-content: center;
text-align: center
}
.elementor-social-icon i {
color: var(--e-social-icon-icon-color)
}
.elementor-social-icon svg {
fill: var(--e-social-icon-icon-color)
}
.elementor-social-icon:last-child {
margin: 0
}
.elementor-social-icon:hover {
color: #fff;
opacity: .9
}
.elementor-social-icon-android {
background-color: #a4c639
}
.elementor-social-icon-apple {
background-color: #999
}
.elementor-social-icon-behance {
background-color: #1769ff
}
.elementor-social-icon-bitbucket {
background-color: #205081
}
.elementor-social-icon-codepen {
background-color: #000
}
.elementor-social-icon-delicious {
background-color: #39f
}
.elementor-social-icon-deviantart {
background-color: #05cc47
}
.elementor-social-icon-digg {
background-color: #005be2
}
.elementor-social-icon-dribbble {
background-color: #ea4c89
}
.elementor-social-icon-elementor {
background-color: #d30c5c
}
.elementor-social-icon-envelope {
background-color: #ea4335
}
.elementor-social-icon-facebook,.elementor-social-icon-facebook-f {
background-color: #3b5998
}
.elementor-social-icon-flickr {
background-color: #0063dc
}
.elementor-social-icon-foursquare {
background-color: #2d5be3
}
.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp {
background-color: #006400
}
.elementor-social-icon-github {
background-color: #333
}
.elementor-social-icon-gitlab {
background-color: #e24329
}
.elementor-social-icon-globe {
background-color: #69727d
}
.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g {
background-color: #dd4b39
}
.elementor-social-icon-houzz {
background-color: #7ac142
}
.elementor-social-icon-instagram {
background-color: #262626
}
.elementor-social-icon-jsfiddle {
background-color: #487aa2
}
.elementor-social-icon-link {
background-color: #818a91
}
.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in {
background-color: #0077b5
}
.elementor-social-icon-medium {
background-color: #00ab6b
}
.elementor-social-icon-meetup {
background-color: #ec1c40
}
.elementor-social-icon-mixcloud {
background-color: #273a4b
}
.elementor-social-icon-odnoklassniki {
background-color: #f4731c
}
.elementor-social-icon-pinterest {
background-color: #bd081c
}
.elementor-social-icon-product-hunt {
background-color: #da552f
}
.elementor-social-icon-reddit {
background-color: #ff4500
}
.elementor-social-icon-rss {
background-color: #f26522
}
.elementor-social-icon-shopping-cart {
background-color: #4caf50
}
.elementor-social-icon-skype {
background-color: #00aff0
}
.elementor-social-icon-slideshare {
background-color: #0077b5
}
.elementor-social-icon-snapchat {
background-color: #fffc00
}
.elementor-social-icon-soundcloud {
background-color: #f80
}
.elementor-social-icon-spotify {
background-color: #2ebd59
}
.elementor-social-icon-stack-overflow {
background-color: #fe7a15
}
.elementor-social-icon-steam {
background-color: #00adee
}
.elementor-social-icon-stumbleupon {
background-color: #eb4924
}
.elementor-social-icon-telegram {
background-color: #2ca5e0
}
.elementor-social-icon-threads {
background-color: #000
}
.elementor-social-icon-thumb-tack {
background-color: #1aa1d8
}
.elementor-social-icon-tripadvisor {
background-color: #589442
}
.elementor-social-icon-tumblr {
background-color: #35465c
}
.elementor-social-icon-twitch {
background-color: #6441a5
}
.elementor-social-icon-twitter {
background-color: #1da1f2
}
.elementor-social-icon-viber {
background-color: #665cac
}
.elementor-social-icon-vimeo {
background-color: #1ab7ea
}
.elementor-social-icon-vk {
background-color: #45668e
}
.elementor-social-icon-weibo {
background-color: #dd2430
}
.elementor-social-icon-weixin {
background-color: #31a918
}
.elementor-social-icon-whatsapp {
background-color: #25d366
}
.elementor-social-icon-wordpress {
background-color: #21759b
}
.elementor-social-icon-x-twitter {
background-color: #000
}
.elementor-social-icon-xing {
background-color: #026466
}
.elementor-social-icon-yelp {
background-color: #af0606
}
.elementor-social-icon-youtube {
background-color: #cd201f
}
.elementor-social-icon-500px {
background-color: #0099e5
}

View File

@@ -0,0 +1,588 @@
:root {
--woocommerce: #720eec;
--wc-green: #7ad03a;
--wc-red: #a00;
--wc-orange: #ffba00;
--wc-blue: #2ea2cc;
--wc-primary: #720eec;
--wc-primary-text: #fcfbfe;
--wc-secondary: #e9e6ed;
--wc-secondary-text: #515151;
--wc-highlight: #958e09;
--wc-highligh-text: white;
--wc-content-bg: #fff;
--wc-subtext: #767676;
--wc-form-border-color: rgba(32, 7, 7, 0.8);
--wc-form-border-radius: 4px;
--wc-form-border-width: 1px
}
.woocommerce .woocommerce-error .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button,.woocommerce-page .woocommerce-error .button,.woocommerce-page .woocommerce-info .button,.woocommerce-page .woocommerce-message .button {
float: right
}
.woocommerce .col2-set,.woocommerce-page .col2-set {
width: 100%
}
.woocommerce .col2-set::after,.woocommerce .col2-set::before,.woocommerce-page .col2-set::after,.woocommerce-page .col2-set::before {
content: " ";
display: table
}
.woocommerce .col2-set::after,.woocommerce-page .col2-set::after {
clear: both
}
.woocommerce .col2-set .col-1,.woocommerce-page .col2-set .col-1 {
float: left;
width: 48%
}
.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-2 {
float: right;
width: 48%
}
.woocommerce img,.woocommerce-page img {
height: auto;
max-width: 100%
}
.woocommerce #content div.product div.images,.woocommerce div.product div.images,.woocommerce-page #content div.product div.images,.woocommerce-page div.product div.images {
float: left;
width: 48%
}
.woocommerce #content div.product div.thumbnails::after,.woocommerce #content div.product div.thumbnails::before,.woocommerce div.product div.thumbnails::after,.woocommerce div.product div.thumbnails::before,.woocommerce-page #content div.product div.thumbnails::after,.woocommerce-page #content div.product div.thumbnails::before,.woocommerce-page div.product div.thumbnails::after,.woocommerce-page div.product div.thumbnails::before {
content: " ";
display: table
}
.woocommerce #content div.product div.thumbnails::after,.woocommerce div.product div.thumbnails::after,.woocommerce-page #content div.product div.thumbnails::after,.woocommerce-page div.product div.thumbnails::after {
clear: both
}
.woocommerce #content div.product div.thumbnails a,.woocommerce div.product div.thumbnails a,.woocommerce-page #content div.product div.thumbnails a,.woocommerce-page div.product div.thumbnails a {
float: left;
width: 30.75%;
margin-right: 3.8%;
margin-bottom: 1em
}
.woocommerce #content div.product div.thumbnails a.last,.woocommerce div.product div.thumbnails a.last,.woocommerce-page #content div.product div.thumbnails a.last,.woocommerce-page div.product div.thumbnails a.last {
margin-right: 0
}
.woocommerce #content div.product div.thumbnails a.first,.woocommerce div.product div.thumbnails a.first,.woocommerce-page #content div.product div.thumbnails a.first,.woocommerce-page div.product div.thumbnails a.first {
clear: both
}
.woocommerce #content div.product div.thumbnails.columns-1 a,.woocommerce div.product div.thumbnails.columns-1 a,.woocommerce-page #content div.product div.thumbnails.columns-1 a,.woocommerce-page div.product div.thumbnails.columns-1 a {
width: 100%;
margin-right: 0;
float: none
}
.woocommerce #content div.product div.thumbnails.columns-2 a,.woocommerce div.product div.thumbnails.columns-2 a,.woocommerce-page #content div.product div.thumbnails.columns-2 a,.woocommerce-page div.product div.thumbnails.columns-2 a {
width: 48%
}
.woocommerce #content div.product div.thumbnails.columns-4 a,.woocommerce div.product div.thumbnails.columns-4 a,.woocommerce-page #content div.product div.thumbnails.columns-4 a,.woocommerce-page div.product div.thumbnails.columns-4 a {
width: 22.05%
}
.woocommerce #content div.product div.thumbnails.columns-5 a,.woocommerce div.product div.thumbnails.columns-5 a,.woocommerce-page #content div.product div.thumbnails.columns-5 a,.woocommerce-page div.product div.thumbnails.columns-5 a {
width: 16.9%
}
.woocommerce #content div.product div.summary,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.summary {
float: right;
width: 48%;
clear: none
}
.woocommerce #content div.product .woocommerce-tabs,.woocommerce div.product .woocommerce-tabs,.woocommerce-page #content div.product .woocommerce-tabs,.woocommerce-page div.product .woocommerce-tabs {
clear: both
}
.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce #content div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::before,.woocommerce-page div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page div.product .woocommerce-tabs ul.tabs::before {
content: " ";
display: table
}
.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page div.product .woocommerce-tabs ul.tabs::after {
clear: both
}
.woocommerce #content div.product .woocommerce-tabs ul.tabs li,.woocommerce div.product .woocommerce-tabs ul.tabs li,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li,.woocommerce-page div.product .woocommerce-tabs ul.tabs li {
display: inline-block
}
.woocommerce #content div.product #reviews .comment::after,.woocommerce #content div.product #reviews .comment::before,.woocommerce div.product #reviews .comment::after,.woocommerce div.product #reviews .comment::before,.woocommerce-page #content div.product #reviews .comment::after,.woocommerce-page #content div.product #reviews .comment::before,.woocommerce-page div.product #reviews .comment::after,.woocommerce-page div.product #reviews .comment::before {
content: " ";
display: table
}
.woocommerce #content div.product #reviews .comment::after,.woocommerce div.product #reviews .comment::after,.woocommerce-page #content div.product #reviews .comment::after,.woocommerce-page div.product #reviews .comment::after {
clear: both
}
.woocommerce #content div.product #reviews .comment img,.woocommerce div.product #reviews .comment img,.woocommerce-page #content div.product #reviews .comment img,.woocommerce-page div.product #reviews .comment img {
float: right;
height: auto
}
.woocommerce ul.products,.woocommerce-page ul.products {
clear: both
}
.woocommerce ul.products::after,.woocommerce ul.products::before,.woocommerce-page ul.products::after,.woocommerce-page ul.products::before {
content: " ";
display: table
}
.woocommerce ul.products::after,.woocommerce-page ul.products::after {
clear: both
}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product {
float: left;
margin: 0 3.8% 2.992em 0;
padding: 0;
position: relative;
width: 22.05%;
margin-left: 0
}
.woocommerce ul.products li.first,.woocommerce-page ul.products li.first {
clear: both
}
.woocommerce ul.products li.last,.woocommerce-page ul.products li.last {
margin-right: 0
}
.woocommerce ul.products.columns-1 li.product,.woocommerce-page ul.products.columns-1 li.product {
width: 100%;
margin-right: 0
}
.woocommerce ul.products.columns-2 li.product,.woocommerce-page ul.products.columns-2 li.product {
width: 48%
}
.woocommerce ul.products.columns-3 li.product,.woocommerce-page ul.products.columns-3 li.product {
width: 30.75%
}
.woocommerce ul.products.columns-5 li.product,.woocommerce-page ul.products.columns-5 li.product {
width: 16.95%
}
.woocommerce ul.products.columns-6 li.product,.woocommerce-page ul.products.columns-6 li.product {
width: 13.5%
}
.woocommerce-page.columns-1 ul.products li.product,.woocommerce.columns-1 ul.products li.product {
width: 100%;
margin-right: 0
}
.woocommerce-page.columns-2 ul.products li.product,.woocommerce.columns-2 ul.products li.product {
width: 48%
}
.woocommerce-page.columns-3 ul.products li.product,.woocommerce.columns-3 ul.products li.product {
width: 30.75%
}
.woocommerce-page.columns-5 ul.products li.product,.woocommerce.columns-5 ul.products li.product {
width: 16.95%
}
.woocommerce-page.columns-6 ul.products li.product,.woocommerce.columns-6 ul.products li.product {
width: 13.5%
}
.woocommerce .woocommerce-result-count,.woocommerce-page .woocommerce-result-count {
float: left
}
.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering {
float: right
}
.woocommerce .woocommerce-pagination ul.page-numbers::after,.woocommerce .woocommerce-pagination ul.page-numbers::before,.woocommerce-page .woocommerce-pagination ul.page-numbers::after,.woocommerce-page .woocommerce-pagination ul.page-numbers::before {
content: " ";
display: table
}
.woocommerce .woocommerce-pagination ul.page-numbers::after,.woocommerce-page .woocommerce-pagination ul.page-numbers::after {
clear: both
}
.woocommerce .woocommerce-pagination ul.page-numbers li,.woocommerce-page .woocommerce-pagination ul.page-numbers li {
display: inline-block
}
.woocommerce #content table.cart img,.woocommerce table.cart img,.woocommerce-page #content table.cart img,.woocommerce-page table.cart img {
height: auto
}
.woocommerce #content table.cart td.actions,.woocommerce table.cart td.actions,.woocommerce-page #content table.cart td.actions,.woocommerce-page table.cart td.actions {
text-align: right
}
.woocommerce #content table.cart td.actions .input-text,.woocommerce table.cart td.actions .input-text,.woocommerce-page #content table.cart td.actions .input-text,.woocommerce-page table.cart td.actions .input-text {
width: 80px
}
.woocommerce #content table.cart td.actions .coupon,.woocommerce table.cart td.actions .coupon,.woocommerce-page #content table.cart td.actions .coupon,.woocommerce-page table.cart td.actions .coupon {
float: left
}
.woocommerce .cart-collaterals,.woocommerce-page .cart-collaterals {
width: 100%
}
.woocommerce .cart-collaterals::after,.woocommerce .cart-collaterals::before,.woocommerce-page .cart-collaterals::after,.woocommerce-page .cart-collaterals::before {
content: " ";
display: table
}
.woocommerce .cart-collaterals::after,.woocommerce-page .cart-collaterals::after {
clear: both
}
.woocommerce .cart-collaterals .related,.woocommerce-page .cart-collaterals .related {
width: 30.75%;
float: left
}
.woocommerce .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .cross-sells {
width: 48%;
float: left
}
.woocommerce .cart-collaterals .cross-sells ul.products,.woocommerce-page .cart-collaterals .cross-sells ul.products {
float: none
}
.woocommerce .cart-collaterals .cross-sells ul.products li,.woocommerce-page .cart-collaterals .cross-sells ul.products li {
width: 48%
}
.woocommerce .cart-collaterals .shipping_calculator,.woocommerce-page .cart-collaterals .shipping_calculator {
width: 48%;
clear: right;
float: right
}
.woocommerce .cart-collaterals .shipping_calculator::after,.woocommerce .cart-collaterals .shipping_calculator::before,.woocommerce-page .cart-collaterals .shipping_calculator::after,.woocommerce-page .cart-collaterals .shipping_calculator::before {
content: " ";
display: table
}
.woocommerce .cart-collaterals .shipping_calculator::after,.woocommerce-page .cart-collaterals .shipping_calculator::after {
clear: both
}
.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-2,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-2 {
width: 47%
}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals {
float: right;
width: 48%
}
.woocommerce ul.cart_list li::after,.woocommerce ul.cart_list li::before,.woocommerce ul.product_list_widget li::after,.woocommerce ul.product_list_widget li::before,.woocommerce-page ul.cart_list li::after,.woocommerce-page ul.cart_list li::before,.woocommerce-page ul.product_list_widget li::after,.woocommerce-page ul.product_list_widget li::before {
content: " ";
display: table
}
.woocommerce ul.cart_list li::after,.woocommerce ul.product_list_widget li::after,.woocommerce-page ul.cart_list li::after,.woocommerce-page ul.product_list_widget li::after {
clear: both
}
.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img,.woocommerce-page ul.cart_list li img,.woocommerce-page ul.product_list_widget li img {
float: right;
height: auto
}
.woocommerce form .form-row::after,.woocommerce form .form-row::before,.woocommerce-page form .form-row::after,.woocommerce-page form .form-row::before {
content: " ";
display: table
}
.woocommerce form .form-row::after,.woocommerce-page form .form-row::after {
clear: both
}
.woocommerce form .form-row label,.woocommerce-page form .form-row label {
display: block
}
.woocommerce form .form-row label.checkbox,.woocommerce-page form .form-row label.checkbox {
display: inline
}
.woocommerce form .form-row select,.woocommerce-page form .form-row select {
width: 100%
}
.woocommerce form .form-row .input-text,.woocommerce-page form .form-row .input-text {
box-sizing: border-box;
width: 100%
}
.woocommerce form .form-row-first,.woocommerce form .form-row-last,.woocommerce-page form .form-row-first,.woocommerce-page form .form-row-last {
width: 47%;
overflow: visible
}
.woocommerce form .form-row-first,.woocommerce-page form .form-row-first {
float: left
}
.woocommerce form .form-row-last,.woocommerce-page form .form-row-last {
float: right
}
.woocommerce form .form-row-wide,.woocommerce-page form .form-row-wide {
clear: both
}
.woocommerce form .password-input,.woocommerce-page form .password-input {
display: flex;
flex-direction: column;
justify-content: center;
position: relative
}
.woocommerce form .password-input input[type=password],.woocommerce-page form .password-input input[type=password] {
padding-right: 2.5rem
}
.woocommerce form .password-input input::-ms-reveal,.woocommerce-page form .password-input input::-ms-reveal {
display: none
}
.woocommerce form .show-password-input,.woocommerce-page form .show-password-input {
background-color: transparent;
border-radius: 0;
border: 0;
color: var(--wc-form-color-text,#000);
cursor: pointer;
font-size: inherit;
line-height: inherit;
margin: 0;
padding: 0;
position: absolute;
right: .7em;
text-decoration: none;
top: 50%;
transform: translateY(-50%);
-moz-osx-font-smoothing: inherit;
-webkit-appearance: none;
-webkit-font-smoothing: inherit
}
.woocommerce form .show-password-input::before,.woocommerce-page form .show-password-input::before {
background-repeat: no-repeat;
background-size: cover;
background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23111111"/></svg>');
content: "";
display: block;
height: 22px;
width: 22px
}
.woocommerce form .show-password-input.display-password::before,.woocommerce-page form .show-password-input.display-password::before {
background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23111111"/></svg>')
}
.woocommerce #payment .form-row select,.woocommerce-page #payment .form-row select {
width: auto
}
.woocommerce #payment .terms,.woocommerce #payment .wc-terms-and-conditions,.woocommerce-page #payment .terms,.woocommerce-page #payment .wc-terms-and-conditions {
text-align: left;
padding: 0 1em 0 0;
float: left
}
.woocommerce #payment #place_order,.woocommerce-page #payment #place_order {
float: right
}
.woocommerce .woocommerce-billing-fields::after,.woocommerce .woocommerce-billing-fields::before,.woocommerce .woocommerce-shipping-fields::after,.woocommerce .woocommerce-shipping-fields::before,.woocommerce-page .woocommerce-billing-fields::after,.woocommerce-page .woocommerce-billing-fields::before,.woocommerce-page .woocommerce-shipping-fields::after,.woocommerce-page .woocommerce-shipping-fields::before {
content: " ";
display: table
}
.woocommerce .woocommerce-billing-fields::after,.woocommerce .woocommerce-shipping-fields::after,.woocommerce-page .woocommerce-billing-fields::after,.woocommerce-page .woocommerce-shipping-fields::after {
clear: both
}
.woocommerce .woocommerce-terms-and-conditions,.woocommerce-page .woocommerce-terms-and-conditions {
margin-bottom: 1.618em;
padding: 1.618em
}
.woocommerce .woocommerce-oembed,.woocommerce-page .woocommerce-oembed {
position: relative
}
.woocommerce-account .woocommerce-MyAccount-navigation {
float: left;
width: 30%
}
.woocommerce-account .woocommerce-MyAccount-content {
float: right;
width: 68%
}
.woocommerce-account .woocommerce-MyAccount-content mark {
background-color: transparent;
color: inherit;
font-weight: 700
}
.woocommerce-page.left-sidebar #content.twentyeleven {
width: 58.4%;
margin: 0 7.6%;
float: right
}
.woocommerce-page.right-sidebar #content.twentyeleven {
margin: 0 7.6%;
width: 58.4%;
float: left
}
.twentyfourteen .tfwc {
padding: 12px 10px 0;
max-width: 474px;
margin: 0 auto
}
.twentyfourteen .tfwc .product .entry-summary {
padding: 0!important;
margin: 0 0 1.618em!important
}
.twentyfourteen .tfwc div.product.hentry.has-post-thumbnail {
margin-top: 0
}
@media screen and (min-width: 673px) {
.twentyfourteen .tfwc {
padding-right:30px;
padding-left: 30px
}
}
@media screen and (min-width: 1040px) {
.twentyfourteen .tfwc {
padding-right:15px;
padding-left: 15px
}
}
@media screen and (min-width: 1110px) {
.twentyfourteen .tfwc {
padding-right:30px;
padding-left: 30px
}
}
@media screen and (min-width: 1218px) {
.twentyfourteen .tfwc {
margin-right:54px
}
.full-width .twentyfourteen .tfwc {
margin-right: auto
}
}
.twentyfifteen .t15wc {
padding-left: 7.6923%;
padding-right: 7.6923%;
padding-top: 7.6923%;
margin-bottom: 7.6923%;
background: #fff;
box-shadow: 0 0 1px rgba(0,0,0,.15)
}
.twentyfifteen .t15wc .page-title {
margin-left: 0
}
@media screen and (min-width: 38.75em) {
.twentyfifteen .t15wc {
margin-right:7.6923%;
margin-left: 7.6923%;
margin-top: 8.3333%
}
}
@media screen and (min-width: 59.6875em) {
.twentyfifteen .t15wc {
margin-left:8.3333%;
margin-right: 8.3333%;
padding: 10%
}
.single-product .twentyfifteen .entry-summary {
padding: 0!important
}
}
.twentysixteen .site-main {
margin-right: 7.6923%;
margin-left: 7.6923%
}
.twentysixteen .entry-summary {
margin-right: 0;
margin-left: 0
}
#content .twentysixteen div.product div.images,#content .twentysixteen div.product div.summary {
width: 46.42857%
}
@media screen and (min-width: 44.375em) {
.twentysixteen .site-main {
margin-right:23.0769%
}
}
@media screen and (min-width: 56.875em) {
.twentysixteen .site-main {
margin-right:0;
margin-left: 0
}
.no-sidebar .twentysixteen .site-main {
margin-right: 15%;
margin-left: 15%
}
.no-sidebar .twentysixteen .entry-summary {
margin-right: 0;
margin-left: 0
}
}
.rtl .woocommerce .col2-set .col-1,.rtl .woocommerce-page .col2-set .col-1 {
float: right
}
.rtl .woocommerce .col2-set .col-2,.rtl .woocommerce-page .col2-set .col-2 {
float: left
}

View File

@@ -0,0 +1,177 @@
:root {
--woocommerce: #720eec;
--wc-green: #7ad03a;
--wc-red: #a00;
--wc-orange: #ffba00;
--wc-blue: #2ea2cc;
--wc-primary: #720eec;
--wc-primary-text: #fcfbfe;
--wc-secondary: #e9e6ed;
--wc-secondary-text: #515151;
--wc-highlight: #958e09;
--wc-highligh-text: white;
--wc-content-bg: #fff;
--wc-subtext: #767676;
--wc-form-border-color: rgba(32, 7, 7, 0.8);
--wc-form-border-radius: 4px;
--wc-form-border-width: 1px
}
.woocommerce table.shop_table_responsive thead,.woocommerce-page table.shop_table_responsive thead {
display: none
}
.woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,.woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child {
border-top: 0
}
.woocommerce table.shop_table_responsive tbody th,.woocommerce-page table.shop_table_responsive tbody th {
display: none
}
.woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr {
display: block
}
.woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td {
display: block;
text-align: right!important
}
.woocommerce table.shop_table_responsive tr td.order-actions,.woocommerce-page table.shop_table_responsive tr td.order-actions {
text-align: left!important
}
.woocommerce table.shop_table_responsive tr td::before,.woocommerce-page table.shop_table_responsive tr td::before {
content: attr(data-title) ": ";
font-weight: 700;
float: left
}
.woocommerce table.shop_table_responsive tr td.actions::before,.woocommerce table.shop_table_responsive tr td.product-remove::before,.woocommerce-page table.shop_table_responsive tr td.actions::before,.woocommerce-page table.shop_table_responsive tr td.product-remove::before {
display: none
}
.woocommerce table.shop_table_responsive tr:nth-child(2n) td,.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
background-color: rgba(0,0,0,.025)
}
.woocommerce table.my_account_orders tr td.order-actions,.woocommerce-page table.my_account_orders tr td.order-actions {
text-align: left
}
.woocommerce table.my_account_orders tr td.order-actions::before,.woocommerce-page table.my_account_orders tr td.order-actions::before {
display: none
}
.woocommerce table.my_account_orders tr td.order-actions .button,.woocommerce-page table.my_account_orders tr td.order-actions .button {
float: none;
margin: .125em .25em .125em 0
}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2 {
float: none;
width: 100%
}
.woocommerce ul.products[class*=columns-] li.product,.woocommerce-page ul.products[class*=columns-] li.product {
width: 48%;
float: left;
clear: both;
margin: 0 0 2.992em
}
.woocommerce ul.products[class*=columns-] li.product:nth-child(2n),.woocommerce-page ul.products[class*=columns-] li.product:nth-child(2n) {
float: right;
clear: none!important
}
.woocommerce #content div.product div.images,.woocommerce #content div.product div.summary,.woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.images,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.images,.woocommerce-page div.product div.summary {
float: none;
width: 100%
}
.woocommerce #content table.cart .product-thumbnail,.woocommerce table.cart .product-thumbnail,.woocommerce-page #content table.cart .product-thumbnail,.woocommerce-page table.cart .product-thumbnail {
display: none
}
.woocommerce #content table.cart td.actions,.woocommerce table.cart td.actions,.woocommerce-page #content table.cart td.actions,.woocommerce-page table.cart td.actions {
text-align: left
}
.woocommerce #content table.cart td.actions .coupon,.woocommerce table.cart td.actions .coupon,.woocommerce-page #content table.cart td.actions .coupon,.woocommerce-page table.cart td.actions .coupon {
float: none;
padding-bottom: .5em
}
.woocommerce #content table.cart td.actions .coupon::after,.woocommerce #content table.cart td.actions .coupon::before,.woocommerce table.cart td.actions .coupon::after,.woocommerce table.cart td.actions .coupon::before,.woocommerce-page #content table.cart td.actions .coupon::after,.woocommerce-page #content table.cart td.actions .coupon::before,.woocommerce-page table.cart td.actions .coupon::after,.woocommerce-page table.cart td.actions .coupon::before {
content: " ";
display: table
}
.woocommerce #content table.cart td.actions .coupon::after,.woocommerce table.cart td.actions .coupon::after,.woocommerce-page #content table.cart td.actions .coupon::after,.woocommerce-page table.cart td.actions .coupon::after {
clear: both
}
.woocommerce #content table.cart td.actions .coupon .button,.woocommerce #content table.cart td.actions .coupon .input-text,.woocommerce #content table.cart td.actions .coupon input,.woocommerce table.cart td.actions .coupon .button,.woocommerce table.cart td.actions .coupon .input-text,.woocommerce table.cart td.actions .coupon input,.woocommerce-page #content table.cart td.actions .coupon .button,.woocommerce-page #content table.cart td.actions .coupon .input-text,.woocommerce-page #content table.cart td.actions .coupon input,.woocommerce-page table.cart td.actions .coupon .button,.woocommerce-page table.cart td.actions .coupon .input-text,.woocommerce-page table.cart td.actions .coupon input {
width: 48%;
box-sizing: border-box
}
.woocommerce #content table.cart td.actions .coupon .button.alt,.woocommerce #content table.cart td.actions .coupon .input-text+.button,.woocommerce table.cart td.actions .coupon .button.alt,.woocommerce table.cart td.actions .coupon .input-text+.button,.woocommerce-page #content table.cart td.actions .coupon .button.alt,.woocommerce-page #content table.cart td.actions .coupon .input-text+.button,.woocommerce-page table.cart td.actions .coupon .button.alt,.woocommerce-page table.cart td.actions .coupon .input-text+.button {
float: right
}
.woocommerce #content table.cart td.actions .coupon .coupon-error-notice,.woocommerce table.cart td.actions .coupon .coupon-error-notice,.woocommerce-page #content table.cart td.actions .coupon .coupon-error-notice,.woocommerce-page table.cart td.actions .coupon .coupon-error-notice {
clear: left;
color: var(--wc-red);
float: left;
font-size: .75em;
margin-bottom: 0;
text-align: left;
width: 48%
}
.woocommerce #content table.cart td.actions .button,.woocommerce table.cart td.actions .button,.woocommerce-page #content table.cart td.actions .button,.woocommerce-page table.cart td.actions .button {
display: block;
width: 100%
}
.woocommerce .cart-collaterals .cart_totals,.woocommerce .cart-collaterals .cross-sells,.woocommerce .cart-collaterals .shipping_calculator,.woocommerce-page .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .shipping_calculator {
width: 100%;
float: none;
text-align: left
}
.woocommerce-page.woocommerce-checkout form.login .form-row,.woocommerce.woocommerce-checkout form.login .form-row {
width: 100%;
float: none
}
.woocommerce #payment .terms,.woocommerce-page #payment .terms {
text-align: left;
padding: 0
}
.woocommerce #payment #place_order,.woocommerce-page #payment #place_order {
float: none;
width: 100%;
box-sizing: border-box;
margin-bottom: 1em
}
.woocommerce .lost_reset_password .form-row-first,.woocommerce .lost_reset_password .form-row-last,.woocommerce-page .lost_reset_password .form-row-first,.woocommerce-page .lost_reset_password .form-row-last {
width: 100%;
float: none;
margin-right: 0
}
.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account .woocommerce-MyAccount-navigation {
float: none;
width: 100%
}
.single-product .twentythirteen .panel {
padding-left: 20px!important;
padding-right: 20px!important
}

5637
assets/css/woocommerce.css Normal file

File diff suppressed because it is too large Load Diff

1547
assets/css/wpforms-base.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/fonts/fontello.woff2 Normal file

Binary file not shown.

Binary file not shown.

6
assets/images/Group.svg Normal file
View File

@@ -0,0 +1,6 @@
<svg width="512" height="277" viewBox="0 0 512 277" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M439.583 276.738C430.907 276.745 422.423 274.178 415.206 269.362C407.989 264.546 402.362 257.698 399.038 249.684C395.713 241.67 394.84 232.85 396.529 224.34C398.217 215.829 402.392 208.011 408.525 201.874C414.658 195.736 422.473 191.556 430.982 189.861C439.491 188.166 448.312 189.032 456.329 192.351C464.345 195.67 471.197 201.292 476.018 208.506C480.839 215.719 483.412 224.201 483.412 232.877C483.407 244.502 478.788 255.651 470.571 263.874C462.353 272.098 451.208 276.724 439.583 276.738ZM439.583 205.016C434.071 205.009 428.681 206.638 424.095 209.696C419.509 212.753 415.933 217.102 413.82 222.193C411.706 227.283 411.15 232.886 412.221 238.293C413.293 243.699 415.944 248.667 419.839 252.567C423.734 256.466 428.698 259.123 434.104 260.201C439.509 261.278 445.113 260.728 450.206 258.621C455.299 256.513 459.652 252.942 462.715 248.359C465.777 243.777 467.412 238.389 467.412 232.877C467.41 225.494 464.478 218.414 459.26 213.19C454.043 207.967 446.966 205.027 439.583 205.016ZM208.447 276.738C199.77 276.747 191.286 274.181 184.067 269.367C176.849 264.553 171.22 257.705 167.894 249.692C164.568 241.678 163.693 232.857 165.381 224.346C167.068 215.835 171.242 208.016 177.375 201.877C183.507 195.739 191.322 191.557 199.832 189.862C208.341 188.166 217.162 189.032 225.179 192.35C233.197 195.669 240.049 201.291 244.871 208.504C249.692 215.718 252.266 224.2 252.266 232.877C252.257 244.5 247.639 255.645 239.425 263.867C231.21 272.09 220.07 276.719 208.447 276.738ZM208.447 205.016C202.935 205.007 197.544 206.634 192.956 209.69C188.369 212.747 184.791 217.095 182.676 222.185C180.561 227.276 180.003 232.879 181.073 238.286C182.143 243.694 184.794 248.662 188.688 252.563C192.583 256.464 197.547 259.121 202.953 260.2C208.359 261.278 213.963 260.729 219.057 258.622C224.15 256.514 228.504 252.943 231.567 248.36C234.631 243.778 236.266 238.389 236.266 232.877C236.26 225.497 233.329 218.42 228.114 213.197C222.9 207.975 215.827 205.033 208.447 205.016Z" fill="black"/>
<path d="M497.29 240.877H475.413C473.291 240.877 471.256 240.034 469.756 238.534C468.256 237.033 467.413 234.999 467.413 232.877C467.413 230.755 468.256 228.72 469.756 227.22C471.256 225.72 473.291 224.877 475.413 224.877H495.029V182.456C495.024 176.72 493.555 171.081 490.762 166.072L447.455 88.4289C447.085 87.7662 446.545 87.2143 445.891 86.8299C445.237 86.4455 444.492 86.2427 443.733 86.2422H384.714V224.909H403.765C405.886 224.909 407.921 225.752 409.422 227.252C410.922 228.752 411.765 230.787 411.765 232.909C411.765 235.031 410.922 237.065 409.422 238.566C407.921 240.066 405.886 240.909 403.765 240.909H376.714C374.592 240.909 372.558 240.066 371.057 238.566C369.557 237.065 368.714 235.031 368.714 232.909V78.2422C368.714 76.1205 369.557 74.0856 371.057 72.5853C372.558 71.085 374.592 70.2422 376.714 70.2422H443.733C447.342 70.2404 450.886 71.2025 453.999 73.029C457.112 74.8554 459.68 77.48 461.439 80.6315L504.735 158.285C508.852 165.676 511.014 173.995 511.018 182.456V227.149C511.012 230.788 509.564 234.276 506.991 236.85C504.418 239.423 500.929 240.871 497.29 240.877ZM172.618 240.877H95.9141C93.7923 240.877 91.7575 240.034 90.2572 238.534C88.7569 237.033 87.9141 234.999 87.9141 232.877V171.352C87.9141 169.23 88.7569 167.195 90.2572 165.695C91.7575 164.194 93.7923 163.352 95.9141 163.352C98.0358 163.352 100.071 164.194 101.571 165.695C103.071 167.195 103.914 169.23 103.914 171.352V224.877H172.618C174.74 224.877 176.775 225.72 178.275 227.22C179.775 228.72 180.618 230.755 180.618 232.877C180.618 234.999 179.775 237.033 178.275 238.534C176.775 240.034 174.74 240.877 172.618 240.877ZM95.9141 142.968C93.7923 142.968 91.7575 142.125 90.2572 140.624C88.7569 139.124 87.9141 137.089 87.9141 134.968V81.2502C87.9141 79.1285 88.7569 77.0936 90.2572 75.5933C91.7575 74.093 93.7923 73.2502 95.9141 73.2502C98.0358 73.2502 100.071 74.093 101.571 75.5933C103.071 77.0936 103.914 79.1285 103.914 81.2502V135C103.906 137.116 103.059 139.142 101.56 140.636C100.06 142.129 98.0303 142.968 95.9141 142.968Z" fill="black"/>
<path d="M376.715 240.877H244.267C242.145 240.877 240.111 240.034 238.61 238.533C237.11 237.033 236.267 234.998 236.267 232.877C236.267 230.755 237.11 228.72 238.61 227.22C240.111 225.719 242.145 224.877 244.267 224.877H368.715V15.5859H103.915V48.5353C103.915 50.657 103.072 52.6918 101.572 54.1921C100.072 55.6924 98.0369 56.5353 95.9152 56.5353C93.7935 56.5353 91.7586 55.6924 90.2583 54.1921C88.7581 52.6918 87.9152 50.657 87.9152 48.5353V14.1139C87.9208 10.2608 89.4547 6.56717 92.1804 3.84356C94.906 1.11995 98.6007 -0.411242 102.454 -0.414062H370.187C374.039 -0.40842 377.731 1.12401 380.454 3.84732C383.177 6.57063 384.71 10.2626 384.715 14.1139V232.877C384.715 234.998 383.872 237.033 382.372 238.533C380.872 240.034 378.837 240.877 376.715 240.877ZM127.542 179.351H26.0059C23.8841 179.351 21.8493 178.508 20.349 177.008C18.8487 175.508 18.0059 173.473 18.0059 171.351C18.0059 169.23 18.8487 167.195 20.349 165.694C21.8493 164.194 23.8841 163.351 26.0059 163.351H127.542C129.664 163.351 131.698 164.194 133.199 165.694C134.699 167.195 135.542 169.23 135.542 171.351C135.542 173.473 134.699 175.508 133.199 177.008C131.698 178.508 129.664 179.351 127.542 179.351Z" fill="black"/>
<path d="M208.448 142.967H66.7626C64.6409 142.967 62.6061 142.124 61.1058 140.624C59.6055 139.124 58.7626 137.089 58.7626 134.967C58.7626 132.845 59.6055 130.811 61.1058 129.31C62.6061 127.81 64.6409 126.967 66.7626 126.967H208.448C210.57 126.967 212.605 127.81 214.105 129.31C215.605 130.811 216.448 132.845 216.448 134.967C216.448 137.089 215.605 139.124 214.105 140.624C212.605 142.124 210.57 142.967 208.448 142.967ZM62.3573 100.727H7.0293C4.90757 100.727 2.87273 99.8843 1.37244 98.384C-0.127848 96.8837 -0.970703 94.8489 -0.970703 92.7272C-0.970703 90.6054 -0.127848 88.5706 1.37244 87.0703C2.87273 85.57 4.90757 84.7272 7.0293 84.7272H62.3573C64.479 84.7272 66.5139 85.57 68.0142 87.0703C69.5144 88.5706 70.3573 90.6054 70.3573 92.7272C70.3573 94.8489 69.5144 96.8837 68.0142 98.384C66.5139 99.8843 64.479 100.727 62.3573 100.727ZM151.072 56.5351H53.408C51.2862 56.5351 49.2514 55.6923 47.7511 54.192C46.2508 52.6917 45.408 50.6569 45.408 48.5352C45.408 46.4134 46.2508 44.3786 47.7511 42.8783C49.2514 41.378 51.2862 40.5352 53.408 40.5352H151.072C153.194 40.5352 155.229 41.378 156.729 42.8783C158.229 44.3786 159.072 46.4134 159.072 48.5352C159.072 50.6569 158.229 52.6917 156.729 54.192C155.229 55.6923 153.194 56.5351 151.072 56.5351Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
assets/images/delivery.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

BIN
assets/images/ev.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
assets/images/home1-bg2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 764 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

BIN
assets/images/how-works.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
assets/images/preloader.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
assets/images/slide1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 KiB

BIN
assets/images/tab-pic-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

View File

@@ -0,0 +1,189 @@
/*! elementor - v3.32.0 - 05-10-2025 */
"use strict";
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([[131], {
5249: (e, t, a) => {
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.default = void 0,
a(6281),
a(4846),
a(7458),
a(6211);
class baseTabs extends elementorModules.frontend.handlers.Base {
getDefaultSettings() {
return {
selectors: {
tablist: '[role="tablist"]',
tabTitle: ".elementor-tab-title",
tabContent: ".elementor-tab-content"
},
classes: {
active: "elementor-active"
},
showTabFn: "show",
hideTabFn: "hide",
toggleSelf: !0,
hidePrevious: !0,
autoExpand: !0,
keyDirection: {
ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1,
ArrowUp: -1,
ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1,
ArrowDown: 1
}
}
}
getDefaultElements() {
const e = this.getSettings("selectors");
return {
$tabTitles: this.findElement(e.tabTitle),
$tabContents: this.findElement(e.tabContent)
}
}
activateDefaultTab() {
const e = this.getSettings();
if (!e.autoExpand || "editor" === e.autoExpand && !this.isEdit)
return;
const t = this.getEditSettings("activeItemIndex") || 1
, a = {
showTabFn: e.showTabFn,
hideTabFn: e.hideTabFn
};
this.setSettings({
showTabFn: "show",
hideTabFn: "hide"
}),
this.changeActiveTab(t),
this.setSettings(a)
}
handleKeyboardNavigation(e) {
const t = e.currentTarget
, a = jQuery(t.closest(this.getSettings("selectors").tablist))
, i = a.find(this.getSettings("selectors").tabTitle)
, s = "vertical" === a.attr("aria-orientation");
switch (e.key) {
case "ArrowLeft":
case "ArrowRight":
if (s)
return;
break;
case "ArrowUp":
case "ArrowDown":
if (!s)
return;
e.preventDefault();
break;
case "Home":
return e.preventDefault(),
void i.first().trigger("focus");
case "End":
return e.preventDefault(),
void i.last().trigger("focus");
default:
return
}
const n = t.getAttribute("data-tab") - 1
, r = this.getSettings("keyDirection")[e.key]
, o = i[n + r];
o ? o.focus() : -1 === n + r ? i.last().trigger("focus") : i.first().trigger("focus")
}
deactivateActiveTab(e) {
const t = this.getSettings()
, a = t.classes.active
, i = e ? '[data-tab="' + e + '"]' : "." + a
, s = this.elements.$tabTitles.filter(i)
, n = this.elements.$tabContents.filter(i);
s.add(n).removeClass(a + " active"),
s.closest(".elementor-accordion-item").removeClass("active"),
s.attr({
tabindex: "-1",
"aria-selected": "false",
"aria-expanded": "false"
}),
n[t.hideTabFn](),
n.attr("hidden", "hidden")
}
activateTab(e) {
const t = this.getSettings()
, a = t.classes.active
, i = this.elements.$tabTitles.filter('[data-tab="' + e + '"]')
, s = this.elements.$tabContents.filter('[data-tab="' + e + '"]')
, n = "show" === t.showTabFn ? 0 : 400;
i.add(s).addClass(a + " active"),
i.closest(".elementor-accordion-item").addClass("active"),
i.attr({
tabindex: "0",
"aria-selected": "true",
"aria-expanded": "true"
}),
s[t.showTabFn](n, () => elementorFrontend.elements.$window.trigger("elementor-pro/motion-fx/recalc")),
s.removeAttr("hidden")
}
isActiveTab(e) {
return this.elements.$tabTitles.filter('[data-tab="' + e + '"]').hasClass(this.getSettings("classes.active"))
}
bindEvents() {
this.elements.$tabTitles.on({
keydown: e => {
jQuery(e.target).is("a") && "Enter" === e.key && e.preventDefault(),
["End", "Home", "ArrowUp", "ArrowDown"].includes(e.key) && this.handleKeyboardNavigation(e)
}
,
keyup: e => {
switch (e.code) {
case "ArrowLeft":
case "ArrowRight":
this.handleKeyboardNavigation(e);
break;
case "Enter":
case "Space":
e.preventDefault(),
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
}
}
,
click: e => {
e.preventDefault(),
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
}
})
}
onInit() {
super.onInit(...arguments),
this.activateDefaultTab()
}
onEditSettingsChange(e) {
"activeItemIndex" === e && this.activateDefaultTab()
}
changeActiveTab(e) {
const t = this.isActiveTab(e)
, a = this.getSettings();
if (t) return;
!a.toggleSelf && t || !a.hidePrevious || this.deactivateActiveTab(),
!a.hidePrevious && t && this.deactivateActiveTab(e),
t || this.activateTab(e)
}
}
t.default = baseTabs
}
,
9675: (e, t, a) => {
var i = a(6784);
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.default = void 0;
var s = i(a(5249));
class Accordion extends s.default {
getDefaultSettings() {
return {
...super.getDefaultSettings(),
showTabFn: "slideDown",
hideTabFn: "slideUp"
}
}
}
t.default = Accordion
}
}]);

153
assets/javascript/add-to-cart.min.js vendored Normal file
View File

@@ -0,0 +1,153 @@
jQuery(function(t) {
if ("undefined" == typeof wc_add_to_cart_params)
return !1;
var a = function() {
this.requests = [],
this.addRequest = this.addRequest.bind(this),
this.run = this.run.bind(this),
this.$liveRegion = this.createLiveRegion(),
t(document.body).on("click", ".add_to_cart_button:not(.wc-interactive)", {
addToCartHandler: this
}, this.onAddToCart).on("click", ".remove_from_cart_button", {
addToCartHandler: this
}, this.onRemoveFromCart).on("added_to_cart", {
addToCartHandler: this
}, this.onAddedToCart).on("removed_from_cart", {
addToCartHandler: this
}, this.onRemovedFromCart).on("ajax_request_not_sent.adding_to_cart", this.updateButton)
};
a.prototype.addRequest = function(t) {
this.requests.push(t),
1 === this.requests.length && this.run()
}
,
a.prototype.run = function() {
var a = this
, e = a.requests[0].complete;
a.requests[0].complete = function() {
"function" == typeof e && e(),
a.requests.shift(),
a.requests.length > 0 && a.run()
}
,
t.ajax(this.requests[0])
}
,
a.prototype.onAddToCart = function(a) {
var e = t(this);
if (e.is(".ajax_add_to_cart")) {
if (!e.attr("data-product_id"))
return !0;
if (a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"),
a.preventDefault(),
e.removeClass("added"),
e.addClass("loading"),
!1 === t(document.body).triggerHandler("should_send_ajax_request.adding_to_cart", [e]))
return t(document.body).trigger("ajax_request_not_sent.adding_to_cart", [!1, !1, e]),
!0;
var r = {};
t.each(e.data(), function(t, a) {
r[t] = a
}),
t.each(e[0].dataset, function(t, a) {
r[t] = a
}),
t(document.body).trigger("adding_to_cart", [e, r]),
a.data.addToCartHandler.addRequest({
type: "POST",
url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "add_to_cart"),
data: r,
success: function(a) {
a && (a.error && a.product_url ? window.location = a.product_url : "yes" !== wc_add_to_cart_params.cart_redirect_after_add ? t(document.body).trigger("added_to_cart", [a.fragments, a.cart_hash, e]) : window.location = wc_add_to_cart_params.cart_url)
},
dataType: "json"
})
}
}
,
a.prototype.onRemoveFromCart = function(a) {
var e = t(this)
, r = e.closest(".woocommerce-mini-cart-item");
a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"),
a.preventDefault(),
r.block({
message: null,
overlayCSS: {
opacity: .6
}
}),
a.data.addToCartHandler.addRequest({
type: "POST",
url: wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%", "remove_from_cart"),
data: {
cart_item_key: e.data("cart_item_key")
},
success: function(a) {
a && a.fragments ? t(document.body).trigger("removed_from_cart", [a.fragments, a.cart_hash, e]) : window.location = e.attr("href")
},
error: function() {
window.location = e.attr("href")
},
dataType: "json"
})
}
,
a.prototype.updateButton = function(a, e, r, d) {
if (d = void 0 !== d && d) {
if (d.removeClass("loading"),
e && d.addClass("added"),
e && !wc_add_to_cart_params.is_cart && 0 === d.parent().find(".added_to_cart").length) {
var o = document.createElement("a");
o.href = wc_add_to_cart_params.cart_url,
o.className = "added_to_cart wc-forward",
o.title = wc_add_to_cart_params.i18n_view_cart,
o.textContent = wc_add_to_cart_params.i18n_view_cart,
d.after(o)
}
t(document.body).trigger("wc_cart_button_updated", [d])
}
}
,
a.prototype.updateFragments = function(a, e) {
e && (t.each(e, function(a) {
t(a).addClass("updating").fadeTo("400", "0.6").block({
message: null,
overlayCSS: {
opacity: .6
}
})
}),
t.each(e, function(a, e) {
t(a).replaceWith(e),
t(a).stop(!0).css("opacity", "1").unblock()
}),
t(document.body).trigger("wc_fragments_loaded"))
}
,
a.prototype.alertCartUpdated = function(t, a, e, r) {
if (r = void 0 !== r && r) {
var d = r.data("success_message");
if (!d)
return;
t.data.addToCartHandler.$liveRegion.delay(1e3).text(d).attr("aria-relevant", "all")
}
}
,
a.prototype.createLiveRegion = function() {
var a = t(".widget_shopping_cart_live_region");
return a.length ? a : t('<div class="widget_shopping_cart_live_region screen-reader-text" role="status"></div>').appendTo("body")
}
,
a.prototype.onAddedToCart = function(t, a, e, r) {
t.data.addToCartHandler.updateButton(t, a, e, r),
t.data.addToCartHandler.updateFragments(t, a),
t.data.addToCartHandler.alertCartUpdated(t, a, e, r)
}
,
a.prototype.onRemovedFromCart = function(t, a, e, r) {
t.data.addToCartHandler.updateFragments(t, a),
t.data.addToCartHandler.alertCartUpdated(t, a, e, r)
}
,
new a
});

39
assets/javascript/address.min.js vendored Normal file
View File

@@ -0,0 +1,39 @@
( (e, s) => {
let o = {
noStateCountries: [],
init() {
s(e).on("load", o.onLoad),
s(document).on("wpformsRepeaterFieldCloneCreated", o.setChangeHandlers)
},
onLoad() {
o.noStateCountries = wpforms_settings?.address_field?.list_countries_without_states || [],
o.noStateCountries.length && o.setChangeHandlers()
},
setChangeHandlers() {
s(".wpforms-field-address").each(function() {
var e = s(this).find("select.wpforms-field-address-country");
e.length && (o.handleCountryChange(e),
e.off("change").on("change", function() {
o.handleCountryChange(this)
}))
})
},
handleCountryChange(e) {
var e = s(e)
, t = e.closest(".wpforms-field").find(".wpforms-field-address-state")
, n = t.closest(".wpforms-field-row");
n.length && (e = e.val(),
o.handleStateInput(t, n, e))
},
handleStateInput(e, t, n) {
o.noStateCountries.includes(n) ? (e.val("").prop("disabled", !0).prop("required", !1).on("change", function() {
s(this).val("")
}),
t.addClass("wpforms-without-state")) : (e.prop("disabled", !1).prop("required", t.find(".wpforms-first input").prop("required")).off("change"),
t.removeClass("wpforms-without-state"))
}
};
o.init(),
o
}
)(window, jQuery);

866
assets/javascript/core.min.js vendored Normal file
View File

@@ -0,0 +1,866 @@
/*! jQuery UI - v1.13.3 - 2024-04-26
* https://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
!function(t) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery)
}(function(x) {
"use strict";
var t, e, i, n, W, C, o, s, r, l, a, h, u;
function E(t, e, i) {
return [parseFloat(t[0]) * (a.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (a.test(t[1]) ? i / 100 : 1)]
}
function L(t, e) {
return parseInt(x.css(t, e), 10) || 0
}
function N(t) {
return null != t && t === t.window
}
x.ui = x.ui || {},
x.ui.version = "1.13.3",
/*!
* jQuery UI :data 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.extend(x.expr.pseudos, {
data: x.expr.createPseudo ? x.expr.createPseudo(function(e) {
return function(t) {
return !!x.data(t, e)
}
}) : function(t, e, i) {
return !!x.data(t, i[3])
}
}),
/*!
* jQuery UI Disable Selection 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.extend({
disableSelection: (t = "onselectstart"in document.createElement("div") ? "selectstart" : "mousedown",
function() {
return this.on(t + ".ui-disableSelection", function(t) {
t.preventDefault()
})
}
),
enableSelection: function() {
return this.off(".ui-disableSelection")
}
}),
/*!
* jQuery UI Focusable 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.focusable = function(t, e) {
var i, n, o, s = t.nodeName.toLowerCase();
return "area" === s ? (o = (i = t.parentNode).name,
!(!t.href || !o || "map" !== i.nodeName.toLowerCase()) && 0 < (i = x("img[usemap='#" + o + "']")).length && i.is(":visible")) : (/^(input|select|textarea|button|object)$/.test(s) ? (n = !t.disabled) && (o = x(t).closest("fieldset")[0]) && (n = !o.disabled) : n = "a" === s && t.href || e,
n && x(t).is(":visible") && function(t) {
var e = t.css("visibility");
for (; "inherit" === e; )
t = t.parent(),
e = t.css("visibility");
return "visible" === e
}(x(t)))
}
,
x.extend(x.expr.pseudos, {
focusable: function(t) {
return x.ui.focusable(t, null != x.attr(t, "tabindex"))
}
}),
x.fn._form = function() {
return "string" == typeof this[0].form ? this.closest("form") : x(this[0].form)
}
,
/*!
* jQuery UI Form Reset Mixin 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.formResetMixin = {
_formResetHandler: function() {
var e = x(this);
setTimeout(function() {
var t = e.data("ui-form-reset-instances");
x.each(t, function() {
this.refresh()
})
})
},
_bindFormResetHandler: function() {
var t;
this.form = this.element._form(),
this.form.length && ((t = this.form.data("ui-form-reset-instances") || []).length || this.form.on("reset.ui-form-reset", this._formResetHandler),
t.push(this),
this.form.data("ui-form-reset-instances", t))
},
_unbindFormResetHandler: function() {
var t;
this.form.length && ((t = this.form.data("ui-form-reset-instances")).splice(x.inArray(this, t), 1),
t.length ? this.form.data("ui-form-reset-instances", t) : this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))
}
},
x.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
/*!
* jQuery UI Support for jQuery core 1.8.x and newer 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*
*/
x.expr.pseudos || (x.expr.pseudos = x.expr[":"]),
x.uniqueSort || (x.uniqueSort = x.unique),
x.escapeSelector || (e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
i = function(t, e) {
return e ? "\0" === t ? "<22>" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t
}
,
x.escapeSelector = function(t) {
return (t + "").replace(e, i)
}
),
x.fn.even && x.fn.odd || x.fn.extend({
even: function() {
return this.filter(function(t) {
return t % 2 == 0
})
},
odd: function() {
return this.filter(function(t) {
return t % 2 == 1
})
}
}),
/*!
* jQuery UI Keycode 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.keyCode = {
BACKSPACE: 8,
COMMA: 188,
DELETE: 46,
DOWN: 40,
END: 35,
ENTER: 13,
ESCAPE: 27,
HOME: 36,
LEFT: 37,
PAGE_DOWN: 34,
PAGE_UP: 33,
PERIOD: 190,
RIGHT: 39,
SPACE: 32,
TAB: 9,
UP: 38
},
/*!
* jQuery UI Labels 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.labels = function() {
var t, e, i;
return this.length ? this[0].labels && this[0].labels.length ? this.pushStack(this[0].labels) : (e = this.eq(0).parents("label"),
(t = this.attr("id")) && (i = (i = this.eq(0).parents().last()).add((i.length ? i : this).siblings()),
t = "label[for='" + x.escapeSelector(t) + "']",
e = e.add(i.find(t).addBack(t))),
this.pushStack(e)) : this.pushStack([])
}
,
x.ui.plugin = {
add: function(t, e, i) {
var n, o = x.ui[t].prototype;
for (n in i)
o.plugins[n] = o.plugins[n] || [],
o.plugins[n].push([e, i[n]])
},
call: function(t, e, i, n) {
var o, s = t.plugins[e];
if (s && (n || t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType))
for (o = 0; o < s.length; o++)
t.options[s[o][0]] && s[o][1].apply(t.element, i)
}
},
/*!
* jQuery UI Position 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*
* https://api.jqueryui.com/position/
*/
W = Math.max,
C = Math.abs,
o = /left|center|right/,
s = /top|center|bottom/,
r = /[\+\-]\d+(\.[\d]+)?%?/,
l = /^\w+/,
a = /%$/,
h = x.fn.position,
x.position = {
scrollbarWidth: function() {
var t, e, i;
return void 0 !== n ? n : (i = (e = x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],
x("body").append(e),
t = i.offsetWidth,
e.css("overflow", "scroll"),
t === (i = i.offsetWidth) && (i = e[0].clientWidth),
e.remove(),
n = t - i)
},
getScrollInfo: function(t) {
var e = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x")
, i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y")
, e = "scroll" === e || "auto" === e && t.width < t.element[0].scrollWidth;
return {
width: "scroll" === i || "auto" === i && t.height < t.element[0].scrollHeight ? x.position.scrollbarWidth() : 0,
height: e ? x.position.scrollbarWidth() : 0
}
},
getWithinInfo: function(t) {
var e = x(t || window)
, i = N(e[0])
, n = !!e[0] && 9 === e[0].nodeType;
return {
element: e,
isWindow: i,
isDocument: n,
offset: !i && !n ? x(t).offset() : {
left: 0,
top: 0
},
scrollLeft: e.scrollLeft(),
scrollTop: e.scrollTop(),
width: e.outerWidth(),
height: e.outerHeight()
}
}
},
x.fn.position = function(f) {
var c, d, p, g, m, v, y, w, b, _, t, e;
return f && f.of ? (v = "string" == typeof (f = x.extend({}, f)).of ? x(document).find(f.of) : x(f.of),
y = x.position.getWithinInfo(f.within),
w = x.position.getScrollInfo(y),
b = (f.collision || "flip").split(" "),
_ = {},
e = 9 === (e = (t = v)[0]).nodeType ? {
width: t.width(),
height: t.height(),
offset: {
top: 0,
left: 0
}
} : N(e) ? {
width: t.width(),
height: t.height(),
offset: {
top: t.scrollTop(),
left: t.scrollLeft()
}
} : e.preventDefault ? {
width: 0,
height: 0,
offset: {
top: e.pageY,
left: e.pageX
}
} : {
width: t.outerWidth(),
height: t.outerHeight(),
offset: t.offset()
},
v[0].preventDefault && (f.at = "left top"),
d = e.width,
p = e.height,
m = x.extend({}, g = e.offset),
x.each(["my", "at"], function() {
var t, e, i = (f[this] || "").split(" ");
(i = 1 === i.length ? o.test(i[0]) ? i.concat(["center"]) : s.test(i[0]) ? ["center"].concat(i) : ["center", "center"] : i)[0] = o.test(i[0]) ? i[0] : "center",
i[1] = s.test(i[1]) ? i[1] : "center",
t = r.exec(i[0]),
e = r.exec(i[1]),
_[this] = [t ? t[0] : 0, e ? e[0] : 0],
f[this] = [l.exec(i[0])[0], l.exec(i[1])[0]]
}),
1 === b.length && (b[1] = b[0]),
"right" === f.at[0] ? m.left += d : "center" === f.at[0] && (m.left += d / 2),
"bottom" === f.at[1] ? m.top += p : "center" === f.at[1] && (m.top += p / 2),
c = E(_.at, d, p),
m.left += c[0],
m.top += c[1],
this.each(function() {
var i, t, r = x(this), l = r.outerWidth(), a = r.outerHeight(), e = L(this, "marginLeft"), n = L(this, "marginTop"), o = l + e + L(this, "marginRight") + w.width, s = a + n + L(this, "marginBottom") + w.height, h = x.extend({}, m), u = E(_.my, r.outerWidth(), r.outerHeight());
"right" === f.my[0] ? h.left -= l : "center" === f.my[0] && (h.left -= l / 2),
"bottom" === f.my[1] ? h.top -= a : "center" === f.my[1] && (h.top -= a / 2),
h.left += u[0],
h.top += u[1],
i = {
marginLeft: e,
marginTop: n
},
x.each(["left", "top"], function(t, e) {
x.ui.position[b[t]] && x.ui.position[b[t]][e](h, {
targetWidth: d,
targetHeight: p,
elemWidth: l,
elemHeight: a,
collisionPosition: i,
collisionWidth: o,
collisionHeight: s,
offset: [c[0] + u[0], c[1] + u[1]],
my: f.my,
at: f.at,
within: y,
elem: r
})
}),
f.using && (t = function(t) {
var e = g.left - h.left
, i = e + d - l
, n = g.top - h.top
, o = n + p - a
, s = {
target: {
element: v,
left: g.left,
top: g.top,
width: d,
height: p
},
element: {
element: r,
left: h.left,
top: h.top,
width: l,
height: a
},
horizontal: i < 0 ? "left" : 0 < e ? "right" : "center",
vertical: o < 0 ? "top" : 0 < n ? "bottom" : "middle"
};
d < l && C(e + i) < d && (s.horizontal = "center"),
p < a && C(n + o) < p && (s.vertical = "middle"),
W(C(e), C(i)) > W(C(n), C(o)) ? s.important = "horizontal" : s.important = "vertical",
f.using.call(this, t, s)
}
),
r.offset(x.extend(h, {
using: t
}))
})) : h.apply(this, arguments)
}
,
x.ui.position = {
fit: {
left: function(t, e) {
var i, n = e.within, o = n.isWindow ? n.scrollLeft : n.offset.left, n = n.width, s = t.left - e.collisionPosition.marginLeft, r = o - s, l = s + e.collisionWidth - n - o;
n < e.collisionWidth ? 0 < r && l <= 0 ? (i = t.left + r + e.collisionWidth - n - o,
t.left += r - i) : t.left = !(0 < l && r <= 0) && l < r ? o + n - e.collisionWidth : o : 0 < r ? t.left += r : 0 < l ? t.left -= l : t.left = W(t.left - s, t.left)
},
top: function(t, e) {
var i, n = e.within, n = n.isWindow ? n.scrollTop : n.offset.top, o = e.within.height, s = t.top - e.collisionPosition.marginTop, r = n - s, l = s + e.collisionHeight - o - n;
o < e.collisionHeight ? 0 < r && l <= 0 ? (i = t.top + r + e.collisionHeight - o - n,
t.top += r - i) : t.top = !(0 < l && r <= 0) && l < r ? n + o - e.collisionHeight : n : 0 < r ? t.top += r : 0 < l ? t.top -= l : t.top = W(t.top - s, t.top)
}
},
flip: {
left: function(t, e) {
var i = e.within
, n = i.offset.left + i.scrollLeft
, o = i.width
, i = i.isWindow ? i.scrollLeft : i.offset.left
, s = t.left - e.collisionPosition.marginLeft
, r = s - i
, s = s + e.collisionWidth - o - i
, l = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0
, a = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0
, h = -2 * e.offset[0];
r < 0 ? ((o = t.left + l + a + h + e.collisionWidth - o - n) < 0 || o < C(r)) && (t.left += l + a + h) : 0 < s && (0 < (n = t.left - e.collisionPosition.marginLeft + l + a + h - i) || C(n) < s) && (t.left += l + a + h)
},
top: function(t, e) {
var i = e.within
, n = i.offset.top + i.scrollTop
, o = i.height
, i = i.isWindow ? i.scrollTop : i.offset.top
, s = t.top - e.collisionPosition.marginTop
, r = s - i
, s = s + e.collisionHeight - o - i
, l = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0
, a = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0
, h = -2 * e.offset[1];
r < 0 ? ((o = t.top + l + a + h + e.collisionHeight - o - n) < 0 || o < C(r)) && (t.top += l + a + h) : 0 < s && (0 < (n = t.top - e.collisionPosition.marginTop + l + a + h - i) || C(n) < s) && (t.top += l + a + h)
}
},
flipfit: {
left: function() {
x.ui.position.flip.left.apply(this, arguments),
x.ui.position.fit.left.apply(this, arguments)
},
top: function() {
x.ui.position.flip.top.apply(this, arguments),
x.ui.position.fit.top.apply(this, arguments)
}
}
},
x.ui.safeActiveElement = function(e) {
var i;
try {
i = e.activeElement
} catch (t) {
i = e.body
}
return i = (i = i || e.body).nodeName ? i : e.body
}
,
x.ui.safeBlur = function(t) {
t && "body" !== t.nodeName.toLowerCase() && x(t).trigger("blur")
}
,
/*!
* jQuery UI Scroll Parent 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.scrollParent = function(t) {
var e = this.css("position")
, i = "absolute" === e
, n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/
, t = this.parents().filter(function() {
var t = x(this);
return (!i || "static" !== t.css("position")) && n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"))
}).eq(0);
return "fixed" !== e && t.length ? t : x(this[0].ownerDocument || document)
}
,
/*!
* jQuery UI Tabbable 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.extend(x.expr.pseudos, {
tabbable: function(t) {
var e = x.attr(t, "tabindex")
, i = null != e;
return (!i || 0 <= e) && x.ui.focusable(t, i)
}
}),
/*!
* jQuery UI Unique ID 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.extend({
uniqueId: (u = 0,
function() {
return this.each(function() {
this.id || (this.id = "ui-id-" + ++u)
})
}
),
removeUniqueId: function() {
return this.each(function() {
/^ui-id-\d+$/.test(this.id) && x(this).removeAttr("id")
})
}
});
/*!
* jQuery UI Widget 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
var f, c = 0, d = Array.prototype.hasOwnProperty, p = Array.prototype.slice;
x.cleanData = (f = x.cleanData,
function(t) {
for (var e, i, n = 0; null != (i = t[n]); n++)
(e = x._data(i, "events")) && e.remove && x(i).triggerHandler("remove");
f(t)
}
),
x.widget = function(t, i, e) {
var n, o, s, r = {}, l = t.split(".")[0], a = l + "-" + (t = t.split(".")[1]);
return e || (e = i,
i = x.Widget),
Array.isArray(e) && (e = x.extend.apply(null, [{}].concat(e))),
x.expr.pseudos[a.toLowerCase()] = function(t) {
return !!x.data(t, a)
}
,
x[l] = x[l] || {},
n = x[l][t],
o = x[l][t] = function(t, e) {
if (!this || !this._createWidget)
return new o(t,e);
arguments.length && this._createWidget(t, e)
}
,
x.extend(o, n, {
version: e.version,
_proto: x.extend({}, e),
_childConstructors: []
}),
(s = new i).options = x.widget.extend({}, s.options),
x.each(e, function(e, n) {
function o() {
return i.prototype[e].apply(this, arguments)
}
function s(t) {
return i.prototype[e].apply(this, t)
}
r[e] = "function" != typeof n ? n : function() {
var t, e = this._super, i = this._superApply;
return this._super = o,
this._superApply = s,
t = n.apply(this, arguments),
this._super = e,
this._superApply = i,
t
}
}),
o.prototype = x.widget.extend(s, {
widgetEventPrefix: n && s.widgetEventPrefix || t
}, r, {
constructor: o,
namespace: l,
widgetName: t,
widgetFullName: a
}),
n ? (x.each(n._childConstructors, function(t, e) {
var i = e.prototype;
x.widget(i.namespace + "." + i.widgetName, o, e._proto)
}),
delete n._childConstructors) : i._childConstructors.push(o),
x.widget.bridge(t, o),
o
}
,
x.widget.extend = function(t) {
for (var e, i, n = p.call(arguments, 1), o = 0, s = n.length; o < s; o++)
for (e in n[o])
i = n[o][e],
d.call(n[o], e) && void 0 !== i && (x.isPlainObject(i) ? t[e] = x.isPlainObject(t[e]) ? x.widget.extend({}, t[e], i) : x.widget.extend({}, i) : t[e] = i);
return t
}
,
x.widget.bridge = function(s, e) {
var r = e.prototype.widgetFullName || s;
x.fn[s] = function(i) {
var t = "string" == typeof i
, n = p.call(arguments, 1)
, o = this;
return t ? this.length || "instance" !== i ? this.each(function() {
var t, e = x.data(this, r);
return "instance" === i ? (o = e,
!1) : e ? "function" != typeof e[i] || "_" === i.charAt(0) ? x.error("no such method '" + i + "' for " + s + " widget instance") : (t = e[i].apply(e, n)) !== e && void 0 !== t ? (o = t && t.jquery ? o.pushStack(t.get()) : t,
!1) : void 0 : x.error("cannot call methods on " + s + " prior to initialization; attempted to call method '" + i + "'")
}) : o = void 0 : (n.length && (i = x.widget.extend.apply(null, [i].concat(n))),
this.each(function() {
var t = x.data(this, r);
t ? (t.option(i || {}),
t._init && t._init()) : x.data(this, r, new e(i,this))
})),
o
}
}
,
x.Widget = function() {}
,
x.Widget._childConstructors = [],
x.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "<div>",
options: {
classes: {},
disabled: !1,
create: null
},
_createWidget: function(t, e) {
e = x(e || this.defaultElement || this)[0],
this.element = x(e),
this.uuid = c++,
this.eventNamespace = "." + this.widgetName + this.uuid,
this.bindings = x(),
this.hoverable = x(),
this.focusable = x(),
this.classesElementLookup = {},
e !== this && (x.data(e, this.widgetFullName, this),
this._on(!0, this.element, {
remove: function(t) {
t.target === e && this.destroy()
}
}),
this.document = x(e.style ? e.ownerDocument : e.document || e),
this.window = x(this.document[0].defaultView || this.document[0].parentWindow)),
this.options = x.widget.extend({}, this.options, this._getCreateOptions(), t),
this._create(),
this.options.disabled && this._setOptionDisabled(this.options.disabled),
this._trigger("create", null, this._getCreateEventData()),
this._init()
},
_getCreateOptions: function() {
return {}
},
_getCreateEventData: x.noop,
_create: x.noop,
_init: x.noop,
destroy: function() {
var i = this;
this._destroy(),
x.each(this.classesElementLookup, function(t, e) {
i._removeClass(e, t)
}),
this.element.off(this.eventNamespace).removeData(this.widgetFullName),
this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),
this.bindings.off(this.eventNamespace)
},
_destroy: x.noop,
widget: function() {
return this.element
},
option: function(t, e) {
var i, n, o, s = t;
if (0 === arguments.length)
return x.widget.extend({}, this.options);
if ("string" == typeof t)
if (s = {},
t = (i = t.split(".")).shift(),
i.length) {
for (n = s[t] = x.widget.extend({}, this.options[t]),
o = 0; o < i.length - 1; o++)
n[i[o]] = n[i[o]] || {},
n = n[i[o]];
if (t = i.pop(),
1 === arguments.length)
return void 0 === n[t] ? null : n[t];
n[t] = e
} else {
if (1 === arguments.length)
return void 0 === this.options[t] ? null : this.options[t];
s[t] = e
}
return this._setOptions(s),
this
},
_setOptions: function(t) {
for (var e in t)
this._setOption(e, t[e]);
return this
},
_setOption: function(t, e) {
return "classes" === t && this._setOptionClasses(e),
this.options[t] = e,
"disabled" === t && this._setOptionDisabled(e),
this
},
_setOptionClasses: function(t) {
var e, i, n;
for (e in t)
n = this.classesElementLookup[e],
t[e] !== this.options.classes[e] && n && n.length && (i = x(n.get()),
this._removeClass(n, e),
i.addClass(this._classes({
element: i,
keys: e,
classes: t,
add: !0
})))
},
_setOptionDisabled: function(t) {
this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t),
t && (this._removeClass(this.hoverable, null, "ui-state-hover"),
this._removeClass(this.focusable, null, "ui-state-focus"))
},
enable: function() {
return this._setOptions({
disabled: !1
})
},
disable: function() {
return this._setOptions({
disabled: !0
})
},
_classes: function(o) {
var s = []
, r = this;
function t(t, e) {
for (var i, n = 0; n < t.length; n++)
i = r.classesElementLookup[t[n]] || x(),
i = o.add ? (function() {
var i = [];
o.element.each(function(t, e) {
x.map(r.classesElementLookup, function(t) {
return t
}).some(function(t) {
return t.is(e)
}) || i.push(e)
}),
r._on(x(i), {
remove: "_untrackClassesElement"
})
}(),
x(x.uniqueSort(i.get().concat(o.element.get())))) : x(i.not(o.element).get()),
r.classesElementLookup[t[n]] = i,
s.push(t[n]),
e && o.classes[t[n]] && s.push(o.classes[t[n]])
}
return (o = x.extend({
element: this.element,
classes: this.options.classes || {}
}, o)).keys && t(o.keys.match(/\S+/g) || [], !0),
o.extra && t(o.extra.match(/\S+/g) || []),
s.join(" ")
},
_untrackClassesElement: function(i) {
var n = this;
x.each(n.classesElementLookup, function(t, e) {
-1 !== x.inArray(i.target, e) && (n.classesElementLookup[t] = x(e.not(i.target).get()))
}),
this._off(x(i.target))
},
_removeClass: function(t, e, i) {
return this._toggleClass(t, e, i, !1)
},
_addClass: function(t, e, i) {
return this._toggleClass(t, e, i, !0)
},
_toggleClass: function(t, e, i, n) {
var o = "string" == typeof t || null === t
, e = {
extra: o ? e : i,
keys: o ? t : e,
element: o ? this.element : t,
add: n = "boolean" == typeof n ? n : i
};
return e.element.toggleClass(this._classes(e), n),
this
},
_on: function(o, s, t) {
var r, l = this;
"boolean" != typeof o && (t = s,
s = o,
o = !1),
t ? (s = r = x(s),
this.bindings = this.bindings.add(s)) : (t = s,
s = this.element,
r = this.widget()),
x.each(t, function(t, e) {
function i() {
if (o || !0 !== l.options.disabled && !x(this).hasClass("ui-state-disabled"))
return ("string" == typeof e ? l[e] : e).apply(l, arguments)
}
"string" != typeof e && (i.guid = e.guid = e.guid || i.guid || x.guid++);
var t = t.match(/^([\w:-]*)\s*(.*)$/)
, n = t[1] + l.eventNamespace
, t = t[2];
t ? r.on(n, t, i) : s.on(n, i)
})
},
_off: function(t, e) {
e = (e || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace,
t.off(e),
this.bindings = x(this.bindings.not(t).get()),
this.focusable = x(this.focusable.not(t).get()),
this.hoverable = x(this.hoverable.not(t).get())
},
_delay: function(t, e) {
var i = this;
return setTimeout(function() {
return ("string" == typeof t ? i[t] : t).apply(i, arguments)
}, e || 0)
},
_hoverable: function(t) {
this.hoverable = this.hoverable.add(t),
this._on(t, {
mouseenter: function(t) {
this._addClass(x(t.currentTarget), null, "ui-state-hover")
},
mouseleave: function(t) {
this._removeClass(x(t.currentTarget), null, "ui-state-hover")
}
})
},
_focusable: function(t) {
this.focusable = this.focusable.add(t),
this._on(t, {
focusin: function(t) {
this._addClass(x(t.currentTarget), null, "ui-state-focus")
},
focusout: function(t) {
this._removeClass(x(t.currentTarget), null, "ui-state-focus")
}
})
},
_trigger: function(t, e, i) {
var n, o, s = this.options[t];
if (i = i || {},
(e = x.Event(e)).type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase(),
e.target = this.element[0],
o = e.originalEvent)
for (n in o)
n in e || (e[n] = o[n]);
return this.element.trigger(e, i),
!("function" == typeof s && !1 === s.apply(this.element[0], [e].concat(i)) || e.isDefaultPrevented())
}
},
x.each({
show: "fadeIn",
hide: "fadeOut"
}, function(s, r) {
x.Widget.prototype["_" + s] = function(e, t, i) {
var n, o = (t = "string" == typeof t ? {
effect: t
} : t) ? !0 !== t && "number" != typeof t && t.effect || r : s;
"number" == typeof (t = t || {}) ? t = {
duration: t
} : !0 === t && (t = {}),
n = !x.isEmptyObject(t),
t.complete = i,
t.delay && e.delay(t.delay),
n && x.effects && x.effects.effect[o] ? e[s](t) : o !== s && e[o] ? e[o](t.duration, t.easing, i) : e.queue(function(t) {
x(this)[s](),
i && i.call(e[0]),
t()
})
}
})
});

View File

@@ -0,0 +1,246 @@
'use strict';
function animate_heading($scope) {
console.log('LOGICO HEADING ANIMATION V2 - RUNNING');
if ($scope.data('settings') && $scope.data('settings')._animation && $scope.data('settings')._animation == 'logico_heading_animation') {
const $title = $scope.find('.logico-title');
if ($title.hasClass('animated-ready')) return;
$title.addClass('animated-ready');
const text = $title.text().trim();
if (!text) return;
$title.empty();
let count = 0;
const words = text.split(/\s+/);
words.forEach(function(word) {
const $word = jQuery('<span class="word"></span>');
for (let i = 0; i < word.length; i++) {
const $letter = jQuery('<span class="letter"></span>').text(word[i]);
$letter.css('animation-delay', (count / 50) + 's');
$word.append($letter);
count++;
}
$title.append($word).append(' ');
});
$scope.removeClass('elementor-invisible');
}
}
function sticky_element_activate(obj) {
if (obj.hasClass('sticky-container-on')) {
// Initialize once
if (!obj.data('sticky-initialized')) {
const el_offset = obj.offset().top;
const el_height = Math.round(obj.outerHeight());
obj.data('initial-offset', el_offset);
obj.data('initial-height', el_height);
obj.data('sticky-initialized', true);
if ((obj.css('position') === 'static' || obj.css('position') === 'relative') && obj.prev('.sticky-container-placeholder').length <= 0) {
obj.before('<div class="sticky-container-placeholder"></div>');
}
jQuery(window).on('scroll.sticky_container', function() {
const st = Math.round(jQuery(window).scrollTop());
const current_offset = obj.data('initial-offset');
const current_height = obj.data('initial-height');
const el_ready = current_offset + current_height + 200; // Trigger after passing the element
const el_start = current_offset + current_height + 800; // Trigger after hero
if (st <= el_ready) {
obj.removeClass('sticky-container-ready');
obj.prev('.sticky-container-placeholder').removeAttr('style');
} else {
obj.addClass('sticky-container-ready');
obj.prev('.sticky-container-placeholder').height(current_height);
}
if (st <= el_start) {
obj.removeClass('sticky-container-active');
} else {
obj.addClass('sticky-container-active');
}
});
}
}
}
jQuery(window).on('elementor/frontend/init', function() {
elementorFrontend.hooks.addAction('frontend/element_ready/logico_blog_listing.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 300);
setTimeout(fix_responsive_iframe, 600);
if (jQuery(window.wp.mediaelement).length > 0) {
jQuery(window.wp.mediaelement.initialize)
}
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_portfolio_listing.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500);
setTimeout(isotope_init, 2500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_testimonial_carousel.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_awards.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_timeline.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_steps.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_content_slider.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_image_carousel.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
setTimeout(elements_slider_init, 500)
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_decorative_block.default', function() {
if (jQuery('body').hasClass('elementor-editor-active')) {
decorative_block_animate()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_wpforms.default', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
wrap_multycolumns_wpform_fields($scope);
jQuery('.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text').each(function() {
check_custom_field(jQuery(this))
})
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/section', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7)
}
sticky_element_activate($scope);
jQuery(window).on('resize', function() {
sticky_element_activate($scope)
})
});
elementorFrontend.hooks.addAction('frontend/element_ready/container', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7)
}
sticky_element_activate($scope);
jQuery(window).on('resize', function() {
sticky_element_activate($scope)
})
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_page_title.default', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
if ($scope.innerWidth() > 1020) {
jQuery('.page-title-decoration.animation-enable', $scope).addClass('animated')
}
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_search.default', function($scope) {
jQuery('.site-search', $scope).detach().prependTo('body');
if (jQuery('body').hasClass('elementor-editor-active')) {
search_panel_open();
overlay_close_all()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_slide_sidebar.default', function($scope) {
jQuery('.slide-sidebar-wrapper', $scope).detach().prependTo('body');
if (jQuery('body').hasClass('elementor-editor-active')) {
side_panel_open();
overlay_close_all()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_tracking.default', function($scope) {
if (jQuery('body').hasClass('elementor-editor-active')) {
tracking_popup_open()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_heading.default', function($scope) {
animate_heading($scope)
});
elementorFrontend.hooks.addAction('frontend/element_ready/logico_navigation_menu.default', function($scope) {
jQuery('.mobile-header-menu-container', $scope).detach().prependTo('body');
if (jQuery('body').hasClass('elementor-editor-active')) {
mobile_menu_open();
overlay_close_all()
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/image.default', function($scope) {
if (jQuery(window).width() >= 1021) {
const $wrapper = $scope;
const cursor = jQuery('.hovered-text', $scope);
function showCustomCursor(event) {
if (jQuery('body').hasClass('rtl')) {
cursor.css('left', event.clientX - 20).css('top', event.clientY)
} else {
cursor.css('left', event.clientX + 20).css('top', event.clientY)
}
}
if (cursor.length > 0) {
$wrapper.mousemove(showCustomCursor);
$wrapper.mouseleave(function(e) {
if (!jQuery('body').hasClass('elementor-editor-active')) {
cursor.removeClass('active')
}
});
$wrapper.mouseenter(function(e) {
if (!jQuery('body').hasClass('elementor-editor-active')) {
cursor.addClass('active')
}
})
}
}
});
elementorFrontend.hooks.addAction('frontend/element_ready/accordion.default', function($scope) {
if (!jQuery('body').hasClass('elementor-editor-active')) {
$scope.find('.elementor-tab-title').each(function() {
var $title = jQuery(this);
var $item = $title.closest('.elementor-accordion-item');
var $content = $item.find('.elementor-tab-content');
var $accordion = $scope.find('.elementor-accordion');
// Remove native click and apply custom logic
// Timeout ensures we run after elementor natively binds its own events
setTimeout(function() {
$title.off('click').on('click', function(e) {
e.preventDefault();
e.stopImmediatePropagation();
if ($title.hasClass('elementor-active')) {
return; // Do not collapse if already open
}
// Close others
$accordion.find('.elementor-tab-title').removeClass('elementor-active active');
$accordion.find('.elementor-accordion-item').removeClass('active');
$accordion.find('.elementor-tab-content').slideUp(400).removeClass('elementor-active active');
// Open this one
$title.addClass('elementor-active active');
$item.addClass('active');
$content.hide().addClass('elementor-active active').slideDown(400);
});
}, 100);
// Keep everything collapsed on init (as requested in earlier session)
$title.removeClass('elementor-active active');
$item.removeClass('active');
$content.hide().removeClass('elementor-active active');
});
}
});
});

3320
assets/javascript/frontend-modules.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

1649
assets/javascript/frontend.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

255
assets/javascript/imagesloaded.min.js vendored Normal file
View File

@@ -0,0 +1,255 @@
/*! This file is auto-generated */
/*!
* imagesLoaded PACKAGED v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
!function(t, e) {
"object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e()
}("undefined" != typeof window ? window : this, (function() {
function t() {}
let e = t.prototype;
return e.on = function(t, e) {
if (!t || !e)
return this;
let i = this._events = this._events || {}
, s = i[t] = i[t] || [];
return s.includes(e) || s.push(e),
this
}
,
e.once = function(t, e) {
if (!t || !e)
return this;
this.on(t, e);
let i = this._onceEvents = this._onceEvents || {};
return (i[t] = i[t] || {})[e] = !0,
this
}
,
e.off = function(t, e) {
let i = this._events && this._events[t];
if (!i || !i.length)
return this;
let s = i.indexOf(e);
return -1 != s && i.splice(s, 1),
this
}
,
e.emitEvent = function(t, e) {
let i = this._events && this._events[t];
if (!i || !i.length)
return this;
i = i.slice(0),
e = e || [];
let s = this._onceEvents && this._onceEvents[t];
for (let n of i) {
s && s[n] && (this.off(t, n),
delete s[n]),
n.apply(this, e)
}
return this
}
,
e.allOff = function() {
return delete this._events,
delete this._onceEvents,
this
}
,
t
}
)),
/*!
* imagesLoaded v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
function(t, e) {
"object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter")) : t.imagesLoaded = e(t, t.EvEmitter)
}("undefined" != typeof window ? window : this, (function(t, e) {
let i = t.jQuery
, s = t.console;
function n(t, e, o) {
if (!(this instanceof n))
return new n(t,e,o);
let r = t;
var h;
("string" == typeof t && (r = document.querySelectorAll(t)),
r) ? (this.elements = (h = r,
Array.isArray(h) ? h : "object" == typeof h && "number" == typeof h.length ? [...h] : [h]),
this.options = {},
"function" == typeof e ? o = e : Object.assign(this.options, e),
o && this.on("always", o),
this.getImages(),
i && (this.jqDeferred = new i.Deferred),
setTimeout(this.check.bind(this))) : s.error(`Bad element for imagesLoaded ${r || t}`)
}
n.prototype = Object.create(e.prototype),
n.prototype.getImages = function() {
this.images = [],
this.elements.forEach(this.addElementImages, this)
}
;
const o = [1, 9, 11];
n.prototype.addElementImages = function(t) {
"IMG" === t.nodeName && this.addImage(t),
!0 === this.options.background && this.addElementBackgroundImages(t);
let {nodeType: e} = t;
if (!e || !o.includes(e))
return;
let i = t.querySelectorAll("img");
for (let t of i)
this.addImage(t);
if ("string" == typeof this.options.background) {
let e = t.querySelectorAll(this.options.background);
for (let t of e)
this.addElementBackgroundImages(t)
}
}
;
const r = /url\((['"])?(.*?)\1\)/gi;
function h(t) {
this.img = t
}
function d(t, e) {
this.url = t,
this.element = e,
this.img = new Image
}
return n.prototype.addElementBackgroundImages = function(t) {
let e = getComputedStyle(t);
if (!e)
return;
let i = r.exec(e.backgroundImage);
for (; null !== i; ) {
let s = i && i[2];
s && this.addBackground(s, t),
i = r.exec(e.backgroundImage)
}
}
,
n.prototype.addImage = function(t) {
let e = new h(t);
this.images.push(e)
}
,
n.prototype.addBackground = function(t, e) {
let i = new d(t,e);
this.images.push(i)
}
,
n.prototype.check = function() {
if (this.progressedCount = 0,
this.hasAnyBroken = !1,
!this.images.length)
return void this.complete();
let t = (t, e, i) => {
setTimeout(( () => {
this.progress(t, e, i)
}
))
}
;
this.images.forEach((function(e) {
e.once("progress", t),
e.check()
}
))
}
,
n.prototype.progress = function(t, e, i) {
this.progressedCount++,
this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded,
this.emitEvent("progress", [this, t, e]),
this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t),
this.progressedCount === this.images.length && this.complete(),
this.options.debug && s && s.log(`progress: ${i}`, t, e)
}
,
n.prototype.complete = function() {
let t = this.hasAnyBroken ? "fail" : "done";
if (this.isComplete = !0,
this.emitEvent(t, [this]),
this.emitEvent("always", [this]),
this.jqDeferred) {
let t = this.hasAnyBroken ? "reject" : "resolve";
this.jqDeferred[t](this)
}
}
,
h.prototype = Object.create(e.prototype),
h.prototype.check = function() {
this.getIsImageComplete() ? this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image,
this.img.crossOrigin && (this.proxyImage.crossOrigin = this.img.crossOrigin),
this.proxyImage.addEventListener("load", this),
this.proxyImage.addEventListener("error", this),
this.img.addEventListener("load", this),
this.img.addEventListener("error", this),
this.proxyImage.src = this.img.currentSrc || this.img.src)
}
,
h.prototype.getIsImageComplete = function() {
return this.img.complete && this.img.naturalWidth
}
,
h.prototype.confirm = function(t, e) {
this.isLoaded = t;
let {parentNode: i} = this.img
, s = "PICTURE" === i.nodeName ? i : this.img;
this.emitEvent("progress", [this, s, e])
}
,
h.prototype.handleEvent = function(t) {
let e = "on" + t.type;
this[e] && this[e](t)
}
,
h.prototype.onload = function() {
this.confirm(!0, "onload"),
this.unbindEvents()
}
,
h.prototype.onerror = function() {
this.confirm(!1, "onerror"),
this.unbindEvents()
}
,
h.prototype.unbindEvents = function() {
this.proxyImage.removeEventListener("load", this),
this.proxyImage.removeEventListener("error", this),
this.img.removeEventListener("load", this),
this.img.removeEventListener("error", this)
}
,
d.prototype = Object.create(h.prototype),
d.prototype.check = function() {
this.img.addEventListener("load", this),
this.img.addEventListener("error", this),
this.img.src = this.url,
this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"),
this.unbindEvents())
}
,
d.prototype.unbindEvents = function() {
this.img.removeEventListener("load", this),
this.img.removeEventListener("error", this)
}
,
d.prototype.confirm = function(t, e) {
this.isLoaded = t,
this.emitEvent("progress", [this, this.element, e])
}
,
n.makeJQueryPlugin = function(e) {
(e = e || t.jQuery) && (i = e,
i.fn.imagesLoaded = function(t, e) {
return new n(this,t,e).jqDeferred.promise(i(this))
}
)
}
,
n.makeJQueryPlugin(),
n
}
));

1820
assets/javascript/isotope.pkgd.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

420
assets/javascript/jquery-migrate.min.js vendored Normal file
View File

@@ -0,0 +1,420 @@
/*! jQuery Migrate v3.4.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
"undefined" == typeof jQuery.migrateMute && (jQuery.migrateMute = !0),
function(t) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], function(e) {
return t(e, window)
}) : "object" == typeof module && module.exports ? module.exports = t(require("jquery"), window) : t(jQuery, window)
}(function(s, n) {
"use strict";
function e(e) {
return 0 <= function(e, t) {
for (var r = /^(\d+)\.(\d+)\.(\d+)/, n = r.exec(e) || [], o = r.exec(t) || [], a = 1; a <= 3; a++) {
if (+o[a] < +n[a])
return 1;
if (+n[a] < +o[a])
return -1
}
return 0
}(s.fn.jquery, e)
}
s.migrateVersion = "3.4.1";
var t = Object.create(null);
s.migrateDisablePatches = function() {
for (var e = 0; e < arguments.length; e++)
t[arguments[e]] = !0
}
,
s.migrateEnablePatches = function() {
for (var e = 0; e < arguments.length; e++)
delete t[arguments[e]]
}
,
s.migrateIsPatchEnabled = function(e) {
return !t[e]
}
,
n.console && n.console.log && (s && e("3.0.0") && !e("5.0.0") || n.console.log("JQMIGRATE: jQuery 3.x-4.x REQUIRED"),
s.migrateWarnings && n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),
n.console.log("JQMIGRATE: Migrate is installed" + (s.migrateMute ? "" : " with logging active") + ", version " + s.migrateVersion));
var o = {};
function u(e, t) {
var r = n.console;
!s.migrateIsPatchEnabled(e) || s.migrateDeduplicateWarnings && o[t] || (o[t] = !0,
s.migrateWarnings.push(t + " [" + e + "]"),
r && r.warn && !s.migrateMute && (r.warn("JQMIGRATE: " + t),
s.migrateTrace && r.trace && r.trace()))
}
function r(e, t, r, n, o) {
Object.defineProperty(e, t, {
configurable: !0,
enumerable: !0,
get: function() {
return u(n, o),
r
},
set: function(e) {
u(n, o),
r = e
}
})
}
function a(e, t, r, n, o) {
var a = e[t];
e[t] = function() {
return o && u(n, o),
(s.migrateIsPatchEnabled(n) ? r : a || s.noop).apply(this, arguments)
}
}
function c(e, t, r, n, o) {
if (!o)
throw new Error("No warning message provided");
return a(e, t, r, n, o),
0
}
function i(e, t, r, n) {
return a(e, t, r, n),
0
}
s.migrateDeduplicateWarnings = !0,
s.migrateWarnings = [],
void 0 === s.migrateTrace && (s.migrateTrace = !0),
s.migrateReset = function() {
o = {},
s.migrateWarnings.length = 0
}
,
"BackCompat" === n.document.compatMode && u("quirks", "jQuery is not compatible with Quirks Mode");
var d, l, p, f = {}, m = s.fn.init, y = s.find, h = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, g = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g, v = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
for (d in i(s.fn, "init", function(e) {
var t = Array.prototype.slice.call(arguments);
return s.migrateIsPatchEnabled("selector-empty-id") && "string" == typeof e && "#" === e && (u("selector-empty-id", "jQuery( '#' ) is not a valid selector"),
t[0] = []),
m.apply(this, t)
}, "selector-empty-id"),
s.fn.init.prototype = s.fn,
i(s, "find", function(t) {
var r = Array.prototype.slice.call(arguments);
if ("string" == typeof t && h.test(t))
try {
n.document.querySelector(t)
} catch (e) {
t = t.replace(g, function(e, t, r, n) {
return "[" + t + r + '"' + n + '"]'
});
try {
n.document.querySelector(t),
u("selector-hash", "Attribute selector with '#' must be quoted: " + r[0]),
r[0] = t
} catch (e) {
u("selector-hash", "Attribute selector with '#' was not fixed: " + r[0])
}
}
return y.apply(this, r)
}, "selector-hash"),
y)
Object.prototype.hasOwnProperty.call(y, d) && (s.find[d] = y[d]);
c(s.fn, "size", function() {
return this.length
}, "size", "jQuery.fn.size() is deprecated and removed; use the .length property"),
c(s, "parseJSON", function() {
return JSON.parse.apply(null, arguments)
}, "parseJSON", "jQuery.parseJSON is deprecated; use JSON.parse"),
c(s, "holdReady", s.holdReady, "holdReady", "jQuery.holdReady is deprecated"),
c(s, "unique", s.uniqueSort, "unique", "jQuery.unique is deprecated; use jQuery.uniqueSort"),
r(s.expr, "filters", s.expr.pseudos, "expr-pre-pseudos", "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),
r(s.expr, ":", s.expr.pseudos, "expr-pre-pseudos", "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),
e("3.1.1") && c(s, "trim", function(e) {
return null == e ? "" : (e + "").replace(v, "$1")
}, "trim", "jQuery.trim is deprecated; use String.prototype.trim"),
e("3.2.0") && (c(s, "nodeName", function(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
}, "nodeName", "jQuery.nodeName is deprecated"),
c(s, "isArray", Array.isArray, "isArray", "jQuery.isArray is deprecated; use Array.isArray")),
e("3.3.0") && (c(s, "isNumeric", function(e) {
var t = typeof e;
return ("number" == t || "string" == t) && !isNaN(e - parseFloat(e))
}, "isNumeric", "jQuery.isNumeric() is deprecated"),
s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
f["[object " + t + "]"] = t.toLowerCase()
}),
c(s, "type", function(e) {
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? f[Object.prototype.toString.call(e)] || "object" : typeof e
}, "type", "jQuery.type is deprecated"),
c(s, "isFunction", function(e) {
return "function" == typeof e
}, "isFunction", "jQuery.isFunction() is deprecated"),
c(s, "isWindow", function(e) {
return null != e && e === e.window
}, "isWindow", "jQuery.isWindow() is deprecated")),
s.ajax && (l = s.ajax,
p = /(=)\?(?=&|$)|\?\?/,
i(s, "ajax", function() {
var e = l.apply(this, arguments);
return e.promise && (c(e, "success", e.done, "jqXHR-methods", "jQXHR.success is deprecated and removed"),
c(e, "error", e.fail, "jqXHR-methods", "jQXHR.error is deprecated and removed"),
c(e, "complete", e.always, "jqXHR-methods", "jQXHR.complete is deprecated and removed")),
e
}, "jqXHR-methods"),
e("4.0.0") || s.ajaxPrefilter("+json", function(e) {
!1 !== e.jsonp && (p.test(e.url) || "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && p.test(e.data)) && u("jsonp-promotion", "JSON-to-JSONP auto-promotion is deprecated")
}));
var j = s.fn.removeAttr
, b = s.fn.toggleClass
, w = /\S+/g;
function x(e) {
return e.replace(/-([a-z])/g, function(e, t) {
return t.toUpperCase()
})
}
i(s.fn, "removeAttr", function(e) {
var r = this
, n = !1;
return s.each(e.match(w), function(e, t) {
s.expr.match.bool.test(t) && r.each(function() {
if (!1 !== s(this).prop(t))
return !(n = !0)
}),
n && (u("removeAttr-bool", "jQuery.fn.removeAttr no longer sets boolean properties: " + t),
r.prop(t, !1))
}),
j.apply(this, arguments)
}, "removeAttr-bool"),
i(s.fn, "toggleClass", function(t) {
return void 0 !== t && "boolean" != typeof t ? b.apply(this, arguments) : (u("toggleClass-bool", "jQuery.fn.toggleClass( boolean ) is deprecated"),
this.each(function() {
var e = this.getAttribute && this.getAttribute("class") || "";
e && s.data(this, "__className__", e),
this.setAttribute && this.setAttribute("class", !e && !1 !== t && s.data(this, "__className__") || "")
}))
}, "toggleClass-bool");
var Q, A, R = !1, C = /^[a-z]/, N = /^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;
s.swap && s.each(["height", "width", "reliableMarginRight"], function(e, t) {
var r = s.cssHooks[t] && s.cssHooks[t].get;
r && (s.cssHooks[t].get = function() {
var e;
return R = !0,
e = r.apply(this, arguments),
R = !1,
e
}
)
}),
i(s, "swap", function(e, t, r, n) {
var o, a, i = {};
for (a in R || u("swap", "jQuery.swap() is undocumented and deprecated"),
t)
i[a] = e.style[a],
e.style[a] = t[a];
for (a in o = r.apply(e, n || []),
t)
e.style[a] = i[a];
return o
}, "swap"),
e("3.4.0") && "undefined" != typeof Proxy && (s.cssProps = new Proxy(s.cssProps || {},{
set: function() {
return u("cssProps", "jQuery.cssProps is deprecated"),
Reflect.set.apply(this, arguments)
}
})),
e("4.0.0") ? (A = {
animationIterationCount: !0,
columnCount: !0,
fillOpacity: !0,
flexGrow: !0,
flexShrink: !0,
fontWeight: !0,
gridArea: !0,
gridColumn: !0,
gridColumnEnd: !0,
gridColumnStart: !0,
gridRow: !0,
gridRowEnd: !0,
gridRowStart: !0,
lineHeight: !0,
opacity: !0,
order: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
"undefined" != typeof Proxy ? s.cssNumber = new Proxy(A,{
get: function() {
return u("css-number", "jQuery.cssNumber is deprecated"),
Reflect.get.apply(this, arguments)
},
set: function() {
return u("css-number", "jQuery.cssNumber is deprecated"),
Reflect.set.apply(this, arguments)
}
}) : s.cssNumber = A) : A = s.cssNumber,
Q = s.fn.css,
i(s.fn, "css", function(e, t) {
var r, n, o = this;
return e && "object" == typeof e && !Array.isArray(e) ? (s.each(e, function(e, t) {
s.fn.css.call(o, e, t)
}),
this) : ("number" == typeof t && (r = x(e),
n = r,
C.test(n) && N.test(n[0].toUpperCase() + n.slice(1)) || A[r] || u("css-number", 'Number-typed values are deprecated for jQuery.fn.css( "' + e + '", value )')),
Q.apply(this, arguments))
}, "css-number");
var S, P, k, H, E = s.data;
i(s, "data", function(e, t, r) {
var n, o, a;
if (t && "object" == typeof t && 2 === arguments.length) {
for (a in n = s.hasData(e) && E.call(this, e),
o = {},
t)
a !== x(a) ? (u("data-camelCase", "jQuery.data() always sets/gets camelCased names: " + a),
n[a] = t[a]) : o[a] = t[a];
return E.call(this, e, o),
t
}
return t && "string" == typeof t && t !== x(t) && (n = s.hasData(e) && E.call(this, e)) && t in n ? (u("data-camelCase", "jQuery.data() always sets/gets camelCased names: " + t),
2 < arguments.length && (n[t] = r),
n[t]) : E.apply(this, arguments)
}, "data-camelCase"),
s.fx && (k = s.Tween.prototype.run,
H = function(e) {
return e
}
,
i(s.Tween.prototype, "run", function() {
1 < s.easing[this.easing].length && (u("easing-one-arg", "'jQuery.easing." + this.easing.toString() + "' should use only one argument"),
s.easing[this.easing] = H),
k.apply(this, arguments)
}, "easing-one-arg"),
S = s.fx.interval,
P = "jQuery.fx.interval is deprecated",
n.requestAnimationFrame && Object.defineProperty(s.fx, "interval", {
configurable: !0,
enumerable: !0,
get: function() {
return n.document.hidden || u("fx-interval", P),
s.migrateIsPatchEnabled("fx-interval") && void 0 === S ? 13 : S
},
set: function(e) {
u("fx-interval", P),
S = e
}
}));
var M = s.fn.load
, q = s.event.add
, O = s.event.fix;
s.event.props = [],
s.event.fixHooks = {},
r(s.event.props, "concat", s.event.props.concat, "event-old-patch", "jQuery.event.props.concat() is deprecated and removed"),
i(s.event, "fix", function(e) {
var t, r = e.type, n = this.fixHooks[r], o = s.event.props;
if (o.length) {
u("event-old-patch", "jQuery.event.props are deprecated and removed: " + o.join());
while (o.length)
s.event.addProp(o.pop())
}
if (n && !n._migrated_ && (n._migrated_ = !0,
u("event-old-patch", "jQuery.event.fixHooks are deprecated and removed: " + r),
(o = n.props) && o.length))
while (o.length)
s.event.addProp(o.pop());
return t = O.call(this, e),
n && n.filter ? n.filter(t, e) : t
}, "event-old-patch"),
i(s.event, "add", function(e, t) {
return e === n && "load" === t && "complete" === n.document.readyState && u("load-after-event", "jQuery(window).on('load'...) called after load event occurred"),
q.apply(this, arguments)
}, "load-after-event"),
s.each(["load", "unload", "error"], function(e, t) {
i(s.fn, t, function() {
var e = Array.prototype.slice.call(arguments, 0);
return "load" === t && "string" == typeof e[0] ? M.apply(this, e) : (u("shorthand-removed-v3", "jQuery.fn." + t + "() is deprecated"),
e.splice(0, 0, t),
arguments.length ? this.on.apply(this, e) : (this.triggerHandler.apply(this, e),
this))
}, "shorthand-removed-v3")
}),
s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e, r) {
c(s.fn, r, function(e, t) {
return 0 < arguments.length ? this.on(r, null, e, t) : this.trigger(r)
}, "shorthand-deprecated-v3", "jQuery.fn." + r + "() event shorthand is deprecated")
}),
s(function() {
s(n.document).triggerHandler("ready")
}),
s.event.special.ready = {
setup: function() {
this === n.document && u("ready-event", "'ready' event is deprecated")
}
},
c(s.fn, "bind", function(e, t, r) {
return this.on(e, null, t, r)
}, "pre-on-methods", "jQuery.fn.bind() is deprecated"),
c(s.fn, "unbind", function(e, t) {
return this.off(e, null, t)
}, "pre-on-methods", "jQuery.fn.unbind() is deprecated"),
c(s.fn, "delegate", function(e, t, r, n) {
return this.on(t, e, r, n)
}, "pre-on-methods", "jQuery.fn.delegate() is deprecated"),
c(s.fn, "undelegate", function(e, t, r) {
return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", r)
}, "pre-on-methods", "jQuery.fn.undelegate() is deprecated"),
c(s.fn, "hover", function(e, t) {
return this.on("mouseenter", e).on("mouseleave", t || e)
}, "pre-on-methods", "jQuery.fn.hover() is deprecated");
function T(e) {
var t = n.document.implementation.createHTMLDocument("");
return t.body.innerHTML = e,
t.body && t.body.innerHTML
}
var F = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi;
s.UNSAFE_restoreLegacyHtmlPrefilter = function() {
s.migrateEnablePatches("self-closed-tags")
}
,
i(s, "htmlPrefilter", function(e) {
var t, r;
return (r = (t = e).replace(F, "<$1></$2>")) !== t && T(t) !== T(r) && u("self-closed-tags", "HTML tags must be properly nested and closed: " + t),
e.replace(F, "<$1></$2>")
}, "self-closed-tags"),
s.migrateDisablePatches("self-closed-tags");
var D, W, _, I = s.fn.offset;
return i(s.fn, "offset", function() {
var e = this[0];
return !e || e.nodeType && e.getBoundingClientRect ? I.apply(this, arguments) : (u("offset-valid-elem", "jQuery.fn.offset() requires a valid DOM element"),
arguments.length ? this : void 0)
}, "offset-valid-elem"),
s.ajax && (D = s.param,
i(s, "param", function(e, t) {
var r = s.ajaxSettings && s.ajaxSettings.traditional;
return void 0 === t && r && (u("param-ajax-traditional", "jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),
t = r),
D.call(this, e, t)
}, "param-ajax-traditional")),
c(s.fn, "andSelf", s.fn.addBack, "andSelf", "jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),
s.Deferred && (W = s.Deferred,
_ = [["resolve", "done", s.Callbacks("once memory"), s.Callbacks("once memory"), "resolved"], ["reject", "fail", s.Callbacks("once memory"), s.Callbacks("once memory"), "rejected"], ["notify", "progress", s.Callbacks("memory"), s.Callbacks("memory")]],
i(s, "Deferred", function(e) {
var a = W()
, i = a.promise();
function t() {
var o = arguments;
return s.Deferred(function(n) {
s.each(_, function(e, t) {
var r = "function" == typeof o[e] && o[e];
a[t[1]](function() {
var e = r && r.apply(this, arguments);
e && "function" == typeof e.promise ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[t[0] + "With"](this === i ? n.promise() : this, r ? [e] : arguments)
})
}),
o = null
}).promise()
}
return c(a, "pipe", t, "deferred-pipe", "deferred.pipe() is deprecated"),
c(i, "pipe", t, "deferred-pipe", "deferred.pipe() is deprecated"),
e && e.call(a, a),
a
}, "deferred-pipe"),
s.Deferred.exceptionHook = W.exceptionHook),
s
});

334
assets/javascript/jquery.blockUI.min.js vendored Normal file
View File

@@ -0,0 +1,334 @@
/*!
* jQuery blockUI plugin
* Version 2.70.0-2014.11.23
* Requires jQuery v1.7 or later
*
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007-2013 M. Alsup
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Thanks to Amir-Hossein Sobhi for some excellent contributions!
*/
!function() {
"use strict";
function e(e) {
e.fn._fadeIn = e.fn.fadeIn;
var t = e.noop || function() {}
, o = /MSIE/.test(navigator.userAgent)
, n = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent)
, i = (document.documentMode,
"function" == typeof document.createElement("div").style.setExpression && document.createElement("div").style.setExpression);
e.blockUI = function(e) {
d(window, e)
}
,
e.unblockUI = function(e) {
a(window, e)
}
,
e.growlUI = function(t, o, n, i) {
var s = e('<div class="growlUI"></div>');
t && s.append("<h1>" + t + "</h1>"),
o && s.append("<h2>" + o + "</h2>"),
n === undefined && (n = 3e3);
var l = function(t) {
t = t || {},
e.blockUI({
message: s,
fadeIn: "undefined" != typeof t.fadeIn ? t.fadeIn : 700,
fadeOut: "undefined" != typeof t.fadeOut ? t.fadeOut : 1e3,
timeout: "undefined" != typeof t.timeout ? t.timeout : n,
centerY: !1,
showOverlay: !1,
onUnblock: i,
css: e.blockUI.defaults.growlCSS
})
};
l();
s.css("opacity");
s.on("mouseover", function() {
l({
fadeIn: 0,
timeout: 3e4
});
var t = e(".blockMsg");
t.stop(),
t.fadeTo(300, 1)
}).on("mouseout", function() {
e(".blockMsg").fadeOut(1e3)
})
}
,
e.fn.block = function(t) {
if (this[0] === window)
return e.blockUI(t),
this;
var o = e.extend({}, e.blockUI.defaults, t || {});
return this.each(function() {
var t = e(this);
o.ignoreIfBlocked && t.data("blockUI.isBlocked") || t.unblock({
fadeOut: 0
})
}),
this.each(function() {
"static" == e.css(this, "position") && (this.style.position = "relative",
e(this).data("blockUI.static", !0)),
this.style.zoom = 1,
d(this, t)
})
}
,
e.fn.unblock = function(t) {
return this[0] === window ? (e.unblockUI(t),
this) : this.each(function() {
a(this, t)
})
}
,
e.blockUI.version = 2.7,
e.blockUI.defaults = {
message: "<h1>Please wait...</h1>",
title: null,
draggable: !0,
theme: !1,
css: {
padding: 0,
margin: 0,
width: "30%",
top: "40%",
left: "35%",
textAlign: "center",
color: "#000",
border: "3px solid #aaa",
backgroundColor: "#fff",
cursor: "wait"
},
themedCSS: {
width: "30%",
top: "40%",
left: "35%"
},
overlayCSS: {
backgroundColor: "#000",
opacity: .6,
cursor: "wait"
},
cursorReset: "default",
growlCSS: {
width: "350px",
top: "10px",
left: "",
right: "10px",
border: "none",
padding: "5px",
opacity: .6,
cursor: "default",
color: "#fff",
backgroundColor: "#000",
"-webkit-border-radius": "10px",
"-moz-border-radius": "10px",
"border-radius": "10px"
},
iframeSrc: /^https/i.test(window.location.href || "") ? "javascript:false" : "about:blank",
forceIframe: !1,
baseZ: 1e3,
centerX: !0,
centerY: !0,
allowBodyStretch: !0,
bindEvents: !0,
constrainTabKey: !0,
fadeIn: 200,
fadeOut: 400,
timeout: 0,
showOverlay: !0,
focusInput: !0,
focusableElements: ":input:enabled:visible",
onBlock: null,
onUnblock: null,
onOverlayClick: null,
quirksmodeOffsetHack: 4,
blockMsgClass: "blockMsg",
ignoreIfBlocked: !1
};
var s = null
, l = [];
function d(d, c) {
var u, b, h = d == window, k = c && c.message !== undefined ? c.message : undefined;
if (!(c = e.extend({}, e.blockUI.defaults, c || {})).ignoreIfBlocked || !e(d).data("blockUI.isBlocked")) {
if (c.overlayCSS = e.extend({}, e.blockUI.defaults.overlayCSS, c.overlayCSS || {}),
u = e.extend({}, e.blockUI.defaults.css, c.css || {}),
c.onOverlayClick && (c.overlayCSS.cursor = "pointer"),
b = e.extend({}, e.blockUI.defaults.themedCSS, c.themedCSS || {}),
k = k === undefined ? c.message : k,
h && s && a(window, {
fadeOut: 0
}),
k && "string" != typeof k && (k.parentNode || k.jquery)) {
var y = k.jquery ? k[0] : k
, m = {};
e(d).data("blockUI.history", m),
m.el = y,
m.parent = y.parentNode,
m.display = y.style.display,
m.position = y.style.position,
m.parent && m.parent.removeChild(y)
}
e(d).data("blockUI.onUnblock", c.onUnblock);
var g, v, I, w, U = c.baseZ;
g = o || c.forceIframe ? e('<iframe class="blockUI" style="z-index:' + U++ + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + c.iframeSrc + '"></iframe>') : e('<div class="blockUI" style="display:none"></div>'),
v = c.theme ? e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:' + U++ + ';display:none"></div>') : e('<div class="blockUI blockOverlay" style="z-index:' + U++ + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),
c.theme && h ? (w = '<div class="blockUI ' + c.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + (U + 10) + ';display:none;position:fixed">',
c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || "&nbsp;") + "</div>"),
w += '<div class="ui-widget-content ui-dialog-content"></div>',
w += "</div>") : c.theme ? (w = '<div class="blockUI ' + c.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:' + (U + 10) + ';display:none;position:absolute">',
c.title && (w += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + (c.title || "&nbsp;") + "</div>"),
w += '<div class="ui-widget-content ui-dialog-content"></div>',
w += "</div>") : w = h ? '<div class="blockUI ' + c.blockMsgClass + ' blockPage" style="z-index:' + (U + 10) + ';display:none;position:fixed"></div>' : '<div class="blockUI ' + c.blockMsgClass + ' blockElement" style="z-index:' + (U + 10) + ';display:none;position:absolute"></div>',
I = e(w),
k && (c.theme ? (I.css(b),
I.addClass("ui-widget-content")) : I.css(u)),
c.theme || v.css(c.overlayCSS),
v.css("position", h ? "fixed" : "absolute"),
(o || c.forceIframe) && g.css("opacity", 0);
var x = [g, v, I]
, C = e(h ? "body" : d);
e.each(x, function() {
this.appendTo(C)
}),
c.theme && c.draggable && e.fn.draggable && I.draggable({
handle: ".ui-dialog-titlebar",
cancel: "li"
});
var S = i && (!e.support.boxModel || e("object,embed", h ? null : d).length > 0);
if (n || S) {
if (h && c.allowBodyStretch && e.support.boxModel && e("html,body").css("height", "100%"),
(n || !e.support.boxModel) && !h)
var E = p(d, "borderTopWidth")
, O = p(d, "borderLeftWidth")
, T = E ? "(0 - " + E + ")" : 0
, M = O ? "(0 - " + O + ")" : 0;
e.each(x, function(e, t) {
var o = t[0].style;
if (o.position = "absolute",
e < 2)
h ? o.setExpression("height", "Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:" + c.quirksmodeOffsetHack + ') + "px"') : o.setExpression("height", 'this.parentNode.offsetHeight + "px"'),
h ? o.setExpression("width", 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') : o.setExpression("width", 'this.parentNode.offsetWidth + "px"'),
M && o.setExpression("left", M),
T && o.setExpression("top", T);
else if (c.centerY)
h && o.setExpression("top", '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),
o.marginTop = 0;
else if (!c.centerY && h) {
var n = "((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + " + (c.css && c.css.top ? parseInt(c.css.top, 10) : 0) + ') + "px"';
o.setExpression("top", n)
}
})
}
if (k && (c.theme ? I.find(".ui-widget-content").append(k) : I.append(k),
(k.jquery || k.nodeType) && e(k).show()),
(o || c.forceIframe) && c.showOverlay && g.show(),
c.fadeIn) {
var B = c.onBlock ? c.onBlock : t
, j = c.showOverlay && !k ? B : t
, H = k ? B : t;
c.showOverlay && v._fadeIn(c.fadeIn, j),
k && I._fadeIn(c.fadeIn, H)
} else
c.showOverlay && v.show(),
k && I.show(),
c.onBlock && c.onBlock.bind(I)();
if (r(1, d, c),
h ? (s = I[0],
l = e(c.focusableElements, s),
c.focusInput && setTimeout(f, 20)) : function(e, t, o) {
var n = e.parentNode
, i = e.style
, s = (n.offsetWidth - e.offsetWidth) / 2 - p(n, "borderLeftWidth")
, l = (n.offsetHeight - e.offsetHeight) / 2 - p(n, "borderTopWidth");
t && (i.left = s > 0 ? s + "px" : "0");
o && (i.top = l > 0 ? l + "px" : "0")
}(I[0], c.centerX, c.centerY),
c.timeout) {
var z = setTimeout(function() {
h ? e.unblockUI(c) : e(d).unblock(c)
}, c.timeout);
e(d).data("blockUI.timeout", z)
}
}
}
function a(t, o) {
var n, i, d = t == window, a = e(t), u = a.data("blockUI.history"), f = a.data("blockUI.timeout");
f && (clearTimeout(f),
a.removeData("blockUI.timeout")),
o = e.extend({}, e.blockUI.defaults, o || {}),
r(0, t, o),
null === o.onUnblock && (o.onUnblock = a.data("blockUI.onUnblock"),
a.removeData("blockUI.onUnblock")),
i = d ? e(document.body).children().filter(".blockUI").add("body > .blockUI") : a.find(">.blockUI"),
o.cursorReset && (i.length > 1 && (i[1].style.cursor = o.cursorReset),
i.length > 2 && (i[2].style.cursor = o.cursorReset)),
d && (s = l = null),
o.fadeOut ? (n = i.length,
i.stop().fadeOut(o.fadeOut, function() {
0 == --n && c(i, u, o, t)
})) : c(i, u, o, t)
}
function c(t, o, n, i) {
var s = e(i);
if (!s.data("blockUI.isBlocked")) {
t.each(function(e, t) {
this.parentNode && this.parentNode.removeChild(this)
}),
o && o.el && (o.el.style.display = o.display,
o.el.style.position = o.position,
o.el.style.cursor = "default",
o.parent && o.parent.appendChild(o.el),
s.removeData("blockUI.history")),
s.data("blockUI.static") && s.css("position", "static"),
"function" == typeof n.onUnblock && n.onUnblock(i, n);
var l = e(document.body)
, d = l.width()
, a = l[0].style.width;
l.width(d - 1).width(d),
l[0].style.width = a
}
}
function r(t, o, n) {
var i = o == window
, l = e(o);
if ((t || (!i || s) && (i || l.data("blockUI.isBlocked"))) && (l.data("blockUI.isBlocked", t),
i && n.bindEvents && (!t || n.showOverlay))) {
var d = "mousedown mouseup keydown keypress keyup touchstart touchend touchmove";
t ? e(document).on(d, n, u) : e(document).off(d, u)
}
}
function u(t) {
if ("keydown" === t.type && t.keyCode && 9 == t.keyCode && s && t.data.constrainTabKey) {
var o = l
, n = !t.shiftKey && t.target === o[o.length - 1]
, i = t.shiftKey && t.target === o[0];
if (n || i)
return setTimeout(function() {
f(i)
}, 10),
!1
}
var d = t.data
, a = e(t.target);
return a.hasClass("blockOverlay") && d.onOverlayClick && d.onOverlayClick(t),
a.parents("div." + d.blockMsgClass).length > 0 || 0 === a.parents().children().filter("div.blockUI").length
}
function f(e) {
if (l) {
var t = l[!0 === e ? l.length - 1 : 0];
t && t.trigger("focus")
}
}
function p(t, o) {
return parseInt(e.css(t, o), 10) || 0
}
}
"function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], e) : e(jQuery)
}();

57
assets/javascript/jquery.cookie.min.js vendored Normal file
View File

@@ -0,0 +1,57 @@
/*!
* jQuery Cookie Plugin v1.4.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
!function(e) {
"function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? e(require("jquery")) : e(jQuery)
}(function(e) {
var n = /\+/g;
function o(e) {
return r.raw ? e : encodeURIComponent(e)
}
function i(e, o) {
var i = r.raw ? e : function(e) {
0 === e.indexOf('"') && (e = e.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\"));
try {
return e = decodeURIComponent(e.replace(n, " ")),
r.json ? JSON.parse(e) : e
} catch (o) {}
}(e);
return "function" == typeof o ? o(i) : i
}
var r = e.cookie = function(n, t, u) {
if (t !== undefined && "function" != typeof t) {
if ("number" == typeof (u = e.extend({}, r.defaults, u)).expires) {
var c = u.expires
, f = u.expires = new Date;
f.setTime(+f + 864e5 * c)
}
return document.cookie = [o(n), "=", function(e) {
return o(r.json ? JSON.stringify(e) : String(e))
}(t), u.expires ? "; expires=" + u.expires.toUTCString() : "", u.path ? "; path=" + u.path : "", u.domain ? "; domain=" + u.domain : "", u.secure ? "; secure" : ""].join("")
}
for (var d, a = n ? undefined : {}, p = document.cookie ? document.cookie.split("; ") : [], s = 0, m = p.length; s < m; s++) {
var x = p[s].split("=")
, y = (d = x.shift(),
r.raw ? d : decodeURIComponent(d))
, k = x.join("=");
if (n && n === y) {
a = i(k, t);
break
}
n || (k = i(k)) === undefined || (a[y] = k)
}
return a
}
;
r.defaults = {},
e.removeCookie = function(n, o) {
return e.cookie(n) !== undefined && (e.cookie(n, "", e.extend({}, o, {
expires: -1
})),
!e.cookie(n))
}
});

201
assets/javascript/jquery.marquee.min.js vendored Normal file
View File

@@ -0,0 +1,201 @@
/**
* jQuery.marquee - scrolling text like old marquee element
* @author Aamir Afridi - aamirafridi(at)gmail(dot)com / http://aamirafridi.com/jquery/jquery-marquee-plugin
*/
(function(f) {
f.fn.marquee = function(x) {
return this.each(function() {
var a = f.extend({}, f.fn.marquee.defaults, x), b = f(this), c, t, e = 3, y = "animation-play-state", p = !1, E = function(a, b, c) {
for (var e = ["webkit", "moz", "MS", "o", ""], d = 0; d < e.length; d++)
e[d] || (b = b.toLowerCase()),
a.addEventListener(e[d] + b, c, !1)
}, F = function(a) {
var b = [], c;
for (c in a)
a.hasOwnProperty(c) && b.push(c + ":" + a[c]);
b.push();
return "{" + b.join(",") + "}"
}, l = {
pause: function() {
p && a.allowCss3Support ? c.css(y, "paused") : f.fn.pause && c.pause();
b.data("runningStatus", "paused");
b.trigger("paused")
},
resume: function() {
p && a.allowCss3Support ? c.css(y, "running") : f.fn.resume && c.resume();
b.data("runningStatus", "resumed");
b.trigger("resumed")
},
toggle: function() {
l["resumed" == b.data("runningStatus") ? "pause" : "resume"]()
},
destroy: function() {
clearTimeout(b.timer);
b.find("*").addBack().unbind();
b.html(b.find(".js-marquee:first").html())
}
};
if ("string" === typeof x)
f.isFunction(l[x]) && (c || (c = b.find(".js-marquee-wrapper")),
!0 === b.data("css3AnimationIsSupported") && (p = !0),
l[x]());
else {
var u;
f.each(a, function(c, d) {
u = b.attr("data-" + c);
if ("undefined" !== typeof u) {
switch (u) {
case "true":
u = !0;
break;
case "false":
u = !1
}
a[c] = u
}
});
a.speed && (a.duration = parseInt(b.width(), 10) / a.speed * 1E3);
var v = "up" == a.direction || "down" == a.direction;
a.gap = a.duplicated ? parseInt(a.gap) : 0;
b.wrapInner('<div class="js-marquee"></div>');
var h = b.find(".js-marquee").css({
"margin-right": a.gap,
"float": "left"
});
a.duplicated && h.clone(!0).appendTo(b);
b.wrapInner('<div style="width:100000px" class="js-marquee-wrapper"></div>');
c = b.find(".js-marquee-wrapper");
if (v) {
var k = b.height();
c.removeAttr("style");
b.height(k);
b.find(".js-marquee").css({
"float": "none",
"margin-bottom": a.gap,
"margin-right": 0
});
a.duplicated && b.find(".js-marquee:last").css({
"margin-bottom": 0
});
var q = b.find(".js-marquee:first").height() + a.gap;
a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10) * a.duration,
a.duration *= parseInt(q, 10) / parseInt(k, 10)) : a.duration *= (parseInt(q, 10) + parseInt(k, 10)) / parseInt(k, 10)
} else {
var m = b.find(".js-marquee:first").width() + a.gap;
var n = b.width();
a.startVisible && !a.duplicated ? (a._completeDuration = (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10) * a.duration,
a.duration *= parseInt(m, 10) / parseInt(n, 10)) : a.duration *= (parseInt(m, 10) + parseInt(n, 10)) / parseInt(n, 10)
}
a.duplicated && (a.duration /= 2);
if (a.allowCss3Support) {
h = document.body || document.createElement("div");
var g = "marqueeAnimation-" + Math.floor(1E7 * Math.random())
, A = ["Webkit", "Moz", "O", "ms", "Khtml"]
, B = "animation"
, d = ""
, r = "";
h.style.animation && (r = "@keyframes " + g + " ",
p = !0);
if (!1 === p)
for (var z = 0; z < A.length; z++)
if (void 0 !== h.style[A[z] + "AnimationName"]) {
h = "-" + A[z].toLowerCase() + "-";
B = h + B;
y = h + y;
r = "@" + h + "keyframes " + g + " ";
p = !0;
break
}
p && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s infinite " + a.css3easing,
b.data("css3AnimationIsSupported", !0))
}
var C = function() {
c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + q + "px") + ")")
}
, D = function() {
c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + m + "px") + ")")
};
a.duplicated ? (v ? a.startVisible ? c.css("transform", "translateY(0)") : c.css("transform", "translateY(" + ("up" == a.direction ? k + "px" : "-" + (2 * q - a.gap) + "px") + ")") : a.startVisible ? c.css("transform", "translateX(0)") : c.css("transform", "translateX(" + ("left" == a.direction ? n + "px" : "-" + (2 * m - a.gap) + "px") + ")"),
a.startVisible || (e = 1)) : a.startVisible ? e = 2 : v ? C() : D();
var w = function() {
a.duplicated && (1 === e ? (a._originalDuration = a.duration,
a.duration = v ? "up" == a.direction ? a.duration + k / (q / a.duration) : 2 * a.duration : "left" == a.direction ? a.duration + n / (m / a.duration) : 2 * a.duration,
d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing),
e++) : 2 === e && (a.duration = a._originalDuration,
d && (g += "0",
r = f.trim(r) + "0 ",
d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing),
e++));
v ? a.duplicated ? (2 < e && c.css("transform", "translateY(" + ("up" == a.direction ? 0 : "-" + q + "px") + ")"),
t = {
transform: "translateY(" + ("up" == a.direction ? "-" + q + "px" : 0) + ")"
}) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing),
t = {
transform: "translateY(" + ("up" == a.direction ? "-" + q + "px" : k + "px") + ")"
},
e++) : 3 === e && (a.duration = a._completeDuration,
d && (g += "0",
r = f.trim(r) + "0 ",
d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing),
C()) : (C(),
t = {
transform: "translateY(" + ("up" == a.direction ? "-" + c.height() + "px" : k + "px") + ")"
}) : a.duplicated ? (2 < e && c.css("transform", "translateX(" + ("left" == a.direction ? 0 : "-" + m + "px") + ")"),
t = {
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : 0) + ")"
}) : a.startVisible ? 2 === e ? (d && (d = g + " " + a.duration / 1E3 + "s " + a.delayBeforeStart / 1E3 + "s " + a.css3easing),
t = {
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")"
},
e++) : 3 === e && (a.duration = a._completeDuration,
d && (g += "0",
r = f.trim(r) + "0 ",
d = g + " " + a.duration / 1E3 + "s 0s infinite " + a.css3easing),
D()) : (D(),
t = {
transform: "translateX(" + ("left" == a.direction ? "-" + m + "px" : n + "px") + ")"
});
b.trigger("beforeStarting");
if (p) {
c.css(B, d);
var h = r + " { 100% " + F(t) + "}"
, l = c.find("style");
0 !== l.length ? l.filter(":last").html(h) : f("head").append("<style>" + h + "</style>");
E(c[0], "AnimationIteration", function() {
b.trigger("finished")
});
E(c[0], "AnimationEnd", function() {
w();
b.trigger("finished")
})
} else
c.animate(t, a.duration, a.easing, function() {
b.trigger("finished");
a.pauseOnCycle ? b.timer = setTimeout(w, a.delayBeforeStart) : w()
});
b.data("runningStatus", "resumed")
};
b.bind("pause", l.pause);
b.bind("resume", l.resume);
a.pauseOnHover && (b.bind("mouseenter", l.pause),
b.bind("mouseleave", l.resume));
p && a.allowCss3Support ? w() : b.timer = setTimeout(w, a.delayBeforeStart)
}
})
}
;
f.fn.marquee.defaults = {
allowCss3Support: !0,
css3easing: "linear",
easing: "linear",
delayBeforeStart: 1E3,
direction: "left",
duplicated: !1,
duration: 5E3,
gap: 20,
pauseOnCycle: !1,
pauseOnHover: !1,
startVisible: !1
}
}
)(jQuery);

4147
assets/javascript/jquery.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

842
assets/javascript/jquery.validate.min.js vendored Normal file
View File

@@ -0,0 +1,842 @@
/*! jQuery Validation Plugin - v1.21.0 - 7/17/2024
* https://jqueryvalidation.org/
* Copyright (c) 2024 Jörn Zaefferer; Licensed MIT */
!function(a) {
"function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof module && module.exports ? module.exports = a(require("jquery")) : a(jQuery)
}(function(a) {
a.extend(a.fn, {
validate: function(b) {
if (!this.length)
return void (b && b.debug && window.console && console.warn("Nothing selected, can't validate, returning nothing."));
var c = a.data(this[0], "validator");
return c ? c : (this.attr("novalidate", "novalidate"),
c = new a.validator(b,this[0]),
a.data(this[0], "validator", c),
c.settings.onsubmit && (this.on("click.validate", ":submit", function(b) {
c.submitButton = b.currentTarget,
a(this).hasClass("cancel") && (c.cancelSubmit = !0),
void 0 !== a(this).attr("formnovalidate") && (c.cancelSubmit = !0)
}),
this.on("submit.validate", function(b) {
function d() {
var d, e;
return c.submitButton && (c.settings.submitHandler || c.formSubmitted) && (d = a("<input type='hidden'/>").attr("name", c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),
!(c.settings.submitHandler && !c.settings.debug) || (e = c.settings.submitHandler.call(c, c.currentForm, b),
d && d.remove(),
void 0 !== e && e)
}
return c.settings.debug && b.preventDefault(),
c.cancelSubmit ? (c.cancelSubmit = !1,
d()) : c.form() ? c.pendingRequest ? (c.formSubmitted = !0,
!1) : d() : (c.focusInvalid(),
!1)
})),
c)
},
valid: function() {
var b, c, d;
return a(this[0]).is("form") ? b = this.validate().form() : (d = [],
b = !0,
c = a(this[0].form).validate(),
this.each(function() {
b = c.element(this) && b,
b || (d = d.concat(c.errorList))
}),
c.errorList = d),
b
},
rules: function(b, c) {
var d, e, f, g, h, i, j = this[0], k = "undefined" != typeof this.attr("contenteditable") && "false" !== this.attr("contenteditable");
if (null != j && (!j.form && k && (j.form = this.closest("form")[0],
j.name = this.attr("name")),
null != j.form)) {
if (b)
switch (d = a.data(j.form, "validator").settings,
e = d.rules,
f = a.validator.staticRules(j),
b) {
case "add":
a.extend(f, a.validator.normalizeRule(c)),
delete f.messages,
e[j.name] = f,
c.messages && (d.messages[j.name] = a.extend(d.messages[j.name], c.messages));
break;
case "remove":
return c ? (i = {},
a.each(c.split(/\s/), function(a, b) {
i[b] = f[b],
delete f[b]
}),
i) : (delete e[j.name],
f)
}
return g = a.validator.normalizeRules(a.extend({}, a.validator.classRules(j), a.validator.attributeRules(j), a.validator.dataRules(j), a.validator.staticRules(j)), j),
g.required && (h = g.required,
delete g.required,
g = a.extend({
required: h
}, g)),
g.remote && (h = g.remote,
delete g.remote,
g = a.extend(g, {
remote: h
})),
g
}
}
});
var b = function(a) {
return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")
};
a.extend(a.expr.pseudos || a.expr[":"], {
blank: function(c) {
return !b("" + a(c).val())
},
filled: function(c) {
var d = a(c).val();
return null !== d && !!b("" + d)
},
unchecked: function(b) {
return !a(b).prop("checked")
}
}),
a.validator = function(b, c) {
this.settings = a.extend(!0, {}, a.validator.defaults, b),
this.currentForm = c,
this.init()
}
,
a.validator.format = function(b, c) {
return 1 === arguments.length ? function() {
var c = a.makeArray(arguments);
return c.unshift(b),
a.validator.format.apply(this, c)
}
: void 0 === c ? b : (arguments.length > 2 && c.constructor !== Array && (c = a.makeArray(arguments).slice(1)),
c.constructor !== Array && (c = [c]),
a.each(c, function(a, c) {
b = b.replace(new RegExp("\\{" + a + "\\}","g"), function() {
return c
})
}),
b)
}
,
a.extend(a.validator, {
defaults: {
messages: {},
groups: {},
rules: {},
errorClass: "error",
pendingClass: "pending",
validClass: "valid",
errorElement: "label",
focusCleanup: !1,
focusInvalid: !0,
errorContainer: a([]),
errorLabelContainer: a([]),
onsubmit: !0,
ignore: ":hidden",
ignoreTitle: !1,
customElements: [],
onfocusin: function(a) {
this.lastActive = a,
this.settings.focusCleanup && (this.settings.unhighlight && this.settings.unhighlight.call(this, a, this.settings.errorClass, this.settings.validClass),
this.hideThese(this.errorsFor(a)))
},
onfocusout: function(a) {
this.checkable(a) || !(a.name in this.submitted) && this.optional(a) || this.element(a)
},
onkeyup: function(b, c) {
var d = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225];
9 === c.which && "" === this.elementValue(b) || a.inArray(c.keyCode, d) !== -1 || (b.name in this.submitted || b.name in this.invalid) && this.element(b)
},
onclick: function(a) {
a.name in this.submitted ? this.element(a) : a.parentNode.name in this.submitted && this.element(a.parentNode)
},
highlight: function(b, c, d) {
"radio" === b.type ? this.findByName(b.name).addClass(c).removeClass(d) : a(b).addClass(c).removeClass(d)
},
unhighlight: function(b, c, d) {
"radio" === b.type ? this.findByName(b.name).removeClass(c).addClass(d) : a(b).removeClass(c).addClass(d)
}
},
setDefaults: function(b) {
a.extend(a.validator.defaults, b)
},
messages: {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
number: "Please enter a valid number.",
digits: "Please enter only digits.",
equalTo: "Please enter the same value again.",
maxlength: a.validator.format("Please enter no more than {0} characters."),
minlength: a.validator.format("Please enter at least {0} characters."),
rangelength: a.validator.format("Please enter a value between {0} and {1} characters long."),
range: a.validator.format("Please enter a value between {0} and {1}."),
max: a.validator.format("Please enter a value less than or equal to {0}."),
min: a.validator.format("Please enter a value greater than or equal to {0}."),
step: a.validator.format("Please enter a multiple of {0}.")
},
autoCreateRanges: !1,
prototype: {
init: function() {
function b(b) {
var c = "undefined" != typeof a(this).attr("contenteditable") && "false" !== a(this).attr("contenteditable");
if (!this.form && c && (this.form = a(this).closest("form")[0],
this.name = a(this).attr("name")),
d === this.form) {
var e = a.data(this.form, "validator")
, f = "on" + b.type.replace(/^validate/, "")
, g = e.settings;
g[f] && !a(this).is(g.ignore) && g[f].call(e, this, b)
}
}
this.labelContainer = a(this.settings.errorLabelContainer),
this.errorContext = this.labelContainer.length && this.labelContainer || a(this.currentForm),
this.containers = a(this.settings.errorContainer).add(this.settings.errorLabelContainer),
this.submitted = {},
this.valueCache = {},
this.pendingRequest = 0,
this.pending = {},
this.invalid = {},
this.reset();
var c, d = this.currentForm, e = this.groups = {};
a.each(this.settings.groups, function(b, c) {
"string" == typeof c && (c = c.split(/\s/)),
a.each(c, function(a, c) {
e[c] = b
})
}),
c = this.settings.rules,
a.each(c, function(b, d) {
c[b] = a.validator.normalizeRule(d)
});
var f = [":text", "[type='password']", "[type='file']", "select", "textarea", "[type='number']", "[type='search']", "[type='tel']", "[type='url']", "[type='email']", "[type='datetime']", "[type='date']", "[type='month']", "[type='week']", "[type='time']", "[type='datetime-local']", "[type='range']", "[type='color']", "[type='radio']", "[type='checkbox']", "[contenteditable]", "[type='button']"]
, g = ["select", "option", "[type='radio']", "[type='checkbox']"];
a(this.currentForm).on("focusin.validate focusout.validate keyup.validate", f.concat(this.settings.customElements).join(", "), b).on("click.validate", g.concat(this.settings.customElements).join(", "), b),
this.settings.invalidHandler && a(this.currentForm).on("invalid-form.validate", this.settings.invalidHandler)
},
form: function() {
return this.checkForm(),
a.extend(this.submitted, this.errorMap),
this.invalid = a.extend({}, this.errorMap),
this.valid() || a(this.currentForm).triggerHandler("invalid-form", [this]),
this.showErrors(),
this.valid()
},
checkForm: function() {
this.prepareForm();
for (var a = 0, b = this.currentElements = this.elements(); b[a]; a++)
this.check(b[a]);
return this.valid()
},
element: function(b) {
var c, d, e = this.clean(b), f = this.validationTargetFor(e), g = this, h = !0;
return void 0 === f ? delete this.invalid[e.name] : (this.prepareElement(f),
this.currentElements = a(f),
d = this.groups[f.name],
d && a.each(this.groups, function(a, b) {
b === d && a !== f.name && (e = g.validationTargetFor(g.clean(g.findByName(a))),
e && e.name in g.invalid && (g.currentElements.push(e),
h = g.check(e) && h))
}),
c = this.check(f) !== !1,
h = h && c,
c ? this.invalid[f.name] = !1 : this.invalid[f.name] = !0,
this.numberOfInvalids() || (this.toHide = this.toHide.add(this.containers)),
this.showErrors(),
a(b).attr("aria-invalid", !c)),
h
},
showErrors: function(b) {
if (b) {
var c = this;
a.extend(this.errorMap, b),
this.errorList = a.map(this.errorMap, function(a, b) {
return {
message: a,
element: c.findByName(b)[0]
}
}),
this.successList = a.grep(this.successList, function(a) {
return !(a.name in b)
})
}
this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors()
},
resetForm: function() {
a.fn.resetForm && a(this.currentForm).resetForm(),
this.invalid = {},
this.submitted = {},
this.prepareForm(),
this.hideErrors();
var b = this.elements().removeData("previousValue").removeAttr("aria-invalid");
this.resetElements(b)
},
resetElements: function(a) {
var b;
if (this.settings.unhighlight)
for (b = 0; a[b]; b++)
this.settings.unhighlight.call(this, a[b], this.settings.errorClass, ""),
this.findByName(a[b].name).removeClass(this.settings.validClass);
else
a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)
},
numberOfInvalids: function() {
return this.objectLength(this.invalid)
},
objectLength: function(a) {
var b, c = 0;
for (b in a)
void 0 !== a[b] && null !== a[b] && a[b] !== !1 && c++;
return c
},
hideErrors: function() {
this.hideThese(this.toHide)
},
hideThese: function(a) {
a.not(this.containers).text(""),
this.addWrapper(a).hide()
},
valid: function() {
return 0 === this.size()
},
size: function() {
return this.errorList.length
},
focusInvalid: function() {
if (this.settings.focusInvalid)
try {
a(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").trigger("focus").trigger("focusin")
} catch (b) {}
},
findLastActive: function() {
var b = this.lastActive;
return b && 1 === a.grep(this.errorList, function(a) {
return a.element.name === b.name
}).length && b
},
elements: function() {
var b = this
, c = {}
, d = ["input", "select", "textarea", "[contenteditable]"];
return a(this.currentForm).find(d.concat(this.settings.customElements).join(", ")).not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function() {
var d = this.name || a(this).attr("name")
, e = "undefined" != typeof a(this).attr("contenteditable") && "false" !== a(this).attr("contenteditable");
return !d && b.settings.debug && window.console && console.error("%o has no name assigned", this),
e && (this.form = a(this).closest("form")[0],
this.name = d),
this.form === b.currentForm && (!(d in c || !b.objectLength(a(this).rules())) && (c[d] = !0,
!0))
})
},
clean: function(b) {
return a(b)[0]
},
errors: function() {
var b = this.settings.errorClass.split(" ").join(".");
return a(this.settings.errorElement + "." + b, this.errorContext)
},
resetInternals: function() {
this.successList = [],
this.errorList = [],
this.errorMap = {},
this.toShow = a([]),
this.toHide = a([])
},
reset: function() {
this.resetInternals(),
this.currentElements = a([])
},
prepareForm: function() {
this.reset(),
this.toHide = this.errors().add(this.containers)
},
prepareElement: function(a) {
this.reset(),
this.toHide = this.errorsFor(a)
},
elementValue: function(b) {
var c, d, e = a(b), f = b.type, g = "undefined" != typeof e.attr("contenteditable") && "false" !== e.attr("contenteditable");
return "radio" === f || "checkbox" === f ? this.findByName(b.name).filter(":checked").val() : "number" === f && "undefined" != typeof b.validity ? b.validity.badInput ? "NaN" : e.val() : (c = g ? e.text() : e.val(),
"file" === f ? "C:\\fakepath\\" === c.substr(0, 12) ? c.substr(12) : (d = c.lastIndexOf("/"),
d >= 0 ? c.substr(d + 1) : (d = c.lastIndexOf("\\"),
d >= 0 ? c.substr(d + 1) : c)) : "string" == typeof c ? c.replace(/\r/g, "") : c)
},
check: function(b) {
b = this.validationTargetFor(this.clean(b));
var c, d, e, f, g = a(b).rules(), h = a.map(g, function(a, b) {
return b
}).length, i = !1, j = this.elementValue(b);
this.abortRequest(b),
"function" == typeof g.normalizer ? f = g.normalizer : "function" == typeof this.settings.normalizer && (f = this.settings.normalizer),
f && (j = f.call(b, j),
delete g.normalizer);
for (d in g) {
e = {
method: d,
parameters: g[d]
};
try {
if (c = a.validator.methods[d].call(this, j, b, e.parameters),
"dependency-mismatch" === c && 1 === h) {
i = !0;
continue
}
if (i = !1,
"pending" === c)
return void (this.toHide = this.toHide.not(this.errorsFor(b)));
if (!c)
return this.formatAndAdd(b, e),
!1
} catch (k) {
throw this.settings.debug && window.console && console.log("Exception occurred when checking element " + b.id + ", check the '" + e.method + "' method.", k),
k instanceof TypeError && (k.message += ". Exception occurred when checking element " + b.id + ", check the '" + e.method + "' method."),
k
}
}
if (!i)
return this.objectLength(g) && this.successList.push(b),
!0
},
customDataMessage: function(b, c) {
return a(b).data("msg" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()) || a(b).data("msg")
},
customMessage: function(a, b) {
var c = this.settings.messages[a];
return c && (c.constructor === String ? c : c[b])
},
findDefined: function() {
for (var a = 0; a < arguments.length; a++)
if (void 0 !== arguments[a])
return arguments[a]
},
defaultMessage: function(b, c) {
"string" == typeof c && (c = {
method: c
});
var d = this.findDefined(this.customMessage(b.name, c.method), this.customDataMessage(b, c.method), !this.settings.ignoreTitle && b.title || void 0, a.validator.messages[c.method], "<strong>Warning: No message defined for " + b.name + "</strong>")
, e = /\$?\{(\d+)\}/g;
return "function" == typeof d ? d = d.call(this, c.parameters, b) : e.test(d) && (d = a.validator.format(d.replace(e, "{$1}"), c.parameters)),
d
},
formatAndAdd: function(a, b) {
var c = this.defaultMessage(a, b);
this.errorList.push({
message: c,
element: a,
method: b.method
}),
this.errorMap[a.name] = c,
this.submitted[a.name] = c
},
addWrapper: function(a) {
return this.settings.wrapper && (a = a.add(a.parent(this.settings.wrapper))),
a
},
defaultShowErrors: function() {
var a, b, c;
for (a = 0; this.errorList[a]; a++)
c = this.errorList[a],
this.settings.highlight && this.settings.highlight.call(this, c.element, this.settings.errorClass, this.settings.validClass),
this.showLabel(c.element, c.message);
if (this.errorList.length && (this.toShow = this.toShow.add(this.containers)),
this.settings.success)
for (a = 0; this.successList[a]; a++)
this.showLabel(this.successList[a]);
if (this.settings.unhighlight)
for (a = 0,
b = this.validElements(); b[a]; a++)
this.settings.unhighlight.call(this, b[a], this.settings.errorClass, this.settings.validClass);
this.toHide = this.toHide.not(this.toShow),
this.hideErrors(),
this.addWrapper(this.toShow).show()
},
validElements: function() {
return this.currentElements.not(this.invalidElements())
},
invalidElements: function() {
return a(this.errorList).map(function() {
return this.element
})
},
showLabel: function(b, c) {
var d, e, f, g, h = this.errorsFor(b), i = this.idOrName(b), j = a(b).attr("aria-describedby");
h.length ? (h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),
this.settings && this.settings.escapeHtml ? h.text(c || "") : h.html(c || "")) : (h = a("<" + this.settings.errorElement + ">").attr("id", i + "-error").addClass(this.settings.errorClass),
this.settings && this.settings.escapeHtml ? h.text(c || "") : h.html(c || ""),
d = h,
this.settings.wrapper && (d = h.hide().show().wrap("<" + this.settings.wrapper + "/>").parent()),
this.labelContainer.length ? this.labelContainer.append(d) : this.settings.errorPlacement ? this.settings.errorPlacement.call(this, d, a(b)) : d.insertAfter(b),
h.is("label") ? h.attr("for", i) : 0 === h.parents("label[for='" + this.escapeCssMeta(i) + "']").length && (f = h.attr("id"),
j ? j.match(new RegExp("\\b" + this.escapeCssMeta(f) + "\\b")) || (j += " " + f) : j = f,
a(b).attr("aria-describedby", j),
e = this.groups[b.name],
e && (g = this,
a.each(g.groups, function(b, c) {
c === e && a("[name='" + g.escapeCssMeta(b) + "']", g.currentForm).attr("aria-describedby", h.attr("id"))
})))),
!c && this.settings.success && (h.text(""),
"string" == typeof this.settings.success ? h.addClass(this.settings.success) : this.settings.success(h, b)),
this.toShow = this.toShow.add(h)
},
errorsFor: function(b) {
var c = this.escapeCssMeta(this.idOrName(b))
, d = a(b).attr("aria-describedby")
, e = "label[for='" + c + "'], label[for='" + c + "'] *";
return d && (e = e + ", #" + this.escapeCssMeta(d).replace(/\s+/g, ", #")),
this.errors().filter(e)
},
escapeCssMeta: function(a) {
return void 0 === a ? "" : a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g, "\\$1")
},
idOrName: function(a) {
return this.groups[a.name] || (this.checkable(a) ? a.name : a.id || a.name)
},
validationTargetFor: function(b) {
return this.checkable(b) && (b = this.findByName(b.name)),
a(b).not(this.settings.ignore)[0]
},
checkable: function(a) {
return /radio|checkbox/i.test(a.type)
},
findByName: function(b) {
return a(this.currentForm).find("[name='" + this.escapeCssMeta(b) + "']")
},
getLength: function(b, c) {
switch (c.nodeName.toLowerCase()) {
case "select":
return a("option:selected", c).length;
case "input":
if (this.checkable(c))
return this.findByName(c.name).filter(":checked").length
}
return b.length
},
depend: function(a, b) {
return !this.dependTypes[typeof a] || this.dependTypes[typeof a](a, b)
},
dependTypes: {
"boolean": function(a) {
return a
},
string: function(b, c) {
return !!a(b, c.form).length
},
"function": function(a, b) {
return a(b)
}
},
optional: function(b) {
var c = this.elementValue(b);
return !a.validator.methods.required.call(this, c, b) && "dependency-mismatch"
},
elementAjaxPort: function(a) {
return "validate" + a.name
},
startRequest: function(b) {
this.pending[b.name] || (this.pendingRequest++,
a(b).addClass(this.settings.pendingClass),
this.pending[b.name] = !0)
},
stopRequest: function(b, c) {
this.pendingRequest--,
this.pendingRequest < 0 && (this.pendingRequest = 0),
delete this.pending[b.name],
a(b).removeClass(this.settings.pendingClass),
c && 0 === this.pendingRequest && this.formSubmitted && this.form() && 0 === this.pendingRequest ? (a(this.currentForm).trigger("submit"),
this.submitButton && a("input:hidden[name='" + this.submitButton.name + "']", this.currentForm).remove(),
this.formSubmitted = !1) : !c && 0 === this.pendingRequest && this.formSubmitted && (a(this.currentForm).triggerHandler("invalid-form", [this]),
this.formSubmitted = !1)
},
abortRequest: function(b) {
var c;
this.pending[b.name] && (c = this.elementAjaxPort(b),
a.ajaxAbort(c),
this.pendingRequest--,
this.pendingRequest < 0 && (this.pendingRequest = 0),
delete this.pending[b.name],
a(b).removeClass(this.settings.pendingClass))
},
previousValue: function(b, c) {
return c = "string" == typeof c && c || "remote",
a.data(b, "previousValue") || a.data(b, "previousValue", {
old: null,
valid: !0,
message: this.defaultMessage(b, {
method: c
})
})
},
destroy: function() {
this.resetForm(),
a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")
}
},
classRuleSettings: {
required: {
required: !0
},
email: {
email: !0
},
url: {
url: !0
},
date: {
date: !0
},
dateISO: {
dateISO: !0
},
number: {
number: !0
},
digits: {
digits: !0
},
creditcard: {
creditcard: !0
}
},
addClassRules: function(b, c) {
b.constructor === String ? this.classRuleSettings[b] = c : a.extend(this.classRuleSettings, b)
},
classRules: function(b) {
var c = {}
, d = a(b).attr("class");
return d && a.each(d.split(" "), function() {
this in a.validator.classRuleSettings && a.extend(c, a.validator.classRuleSettings[this])
}),
c
},
normalizeAttributeRule: function(a, b, c, d) {
/min|max|step/.test(c) && (null === b || /number|range|text/.test(b)) && (d = Number(d),
isNaN(d) && (d = void 0)),
d || 0 === d ? a[c] = d : b === c && "range" !== b && (a["date" === b ? "dateISO" : c] = !0)
},
attributeRules: function(b) {
var c, d, e = {}, f = a(b), g = b.getAttribute("type");
for (c in a.validator.methods)
"required" === c ? (d = b.getAttribute(c),
"" === d && (d = !0),
d = !!d) : d = f.attr(c),
this.normalizeAttributeRule(e, g, c, d);
return e.maxlength && /-1|2147483647|524288/.test(e.maxlength) && delete e.maxlength,
e
},
dataRules: function(b) {
var c, d, e = {}, f = a(b), g = b.getAttribute("type");
for (c in a.validator.methods)
d = f.data("rule" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase()),
"" === d && (d = !0),
this.normalizeAttributeRule(e, g, c, d);
return e
},
staticRules: function(b) {
var c = {}
, d = a.data(b.form, "validator");
return d.settings.rules && (c = a.validator.normalizeRule(d.settings.rules[b.name]) || {}),
c
},
normalizeRules: function(b, c) {
return a.each(b, function(d, e) {
if (e === !1)
return void delete b[d];
if (e.param || e.depends) {
var f = !0;
switch (typeof e.depends) {
case "string":
f = !!a(e.depends, c.form).length;
break;
case "function":
f = e.depends.call(c, c)
}
f ? b[d] = void 0 === e.param || e.param : (a.data(c.form, "validator").resetElements(a(c)),
delete b[d])
}
}),
a.each(b, function(a, d) {
b[a] = "function" == typeof d && "normalizer" !== a ? d(c) : d
}),
a.each(["minlength", "maxlength"], function() {
b[this] && (b[this] = Number(b[this]))
}),
a.each(["rangelength", "range"], function() {
var a;
b[this] && (Array.isArray(b[this]) ? b[this] = [Number(b[this][0]), Number(b[this][1])] : "string" == typeof b[this] && (a = b[this].replace(/[\[\]]/g, "").split(/[\s,]+/),
b[this] = [Number(a[0]), Number(a[1])]))
}),
a.validator.autoCreateRanges && (null != b.min && null != b.max && (b.range = [b.min, b.max],
delete b.min,
delete b.max),
null != b.minlength && null != b.maxlength && (b.rangelength = [b.minlength, b.maxlength],
delete b.minlength,
delete b.maxlength)),
b
},
normalizeRule: function(b) {
if ("string" == typeof b) {
var c = {};
a.each(b.split(/\s/), function() {
c[this] = !0
}),
b = c
}
return b
},
addMethod: function(b, c, d) {
a.validator.methods[b] = c,
a.validator.messages[b] = void 0 !== d ? d : a.validator.messages[b],
c.length < 3 && a.validator.addClassRules(b, a.validator.normalizeRule(b))
},
methods: {
required: function(b, c, d) {
if (!this.depend(d, c))
return "dependency-mismatch";
if ("select" === c.nodeName.toLowerCase()) {
var e = a(c).val();
return e && e.length > 0
}
return this.checkable(c) ? this.getLength(b, c) > 0 : void 0 !== b && null !== b && b.length > 0
},
email: function(a, b) {
return this.optional(b) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)
},
url: function(a, b) {
return this.optional(b) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)
},
date: function() {
var a = !1;
return function(b, c) {
return a || (a = !0,
this.settings.debug && window.console && console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),
this.optional(c) || !/Invalid|NaN/.test(new Date(b).toString())
}
}(),
dateISO: function(a, b) {
return this.optional(b) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)
},
number: function(a, b) {
return this.optional(b) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:-?\.\d+)?$/.test(a)
},
digits: function(a, b) {
return this.optional(b) || /^\d+$/.test(a)
},
minlength: function(a, b, c) {
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
return this.optional(b) || d >= c
},
maxlength: function(a, b, c) {
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
return this.optional(b) || d <= c
},
rangelength: function(a, b, c) {
var d = Array.isArray(a) ? a.length : this.getLength(a, b);
return this.optional(b) || d >= c[0] && d <= c[1]
},
min: function(a, b, c) {
return this.optional(b) || a >= c
},
max: function(a, b, c) {
return this.optional(b) || a <= c
},
range: function(a, b, c) {
return this.optional(b) || a >= c[0] && a <= c[1]
},
step: function(b, c, d) {
var e, f = a(c).attr("type"), g = "Step attribute on input type " + f + " is not supported.", h = ["text", "number", "range"], i = new RegExp("\\b" + f + "\\b"), j = f && !i.test(h.join()), k = function(a) {
var b = ("" + a).match(/(?:\.(\d+))?$/);
return b && b[1] ? b[1].length : 0
}, l = function(a) {
return Math.round(a * Math.pow(10, e))
}, m = !0;
if (j)
throw new Error(g);
return e = k(d),
(k(b) > e || l(b) % l(d) !== 0) && (m = !1),
this.optional(c) || m
},
equalTo: function(b, c, d) {
var e = a(d);
return this.settings.onfocusout && e.not(".validate-equalTo-blur").length && e.addClass("validate-equalTo-blur").on("blur.validate-equalTo", function() {
a(c).valid()
}),
b === e.val()
},
remote: function(b, c, d, e) {
if (this.optional(c))
return "dependency-mismatch";
e = "string" == typeof e && e || "remote";
var f, g, h, i = this.previousValue(c, e);
return this.settings.messages[c.name] || (this.settings.messages[c.name] = {}),
i.originalMessage = i.originalMessage || this.settings.messages[c.name][e],
this.settings.messages[c.name][e] = i.message,
d = "string" == typeof d && {
url: d
} || d,
h = a.param(a.extend({
data: b
}, d.data)),
null !== i.valid && i.old === h ? i.valid : (i.old = h,
i.valid = null,
f = this,
this.startRequest(c),
g = {},
g[c.name] = b,
a.ajax(a.extend(!0, {
mode: "abort",
port: this.elementAjaxPort(c),
dataType: "json",
data: g,
context: f.currentForm,
success: function(a) {
var d, g, h, j = a === !0 || "true" === a;
f.settings.messages[c.name][e] = i.originalMessage,
j ? (h = f.formSubmitted,
f.toHide = f.errorsFor(c),
f.formSubmitted = h,
f.successList.push(c),
f.invalid[c.name] = !1,
f.showErrors()) : (d = {},
g = a || f.defaultMessage(c, {
method: e,
parameters: b
}),
d[c.name] = i.message = g,
f.invalid[c.name] = !0,
f.showErrors(d)),
i.valid = j,
f.stopRequest(c, j)
}
}, d)),
"pending")
}
}
});
var c, d = {};
return a.ajaxPrefilter ? a.ajaxPrefilter(function(b, c, e) {
var f = b.port;
"abort" === b.mode && (a.ajaxAbort(f),
d[f] = e)
}) : (c = a.ajax,
a.ajax = function(b) {
var e = ("mode"in b ? b : a.ajaxSettings).mode
, f = ("port"in b ? b : a.ajaxSettings).port;
return "abort" === e ? (a.ajaxAbort(f),
d[f] = c.apply(this, arguments),
d[f]) : c.apply(this, arguments)
}
),
a.ajaxAbort = function(a) {
d[a] && (d[a].abort(),
delete d[a])
}
,
a
});

82
assets/javascript/js.cookie.min.js vendored Normal file
View File

@@ -0,0 +1,82 @@
/*! js-cookie v3.0.5 | MIT */
!function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self,
function() {
var n = e.Cookies
, o = e.Cookies = t();
o.noConflict = function() {
return e.Cookies = n,
o
}
}())
}(this, function() {
"use strict";
function e(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var o in n)
e[o] = n[o]
}
return e
}
return function t(n, o) {
function r(t, r, i) {
if ("undefined" != typeof document) {
"number" == typeof (i = e({}, o, i)).expires && (i.expires = new Date(Date.now() + 864e5 * i.expires)),
i.expires && (i.expires = i.expires.toUTCString()),
t = encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
var c = "";
for (var u in i)
i[u] && (c += "; " + u,
!0 !== i[u] && (c += "=" + i[u].split(";")[0]));
return document.cookie = t + "=" + n.write(r, t) + c
}
}
return Object.create({
set: r,
get: function(e) {
if ("undefined" != typeof document && (!arguments.length || e)) {
for (var t = document.cookie ? document.cookie.split("; ") : [], o = {}, r = 0; r < t.length; r++) {
var i = t[r].split("=")
, c = i.slice(1).join("=");
try {
var u = decodeURIComponent(i[0]);
if (o[u] = n.read(c, u),
e === u)
break
} catch (f) {}
}
return e ? o[e] : o
}
},
remove: function(t, n) {
r(t, "", e({}, n, {
expires: -1
}))
},
withAttributes: function(n) {
return t(this.converter, e({}, this.attributes, n))
},
withConverter: function(n) {
return t(e({}, this.converter, n), this.attributes)
}
}, {
attributes: {
value: Object.freeze(o)
},
converter: {
value: Object.freeze(n)
}
})
}({
read: function(e) {
return '"' === e[0] && (e = e.slice(1, -1)),
e.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
},
write: function(e) {
return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent)
}
}, {
path: "/"
})
});

173
assets/javascript/mailcheck.min.js vendored Normal file
View File

@@ -0,0 +1,173 @@
/*! mailcheck v1.1.2 @licence MIT */
var Mailcheck = {
domainThreshold: 2,
secondLevelThreshold: 2,
topLevelThreshold: 2,
defaultDomains: ["msn.com", "bellsouth.net", "telus.net", "comcast.net", "optusnet.com.au", "earthlink.net", "qq.com", "sky.com", "icloud.com", "mac.com", "sympatico.ca", "googlemail.com", "att.net", "xtra.co.nz", "web.de", "cox.net", "gmail.com", "ymail.com", "aim.com", "rogers.com", "verizon.net", "rocketmail.com", "google.com", "optonline.net", "sbcglobal.net", "aol.com", "me.com", "btinternet.com", "charter.net", "shaw.ca"],
defaultSecondLevelDomains: ["yahoo", "hotmail", "mail", "live", "outlook", "gmx"],
defaultTopLevelDomains: ["com", "com.au", "com.tw", "ca", "co.nz", "co.uk", "de", "fr", "it", "ru", "net", "org", "edu", "gov", "jp", "nl", "kr", "se", "eu", "ie", "co.il", "us", "at", "be", "dk", "hk", "es", "gr", "ch", "no", "cz", "in", "net", "net.au", "info", "biz", "mil", "co.jp", "sg", "hu", "uk"],
run: function(a) {
a.domains = a.domains || Mailcheck.defaultDomains,
a.secondLevelDomains = a.secondLevelDomains || Mailcheck.defaultSecondLevelDomains,
a.topLevelDomains = a.topLevelDomains || Mailcheck.defaultTopLevelDomains,
a.distanceFunction = a.distanceFunction || Mailcheck.sift4Distance;
var b = function(a) {
return a
}
, c = a.suggested || b
, d = a.empty || b
, e = Mailcheck.suggest(Mailcheck.encodeEmail(a.email), a.domains, a.secondLevelDomains, a.topLevelDomains, a.distanceFunction);
return e ? c(e) : d()
},
suggest: function(a, b, c, d, e) {
a = a.toLowerCase();
var f = this.splitEmail(a);
if (c && d && -1 !== c.indexOf(f.secondLevelDomain) && -1 !== d.indexOf(f.topLevelDomain))
return !1;
var g = this.findClosestDomain(f.domain, b, e, this.domainThreshold);
if (g)
return g == f.domain ? !1 : {
address: f.address,
domain: g,
full: f.address + "@" + g
};
var h = this.findClosestDomain(f.secondLevelDomain, c, e, this.secondLevelThreshold)
, i = this.findClosestDomain(f.topLevelDomain, d, e, this.topLevelThreshold);
if (f.domain) {
g = f.domain;
var j = !1;
if (h && h != f.secondLevelDomain && (g = g.replace(f.secondLevelDomain, h),
j = !0),
i && i != f.topLevelDomain && "" !== f.secondLevelDomain && (g = g.replace(new RegExp(f.topLevelDomain + "$"), i),
j = !0),
j)
return {
address: f.address,
domain: g,
full: f.address + "@" + g
}
}
return !1
},
findClosestDomain: function(a, b, c, d) {
d = d || this.topLevelThreshold;
var e, f = 1 / 0, g = null;
if (!a || !b)
return !1;
c || (c = this.sift4Distance);
for (var h = 0; h < b.length; h++) {
if (a === b[h])
return a;
e = c(a, b[h]),
f > e && (f = e,
g = b[h])
}
return d >= f && null !== g ? g : !1
},
sift4Distance: function(a, b, c) {
if (void 0 === c && (c = 5),
!a || !a.length)
return b ? b.length : 0;
if (!b || !b.length)
return a.length;
for (var d = a.length, e = b.length, f = 0, g = 0, h = 0, i = 0, j = 0, k = []; d > f && e > g; ) {
if (a.charAt(f) == b.charAt(g)) {
i++;
for (var l = !1, m = 0; m < k.length; ) {
var n = k[m];
if (f <= n.c1 || g <= n.c2) {
l = Math.abs(g - f) >= Math.abs(n.c2 - n.c1),
l ? j++ : n.trans || (n.trans = !0,
j++);
break
}
f > n.c2 && g > n.c1 ? k.splice(m, 1) : m++
}
k.push({
c1: f,
c2: g,
trans: l
})
} else {
h += i,
i = 0,
f != g && (f = g = Math.min(f, g));
for (var o = 0; c > o && (d > f + o || e > g + o); o++) {
if (d > f + o && a.charAt(f + o) == b.charAt(g)) {
f += o - 1,
g--;
break
}
if (e > g + o && a.charAt(f) == b.charAt(g + o)) {
f--,
g += o - 1;
break
}
}
}
f++,
g++,
(f >= d || g >= e) && (h += i,
i = 0,
f = g = Math.min(f, g))
}
return h += i,
Math.round(Math.max(d, e) - h + j)
},
splitEmail: function(a) {
a = null !== a ? a.replace(/^\s*/, "").replace(/\s*$/, "") : null;
var b = a.split("@");
if (b.length < 2)
return !1;
for (var c = 0; c < b.length; c++)
if ("" === b[c])
return !1;
var d = b.pop()
, e = d.split(".")
, f = ""
, g = "";
if (0 === e.length)
return !1;
if (1 == e.length)
g = e[0];
else {
f = e[0];
for (var h = 1; h < e.length; h++)
g += e[h] + ".";
g = g.substring(0, g.length - 1)
}
return {
topLevelDomain: g,
secondLevelDomain: f,
domain: d,
address: b.join("@")
}
},
encodeEmail: function(a) {
var b = encodeURI(a);
return b = b.replace("%20", " ").replace("%25", "%").replace("%5E", "^").replace("%60", "`").replace("%7B", "{").replace("%7C", "|").replace("%7D", "}")
}
};
"undefined" != typeof module && module.exports && (module.exports = Mailcheck),
"function" == typeof define && define.amd && define("mailcheck", [], function() {
return Mailcheck
}),
"undefined" != typeof window && window.jQuery && !function(a) {
a.fn.mailcheck = function(a) {
var b = this;
if (a.suggested) {
var c = a.suggested;
a.suggested = function(a) {
c(b, a)
}
}
if (a.empty) {
var d = a.empty;
a.empty = function() {
d.call(null, b)
}
}
a.email = this.val(),
Mailcheck.run(a)
}
}(jQuery);

View File

@@ -0,0 +1,94 @@
!function(t) {
"use strict";
const e = t.params
, n = (document.querySelector.bind(document),
(t, e) => e.split(".").reduce( (t, e) => t && t[e], t))
, s = () => null
, i = t => null === t || t === undefined ? "" : t
, o = "wc/store/checkout";
function a(t) {
window.wp && window.wp.data && window.wp.data.dispatch && window.wc && window.wc.wcBlocksData && window.wp.data.dispatch(window.wc.wcBlocksData.CHECKOUT_STORE_KEY).setExtensionData("woocommerce/order-attribution", t, !0)
}
function r() {
return "undefined" != typeof sbjs
}
function c() {
if (window.wp && window.wp.data && "function" == typeof window.wp.data.subscribe) {
const e = window.wp.data.subscribe(function() {
e(),
a(t.getAttributionData())
}, o)
}
}
t.getAttributionData = function() {
const i = e.allowTracking && r() ? n : s
, o = r() ? sbjs.get : {}
, a = Object.entries(t.fields).map( ([t,e]) => [t, i(o, e)]);
return Object.fromEntries(a)
}
,
t.setOrderTracking = function(n) {
if (e.allowTracking = n,
n) {
if (!r())
return;
sbjs.init({
lifetime: Number(e.lifetime),
session_length: Number(e.session),
base64: Boolean(e.base64),
timezone_offset: "0"
})
} else
!function() {
const t = window.location.hostname;
["sbjs_current", "sbjs_current_add", "sbjs_first", "sbjs_first_add", "sbjs_session", "sbjs_udata", "sbjs_migrations", "sbjs_promo"].forEach(e => {
document.cookie = `${e}=; path=/; max-age=-999; domain=.${t};`
}
)
}();
const s = t.getAttributionData();
!function(t) {
for (const e of document.querySelectorAll("wc-order-attribution-inputs"))
e.values = t
}(s),
a(s)
}
,
t.setOrderTracking(e.allowTracking),
"loading" === document.readyState ? document.addEventListener("DOMContentLoaded", c) : c(),
window.customElements.define("wc-order-attribution-inputs", class extends HTMLElement {
constructor() {
if (super(),
this._fieldNames = Object.keys(t.fields),
this.hasOwnProperty("_values")) {
let t = this.values;
delete this.values,
this.values = t || {}
}
}
connectedCallback() {
this.innerHTML = "";
const t = new DocumentFragment;
for (const n of this._fieldNames) {
const s = document.createElement("input");
s.type = "hidden",
s.name = `${e.prefix}${n}`,
s.value = i(this.values && this.values[n] || ""),
t.appendChild(s)
}
this.appendChild(t)
}
set values(t) {
if (this._values = t,
this.isConnected)
for (const t of this._fieldNames) {
const n = this.querySelector(`input[name="${e.prefix}${t}"]`);
n ? n.value = i(this.values[t]) : console.warn(`Field "${t}" not found. ` + "Most likely, the '<wc-order-attribution-inputs>' element was manipulated.")
}
}
get values() {
return this._values
}
}
)
}(window.wc_order_attribution);

1621
assets/javascript/owl.carousel.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

88
assets/javascript/punycode.min.js vendored Normal file
View File

@@ -0,0 +1,88 @@
"use strict";
var punycode = new function() {
this.utf16 = {
decode: function(r) {
for (var e, o, t = [], n = 0, f = r.length; n < f; ) {
if (55296 == (63488 & (e = r.charCodeAt(n++)))) {
if (o = r.charCodeAt(n++),
55296 != (64512 & e) || 56320 != (64512 & o))
throw new RangeError("UTF-16(decode): Illegal UTF-16 sequence");
e = ((1023 & e) << 10) + (1023 & o) + 65536
}
t.push(e)
}
return t
},
encode: function(r) {
for (var e, o = [], t = 0, n = r.length; t < n; ) {
if (55296 == (63488 & (e = r[t++])))
throw new RangeError("UTF-16(encode): Illegal UTF-16 value");
65535 < e && (e -= 65536,
o.push(String.fromCharCode(e >>> 10 & 1023 | 55296)),
e = 56320 | 1023 & e),
o.push(String.fromCharCode(e))
}
return o.join("")
}
};
var v = 36
, A = 2147483647;
this.decode = function(r, e) {
var o, t, n, f, h, a, i, c, l = [], u = [], d = r.length, s = 128, g = 0, C = 72, p = r.lastIndexOf("-");
for (p < 0 && (p = 0),
t = 0; t < p; ++t) {
if (e && (u[l.length] = r.charCodeAt(t) - 65 < 26),
128 <= r.charCodeAt(t))
throw new RangeError("Illegal input >= 0x80");
l.push(r.charCodeAt(t))
}
for (n = 0 < p ? p + 1 : 0; n < d; ) {
for (f = g,
h = 1,
a = v; ; a += v) {
if (d <= n)
return;
if (c = r.charCodeAt(n++),
v <= (c = c - 48 < 10 ? c - 22 : c - 65 < 26 ? c - 65 : c - 97 < 26 ? c - 97 : v))
return;
if (c > Math.floor((A - g) / h))
return;
if (g += c * h,
c < (c = a <= C ? 1 : C + 26 <= a ? 26 : a - C))
break;
if (h > Math.floor(A / (v - c)))
return;
h *= v - c
}
if (C = function(r, e, o) {
var t;
for (r = o ? Math.floor(r / 700) : r >> 1,
r += Math.floor(r / e),
t = 0; 455 < r; t += v)
r = Math.floor(r / 35);
return Math.floor(t + 36 * r / (r + 38))
}(g - f, o = l.length + 1, 0 === f),
Math.floor(g / o) > A - s)
return;
s += Math.floor(g / o),
g %= o,
e && u.splice(g, 0, r.charCodeAt(n - 1) - 65 < 26),
l.splice(g, 0, s),
g++
}
if (e)
for (g = 0,
i = l.length; g < i; g++)
u[g] && (l[g] = String.fromCharCode(l[g]).toUpperCase().charCodeAt(0));
return this.utf16.encode(l)
}
,
this.toUnicode = function(r) {
for (var e = r.split("."), o = [], t = 0; t < e.length; ++t) {
var n = e[t];
o.push(n.match(/^xn--/) ? punycode.decode(n.slice(4)) : n)
}
return o.join(".")
}
}
;

1316
assets/javascript/slick.min.js vendored Normal file

File diff suppressed because it is too large Load Diff

665
assets/javascript/sourcebuster.min.js vendored Normal file
View File

@@ -0,0 +1,665 @@
!function(e) {
if ("object" == typeof exports && "undefined" != typeof module)
module.exports = e();
else if ("function" == typeof define && define.amd)
define([], e);
else {
var t;
"undefined" != typeof window ? t = window : "undefined" != typeof global ? t = global : "undefined" != typeof self && (t = self),
t.sbjs = e()
}
}(function() {
return function e(t, r, n) {
function a(s, o) {
if (!r[s]) {
if (!t[s]) {
var c = "function" == typeof require && require;
if (!o && c)
return c(s, !0);
if (i)
return i(s, !0);
var u = new Error("Cannot find module '" + s + "'");
throw u.code = "MODULE_NOT_FOUND",
u
}
var p = r[s] = {
exports: {}
};
t[s][0].call(p.exports, function(e) {
var r = t[s][1][e];
return a(r || e)
}, p, p.exports, e, t, r, n)
}
return r[s].exports
}
for (var i = "function" == typeof require && require, s = 0; s < n.length; s++)
a(n[s]);
return a
}({
1: [function(e, t, r) {
"use strict";
var n = e("./init")
, a = {
init: function(e) {
this.get = n(e),
e && e.callback && "function" == typeof e.callback && e.callback(this.get)
}
};
t.exports = a
}
, {
"./init": 6
}],
2: [function(e, t, r) {
"use strict";
var n = e("./terms")
, a = e("./helpers/utils")
, i = {
containers: {
current: "sbjs_current",
current_extra: "sbjs_current_add",
first: "sbjs_first",
first_extra: "sbjs_first_add",
session: "sbjs_session",
udata: "sbjs_udata",
promocode: "sbjs_promo"
},
service: {
migrations: "sbjs_migrations"
},
delimiter: "|||",
aliases: {
main: {
type: "typ",
source: "src",
medium: "mdm",
campaign: "cmp",
content: "cnt",
term: "trm",
id: "id",
platform: "plt",
format: "fmt",
tactic: "tct"
},
extra: {
fire_date: "fd",
entrance_point: "ep",
referer: "rf"
},
session: {
pages_seen: "pgs",
current_page: "cpg"
},
udata: {
visits: "vst",
ip: "uip",
agent: "uag"
},
promo: "code"
},
pack: {
main: function(e) {
return i.aliases.main.type + "=" + e.type + i.delimiter + i.aliases.main.source + "=" + e.source + i.delimiter + i.aliases.main.medium + "=" + e.medium + i.delimiter + i.aliases.main.campaign + "=" + e.campaign + i.delimiter + i.aliases.main.content + "=" + e.content + i.delimiter + i.aliases.main.term + "=" + e.term + i.delimiter + i.aliases.main.id + "=" + e.id + i.delimiter + i.aliases.main.platform + "=" + e.platform + i.delimiter + i.aliases.main.format + "=" + e.format + i.delimiter + i.aliases.main.tactic + "=" + e.tactic
},
extra: function(e) {
return i.aliases.extra.fire_date + "=" + a.setDate(new Date, e) + i.delimiter + i.aliases.extra.entrance_point + "=" + document.location.href + i.delimiter + i.aliases.extra.referer + "=" + (document.referrer || n.none)
},
user: function(e, t) {
return i.aliases.udata.visits + "=" + e + i.delimiter + i.aliases.udata.ip + "=" + t + i.delimiter + i.aliases.udata.agent + "=" + navigator.userAgent
},
session: function(e) {
return i.aliases.session.pages_seen + "=" + e + i.delimiter + i.aliases.session.current_page + "=" + document.location.href
},
promo: function(e) {
return i.aliases.promo + "=" + a.setLeadingZeroToInt(a.randomInt(e.min, e.max), e.max.toString().length)
}
}
};
t.exports = i
}
, {
"./helpers/utils": 5,
"./terms": 9
}],
3: [function(e, t, r) {
"use strict";
var n = e("../data").delimiter;
t.exports = {
useBase64: !1,
setBase64Flag: function(e) {
this.useBase64 = e
},
encodeData: function(e) {
return encodeURIComponent(e).replace(/\!/g, "%21").replace(/\~/g, "%7E").replace(/\*/g, "%2A").replace(/\'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29")
},
decodeData: function(e) {
try {
return decodeURIComponent(e).replace(/\%21/g, "!").replace(/\%7E/g, "~").replace(/\%2A/g, "*").replace(/\%27/g, "'").replace(/\%28/g, "(").replace(/\%29/g, ")")
} catch (t) {
try {
return unescape(e)
} catch (r) {
return ""
}
}
},
set: function(e, t, r, n, a) {
var i, s;
if (r) {
var o = new Date;
o.setTime(o.getTime() + 60 * r * 1e3),
i = "; expires=" + o.toGMTString()
} else
i = "";
s = n && !a ? ";domain=." + n : "";
var c = this.encodeData(t);
this.useBase64 && (c = btoa(c).replace(/=+$/, "")),
document.cookie = this.encodeData(e) + "=" + c + i + s + "; path=/"
},
get: function(e) {
for (var t = this.encodeData(e) + "=", r = document.cookie.split(";"), n = 0; n < r.length; n++) {
for (var a = r[n]; " " === a.charAt(0); )
a = a.substring(1, a.length);
if (0 === a.indexOf(t)) {
var i = a.substring(t.length, a.length);
if (/^[A-Za-z0-9+/]+$/.test(i))
try {
i = atob(i.padEnd(4 * Math.ceil(i.length / 4), "="))
} catch (s) {}
return this.decodeData(i)
}
}
return null
},
destroy: function(e, t, r) {
this.set(e, "", -1, t, r)
},
parse: function(e) {
var t = []
, r = {};
if ("string" == typeof e)
t.push(e);
else
for (var a in e)
e.hasOwnProperty(a) && t.push(e[a]);
for (var i = 0; i < t.length; i++) {
var s;
r[this.unsbjs(t[i])] = {},
s = this.get(t[i]) ? this.get(t[i]).split(n) : [];
for (var o = 0; o < s.length; o++) {
var c = s[o].split("=")
, u = c.splice(0, 1);
u.push(c.join("=")),
r[this.unsbjs(t[i])][u[0]] = this.decodeData(u[1])
}
}
return r
},
unsbjs: function(e) {
return e.replace("sbjs_", "")
}
}
}
, {
"../data": 2
}],
4: [function(e, t, r) {
"use strict";
t.exports = {
parse: function(e) {
for (var t = this.parseOptions, r = t.parser[t.strictMode ? "strict" : "loose"].exec(e), n = {}, a = 14; a--; )
n[t.key[a]] = r[a] || "";
return n[t.q.name] = {},
n[t.key[12]].replace(t.q.parser, function(e, r, a) {
r && (n[t.q.name][r] = a)
}),
n
},
parseOptions: {
strictMode: !1,
key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
q: {
name: "queryKey",
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
},
parser: {
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
}
},
getParam: function(e) {
for (var t = {}, r = (e || window.location.search.substring(1)).split("&"), n = 0; n < r.length; n++) {
var a = r[n].split("=");
if ("undefined" == typeof t[a[0]])
t[a[0]] = a[1];
else if ("string" == typeof t[a[0]]) {
var i = [t[a[0]], a[1]];
t[a[0]] = i
} else
t[a[0]].push(a[1])
}
return t
},
getHost: function(e) {
return this.parse(e).host.replace("www.", "")
}
}
}
, {}],
5: [function(e, t, r) {
"use strict";
t.exports = {
escapeRegexp: function(e) {
return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&")
},
setDate: function(e, t) {
var r = e.getTimezoneOffset() / 60
, n = e.getHours()
, a = t || 0 === t ? t : -r;
return e.setHours(n + r + a),
e.getFullYear() + "-" + this.setLeadingZeroToInt(e.getMonth() + 1, 2) + "-" + this.setLeadingZeroToInt(e.getDate(), 2) + " " + this.setLeadingZeroToInt(e.getHours(), 2) + ":" + this.setLeadingZeroToInt(e.getMinutes(), 2) + ":" + this.setLeadingZeroToInt(e.getSeconds(), 2)
},
setLeadingZeroToInt: function(e, t) {
for (var r = e + ""; r.length < t; )
r = "0" + r;
return r
},
randomInt: function(e, t) {
return Math.floor(Math.random() * (t - e + 1)) + e
}
}
}
, {}],
6: [function(e, t, r) {
"use strict";
var n = e("./data")
, a = e("./terms")
, i = e("./helpers/cookies")
, s = e("./helpers/uri")
, o = e("./helpers/utils")
, c = e("./params")
, u = e("./migrations");
t.exports = function(e) {
var t, r, p, f, m, d, l, g, h, y, _, v, b, x = c.fetch(e), k = s.getParam(), w = x.domain.host, q = x.domain.isolate, I = x.lifetime;
function j(e) {
switch (e) {
case a.traffic.utm:
t = a.traffic.utm,
r = "undefined" != typeof k.utm_source ? k.utm_source : "undefined" != typeof k.gclid ? "google" : "undefined" != typeof k.yclid ? "yandex" : a.none,
p = "undefined" != typeof k.utm_medium ? k.utm_medium : "undefined" != typeof k.gclid ? "cpc" : "undefined" != typeof k.yclid ? "cpc" : a.none,
f = "undefined" != typeof k.utm_campaign ? k.utm_campaign : "undefined" != typeof k[x.campaign_param] ? k[x.campaign_param] : "undefined" != typeof k.gclid ? "google_cpc" : "undefined" != typeof k.yclid ? "yandex_cpc" : a.none,
m = "undefined" != typeof k.utm_content ? k.utm_content : "undefined" != typeof k[x.content_param] ? k[x.content_param] : a.none,
l = k.utm_id || a.none,
g = k.utm_source_platform || a.none,
h = k.utm_creative_format || a.none,
y = k.utm_marketing_tactic || a.none,
d = "undefined" != typeof k.utm_term ? k.utm_term : "undefined" != typeof k[x.term_param] ? k[x.term_param] : function() {
var e = document.referrer;
if (k.utm_term)
return k.utm_term;
if (!(e && s.parse(e).host && s.parse(e).host.match(/^(?:.*\.)?yandex\..{2,9}$/i)))
return !1;
try {
return s.getParam(s.parse(document.referrer).query).text
} catch (t) {
return !1
}
}() || a.none;
break;
case a.traffic.organic:
t = a.traffic.organic,
r = r || s.getHost(document.referrer),
p = a.referer.organic,
f = a.none,
m = a.none,
d = a.none,
l = a.none,
g = a.none,
h = a.none,
y = a.none;
break;
case a.traffic.referral:
t = a.traffic.referral,
r = r || s.getHost(document.referrer),
p = p || a.referer.referral,
f = a.none,
m = s.parse(document.referrer).path,
d = a.none,
l = a.none,
g = a.none,
h = a.none,
y = a.none;
break;
case a.traffic.typein:
t = a.traffic.typein,
r = x.typein_attributes.source,
p = x.typein_attributes.medium,
f = a.none,
m = a.none,
d = a.none,
l = a.none,
g = a.none,
h = a.none,
y = a.none;
break;
default:
t = a.oops,
r = a.oops,
p = a.oops,
f = a.oops,
m = a.oops,
d = a.oops,
l = a.oops,
g = a.oops,
h = a.oops,
y = a.oops
}
var i = {
type: t,
source: r,
medium: p,
campaign: f,
content: m,
term: d,
id: l,
platform: g,
format: h,
tactic: y
};
return n.pack.main(i)
}
function R(e) {
var t = document.referrer;
switch (e) {
case a.traffic.organic:
return !!t && H(t) && function(e) {
var t = new RegExp("^(?:.*\\.)?" + o.escapeRegexp("yandex") + "\\..{2,9}$")
, n = new RegExp(".*" + o.escapeRegexp("text") + "=.*")
, a = new RegExp("^(?:www\\.)?" + o.escapeRegexp("google") + "\\..{2,9}$");
if (s.parse(e).query && s.parse(e).host.match(t) && s.parse(e).query.match(n))
return r = "yandex",
!0;
if (s.parse(e).host.match(a))
return r = "google",
!0;
if (!s.parse(e).query)
return !1;
for (var i = 0; i < x.organics.length; i++) {
if (s.parse(e).host.match(new RegExp("^(?:.*\\.)?" + o.escapeRegexp(x.organics[i].host) + "$","i")) && s.parse(e).query.match(new RegExp(".*" + o.escapeRegexp(x.organics[i].param) + "=.*","i")))
return r = x.organics[i].display || x.organics[i].host,
!0;
if (i + 1 === x.organics.length)
return !1
}
}(t);
case a.traffic.referral:
return !!t && H(t) && function(e) {
if (!(x.referrals.length > 0))
return r = s.getHost(e),
!0;
for (var t = 0; t < x.referrals.length; t++) {
if (s.parse(e).host.match(new RegExp("^(?:.*\\.)?" + o.escapeRegexp(x.referrals[t].host) + "$","i")))
return r = x.referrals[t].display || x.referrals[t].host,
p = x.referrals[t].medium || a.referer.referral,
!0;
if (t + 1 === x.referrals.length)
return r = s.getHost(e),
!0
}
}(t);
default:
return !1
}
}
function H(e) {
if (x.domain) {
if (q)
return s.getHost(e) !== s.getHost(w);
var t = new RegExp("^(?:.*\\.)?" + o.escapeRegexp(w) + "$","i");
return !s.getHost(e).match(t)
}
return s.getHost(e) !== s.getHost(document.location.href)
}
function D() {
i.set(n.containers.current_extra, n.pack.extra(x.timezone_offset), I, w, q),
i.get(n.containers.first_extra) || i.set(n.containers.first_extra, n.pack.extra(x.timezone_offset), I, w, q)
}
return i.setBase64Flag(x.base64),
u.go(I, w, q),
i.set(n.containers.current, function() {
var e;
if ("undefined" != typeof k.utm_source || "undefined" != typeof k.utm_medium || "undefined" != typeof k.utm_campaign || "undefined" != typeof k.utm_content || "undefined" != typeof k.utm_term || "undefined" != typeof k.utm_id || "undefined" != typeof k.utm_source_platform || "undefined" != typeof k.utm_creative_format || "undefined" != typeof k.utm_marketing_tactic || "undefined" != typeof k.gclid || "undefined" != typeof k.yclid || "undefined" != typeof k[x.campaign_param] || "undefined" != typeof k[x.term_param] || "undefined" != typeof k[x.content_param])
D(),
e = j(a.traffic.utm);
else if (R(a.traffic.organic))
D(),
e = j(a.traffic.organic);
else if (!i.get(n.containers.session) && R(a.traffic.referral))
D(),
e = j(a.traffic.referral);
else {
if (i.get(n.containers.first) || i.get(n.containers.current))
return i.get(n.containers.current);
D(),
e = j(a.traffic.typein)
}
return e
}(), I, w, q),
i.get(n.containers.first) || i.set(n.containers.first, i.get(n.containers.current), I, w, q),
i.get(n.containers.udata) ? (_ = parseInt(i.parse(n.containers.udata)[i.unsbjs(n.containers.udata)][n.aliases.udata.visits]) || 1,
_ = i.get(n.containers.session) ? _ : _ + 1,
v = n.pack.user(_, x.user_ip)) : (_ = 1,
v = n.pack.user(_, x.user_ip)),
i.set(n.containers.udata, v, I, w, q),
i.get(n.containers.session) ? (b = parseInt(i.parse(n.containers.session)[i.unsbjs(n.containers.session)][n.aliases.session.pages_seen]) || 1,
b += 1) : b = 1,
i.set(n.containers.session, n.pack.session(b), x.session_length, w, q),
x.promocode && !i.get(n.containers.promocode) && i.set(n.containers.promocode, n.pack.promo(x.promocode), I, w, q),
i.parse(n.containers)
}
}
, {
"./data": 2,
"./helpers/cookies": 3,
"./helpers/uri": 4,
"./helpers/utils": 5,
"./migrations": 7,
"./params": 8,
"./terms": 9
}],
7: [function(e, t, r) {
"use strict";
var n = e("./data")
, a = e("./helpers/cookies");
t.exports = {
go: function(e, t, r) {
var i, s = this.migrations, o = {
l: e,
d: t,
i: r
};
if (a.get(n.containers.first) || a.get(n.service.migrations)) {
if (!a.get(n.service.migrations))
for (i = 0; i < s.length; i++)
s[i].go(s[i].id, o)
} else {
var c = [];
for (i = 0; i < s.length; i++)
c.push(s[i].id);
var u = "";
for (i = 0; i < c.length; i++)
u += c[i] + "=1",
i < c.length - 1 && (u += n.delimiter);
a.set(n.service.migrations, u, o.l, o.d, o.i)
}
},
migrations: [{
id: "1418474375998",
version: "1.0.0-beta",
go: function(e, t) {
var r = e + "=1"
, i = e + "=0"
, s = function(e, t, r) {
return t || r ? e : n.delimiter
};
try {
var o = [];
for (var c in n.containers)
n.containers.hasOwnProperty(c) && o.push(n.containers[c]);
for (var u = 0; u < o.length; u++)
if (a.get(o[u])) {
var p = a.get(o[u]).replace(/(\|)?\|(\|)?/g, s);
a.destroy(o[u], t.d, t.i),
a.destroy(o[u], t.d, !t.i),
a.set(o[u], p, t.l, t.d, t.i)
}
a.get(n.containers.session) && a.set(n.containers.session, n.pack.session(0), t.l, t.d, t.i),
a.set(n.service.migrations, r, t.l, t.d, t.i)
} catch (f) {
a.set(n.service.migrations, i, t.l, t.d, t.i)
}
}
}]
}
}
, {
"./data": 2,
"./helpers/cookies": 3
}],
8: [function(e, t, r) {
"use strict";
var n = e("./terms")
, a = e("./helpers/uri");
t.exports = {
fetch: function(e) {
var t = e || {}
, r = {};
if (r.lifetime = this.validate.checkFloat(t.lifetime) || 6,
r.lifetime = parseInt(30 * r.lifetime * 24 * 60),
r.session_length = this.validate.checkInt(t.session_length) || 30,
r.timezone_offset = this.validate.checkInt(t.timezone_offset),
r.base64 = t.base64 || !1,
r.campaign_param = t.campaign_param || !1,
r.term_param = t.term_param || !1,
r.content_param = t.content_param || !1,
r.user_ip = t.user_ip || n.none,
t.promocode ? (r.promocode = {},
r.promocode.min = parseInt(t.promocode.min) || 1e5,
r.promocode.max = parseInt(t.promocode.max) || 999999) : r.promocode = !1,
t.typein_attributes && t.typein_attributes.source && t.typein_attributes.medium ? (r.typein_attributes = {},
r.typein_attributes.source = t.typein_attributes.source,
r.typein_attributes.medium = t.typein_attributes.medium) : r.typein_attributes = {
source: "(direct)",
medium: "(none)"
},
t.domain && this.validate.isString(t.domain) ? r.domain = {
host: t.domain,
isolate: !1
} : t.domain && t.domain.host ? r.domain = t.domain : r.domain = {
host: a.getHost(document.location.hostname),
isolate: !1
},
r.referrals = [],
t.referrals && t.referrals.length > 0)
for (var i = 0; i < t.referrals.length; i++)
t.referrals[i].host && r.referrals.push(t.referrals[i]);
if (r.organics = [],
t.organics && t.organics.length > 0)
for (var s = 0; s < t.organics.length; s++)
t.organics[s].host && t.organics[s].param && r.organics.push(t.organics[s]);
return r.organics.push({
host: "bing.com",
param: "q",
display: "bing"
}),
r.organics.push({
host: "yahoo.com",
param: "p",
display: "yahoo"
}),
r.organics.push({
host: "about.com",
param: "q",
display: "about"
}),
r.organics.push({
host: "aol.com",
param: "q",
display: "aol"
}),
r.organics.push({
host: "ask.com",
param: "q",
display: "ask"
}),
r.organics.push({
host: "globososo.com",
param: "q",
display: "globo"
}),
r.organics.push({
host: "go.mail.ru",
param: "q",
display: "go.mail.ru"
}),
r.organics.push({
host: "rambler.ru",
param: "query",
display: "rambler"
}),
r.organics.push({
host: "tut.by",
param: "query",
display: "tut.by"
}),
r.referrals.push({
host: "t.co",
display: "twitter.com"
}),
r.referrals.push({
host: "plus.url.google.com",
display: "plus.google.com"
}),
r
},
validate: {
checkFloat: function(e) {
return !(!e || !this.isNumeric(parseFloat(e))) && parseFloat(e)
},
checkInt: function(e) {
return !(!e || !this.isNumeric(parseInt(e))) && parseInt(e)
},
isNumeric: function(e) {
return !isNaN(e)
},
isString: function(e) {
return "[object String]" === Object.prototype.toString.call(e)
}
}
}
}
, {
"./helpers/uri": 4,
"./terms": 9
}],
9: [function(e, t, r) {
"use strict";
t.exports = {
traffic: {
utm: "utm",
organic: "organic",
referral: "referral",
typein: "typein"
},
referer: {
referral: "referral",
organic: "organic",
social: "social"
},
none: "(none)",
oops: "(Houston, we have a problem)"
}
}
, {}]
}, {}, [1])(1)
});

View File

@@ -0,0 +1,39 @@
"use strict";
jQuery(window).on("elementor/frontend/init", function() {
elementorFrontend.hooks.addAction("frontend/element_ready/logico_tabs.default", function(e) {
let i, t, a = e.find(".logico-video-trigger-button"), n = e.find(".logico-video-container"), r = e.find(".logico-video-wrapper"), o = e.find(".logico-close-popup-layer"), u = jQuery(r).attr("data-src"), d = e.find(".logico-tabs-titles-container"), s = e.find(".logico-tabs-content-container");
jQuery(d).find(".logico-tab-title-item").first().addClass("active"),
jQuery(s).find(".logico-tab-content-item").first().addClass("active"),
e.find(".logico-tab-title-item a").on("click", function() {
let e = jQuery(this).parent().attr("data-id");
jQuery(this).parent().is(".active") || (d.find(".active").removeClass("active"),
s.find(".active").removeClass("active"),
jQuery(this).parent().addClass("active"),
s.find("#" + e).addClass("active"))
}),
jQuery(a).on("click", function() {
jQuery(n).addClass("active"),
setTimeout(function() {
i = jQuery(r).height(),
t = i * (16 / 9),
jQuery(r).width(t),
jQuery(r).append('<iframe frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="100%" height="100%" src="' + u + '?playlist=ZdXao5XqeqM&amp;iv_load_policy=3&amp;enablejsapi=1&amp;disablekb=1&amp;autoplay=1&amp;controls=1&amp;showinfo=0&amp;rel=0&amp;loop=0&amp;wmode=transparent"></iframe>')
}, 100),
setTimeout(function() {
jQuery(n).addClass("visible")
}, 500)
}),
jQuery(o).on("click", function() {
jQuery(n).removeClass("visible"),
setTimeout(function() {
jQuery(r).html(""),
jQuery(n).removeClass("active")
}, 500)
}),
jQuery(window).on("resize", function() {
i = jQuery(r).height(),
t = i * (16 / 9),
jQuery(r).width(t)
})
})
})

586
assets/javascript/theme.js Normal file
View File

@@ -0,0 +1,586 @@
"use strict";
function set_device_mode() {
let attr = jQuery('body').attr('data-elementor-device-mode')
, mode = 'mobile';
if (typeof attr === 'undefined' && attr === !1) {
if (jQuery(window).width() > 480) {
mode = 'mobile_extra'
}
if (jQuery(window).width() > 660) {
mode = 'tablet'
}
if (jQuery(window).width() > 840) {
mode = 'tablet_extra'
}
if (jQuery(window).width() > 1020) {
mode = 'laptop'
}
if (jQuery(window).width() > 1200) {
mode = 'desktop'
}
if (jQuery(window).width() >= 2400) {
mode = 'widescreen'
}
} else {
mode = attr
}
jQuery('body').attr('data-mode', mode)
}
function side_panel_open() {
jQuery('.dropdown-trigger').on('click', function () {
let elemID = '#side-panel-' + jQuery(this).attr('data-id');
jQuery(elemID + ', .body-overlay').addClass('active')
});
jQuery('.slide-sidebar-close').on('click', function () {
jQuery(this).parents('.slide-sidebar-wrapper').removeClass('active');
jQuery('.body-overlay').removeClass('active')
})
}
function search_panel_open() {
jQuery('.search-trigger').on('click', function () {
let elemID = '#site-search-' + jQuery(this).attr('data-id');
jQuery(elemID + ', .body-overlay').addClass('active');
jQuery(elemID + ' .search-form .search-form-field').focus()
});
jQuery('.site-search-close').on('click', function () {
jQuery(this).parents('.site-search').removeClass('active');
jQuery('.body-overlay').removeClass('active')
})
}
function overlay_close_all() {
jQuery('.body-overlay').on('click', function () {
jQuery(this).removeClass('active');
jQuery('.site-search, .mobile-header-menu-container, .simple-sidebar, .slide-sidebar-wrapper, .shop-hidden-sidebar').removeClass('active')
})
}
function switch_form_columns() {
jQuery('.tab-columns-switcher').on('click', function () {
jQuery('.tab-column', jQuery(this).parents('.tab-columns')).toggleClass('hidden')
})
}
function sticky_menu_active() {
if (jQuery('.sticky-header-on').length) {
jQuery('.sticky-header-on').each(function () {
let obj = jQuery(this)
, el_offset = obj.offset().top
, el_height = Math.round(jQuery('.sticky-wrapper', obj).outerHeight())
, el_ready = Math.round(el_offset + el_height + 200)
, el_start = Math.round(el_offset + el_height + 400);
obj.height(el_height);
jQuery(window).on('scroll', function () {
let st = jQuery(window).scrollTop();
if (st <= el_ready) {
obj.removeClass('sticky-ready')
} else {
obj.addClass('sticky-ready')
}
if (st <= el_start) {
obj.removeClass('sticky-active')
} else {
obj.addClass('sticky-active')
}
})
})
}
}
function mobile_menu_open() {
jQuery('.menu-trigger').on('click', function () {
let elemID = '#mobile-header-' + jQuery(this).attr('data-id');
jQuery(elemID + ', .body-overlay').addClass('active')
});
jQuery('.menu-close').on('click', function () {
jQuery(this).parents('.mobile-header-menu-container').removeClass('active');
jQuery('.body-overlay').removeClass('active')
})
}
function simple_sidebar_open() {
jQuery('.simple-sidebar-trigger').on('click', function () {
let elemID = '#simple-sidebar-' + jQuery(this).attr('data-id');
if (jQuery(window).width() < 1021) {
jQuery(elemID + ', .body-overlay').addClass('active')
}
});
jQuery('.shop-hidden-sidebar-close').on('click', function () {
jQuery(this).parents('.simple-sidebar').removeClass('active');
jQuery('.body-overlay').removeClass('active')
})
}
function tracking_popup_open() {
jQuery('.tracking-trigger').on('click', function () {
let elemID = '#tracking-popup-' + jQuery(this).attr('data-id');
jQuery(elemID).fadeIn(300)
});
jQuery('.tracking-form-close').on('click', function () {
jQuery(this).parents('.tracking-form-wrapper').fadeOut(300)
})
}
function page_title_animate() {
if (jQuery('.page-loader-container').length) {
jQuery('body').on('pageloader_start_hidden', function () {
if (jQuery(window).innerWidth() > 1020) {
jQuery('.page-title-decoration.animation-enable').addClass('animated')
}
})
} else {
jQuery(window).on('load', function () {
if (jQuery(window).innerWidth() > 1020) {
jQuery('.page-title-decoration.animation-enable').addClass('animated')
}
})
}
}
function decorative_block_animate() {
jQuery('.block-decoration').each(function () {
let element = jQuery(this);
let observer = new IntersectionObserver(function (entries, observer) {
entries.forEach(function (entry) {
if (entry.isIntersecting) {
setTimeout(function () {
element.addClass('animated')
}, 300);
observer.unobserve(element[0])
}
})
}
);
observer.observe(element[0])
})
}
function widget_list_hierarchy_init() {
widget_archives_hierarchy_controller('.widget ul li', 'ul.children', 'parent-archive', 'widget-archive-trigger');
widget_archives_hierarchy_controller('.widget_nav_menu .menu li', 'ul.sub-menu', 'parent-archive', 'widget-menu-trigger')
}
function widget_archives_hierarchy_controller(list_item_selector, sublist_item_selector, parent_class, trigger_class) {
jQuery(list_item_selector).has(sublist_item_selector).each(function () {
jQuery(this).addClass(parent_class);
jQuery(this).append("<span class='" + trigger_class + "'></span>")
});
jQuery(list_item_selector + ">" + sublist_item_selector).css("display", "none");
jQuery(list_item_selector + ">.item-wrapper>" + sublist_item_selector).css("display", "none");
jQuery(document).on("click", "." + trigger_class, function () {
var el = jQuery(this);
var sublist = el.siblings(sublist_item_selector);
var sublist_alt = el.siblings('.item-wrapper').children(sublist_item_selector);
if (!sublist.length && !sublist_alt.length)
return;
sublist = sublist.first();
sublist_alt = sublist_alt.first();
el.toggleClass('active').parents('li').toggleClass('active');
sublist.slideToggle(300);
sublist_alt.slideToggle(300)
})
}
function fix_responsive_iframe() {
jQuery('.video-embed > div').each(function () {
jQuery(this).unwrap('.video-embed')
})
}
function elements_slider_init() {
jQuery('.elementor-element .owl-carousel, .content-inner > .archive-listing .owl-carousel, .single-post .owl-carousel').each(function () {
let slider = jQuery(this)
, slider_options = slider.data('slider-options')
, itemsMobile = slider_options.itemsMobile
, itemsMobileExtra = slider_options.itemsMobileExtra
, itemsTablet = slider_options.itemsTablet
, itemsTabletExtra = slider_options.itemsTabletExtra
, itemsLaptop = slider_options.itemsLaptop
, itemsDesktop = slider_options.items
, itemsWidescreen = slider_options.itemsWidescreen
, slideCount = jQuery('.slider-item', slider).length
, progress = slider_options.progress ? slider_options.progress : !1;
slider_options.responsive = {
0: {
items: itemsMobile
},
480: {
items: itemsMobileExtra
},
660: {
items: itemsTablet
},
840: {
items: itemsTabletExtra
},
1020: {
items: itemsLaptop
},
1200: {
items: itemsDesktop
},
2400: {
items: itemsWidescreen
}
};
slider_options.onInitialized = function (event) {
if (progress) {
let progress_wrapper = slider.parents('.elementor-widget-container')
, progress_current = jQuery('.slider-progress-current', progress_wrapper)
, progress_all = jQuery('.slider-progress-all', progress_wrapper)
, items_count = jQuery('.owl-item:not(.cloned)').length
, items_visible = jQuery('.owl-item.active').length
, pages = 0;
pages = Math.ceil(items_count / items_visible);
pages = pages < 10 ? '0' + pages : pages;
progress_all.text(pages);
progress_current.text('01')
}
}
;
slider.owlCarousel(slider_options).on('changed.owl.carousel', function (e) {
if (slider_options.autoplay) {
slider.trigger('stop.owl.autoplay');
slider.trigger('play.owl.autoplay')
}
});
if (progress) {
slider.on('changed.owl.carousel', function (event) {
let progress_wrapper = slider.parents('.elementor-widget-container')
, progress_current = jQuery('.slider-progress-current', progress_wrapper)
, progress_all = jQuery('.slider-progress-all', progress_wrapper);
progress_all.text(event.page.count < 10 ? '0' + event.page.count : event.page.count);
progress_current.text((event.page.index + 1) < 10 ? '0' + (event.page.index + 1) : (event.page.index + 1))
})
}
})
}
function single_portfolio_slider_init() {
jQuery('.portfolio-post-gallery.owl-carousel').each(function () {
jQuery(this).owlCarousel({
items: 1,
nav: !1,
dots: !1,
autoplay: !1,
autoplayHoverPause: !1,
loop: !0,
rewind: !1,
dotsContainer: !1,
autoHeight: !1,
center: !0,
margin: 10,
rtl: (!!jQuery('body').hasClass('rtl'))
})
})
}
function isotope_init() {
if (jQuery('.isotope').length > 0) {
jQuery('.isotope-trigger').isotope({
itemSelector: '.isotope-item',
gutter: 0
})
}
}
function help_item_acardeon() {
jQuery('.help-item').each(function () {
jQuery('.help-item-title', this).on('click', function () {
jQuery(this).siblings('.help-item-content').slideToggle(300).parents('.help-item').toggleClass('active')
})
})
}
function background_image_parallax(object, multiplier) {
if (object.length > 0) {
multiplier = typeof multiplier !== 'undefined' ? multiplier : 0.5;
multiplier = 1 - multiplier;
var doc = jQuery(document);
object.css({
'background-attatchment': 'fixed'
});
jQuery(window).scroll(function () {
if (jQuery(window).width() >= 1021) {
var from_top = doc.scrollTop() - object.offset().top
, bg_css = 'center ' + (multiplier * from_top) + 'px';
object.css({
'background-position': bg_css
})
} else {
object.css({
'background-position': ''
})
}
})
}
}
function scroll_to_top_init() {
let scrollTop = jQuery(window).scrollTop();
if (scrollTop > 600) {
jQuery('.footer-scroll-top').addClass('active')
} else {
jQuery('.footer-scroll-top').removeClass('active')
}
}
function check_custom_field(element) {
if (element.val() || jQuery('option.placeholder', element).is(':selected')) {
element.parents('.logico-form-field, .woocommerce-input-wrapper, .wp-block-search__inside-wrapper').addClass('not-empty')
} else {
element.parents('.logico-form-field, .woocommerce-input-wrapper, .wp-block-search__inside-wrapper').removeClass('not-empty')
}
}
function wrap_multycolumns_wpform_fields(wrapper) {
jQuery('.wpforms-field .wpforms-field-row .wpforms-field-row-block input', wrapper).each(function () {
jQuery(this).wrap('<div class="logico-form-field"></div>')
})
}
function logico_custom_cursor() {
if (jQuery(window).width() > 1020) {
jQuery('.custom-cursor-drag').each(function () {
const cursor = jQuery(this);
const wrapper = cursor.siblings('.owl-carousel');
function showViewCursor(event) {
cursor.css('left', event.clientX - 32).css('top', event.clientY - 32)
}
wrapper.mousemove(showViewCursor);
wrapper.mouseleave(function (e) {
if (!jQuery('body').hasClass('elementor-editor-preview')) {
wrapper.css({
cursor: 'auto'
});
cursor.removeClass('active');
setTimeout(function () {
if (!cursor.hasClass('active')) {
cursor.hide()
}
}, 300)
}
});
wrapper.mouseenter(function (e) {
if (!jQuery('body').hasClass('elementor-editor-preview')) {
wrapper.css({
cursor: 'none'
});
cursor.show();
setTimeout(function () {
cursor.addClass('active')
}, 10)
}
})
})
}
}
function logico_ticker() {
jQuery('.ticker').marquee('destroy').marquee({
allowCss3Support: !0,
css3easing: 'linear',
easing: 'linear',
delayBeforeStart: 0,
direction: jQuery('.ticker').parents('.logico-ticker-wrapper').data('direction'),
duplicated: !0,
duration: jQuery('.ticker').parents('.logico-ticker-wrapper').data('speed') * 1000,
gap: 0,
pauseOnCycle: !1,
pauseOnHover: !1,
startVisible: !0
})
}
function mobile_menu() {
jQuery('.mobile-header-menu-container .main-menu').find('.menu-item').each(function (i, el) {
if (jQuery(el).find('.sub-menu').length != 0 && jQuery(el).find('.sub-menu-trigger').length == 0) {
jQuery(el).append('<span class="sub-menu-trigger"></span>')
}
});
jQuery('.sub-menu-trigger').off();
jQuery('.sub-menu-trigger').on('click', function () {
if (jQuery(this).parent().hasClass('active')) {
jQuery(this).prev().slideUp();
jQuery(this).parent().removeClass('active')
} else {
var currentParents = jQuery(this).parents('.menu-item');
jQuery('.sub-menu-trigger').parent().not(currentParents).removeClass('active');
jQuery('.sub-menu-trigger').parent().not(currentParents).find('.sub-menu').slideUp(300);
jQuery(this).prev().slideDown();
jQuery(this).parent().addClass('active')
}
});
jQuery('.mobile-header-menu-container .main-menu a').on('click', function () {
jQuery('.site-search, .body-overlay, .mobile-header-menu-container').removeClass('active')
})
}
function scroll_to_anchor() {
jQuery('.scroll-to-anchor a[href*="#"]').on('click', function (e) {
e.preventDefault();
jQuery('body, html').animate({
scrollTop: jQuery(this.hash).offset().top - 150 + 'px'
}, 600);
window.location.href = jQuery(this).attr('href');
return !1
})
}
function page_loader_controller() {
var page_loader, interval, timeLaps;
page_loader = jQuery('.page-loader');
timeLaps = 0;
interval = setInterval(function () {
var page_loaded = check_if_page_loaded();
timeLaps++;
if (page_loaded || timeLaps === 12) {
clearInterval(interval);
page_loader.stop_loader()
}
}, 10)
}
function check_if_page_loaded() {
var keys, key, i, r;
if (window.modules_state === undefined)
return !1;
r = !0;
keys = Object.keys(window.modules_state);
for (i = 0; i < keys.length; i++) {
key = keys[i];
if (!window.modules_state[key]) {
r = !1;
break
}
}
return r
}
function start_loader() {
let loader = jQuery(this);
if (!loader.length)
return;
let loader_container = loader[0].parentNode;
if (loader_container != null) {
loader_container.style.opacity = 1;
setTimeout(function () {
loader_container.style.display = "block"
}, 10)
}
}
function stop_loader() {
let loader = jQuery(this);
if (!loader.length)
return;
let loader_container = loader[0].parentNode;
jQuery('body').trigger('pageloader_start_hidden');
if (loader_container != null) {
setTimeout(function () {
loader_container.style.opacity = 0;
setTimeout(function () {
loader_container.style.display = "none"
}, 300)
}, 500)
}
}
function genre_get_posts(paged = 1, id = null, filter_term = null, filter_taxonomy = null) {
var ajax_url = ajax_params.ajax_url;
var args = jQuery('.archive-listing', '.elementor-element-' + id).attr('data-ajax');
var widget = jQuery('.archive-listing', '.elementor-element-' + id).attr('data-widget');
var classes = jQuery('.archive-listing-wrapper', '.elementor-element-' + id).attr('class');
jQuery.ajax({
type: 'POST',
url: ajax_url,
data: {
action: 'pagination',
args: args,
widget: widget,
paged: paged,
classes: classes,
id: id,
filter_term: filter_term,
filter_taxonomy: filter_taxonomy,
security: ajax_params.ajax_nonce
},
beforeSend: function () {
var height = jQuery('.archive-listing', '.elementor-element-' + id).outerHeight();
jQuery('.archive-listing', '.elementor-element-' + id).height(height).addClass('loading')
},
success: function (data) {
jQuery('.archive-listing', '.elementor-element-' + id).html(data);
if (jQuery(window.wp.mediaelement).length > 0) {
jQuery(window.wp.mediaelement.initialize)
}
setTimeout(function () {
jQuery('.archive-listing', '.elementor-element-' + id).removeAttr('style').removeClass('loading')
}, 500);
setTimeout(elements_slider_init, 300);
setTimeout(fix_responsive_iframe, 600);
setTimeout(isotope_init, 500)
},
error: function () {
jQuery('.archive-listing', '.elementor-element-' + id).html('<p class="error">AJAX ERROR</p>')
}
})
}
jQuery(document).ready(function () {
setTimeout(sticky_menu_active, 300);
jQuery('.footer-scroll-top').on('click', function () {
jQuery('html, body').animate({
scrollTop: 0
}, 500)
});
side_panel_open();
search_panel_open();
overlay_close_all();
setTimeout(set_device_mode, 300);
switch_form_columns();
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7);
mobile_menu_open();
tracking_popup_open();
simple_sidebar_open();
page_title_animate();
decorative_block_animate();
help_item_acardeon();
mobile_menu();
widget_list_hierarchy_init();
setTimeout(fix_responsive_iframe, 800);
setTimeout(isotope_init, 500);
wrap_multycolumns_wpform_fields(document);
jQuery('.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text').not(':hidden').each(function () {
check_custom_field(jQuery(this))
});
logico_custom_cursor();
logico_ticker();
scroll_to_anchor();
scroll_to_top_init();
jQuery('.elementor-widget').on('click', '.content-pagination a', function (e) {
e.preventDefault();
var paged = null;
var id = jQuery(this).parents('.elementor-widget').attr('data-id');
if (jQuery(this).hasClass('prev')) {
paged = parseInt(jQuery(this).siblings('.current').text()) - 1
} else if (jQuery(this).hasClass('next')) {
paged = parseInt(jQuery(this).siblings('.current').text()) + 1
} else {
paged = parseInt(jQuery(this).text())
}
var filter_term = jQuery('.filter-control-list .dot.active', jQuery(this).parents('.archive-listing').siblings('.filter-control-wrapper')).attr('data-value');
var filter_taxonomy = jQuery('.filter-control-list', jQuery(this).parents('.archive-listing').siblings('.filter-control-wrapper')).attr('data-taxonomy');
genre_get_posts(paged, id, filter_term, filter_taxonomy)
});
jQuery('.elementor-widget').on('click', '.filter-control-list .filter-control-item', function (e) {
e.preventDefault();
var paged = 1;
var id = jQuery(this).parents('.elementor-widget').attr('data-id');
var filter_term = jQuery(this).attr('data-value');
var filter_taxonomy = jQuery(this).parents('.filter-control-list').attr('data-taxonomy');
if (filter_term === 'all') {
filter_term = null
}
jQuery(this).addClass('active').siblings('.filter-control-item').removeClass('active');
genre_get_posts(paged, id, filter_term, filter_taxonomy)
})
});
jQuery(window).on('load', function () {
jQuery.fn.start_loader = start_loader;
jQuery.fn.stop_loader = stop_loader;
page_loader_controller();
elements_slider_init();
single_portfolio_slider_init()
});
jQuery(window).on('resize', function () {
setTimeout(set_device_mode, 300);
setTimeout(sticky_menu_active, 300);
mobile_menu_open();
background_image_parallax(jQuery('[data-parallax="scroll"]'), 0.7);
logico_custom_cursor();
logico_ticker()
});
jQuery(window).on('scroll', function () {
scroll_to_top_init()
});
jQuery(document).on('elementor/popup/show', function (event, popupId, popupDocument) {
wrap_multycolumns_wpform_fields(popupDocument);
jQuery('.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text').each(function () {
check_custom_field(jQuery(this))
})
});
jQuery(document).on('change', '.logico-form-field input, .logico-form-field textarea, .logico-form-field select, .woocommerce-input-wrapper .input-text', function () {
check_custom_field(jQuery(this))
})

69
assets/javascript/utils.min.js vendored Normal file
View File

@@ -0,0 +1,69 @@
var WPFormsUtils = window.WPFormsUtils || (o => {
let a = {
triggerEvent(r, t, e=[]) {
t = new o.Event(t);
return r.trigger(t, e),
t
},
debounce(o, s, l) {
let a;
return function() {
let r = this
, t = arguments;
var e = l && !a;
clearTimeout(a),
a = setTimeout(function() {
a = null,
l || o.apply(r, t)
}, s),
e && o.apply(r, t)
}
},
cssColorsUtils: {
isTransparentColor(r, t=.33) {
r = a.cssColorsUtils.getColorAsRGBArray(r);
return Number(r?.[3]) <= t
},
getColorAsRGBArray(r) {
if (!a.cssColorsUtils.isValidColor(r))
return !1;
r = "transparent" === (r = r.replace(/^#/, "").replaceAll(" ", "")) ? "rgba(0,0,0,0)" : r;
let t;
return r.match(/[0-9a-f]{6,8}$/gi) ? (t = r.match(/\w\w/g).map(r => parseInt(r, 16)))[3] = t[3] || 0 === t[3] ? (t[3] / 255).toFixed(2) : 1 : t = r.split("(")[1].split(")")[0].split(","),
t
},
isValidColor(r) {
var t = (new Option).style;
return t.color = r,
"" !== t.color
},
getContrastColor(r) {
var r = a.cssColorsUtils.getColorAsRGBArray(r)
, t = r.reduce( (r, t) => r + t, 0);
return Math.round(t / 3 * (r[3] ?? 1)) < 128 ? "#ffffff" : "#000000"
},
getColorWithOpacity(r, t) {
r = r.trim();
var e = a.cssColorsUtils.getColorAsRGBArray(r);
if (!e)
return r;
t = t && 0 !== t.length ? t.toString() : "1";
r = 4 === e.length ? parseFloat(e[3]) : 1,
t = parseFloat(t) * r;
return `rgba(${e[0]},${e[1]},${e[2]},${t})`.replace(/\s+/g, "")
},
rgbaToHex(r) {
var t, e, o, s, l;
return /^rgb/.test(r) ? !!(s = a.cssColorsUtils.getColorAsRGBArray(r)) && (t = Number(s[0]),
e = Number(s[1]),
o = Number(s[2]),
s = s[3] ? Math.round(255 * Number(s[3])) : 255,
("#" + [(l = r => r.toString(16).padStart(2, "0"))(t), l(e), l(o), s < 255 ? l(s) : ""].join("")).toLowerCase()) : r
}
}
};
return a
}
)((document,
window,
jQuery));

203
assets/javascript/webpack.runtime.min.js vendored Normal file
View File

@@ -0,0 +1,203 @@
/*! elementor - v3.32.0 - 05-10-2025 */
( () => {
"use strict";
var e, r, _, t, n, a = {}, i = {};
function __webpack_require__(e) {
var r = i[e];
if (void 0 !== r)
return r.exports;
var _ = i[e] = {
exports: {}
};
return a[e].call(_.exports, _, _.exports, __webpack_require__),
_.exports
}
__webpack_require__.m = a,
e = [],
__webpack_require__.O = (r, _, t, n) => {
if (!_) {
var a = 1 / 0;
for (o = 0; o < e.length; o++) {
for (var [_,t,n] = e[o], i = !0, c = 0; c < _.length; c++)
(!1 & n || a >= n) && Object.keys(__webpack_require__.O).every(e => __webpack_require__.O[e](_[c])) ? _.splice(c--, 1) : (i = !1,
n < a && (a = n));
if (i) {
e.splice(o--, 1);
var b = t();
void 0 !== b && (r = b)
}
}
return r
}
n = n || 0;
for (var o = e.length; o > 0 && e[o - 1][2] > n; o--)
e[o] = e[o - 1];
e[o] = [_, t, n]
}
,
_ = Object.getPrototypeOf ? e => Object.getPrototypeOf(e) : e => e.__proto__,
__webpack_require__.t = function(e, t) {
if (1 & t && (e = this(e)),
8 & t)
return e;
if ("object" == typeof e && e) {
if (4 & t && e.__esModule)
return e;
if (16 & t && "function" == typeof e.then)
return e
}
var n = Object.create(null);
__webpack_require__.r(n);
var a = {};
r = r || [null, _({}), _([]), _(_)];
for (var i = 2 & t && e; "object" == typeof i && !~r.indexOf(i); i = _(i))
Object.getOwnPropertyNames(i).forEach(r => a[r] = () => e[r]);
return a.default = () => e,
__webpack_require__.d(n, a),
n
}
,
__webpack_require__.d = (e, r) => {
for (var _ in r)
__webpack_require__.o(r, _) && !__webpack_require__.o(e, _) && Object.defineProperty(e, _, {
enumerable: !0,
get: r[_]
})
}
,
__webpack_require__.f = {},
__webpack_require__.e = e => Promise.all(Object.keys(__webpack_require__.f).reduce( (r, _) => (__webpack_require__.f[_](e, r),
r), [])),
__webpack_require__.u = e => 216 === e ? "lightbox.408665be3d65f6ab17f0.bundle.min.js" : 30 === e ? "text-path.ebcd5a983a56266562f3.bundle.min.js" : 131 === e ? "accordion.28788e18d1d35c23f450.bundle.min.js" : 707 === e ? "alert.42cc1d522ef5c60bf874.bundle.min.js" : 457 === e ? "counter.12335f45aaa79d244f24.bundle.min.js" : 234 === e ? "progress.0ea083b809812c0e3aa1.bundle.min.js" : 575 === e ? "tabs.1a165c2a54522842b0f1.bundle.min.js" : 775 === e ? "toggle.f7afe5f9f0f912b34b22.bundle.min.js" : 180 === e ? "video.87291d1f5076f8939c18.bundle.min.js" : 177 === e ? "image-carousel.6167d20b95b33386757b.bundle.min.js" : 212 === e ? "text-editor.abc8f59c62f2820dc25a.bundle.min.js" : 211 === e ? "wp-audio.c9624cb6e5dc9de86abd.bundle.min.js" : 215 === e ? "nested-tabs.a542ad943214eb6c3ed8.bundle.min.js" : 915 === e ? "nested-accordion.a29d85d5aa492aef7142.bundle.min.js" : 1 === e ? "contact-buttons.d999c7d620ad8d4132c6.bundle.min.js" : 336 === e ? "floating-bars.a3070326b4333354cbd7.bundle.min.js" : 557 === e ? "shared-frontend-handlers.4c8abccc3e268b0767b2.bundle.min.js" : 396 === e ? "shared-editor-handlers.a182e3f9ce3b8b1e4b74.bundle.min.js" : 768 === e ? "container-editor-handlers.e7ee82232887ec8b73b7.bundle.min.js" : 77 === e ? "section-frontend-handlers.d85ab872da118940910d.bundle.min.js" : 220 === e ? "section-editor-handlers.c420276353ec5aba196e.bundle.min.js" : 304 === e ? "nested-title-keyboard-handler.fc9d01c2cd0ef46d20fd.bundle.min.js" : void 0,
__webpack_require__.g = function() {
if ("object" == typeof globalThis)
return globalThis;
try {
return this || new Function("return this")()
} catch (e) {
if ("object" == typeof window)
return window
}
}(),
__webpack_require__.o = (e, r) => Object.prototype.hasOwnProperty.call(e, r),
t = {},
n = "elementorFrontend:",
__webpack_require__.l = (e, r, _, a) => {
if (t[e])
t[e].push(r);
else {
var i, c;
if (void 0 !== _)
for (var b = document.getElementsByTagName("script"), o = 0; o < b.length; o++) {
var u = b[o];
if (u.getAttribute("src") == e || u.getAttribute("data-webpack") == n + _) {
i = u;
break
}
}
i || (c = !0,
(i = document.createElement("script")).charset = "utf-8",
i.timeout = 120,
__webpack_require__.nc && i.setAttribute("nonce", __webpack_require__.nc),
i.setAttribute("data-webpack", n + _),
i.src = e),
t[e] = [r];
var onScriptComplete = (r, _) => {
i.onerror = i.onload = null,
clearTimeout(d);
var n = t[e];
if (delete t[e],
i.parentNode && i.parentNode.removeChild(i),
n && n.forEach(e => e(_)),
r)
return r(_)
}
, d = setTimeout(onScriptComplete.bind(null, void 0, {
type: "timeout",
target: i
}), 12e4);
i.onerror = onScriptComplete.bind(null, i.onerror),
i.onload = onScriptComplete.bind(null, i.onload),
c && document.head.appendChild(i)
}
}
,
__webpack_require__.r = e => {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
value: "Module"
}),
Object.defineProperty(e, "__esModule", {
value: !0
})
}
,
( () => {
var e;
__webpack_require__.g.importScripts && (e = __webpack_require__.g.location + "");
var r = __webpack_require__.g.document;
if (!e && r && (r.currentScript && "SCRIPT" === r.currentScript.tagName.toUpperCase() && (e = r.currentScript.src),
!e)) {
var _ = r.getElementsByTagName("script");
if (_.length)
for (var t = _.length - 1; t > -1 && (!e || !/^http(s?):/.test(e)); )
e = _[t--].src
}
if (!e)
throw new Error("Automatic publicPath is not supported in this browser");
e = e.replace(/^blob:/, "").replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"),
__webpack_require__.p = e
}
)(),
( () => {
var e = {
76: 0
};
__webpack_require__.f.j = (r, _) => {
var t = __webpack_require__.o(e, r) ? e[r] : void 0;
if (0 !== t)
if (t)
_.push(t[2]);
else if (76 != r) {
var n = new Promise( (_, n) => t = e[r] = [_, n]);
_.push(t[2] = n);
var a = __webpack_require__.p + __webpack_require__.u(r)
, i = new Error;
__webpack_require__.l(a, _ => {
if (__webpack_require__.o(e, r) && (0 !== (t = e[r]) && (e[r] = void 0),
t)) {
var n = _ && ("load" === _.type ? "missing" : _.type)
, a = _ && _.target && _.target.src;
i.message = "Loading chunk " + r + " failed.\n(" + n + ": " + a + ")",
i.name = "ChunkLoadError",
i.type = n,
i.request = a,
t[1](i)
}
}
, "chunk-" + r, r)
} else
e[r] = 0
}
,
__webpack_require__.O.j = r => 0 === e[r];
var webpackJsonpCallback = (r, _) => {
var t, n, [a,i,c] = _, b = 0;
if (a.some(r => 0 !== e[r])) {
for (t in i)
__webpack_require__.o(i, t) && (__webpack_require__.m[t] = i[t]);
if (c)
var o = c(__webpack_require__)
}
for (r && r(_); b < a.length; b++)
n = a[b],
__webpack_require__.o(e, n) && e[n] && e[n][0](),
e[n] = 0;
return __webpack_require__.O(o)
}
, r = self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || [];
r.forEach(webpackJsonpCallback.bind(null, 0)),
r.push = webpackJsonpCallback.bind(null, r.push.bind(r))
}
)()
}
)();

183
assets/javascript/woo.js Normal file
View File

@@ -0,0 +1,183 @@
(function(jQuery) {
"use strict";
function is_mobile() {
if (window.innerWidth < 768) {
return !0
} else {
return !1
}
}
function is_mobile_device() {
if (navigator.userAgent.match(/(Android|iPhone|iPod|iPad|Phone|DROID|webOS|BlackBerry|Windows Phone|ZuneWP7|IEMobile|Tablet|Kindle|Playbook|Nexus|Xoom|SM-N900T|GT-N7100|SAMSUNG-SGH-I717|SM-T330NU)/)) {
return !0
} else {
return !1
}
}
function not_desktop() {
if ((window.innerWidth < 1367 && is_mobile_device()) || window.innerWidth < 1200) {
return !0
} else {
return !1
}
}
function product_filters_open() {
jQuery('.product-filters-trigger').on('click', function() {
if (jQuery(window).width() < 992) {
jQuery('.shop-hidden-sidebar, .body-overlay').addClass('active')
}
});
jQuery('.shop-hidden-sidebar-close').on('click', function() {
jQuery('.shop-hidden-sidebar, .body-overlay').removeClass('active')
})
}
product_filters_open();
function custom_quantity() {
jQuery('.quantity-wrapper').each(function() {
if (!jQuery(this).hasClass('styled')) {
if (!jQuery('.quantity', this).hasClass('hidden')) {
jQuery(this).addClass('styled').prepend('<div class="btn-minus"><i class="icon"></i></div>').append('<div class="btn-plus"><i class="icon"></i></div>')
} else {
jQuery(this).addClass('hidden')
}
var spinner = jQuery(this)
, input = spinner.find('input[type="number"]')
, btnUp = spinner.find('.btn-plus')
, btnDown = spinner.find('.btn-minus')
, min = input.attr('min')
, max = input.attr('max');
if (typeof min !== typeof undefined && min !== !1 && min !== '' && min >= 1) {
min = parseInt(min)
} else {
min = 0
}
if (typeof max !== typeof undefined && max !== !1 && max !== '' && max > min) {
max = parseInt(max)
} else {
max = 0
}
btnUp.on('click', function() {
if (input.val() == '') {
var oldValue = 0
} else {
var oldValue = parseInt(input.val())
}
if (oldValue >= max && max !== 0) {
var newVal = oldValue
} else {
var newVal = oldValue + 1
}
input.val(newVal);
input.trigger('change')
});
btnDown.on('click', function() {
if (input.val() == '') {
var oldValue = 0
} else {
var oldValue = parseInt(input.val())
}
if (oldValue <= min) {
var newVal = oldValue
} else {
var newVal = oldValue - 1
}
input.val(newVal);
input.trigger('change')
})
}
})
}
custom_quantity();
jQuery(document.body).on('updated_cart_totals', function() {
custom_quantity()
});
window.addEventListener("load", function() {
logico_ajax_add_to_cart();
logico_trigger_mini_cart()
});
function logico_trigger_mini_cart() {
var cart = jQuery('.mini-cart-panel');
cart.off();
if (window.innerWidth >= 992) {
jQuery('.header .mini-cart-trigger').on('click', function(e) {
e.preventDefault();
cart.addClass('active');
jQuery('.close-mini-cart').off();
logico_close_mini_cart()
})
}
}
function logico_close_mini_cart() {
jQuery('.close-mini-cart').on('click', function() {
jQuery('.mini-cart').removeClass('active')
})
}
function logico_ajax_add_to_cart() {
if (typeof wc_add_to_cart_params !== 'undefined') {
jQuery('.single_add_to_cart_button').off().on('click', function(e) {
if (!(jQuery(this).hasClass('single_add_to_cart_button') && wc_add_to_cart_params.cart_redirect_after_add === 'yes')) {
e.preventDefault();
var button = jQuery(this);
var form = button.closest('form.cart');
var product_id = form.find('input[name=add-to-cart]').val() || button.val() || form.find('.variation_id').val();
if (!product_id)
return;
if (button.is('.disabled'))
return;
var data = {
action: 'logico_ajax_add_to_cart',
'add-to-cart': product_id,
security: ajax_params.ajax_nonce
};
form.serializeArray().forEach(function(element) {
data[element.name] = element.value
});
jQuery(document.body).trigger('adding_to_cart', [button, data]);
jQuery.ajax({
type: 'POST',
url: wc_add_to_cart_params.ajax_url,
data: data,
beforeSend: function(response) {
button.removeClass('added').addClass('loading')
},
complete: function(response) {
button.addClass('added').removeClass('loading')
},
success: function(response) {
if (response.error & response.product_url) {
window.location = response.product_url;
return
} else {
jQuery(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, button])
}
}
});
return !1
}
})
}
}
function single_product_thumb_slider() {
jQuery('.woocommerce-product-gallery--with-images').find('.flex-control-nav').slick({
mobileFirst: !0,
prevArrow: '<div class="slick-button slick-prev"></div>',
nextArrow: '<div class="slick-button slick-next"></div>',
infinite: !1,
adaptiveHeight: !0,
responsive: [{
breakpoint: 120,
settings: {
slidesToShow: 3
}
}, {
breakpoint: 400,
settings: {
slidesToShow: 4
}
}]
})
}
single_product_thumb_slider();
setTimeout(single_product_thumb_slider, 500)
}
).call(this, jQuery)

118
assets/javascript/woocommerce.min.js vendored Normal file
View File

@@ -0,0 +1,118 @@
function focus_populate_live_region() {
var e = ["woocommerce-message", "woocommerce-error", "wc-block-components-notice-banner"].map(function(e) {
return "." + e + '[role="alert"]'
}).join(", ")
, o = document.querySelectorAll(e);
if (0 !== o.length) {
var t = o[0];
t.setAttribute("tabindex", "-1");
var n = setTimeout(function() {
t.focus(),
clearTimeout(n)
}, 500)
}
}
function refresh_sorted_by_live_region() {
var e = document.querySelector(".woocommerce-result-count");
if (e) {
var o = e.innerHTML;
e.setAttribute("aria-hidden", "true");
var t = setTimeout(function() {
e.setAttribute("aria-hidden", "false"),
e.innerHTML = "",
e.innerHTML = o,
clearTimeout(t)
}, 2e3)
}
}
function on_document_ready() {
focus_populate_live_region(),
refresh_sorted_by_live_region()
}
jQuery(function(e) {
e(".woocommerce-ordering").on("change", "select.orderby", function() {
e(this).closest("form").trigger("submit")
}),
e("input.qty:not(.product-quantity input.qty)").each(function() {
var o = parseFloat(e(this).attr("min"));
o >= 0 && parseFloat(e(this).val()) < o && e(this).val(o)
}),
document.body.addEventListener("keydown", function(e) {
e.target.matches('a[role="button"]') && (" " !== e.key && "Enter" !== e.key || (e.preventDefault(),
e.target.click()))
});
var o = "store_notice" + (e(".woocommerce-store-notice").data("noticeId") || "");
if ("hidden" === Cookies.get(o))
e(".woocommerce-store-notice").hide();
else {
e(".woocommerce-store-notice").show(),
e(".woocommerce-store-notice__dismiss-link").on("click", function t(n) {
Cookies.set(o, "hidden", {
path: "/"
}),
e(".woocommerce-store-notice").hide(),
n.preventDefault(),
e(".woocommerce-store-notice__dismiss-link").off("click", t)
})
}
e(".woocommerce-input-wrapper span.description").length && e(document.body).on("click", function() {
e(".woocommerce-input-wrapper span.description:visible").prop("aria-hidden", !0).slideUp(250)
}),
e(".woocommerce-input-wrapper").on("click", function(e) {
e.stopPropagation()
}),
e(".woocommerce-input-wrapper :input").on("keydown", function(o) {
var t = e(this).parent().find("span.description");
if (27 === o.which && t.length && t.is(":visible"))
return t.prop("aria-hidden", !0).slideUp(250),
o.preventDefault(),
!1
}).on("click focus", function() {
var o = e(this).parent()
, t = o.find("span.description");
o.addClass("currentTarget"),
e(".woocommerce-input-wrapper:not(.currentTarget) span.description:visible").prop("aria-hidden", !0).slideUp(250),
t.length && t.is(":hidden") && t.prop("aria-hidden", !1).slideDown(250),
o.removeClass("currentTarget")
}),
e.scroll_to_notices = function(o) {
o.length && e("html, body").animate({
scrollTop: o.offset().top - 100
}, 1e3)
}
,
e('.woocommerce form .woocommerce-Input[type="password"]').wrap('<span class="password-input"></span>'),
e(".woocommerce form input").filter(":password").parent("span").addClass("password-input"),
e(".password-input").each(function() {
const o = e(this).find("input").attr("id");
e(this).append('<button type="button" class="show-password-input" aria-label="' + woocommerce_params.i18n_password_show + '" aria-describedBy="' + o + '"></button>')
}),
e(".show-password-input").on("click", function(o) {
o.preventDefault(),
e(this).hasClass("display-password") ? (e(this).removeClass("display-password"),
e(this).attr("aria-label", woocommerce_params.i18n_password_show)) : (e(this).addClass("display-password"),
e(this).attr("aria-label", woocommerce_params.i18n_password_hide)),
e(this).hasClass("display-password") ? e(this).siblings(['input[type="password"]']).prop("type", "text") : e(this).siblings('input[type="text"]').prop("type", "password"),
e(this).siblings("input").focus()
}),
e("a.coming-soon-footer-banner-dismiss").on("click", function(o) {
var t = e(o.target);
e.ajax({
type: "post",
url: t.data("rest-url"),
data: {
woocommerce_meta: {
coming_soon_banner_dismissed: "yes"
}
},
beforeSend: function(e) {
e.setRequestHeader("X-WP-Nonce", t.data("rest-nonce"))
},
complete: function() {
e("#coming-soon-footer-banner").hide()
}
})
}),
e(document.body).on("item_removed_from_classic_cart updated_wc_div", focus_populate_live_region)
}),
document.addEventListener("DOMContentLoaded", on_document_ready);

177
assets/javascript/wpforms-modern.min.js vendored Normal file
View File

@@ -0,0 +1,177 @@
var WPForms = window.WPForms || {};
WPForms.FrontendModern = WPForms.FrontendModern || ( (i, o) => {
let a = {
init() {
o(a.ready),
a.bindOptinMonster()
},
ready() {
a.updateGBBlockAccentColors(),
a.initPageBreakButtons(),
a.initButtonStyle(),
a.events()
},
events() {
o(i).on("wpforms_elementor_form_fields_initialized", a.initPageBreakButtons),
o("form.wpforms-form").on("wpformsCombinedUploadsSizeError", a.combinedUploadsSizeError).on("wpformsFormSubmitButtonDisable", a.formSubmitButtonDisable).on("wpformsFormSubmitButtonRestore", a.formSubmitButtonRestore).on("wpformsPageChange", a.pageChange),
o("form.wpforms-form .wpforms-submit").on("keydown click", a.disabledButtonPress),
o(i).on("focus", ".wpforms-render-modern .wpforms-timepicker", a.updateTimepickerDropdown),
o(i).on("focusout", ".wpforms-render-modern .wpforms-timepicker", a.resetTimepickerDropdown)
},
bindOptinMonster() {
i.addEventListener("om.Campaign.load", function() {
a.ready()
}),
o(i).on("OptinMonsterOnShow", function() {
a.ready()
})
},
updateTimepickerDropdown() {
let e = a.getCssVars(o(this));
setTimeout(function() {
var r = o(".ui-timepicker-wrapper .ui-timepicker-list");
r.css("background", e["field-menu-color"]),
r.find("li").css("color", e["field-text-color"]),
r.find(".ui-timepicker-selected").css("background", e["button-background-color"]).css("color", e["button-text-color"])
}, 0)
},
resetTimepickerDropdown() {
setTimeout(function() {
o(".ui-timepicker-wrapper .ui-timepicker-list").find(":not(.ui-timepicker-selected)").attr("style", "")
}, 0)
},
initButtonStyle() {
o(".wpforms-block.wpforms-container-full, .elementor-widget-wpforms .wpforms-container-full").each(function() {
var r = o(this)
, e = getComputedStyle(r.get(0))
, e = a.getCssVar(e, "--wpforms-button-background-color-alt");
a.isTransparentColor(e) && r.find("button.wpforms-submit").addClass("wpforms-opacity-hover")
})
},
isTransparentColor(r) {
r = a.getColorAsRGBArray(r);
return Number(r?.[3]) <= .33
},
updateGBBlockAccentColors() {
o(".wpforms-block.wpforms-container-full, .elementor-widget-wpforms .wpforms-container-full").each(function() {
var r = o(this);
a.updateGBBlockPageIndicatorColor(r),
a.updateGBBlockIconChoicesColor(r),
a.updateGBBlockRatingColor(r)
})
},
updateGBBlockPageIndicatorColor(r) {
var r = r.find(".wpforms-page-indicator")
, e = r.find(".wpforms-page-indicator-page-progress, .wpforms-page-indicator-page.active .wpforms-page-indicator-page-number")
, o = e.find(".wpforms-page-indicator-page-triangle");
r.data("indicator-color", "var( --wpforms-page-break-color )"),
e.css("background-color", "var( --wpforms-page-break-color )"),
o.css("border-top-color", "var( --wpforms-page-break-color )")
},
updateGBBlockIconChoicesColor(r) {
r.find(".wpforms-icon-choices").css("--wpforms-icon-choices-color", "var( --wpforms-button-background-color )")
},
updateGBBlockRatingColor(r) {
r.find(".wpforms-field-rating-item svg").css("color", "var( --wpforms-page-break-color, var( --wpforms-button-background-color ) )")
},
initPageBreakButtons() {
o(".wpforms-page-button").removeClass("wpforms-disabled").attr("aria-disabled", "false").attr("aria-describedby", "")
},
combinedUploadsSizeError(r, e, o) {
var t = e.data("formid")
, s = e.attr("aria-errormessage") || ""
, t = `wpforms-${t}-footer-error`
, i = e.find(".wpforms-submit");
e.attr({
"aria-invalid": "true",
"aria-errormessage": s + " " + t
}),
o.attr({
role: "alert",
id: t
}),
o.find("> .wpforms-hidden:first-child").remove(),
o.prepend(`<span class="wpforms-hidden">${wpforms_settings.formErrorMessagePrefix}</span>`),
i.attr("aria-describedby", t)
},
combinedUploadsSizeOk(r, e, o) {
console.warn('WARNING! Function "WPForms.FrontendModern( e, $form, $errorCnt )" has been deprecated, please use the new "formSubmitButtonDisable: function( e, $form, $submitBtn )" function instead!'),
e.find(".wpforms-submit").removeClass("wpforms-disabled").attr("aria-disabled", "false").attr("aria-describedby", "")
},
formSubmitButtonDisable(r, e, o) {
e = e.attr("id") + "-submit-btn-disabled";
o.before(`<div class="wpforms-hidden" id="${e}">${wpforms_settings.submitBtnDisabled}</div>`),
o.prop("disabled", !1).addClass("wpforms-disabled").attr("aria-disabled", "true").attr("aria-describedby", e)
},
formSubmitButtonRestore(r, e, o) {
var t = e.attr("id") + "-submit-btn-disabled";
e.find("#" + t).remove(),
o.removeClass("wpforms-disabled").attr("aria-disabled", "false").attr("aria-describedby", "")
},
disabledButtonPress(r) {
!o(this).hasClass("wpforms-disabled") || "Enter" !== r.key && "click" !== r.type || (r.preventDefault(),
r.stopImmediatePropagation())
},
pageChange(r, o, t) {
var s = t.find(".wpforms-page-indicator");
if (wpforms_settings.indicatorStepsPattern && s.length) {
t = t.find(".wpforms-page").length;
let r = wpforms_settings.indicatorStepsPattern, e;
r = r.replace("{current}", o).replace("{total}", t),
e = s.hasClass("progress") ? s.find(".wpforms-page-indicator-page-title").data(`page-${o}-title`) : s.find(`.wpforms-page-indicator-page-${o} .wpforms-page-indicator-page-title`).text(),
r = e ? e + ". " + r : r,
s.attr("aria-valuenow", o),
a.screenReaderAnnounce(r, "polite")
}
},
screenReaderAnnounce(r, e) {
var o = i.createElement("div")
, t = "wpforms-screen-reader-announce-" + Date.now();
o.setAttribute("id", t),
o.setAttribute("aria-live", e || "polite"),
o.classList.add("wpforms-screen-reader-announce");
let s = i.body.appendChild(o);
setTimeout(function() {
s.innerHTML = r
}, 100),
setTimeout(function() {
i.body.removeChild(s)
}, 1e3)
},
getColorWithOpacity(r, e) {
return WPFormsUtils.cssColorsUtils.getColorWithOpacity(r, e)
},
getSolidColor(r) {
r = r.trim();
var e = a.getColorAsRGBArray(r);
return e ? `rgb(${e[0]},${e[1]},${e[2]})` : r
},
isValidColor(r) {
return WPFormsUtils.cssColorsUtils.isValidColor(r)
},
getColorAsRGBArray(r) {
return WPFormsUtils.cssColorsUtils.getColorAsRGBArray(r)
},
getCssVar(r, e) {
if (!r || "function" != typeof r.getPropertyValue)
return null;
let o = r.getPropertyValue(e).trim();
return o = e.includes("color") ? o.replace(/\s/g, "") : o
},
getCssVars(r) {
if (!r || !r.length)
return null;
var r = r.hasClass("wpforms-container") ? r : r.closest(".wpforms-container")
, e = getComputedStyle(r.get(0))
, o = wpforms_settings.css_vars
, t = {};
for (let r = 0; r < o.length; r++)
t[o[r]] = a.getCssVar(e, "--wpforms-" + o[r]);
return t
}
};
return a
}
)(document, (window,
jQuery)),
WPForms.FrontendModern.init();

1439
assets/javascript/wpforms.min.js vendored Normal file

File diff suppressed because it is too large Load Diff