update miletruth page and remove unwanted files
@@ -1,486 +0,0 @@
|
||||
/* comparison approach -- ── SECTION HTML ── */
|
||||
/* ── 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: "Manrope", 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;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
<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
public/css/non-used/custom-apple-webkit.min.css
vendored
@@ -1,100 +0,0 @@
|
||||
.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
|
||||
}
|
||||
}
|
||||
510
public/css/non-used/custom-lightbox.min.css
vendored
@@ -1,510 +0,0 @@
|
||||
.elementor-lightbox {
|
||||
--lightbox-ui-color: hsla(0, 0%, 93%, .9);
|
||||
--lightbox-ui-color-hover: #fff;
|
||||
--lightbox-text-color: var(--lightbox-ui-color);
|
||||
--lightbox-header-icons-size: 20px;
|
||||
--lightbox-navigation-icons-size: 25px
|
||||
}
|
||||
|
||||
.elementor-lightbox:not(.elementor-popup-modal) .dialog-header,
|
||||
.elementor-lightbox:not(.elementor-popup-modal) .dialog-message {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-header {
|
||||
display: none
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-widget-content {
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
height: 100%;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
|
||||
.elementor-lightbox .dialog-message {
|
||||
animation-duration: .3s;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-message.dialog-lightbox-message {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
font-size: var(--lightbox-header-icons-size);
|
||||
inset-inline-end: .75em;
|
||||
line-height: 1;
|
||||
margin-top: 13px;
|
||||
padding: .25em;
|
||||
position: absolute;
|
||||
z-index: 2
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button svg {
|
||||
height: 1em;
|
||||
width: 1em
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button,
|
||||
.elementor-lightbox .elementor-swiper-button {
|
||||
color: var(--lightbox-ui-color);
|
||||
opacity: 1;
|
||||
transition: all .3s
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button svg,
|
||||
.elementor-lightbox .elementor-swiper-button svg {
|
||||
fill: var(--lightbox-ui-color)
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button:hover,
|
||||
.elementor-lightbox .elementor-swiper-button:hover {
|
||||
color: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-lightbox .dialog-lightbox-close-button:hover svg,
|
||||
.elementor-lightbox .elementor-swiper-button:hover svg {
|
||||
fill: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-item {
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
margin: auto;
|
||||
padding: 70px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
.elementor-lightbox .elementor-lightbox-item {
|
||||
padding: 70px 0
|
||||
}
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-image {
|
||||
max-height: 100%;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-image,
|
||||
.elementor-lightbox .elementor-lightbox-image:hover {
|
||||
border: none;
|
||||
filter: none;
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-lightbox-image {
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 0 30px rgba(0, 0, 0, .3), 0 0 8px -5px rgba(0, 0, 0, .3)
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container {
|
||||
left: 50%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square {
|
||||
height: 100%;
|
||||
margin: auto;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square iframe {
|
||||
background-color: #000;
|
||||
border: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape video,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait video,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square video {
|
||||
aspect-ratio: var(--video-aspect-ratio, 1.77777)
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-square video {
|
||||
height: min(90vh, 90vw);
|
||||
width: min(90vh, 90vw)
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape video {
|
||||
height: auto;
|
||||
max-height: 90vh;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait iframe,
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait video {
|
||||
height: 100%;
|
||||
max-width: 90vw
|
||||
}
|
||||
|
||||
@media (min-width:1025px) {
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape {
|
||||
max-height: 85vh;
|
||||
width: 85vw
|
||||
}
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait {
|
||||
height: 85vh;
|
||||
max-width: 85vw
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:1024px) {
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-landscape {
|
||||
max-height: 95vh;
|
||||
width: 95vw
|
||||
}
|
||||
.elementor-lightbox .elementor-video-container .elementor-video-portrait {
|
||||
height: 95vh;
|
||||
max-width: 95vw
|
||||
}
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper .elementor-swiper-button-prev {
|
||||
left: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper .elementor-swiper-button-next {
|
||||
right: 0
|
||||
}
|
||||
|
||||
.elementor-lightbox .swiper .swiper-pagination-fraction {
|
||||
color: #fff;
|
||||
width: -moz-max-content;
|
||||
width: max-content
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-swiper-button:focus {
|
||||
outline-width: 1px
|
||||
}
|
||||
|
||||
.elementor-lightbox .elementor-swiper-button-next,
|
||||
.elementor-lightbox .elementor-swiper-button-prev {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
font-size: var(--lightbox-navigation-icons-size);
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
width: 15%
|
||||
}
|
||||
|
||||
@media (max-width:1024px) {
|
||||
.elementor-lightbox .elementor-swiper-button-next:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev:active {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg {
|
||||
cursor: pointer
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg:active {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
outline: none
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
.elementor-lightbox .elementor-swiper-button:focus {
|
||||
outline: none
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next,
|
||||
.elementor-lightbox .elementor-swiper-button-prev {
|
||||
width: 20%
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev:active {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
padding: 10px
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg {
|
||||
cursor: pointer
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-next svg:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev i:active,
|
||||
.elementor-lightbox .elementor-swiper-button-prev svg:active {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
outline: none
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-prev {
|
||||
justify-content: flex-start;
|
||||
left: 0
|
||||
}
|
||||
.elementor-lightbox .elementor-swiper-button-next {
|
||||
justify-content: flex-end;
|
||||
right: 0
|
||||
}
|
||||
}
|
||||
|
||||
.elementor-slideshow__counter {
|
||||
color: currentColor;
|
||||
font-size: .75em;
|
||||
width: -moz-max-content;
|
||||
width: max-content
|
||||
}
|
||||
|
||||
.elementor-slideshow__footer,
|
||||
.elementor-slideshow__header {
|
||||
left: 0;
|
||||
padding: 15px 20px;
|
||||
position: absolute;
|
||||
transition: .3s;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-slideshow__footer {
|
||||
color: var(--lightbox-text-color)
|
||||
}
|
||||
|
||||
.elementor-slideshow__header {
|
||||
align-items: center;
|
||||
color: var(--lightbox-ui-color);
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
font-size: var(--lightbox-header-icons-size);
|
||||
padding-inline-end: 2.6em;
|
||||
padding-inline-start: 1em;
|
||||
top: 0;
|
||||
z-index: 10
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>i,
|
||||
.elementor-slideshow__header>svg {
|
||||
cursor: pointer;
|
||||
margin: 0 .35em;
|
||||
padding: .25em
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>i {
|
||||
font-size: inherit
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>i:hover {
|
||||
color: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>svg {
|
||||
box-sizing: content-box;
|
||||
fill: var(--lightbox-ui-color);
|
||||
height: 1em;
|
||||
width: 1em
|
||||
}
|
||||
|
||||
.elementor-slideshow__header>svg:hover {
|
||||
fill: var(--lightbox-ui-color-hover)
|
||||
}
|
||||
|
||||
.elementor-slideshow__header .elementor-slideshow__counter {
|
||||
margin-inline-end: auto
|
||||
}
|
||||
|
||||
.elementor-slideshow__header .elementor-icon-share {
|
||||
z-index: 5
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-menu {
|
||||
background-color: transparent;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
transition: background-color .4s;
|
||||
width: 0
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-menu .elementor-slideshow__share-links a {
|
||||
color: #0c0d0e
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links {
|
||||
background-color: #fff;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, .3);
|
||||
display: block;
|
||||
inset-inline-end: 2.8em;
|
||||
min-width: 200px;
|
||||
opacity: 0;
|
||||
padding: 14px 20px;
|
||||
position: absolute;
|
||||
top: 3em;
|
||||
transform: scale(0);
|
||||
transform-origin: 90% 10%;
|
||||
transition: all .25s .1s
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a {
|
||||
color: #3f444b;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
line-height: 2.5;
|
||||
opacity: 0;
|
||||
text-align: start;
|
||||
transition: opacity .5s .1s
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a:hover {
|
||||
color: #000
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a i,
|
||||
.elementor-slideshow__share-links a svg {
|
||||
margin-inline-end: .75em
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a i {
|
||||
font-size: 1.25em
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links a svg {
|
||||
height: 1.25em;
|
||||
width: 1.25em
|
||||
}
|
||||
|
||||
.elementor-slideshow__share-links:before {
|
||||
border: .45em solid transparent;
|
||||
border-bottom-color: #fff;
|
||||
content: "";
|
||||
display: block;
|
||||
inset-inline-end: .5em;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
transform: translateY(-100%) scaleX(.7)
|
||||
}
|
||||
|
||||
.elementor-slideshow__footer {
|
||||
bottom: 0;
|
||||
position: fixed;
|
||||
z-index: 5
|
||||
}
|
||||
|
||||
.elementor-slideshow__description,
|
||||
.elementor-slideshow__title {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.elementor-slideshow__title {
|
||||
font-size: 16px;
|
||||
font-weight: 700
|
||||
}
|
||||
|
||||
.elementor-slideshow__description {
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.elementor-slideshow--ui-hidden .elementor-slideshow__footer,
|
||||
.elementor-slideshow--ui-hidden .elementor-slideshow__header {
|
||||
opacity: 0;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.elementor-slideshow--ui-hidden .elementor-swiper-button-next,
|
||||
.elementor-slideshow--ui-hidden .elementor-swiper-button-prev {
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.elementor-slideshow--fullscreen-mode .elementor-video-container {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.elementor-slideshow--zoom-mode .elementor-slideshow__footer,
|
||||
.elementor-slideshow--zoom-mode .elementor-slideshow__header {
|
||||
background-color: rgba(0, 0, 0, .5)
|
||||
}
|
||||
|
||||
.elementor-slideshow--zoom-mode .elementor-swiper-button-next,
|
||||
.elementor-slideshow--zoom-mode .elementor-swiper-button-prev {
|
||||
opacity: 0;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-menu {
|
||||
background-color: rgba(0, 0, 0, .5);
|
||||
cursor: default;
|
||||
height: 100vh;
|
||||
left: 0;
|
||||
opacity: 1;
|
||||
top: 0;
|
||||
width: 100vw
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links {
|
||||
transform: scale(1)
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links,
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links a {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-twitter {
|
||||
color: #1da1f2
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-facebook {
|
||||
color: #3b5998
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-pinterest {
|
||||
color: #bd081c
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .eicon-download-bold {
|
||||
color: #9da5ae
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-twitter {
|
||||
fill: #1da1f2
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-facebook {
|
||||
fill: #3b5998
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-pinterest {
|
||||
fill: #bd081c
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .elementor-slideshow__share-links .e-eicon-download-bold {
|
||||
fill: #9da5ae
|
||||
}
|
||||
|
||||
.elementor-slideshow--share-mode .eicon-share-arrow {
|
||||
z-index: 2
|
||||
}
|
||||
369
public/css/non-used/dialog.min.css
vendored
@@ -1,369 +0,0 @@
|
||||
.dialog-widget-content {
|
||||
background-color: var(--e-a-bg-default);
|
||||
border-radius: 3px;
|
||||
box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
|
||||
overflow: hidden;
|
||||
position: absolute
|
||||
}
|
||||
|
||||
.dialog-message {
|
||||
box-sizing: border-box;
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.dialog-close-button {
|
||||
color: var(--e-a-color-txt);
|
||||
cursor: pointer;
|
||||
font-size: 15px;
|
||||
inset-inline-end: 15px;
|
||||
line-height: 1;
|
||||
margin-block-start: 15px;
|
||||
position: absolute;
|
||||
transition: var(--e-a-transition-hover)
|
||||
}
|
||||
|
||||
.dialog-close-button:hover {
|
||||
color: var(--e-a-color-txt-hover)
|
||||
}
|
||||
|
||||
.dialog-prevent-scroll {
|
||||
max-height: 100vh;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.dialog-type-lightbox {
|
||||
background-color: rgba(0, 0, 0, .8);
|
||||
bottom: 0;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: fixed;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
width: 100%;
|
||||
z-index: 9999
|
||||
}
|
||||
|
||||
.elementor-editor-active .elementor-popup-modal {
|
||||
background-color: initial
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-widget-content,
|
||||
.dialog-type-confirm .dialog-widget-content {
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
width: 400px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-header,
|
||||
.dialog-type-confirm .dialog-header {
|
||||
font-size: 15px;
|
||||
font-weight: 500
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-header:after,
|
||||
.dialog-type-confirm .dialog-header:after {
|
||||
border-block-end: var(--e-a-border);
|
||||
content: "";
|
||||
display: block;
|
||||
margin-block-end: 10px;
|
||||
margin-inline-end: -20px;
|
||||
margin-inline-start: -20px;
|
||||
padding-block-end: 10px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-message,
|
||||
.dialog-type-confirm .dialog-message {
|
||||
min-height: 50px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper {
|
||||
display: flex;
|
||||
gap: 15px;
|
||||
justify-content: flex-end;
|
||||
padding-block-start: 10px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button {
|
||||
background-color: var(--e-a-btn-bg);
|
||||
border: none;
|
||||
border-radius: var(--e-a-border-radius);
|
||||
color: var(--e-a-btn-color-invert);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
outline: none;
|
||||
padding: 8px 16px;
|
||||
transition: var(--e-a-transition-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover {
|
||||
border: none
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover {
|
||||
background-color: var(--e-a-btn-bg-hover);
|
||||
color: var(--e-a-btn-color-invert)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:active,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:active {
|
||||
background-color: var(--e-a-btn-bg-active)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:not([disabled]),
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not([disabled]) {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:disabled,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:disabled {
|
||||
background-color: var(--e-a-btn-bg-disabled);
|
||||
color: var(--e-a-btn-color-disabled)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:not(.elementor-button-state) .elementor-state-icon {
|
||||
display: none
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt {
|
||||
background: transparent;
|
||||
color: var(--e-a-color-txt)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:hover {
|
||||
background: var(--e-a-bg-hover);
|
||||
color: var(--e-a-color-txt-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel:disabled,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt:disabled {
|
||||
background: transparent;
|
||||
color: var(--e-a-color-txt-disabled)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt-border,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt-border {
|
||||
border: 1px solid var(--e-a-color-txt-muted)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success {
|
||||
background-color: var(--e-a-btn-bg-success)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-success:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-success:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-success:hover {
|
||||
background-color: var(--e-a-btn-bg-success-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary {
|
||||
background-color: var(--e-a-btn-bg-primary);
|
||||
color: var(--e-a-btn-color)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-take_over:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary:hover {
|
||||
background-color: var(--e-a-btn-bg-primary-hover);
|
||||
color: var(--e-a-btn-color)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt {
|
||||
background: transparent;
|
||||
color: var(--e-a-color-primary-bold)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-cancel.dialog-take_over:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.dialog-ok.dialog-cancel:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-ok:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-btn-txt.dialog-take_over:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.dialog-cancel:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-primary.e-btn-txt:hover {
|
||||
background: var(--e-a-bg-primary)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro {
|
||||
background-color: var(--e-a-btn-bg-accent)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:hover {
|
||||
background-color: var(--e-a-btn-bg-accent-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-accent:active,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.go-pro:active,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-accent:active,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.go-pro:active {
|
||||
background-color: var(--e-a-btn-bg-accent-active)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info {
|
||||
background-color: var(--e-a-btn-bg-info)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-info:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-info:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-info:hover {
|
||||
background-color: var(--e-a-btn-bg-info-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning {
|
||||
background-color: var(--e-a-btn-bg-warning)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-warning:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-warning:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-warning:hover {
|
||||
background-color: var(--e-a-btn-bg-warning-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger {
|
||||
background-color: var(--e-a-btn-bg-danger)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger.color-white,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger.color-white,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger.color-white,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger.color-white {
|
||||
color: var(--e-a-color-white)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.e-danger:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.e-danger:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button.elementor-button-danger:hover {
|
||||
background-color: var(--e-a-btn-bg-danger-hover)
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button i,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button i {
|
||||
margin-inline-end: 5px
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button:visited,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button:visited {
|
||||
color: initial
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled],
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled] {
|
||||
background-color: var(--e-a-btn-bg-disabled);
|
||||
cursor: not-allowed
|
||||
}
|
||||
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:focus,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:hover,
|
||||
.dialog-type-alert .dialog-buttons-wrapper .dialog-button[disabled]:visited,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:focus,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:hover,
|
||||
.dialog-type-confirm .dialog-buttons-wrapper .dialog-button[disabled]:visited {
|
||||
background-color: var(--e-a-btn-bg-disabled)
|
||||
}
|
||||
2004
public/css/non-used/elementor-icons.min.css
vendored
@@ -1,18 +0,0 @@
|
||||
/*!
|
||||
* 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(../fonts/fa-solid-900.eot);
|
||||
src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url("../fonts/fa-solid-900.svg#fontawesome") format("svg")
|
||||
|
||||
}
|
||||
|
||||
.fa,.fas {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 900
|
||||
}
|
||||
4527
public/css/non-used/style.min.css
vendored
731
public/css/non-used/swiper.min.css
vendored
@@ -1,731 +0,0 @@
|
||||
/**
|
||||
* Swiper 8.4.5
|
||||
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
||||
* https://swiperjs.com
|
||||
*
|
||||
* Copyright 2014-2022 Vladimir Kharlampidi
|
||||
*
|
||||
* Released under the MIT License
|
||||
*
|
||||
* Released on: November 21, 2022
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: swiper-icons;
|
||||
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
|
||||
font-weight: 400;
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
:root {
|
||||
--swiper-theme-color: #007aff
|
||||
}
|
||||
|
||||
.swiper {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.swiper-vertical>.swiper-wrapper {
|
||||
flex-direction: column
|
||||
}
|
||||
|
||||
.swiper-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
transition-property: transform;
|
||||
box-sizing: content-box
|
||||
}
|
||||
|
||||
.swiper-android .swiper-slide,
|
||||
.swiper-wrapper {
|
||||
transform: translate3d(0px, 0, 0)
|
||||
}
|
||||
|
||||
.swiper-pointer-events {
|
||||
touch-action: pan-y
|
||||
}
|
||||
|
||||
.swiper-pointer-events.swiper-vertical {
|
||||
touch-action: pan-x
|
||||
}
|
||||
|
||||
.swiper-slide {
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
transition-property: transform
|
||||
}
|
||||
|
||||
.swiper-slide-invisible-blank {
|
||||
visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-autoheight,
|
||||
.swiper-autoheight .swiper-slide {
|
||||
height: auto
|
||||
}
|
||||
|
||||
.swiper-autoheight .swiper-wrapper {
|
||||
align-items: flex-start;
|
||||
transition-property: transform, height
|
||||
}
|
||||
|
||||
.swiper-backface-hidden .swiper-slide {
|
||||
transform: translateZ(0);
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-3d,
|
||||
.swiper-3d.swiper-css-mode .swiper-wrapper {
|
||||
perspective: 1200px
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-cube-shadow,
|
||||
.swiper-3d .swiper-slide,
|
||||
.swiper-3d .swiper-slide-shadow,
|
||||
.swiper-3d .swiper-slide-shadow-bottom,
|
||||
.swiper-3d .swiper-slide-shadow-left,
|
||||
.swiper-3d .swiper-slide-shadow-right,
|
||||
.swiper-3d .swiper-slide-shadow-top,
|
||||
.swiper-3d .swiper-wrapper {
|
||||
transform-style: preserve-3d
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow,
|
||||
.swiper-3d .swiper-slide-shadow-bottom,
|
||||
.swiper-3d .swiper-slide-shadow-left,
|
||||
.swiper-3d .swiper-slide-shadow-right,
|
||||
.swiper-3d .swiper-slide-shadow-top {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
pointer-events: none;
|
||||
z-index: 10
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow {
|
||||
background: rgba(0, 0, 0, .15)
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-left {
|
||||
background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-right {
|
||||
background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-top {
|
||||
background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-3d .swiper-slide-shadow-bottom {
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
|
||||
}
|
||||
|
||||
.swiper-css-mode>.swiper-wrapper {
|
||||
overflow: auto;
|
||||
scrollbar-width: none;
|
||||
-ms-overflow-style: none
|
||||
}
|
||||
|
||||
.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-css-mode>.swiper-wrapper>.swiper-slide {
|
||||
scroll-snap-align: start start
|
||||
}
|
||||
|
||||
.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
|
||||
scroll-snap-type: x mandatory
|
||||
}
|
||||
|
||||
.swiper-vertical.swiper-css-mode>.swiper-wrapper {
|
||||
scroll-snap-type: y mandatory
|
||||
}
|
||||
|
||||
.swiper-centered>.swiper-wrapper::before {
|
||||
content: '';
|
||||
flex-shrink: 0;
|
||||
order: 9999
|
||||
}
|
||||
|
||||
.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
|
||||
margin-inline-start: var(--swiper-centered-offset-before)
|
||||
}
|
||||
|
||||
.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
|
||||
height: 100%;
|
||||
min-height: 1px;
|
||||
width: var(--swiper-centered-offset-after)
|
||||
}
|
||||
|
||||
.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
|
||||
margin-block-start: var(--swiper-centered-offset-before)
|
||||
}
|
||||
|
||||
.swiper-centered.swiper-vertical>.swiper-wrapper::before {
|
||||
width: 100%;
|
||||
min-width: 1px;
|
||||
height: var(--swiper-centered-offset-after)
|
||||
}
|
||||
|
||||
.swiper-centered>.swiper-wrapper>.swiper-slide {
|
||||
scroll-snap-align: center center
|
||||
}
|
||||
|
||||
.swiper-virtual .swiper-slide {
|
||||
-webkit-backface-visibility: hidden;
|
||||
transform: translateZ(0)
|
||||
}
|
||||
|
||||
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
|
||||
height: 1px;
|
||||
width: var(--swiper-virtual-size)
|
||||
}
|
||||
|
||||
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
|
||||
width: 1px;
|
||||
height: var(--swiper-virtual-size)
|
||||
}
|
||||
|
||||
:root {
|
||||
--swiper-navigation-size: 44px
|
||||
}
|
||||
|
||||
.swiper-button-next,
|
||||
.swiper-button-prev {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: calc(var(--swiper-navigation-size)/ 44 * 27);
|
||||
height: var(--swiper-navigation-size);
|
||||
margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
|
||||
z-index: 10;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--swiper-navigation-color, var(--swiper-theme-color))
|
||||
}
|
||||
|
||||
.swiper-button-next.swiper-button-disabled,
|
||||
.swiper-button-prev.swiper-button-disabled {
|
||||
opacity: .35;
|
||||
cursor: auto;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-button-next.swiper-button-hidden,
|
||||
.swiper-button-prev.swiper-button-hidden {
|
||||
opacity: 0;
|
||||
cursor: auto;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-navigation-disabled .swiper-button-next,
|
||||
.swiper-navigation-disabled .swiper-button-prev {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-button-next:after,
|
||||
.swiper-button-prev:after {
|
||||
font-family: swiper-icons;
|
||||
font-size: var(--swiper-navigation-size);
|
||||
text-transform: none !important;
|
||||
letter-spacing: 0;
|
||||
font-variant: initial;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
.swiper-button-prev,
|
||||
.swiper-rtl .swiper-button-next {
|
||||
left: 10px;
|
||||
right: auto
|
||||
}
|
||||
|
||||
.swiper-button-prev:after,
|
||||
.swiper-rtl .swiper-button-next:after {
|
||||
content: 'prev'
|
||||
}
|
||||
|
||||
.swiper-button-next,
|
||||
.swiper-rtl .swiper-button-prev {
|
||||
right: 10px;
|
||||
left: auto
|
||||
}
|
||||
|
||||
.swiper-button-next:after,
|
||||
.swiper-rtl .swiper-button-prev:after {
|
||||
content: 'next'
|
||||
}
|
||||
|
||||
.swiper-button-lock {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-pagination {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
transition: .3s opacity;
|
||||
transform: translate3d(0, 0, 0);
|
||||
z-index: 10
|
||||
}
|
||||
|
||||
.swiper-pagination.swiper-pagination-hidden {
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.swiper-pagination-disabled>.swiper-pagination,
|
||||
.swiper-pagination.swiper-pagination-disabled {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets,
|
||||
.swiper-pagination-bullets.swiper-pagination-horizontal,
|
||||
.swiper-pagination-custom,
|
||||
.swiper-pagination-fraction {
|
||||
bottom: 10px;
|
||||
left: 0;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic {
|
||||
overflow: hidden;
|
||||
font-size: 0
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
transform: scale(.33);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
|
||||
transform: scale(1)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
|
||||
transform: scale(1)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
|
||||
transform: scale(.66)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
|
||||
transform: scale(.33)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
|
||||
transform: scale(.66)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
|
||||
transform: scale(.33)
|
||||
}
|
||||
|
||||
.swiper-pagination-bullet {
|
||||
width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
|
||||
height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
|
||||
display: inline-block;
|
||||
border-radius: 50%;
|
||||
background: var(--swiper-pagination-bullet-inactive-color, #000);
|
||||
opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
|
||||
}
|
||||
|
||||
button.swiper-pagination-bullet {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: none;
|
||||
appearance: none
|
||||
}
|
||||
|
||||
.swiper-pagination-clickable .swiper-pagination-bullet {
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.swiper-pagination-bullet:only-child {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-pagination-bullet-active {
|
||||
opacity: var(--swiper-pagination-bullet-opacity, 1);
|
||||
background: var(--swiper-pagination-color, var(--swiper-theme-color))
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets,
|
||||
.swiper-vertical>.swiper-pagination-bullets {
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
transform: translate3d(0px, -50%, 0)
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
|
||||
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
|
||||
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
|
||||
display: block
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
|
||||
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 8px
|
||||
}
|
||||
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
|
||||
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
display: inline-block;
|
||||
transition: .2s transform, .2s top
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
|
||||
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
transition: .2s transform, .2s left
|
||||
}
|
||||
|
||||
.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
transition: .2s transform, .2s right
|
||||
}
|
||||
|
||||
.swiper-pagination-progressbar {
|
||||
background: rgba(0, 0, 0, .25);
|
||||
position: absolute
|
||||
}
|
||||
|
||||
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
background: var(--swiper-pagination-color, var(--swiper-theme-color));
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transform: scale(0);
|
||||
transform-origin: left top
|
||||
}
|
||||
|
||||
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
transform-origin: right top
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-progressbar,
|
||||
.swiper-pagination-progressbar.swiper-pagination-horizontal,
|
||||
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
|
||||
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
left: 0;
|
||||
top: 0
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
|
||||
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
|
||||
.swiper-pagination-progressbar.swiper-pagination-vertical,
|
||||
.swiper-vertical>.swiper-pagination-progressbar {
|
||||
width: 4px;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0
|
||||
}
|
||||
|
||||
.swiper-pagination-lock {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-scrollbar {
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
-ms-touch-action: none;
|
||||
background: rgba(0, 0, 0, .1)
|
||||
}
|
||||
|
||||
.swiper-scrollbar-disabled>.swiper-scrollbar,
|
||||
.swiper-scrollbar.swiper-scrollbar-disabled {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.swiper-horizontal>.swiper-scrollbar,
|
||||
.swiper-scrollbar.swiper-scrollbar-horizontal {
|
||||
position: absolute;
|
||||
left: 1%;
|
||||
bottom: 3px;
|
||||
z-index: 50;
|
||||
height: 5px;
|
||||
width: 98%
|
||||
}
|
||||
|
||||
.swiper-scrollbar.swiper-scrollbar-vertical,
|
||||
.swiper-vertical>.swiper-scrollbar {
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 1%;
|
||||
z-index: 50;
|
||||
width: 5px;
|
||||
height: 98%
|
||||
}
|
||||
|
||||
.swiper-scrollbar-drag {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
background: rgba(0, 0, 0, .5);
|
||||
border-radius: 10px;
|
||||
left: 0;
|
||||
top: 0
|
||||
}
|
||||
|
||||
.swiper-scrollbar-cursor-drag {
|
||||
cursor: move
|
||||
}
|
||||
|
||||
.swiper-scrollbar-lock {
|
||||
display: none
|
||||
}
|
||||
|
||||
.swiper-zoom-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.swiper-zoom-container>canvas,
|
||||
.swiper-zoom-container>img,
|
||||
.swiper-zoom-container>svg {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
object-fit: contain
|
||||
}
|
||||
|
||||
.swiper-slide-zoomed {
|
||||
cursor: move
|
||||
}
|
||||
|
||||
.swiper-lazy-preloader {
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -21px;
|
||||
margin-top: -21px;
|
||||
z-index: 10;
|
||||
transform-origin: 50%;
|
||||
box-sizing: border-box;
|
||||
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
|
||||
border-radius: 50%;
|
||||
border-top-color: transparent
|
||||
}
|
||||
|
||||
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
|
||||
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
|
||||
animation: swiper-preloader-spin 1s infinite linear
|
||||
}
|
||||
|
||||
.swiper-lazy-preloader-white {
|
||||
--swiper-preloader-color: #fff
|
||||
}
|
||||
|
||||
.swiper-lazy-preloader-black {
|
||||
--swiper-preloader-color: #000
|
||||
}
|
||||
|
||||
@keyframes swiper-preloader-spin {
|
||||
0% {
|
||||
transform: rotate(0deg)
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg)
|
||||
}
|
||||
}
|
||||
|
||||
.swiper .swiper-notification {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
z-index: -1000
|
||||
}
|
||||
|
||||
.swiper-free-mode>.swiper-wrapper {
|
||||
transition-timing-function: ease-out;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
.swiper-grid>.swiper-wrapper {
|
||||
flex-wrap: wrap
|
||||
}
|
||||
|
||||
.swiper-grid-column>.swiper-wrapper {
|
||||
flex-wrap: wrap;
|
||||
flex-direction: column
|
||||
}
|
||||
|
||||
.swiper-fade.swiper-free-mode .swiper-slide {
|
||||
transition-timing-function: ease-out
|
||||
}
|
||||
|
||||
.swiper-fade .swiper-slide {
|
||||
pointer-events: none;
|
||||
transition-property: opacity
|
||||
}
|
||||
|
||||
.swiper-fade .swiper-slide .swiper-slide {
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-fade .swiper-slide-active,
|
||||
.swiper-fade .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.swiper-cube {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide {
|
||||
pointer-events: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1;
|
||||
visibility: hidden;
|
||||
transform-origin: 0 0;
|
||||
width: 100%;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide .swiper-slide {
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-cube.swiper-rtl .swiper-slide {
|
||||
transform-origin: 100% 0
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide-active,
|
||||
.swiper-cube .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide-active,
|
||||
.swiper-cube .swiper-slide-next,
|
||||
.swiper-cube .swiper-slide-next+.swiper-slide,
|
||||
.swiper-cube .swiper-slide-prev {
|
||||
pointer-events: auto;
|
||||
visibility: visible
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-slide-shadow-bottom,
|
||||
.swiper-cube .swiper-slide-shadow-left,
|
||||
.swiper-cube .swiper-slide-shadow-right,
|
||||
.swiper-cube .swiper-slide-shadow-top {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-cube-shadow {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: .6;
|
||||
z-index: 0
|
||||
}
|
||||
|
||||
.swiper-cube .swiper-cube-shadow:before {
|
||||
content: '';
|
||||
background: #000;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
filter: blur(50px)
|
||||
}
|
||||
|
||||
.swiper-flip {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide {
|
||||
pointer-events: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide .swiper-slide {
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide-active,
|
||||
.swiper-flip .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto
|
||||
}
|
||||
|
||||
.swiper-flip .swiper-slide-shadow-bottom,
|
||||
.swiper-flip .swiper-slide-shadow-left,
|
||||
.swiper-flip .swiper-slide-shadow-right,
|
||||
.swiper-flip .swiper-slide-shadow-top {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden
|
||||
}
|
||||
|
||||
.swiper-creative .swiper-slide {
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
overflow: hidden;
|
||||
transition-property: transform, opacity, height
|
||||
}
|
||||
|
||||
.swiper-cards {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.swiper-cards .swiper-slide {
|
||||
transform-origin: center bottom;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
overflow: hidden
|
||||
}
|
||||
1547
public/css/non-used/wpforms-base.min.css
vendored
79
public/css/widgets/widget-accordion.min.css
vendored
@@ -1,79 +0,0 @@
|
||||
.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 )
|
||||
}
|
||||
133
public/css/widgets/widget-divider.min.css
vendored
@@ -1,133 +0,0 @@
|
||||
/*! 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 )
|
||||
}
|
||||
223
public/css/widgets/widget-icon-box.min.css
vendored
@@ -1,223 +0,0 @@
|
||||
.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
|
||||
}
|
||||
}
|
||||
362
public/css/widgets/widget-icon-list.min.css
vendored
@@ -1,362 +0,0 @@
|
||||
/*! 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
public/css/widgets/widget-image.min.css
vendored
@@ -1,17 +0,0 @@
|
||||
/*! 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$=".jpeg"] {
|
||||
width: 48px
|
||||
}
|
||||
|
||||
.elementor-widget-image img {
|
||||
display: inline-block;
|
||||
vertical-align: middle
|
||||
}
|
||||
291
public/css/widgets/widget-social-icons.min.css
vendored
@@ -1,291 +0,0 @@
|
||||
/*! 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
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
|
||||
|
Before Width: | Height: | Size: 391 B |
@@ -1 +0,0 @@
|
||||
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 612 KiB |
@@ -1,6 +0,0 @@
|
||||
<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>
|
||||
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 909 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 209 KiB |
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 777 KiB |
|
Before Width: | Height: | Size: 157 KiB |
|
Before Width: | Height: | Size: 498 KiB |
|
Before Width: | Height: | Size: 712 KiB |
|
Before Width: | Height: | Size: 672 KiB |
|
Before Width: | Height: | Size: 528 KiB |
|
Before Width: | Height: | Size: 349 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 688 KiB |
|
Before Width: | Height: | Size: 368 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 716 KiB |
|
Before Width: | Height: | Size: 835 KiB |
|
Before Width: | Height: | Size: 954 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 764 KiB |
|
Before Width: | Height: | Size: 647 KiB |
|
Before Width: | Height: | Size: 774 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 6.1 MiB |
|
Before Width: | Height: | Size: 5.2 MiB |
|
Before Width: | Height: | Size: 4.6 MiB |
|
Before Width: | Height: | Size: 873 KiB |
|
Before Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 904 KiB |
|
Before Width: | Height: | Size: 1.8 MiB |
@@ -1,178 +0,0 @@
|
||||
<svg width="100%" viewBox="0 0 680 1120" role="img" xmlns="http://www.w3.org/2000/svg">
|
||||
<title style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">ML dispatch pipeline with preprocessing stages</title>
|
||||
<desc style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">Full ML pipeline from API ingress through preprocessing, GPS denoising, feature engineering, clustering, risk check, scoring, VRP, and dispatch</desc>
|
||||
<defs>
|
||||
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
||||
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</marker>
|
||||
</defs>
|
||||
|
||||
<!-- API Ingress -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="190" y="30" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(12, 68, 124);stroke:rgb(133, 183, 235);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="340" y="52" text-anchor="middle" dominant-baseline="central" style="fill:rgb(181, 212, 244);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">API ingress</text>
|
||||
<text x="340" y="70" text-anchor="middle" dominant-baseline="central" style="fill:rgb(133, 183, 235);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Raw request entry point</text>
|
||||
</g>
|
||||
<line x1="340" y1="82" x2="340" y2="110" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- ── PREPROCESSING BLOCK ── -->
|
||||
<rect x="100" y="116" width="480" height="230" rx="12" fill="none" stroke="var(--color-border-secondary)" stroke-width="0.8" stroke-dasharray="5 3" style="fill:none;stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:5px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="118" y="134" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:start;dominant-baseline:auto">Input processing</text>
|
||||
|
||||
<!-- Data cleansing -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="155" y="144" width="220" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="265" y="166" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Data cleansing</text>
|
||||
<text x="265" y="184" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Remove nulls, fix types</text>
|
||||
</g>
|
||||
<!-- Data preprocessing -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="395" y="144" width="170" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="480" y="166" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Preprocessing</text>
|
||||
<text x="480" y="184" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Normalise, impute</text>
|
||||
</g>
|
||||
<!-- arrow between cleansing and preprocessing -->
|
||||
<line x1="375" y1="170" x2="393" y2="170" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- Feature selection -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="155" y="222" width="200" height="52" rx="8" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="255" y="244" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Feature selection</text>
|
||||
<text x="255" y="262" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Drop low-variance cols</text>
|
||||
</g>
|
||||
<!-- PCA (optional) -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="385" y="222" width="180" height="52" rx="8" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="475" y="244" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">PCA (optional)</text>
|
||||
<text x="475" y="262" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Dimensionality reduction</text>
|
||||
</g>
|
||||
<!-- arrow between feature selection and PCA -->
|
||||
<line x1="355" y1="248" x2="383" y2="248" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- Down arrows inside block -->
|
||||
<line x1="265" y1="196" x2="265" y2="220" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="480" y1="196" x2="480" y2="220" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- Merge lines from both bottom boxes down to GPS -->
|
||||
<line x1="255" y1="274" x2="255" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="475" y1="274" x2="475" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="255" y1="296" x2="340" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="340" y1="296" x2="475" y2="296" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="340" y1="296" x2="340" y2="358" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- GPS Denoising -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="190" y="362" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="340" y="384" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">GPS denoising</text>
|
||||
<text x="340" y="402" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Kalman filter state estimation</text>
|
||||
</g>
|
||||
<line x1="340" y1="414" x2="340" y2="442" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- 7-encoder pipeline dashed container -->
|
||||
<rect x="100" y="448" width="480" height="140" rx="12" fill="none" stroke="var(--color-border-secondary)" stroke-width="0.8" stroke-dasharray="5 3" style="fill:none;stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:5px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="118" y="466" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:start;dominant-baseline:auto">7-encoder pipeline</text>
|
||||
|
||||
<!-- Row 1 encoders -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="115" y="474" width="105" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="167" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Label enc.</text>
|
||||
<text x="167" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Kitchen → int</text>
|
||||
</g>
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="232" y="474" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="287" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Frequency enc.</text>
|
||||
<text x="287" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Popularity ratio</text>
|
||||
</g>
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="354" y="474" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="409" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Geohash enc.</text>
|
||||
<text x="409" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Lat/lon → zone</text>
|
||||
</g>
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="476" y="474" width="93" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="522" y="490" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Cyclic time</text>
|
||||
<text x="522" y="506" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Hour sin/cos</text>
|
||||
</g>
|
||||
|
||||
<!-- Row 2 encoders -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="150" y="530" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="205" y="546" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Min-max norm.</text>
|
||||
<text x="205" y="562" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Scale 0–1</text>
|
||||
</g>
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="278" y="530" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="333" y="546" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Target enc.</text>
|
||||
<text x="333" y="562" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Avg profit/kitchen</text>
|
||||
</g>
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="406" y="530" width="110" height="44" rx="6" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="461" y="546" text-anchor="middle" dominant-baseline="central" style="fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Profit density</text>
|
||||
<text x="461" y="562" text-anchor="middle" dominant-baseline="central" style="fill:rgb(175, 169, 236);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Profit + distance</text>
|
||||
</g>
|
||||
|
||||
<line x1="340" y1="588" x2="340" y2="620" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- Geohash clustering -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="190" y="624" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="340" y="646" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Geohash clustering</text>
|
||||
<text x="340" y="664" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Orders → spatial zones</text>
|
||||
</g>
|
||||
<line x1="340" y1="676" x2="340" y2="704" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- ID3 risk check -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="190" y="708" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(99, 56, 6);stroke:rgb(239, 159, 39);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="340" y="730" text-anchor="middle" dominant-baseline="central" style="fill:rgb(250, 199, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">ID3 risk check</text>
|
||||
<text x="340" y="748" text-anchor="middle" dominant-baseline="central" style="fill:rgb(239, 159, 39);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Risky vs safe classification</text>
|
||||
</g>
|
||||
|
||||
<!-- Safe branch -->
|
||||
<line x1="250" y1="760" x2="250" y2="808" stroke="var(--color-border-secondary)" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="226" y="786" text-anchor="middle" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:auto">safe</text>
|
||||
|
||||
<!-- Risky branch → penalty box -->
|
||||
<line x1="430" y1="760" x2="490" y2="760" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="490" y1="760" x2="490" y2="800" stroke="var(--color-border-secondary)" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="454" y="754" text-anchor="middle" style="fill:var(--color-text-secondary);fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:auto">risky</text>
|
||||
|
||||
<!-- –25% penalty -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="445" y="804" width="120" height="44" rx="8" stroke-width="0.5" style="fill:rgb(121, 31, 31);stroke:rgb(240, 149, 149);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="505" y="820" text-anchor="middle" dominant-baseline="central" style="fill:rgb(247, 193, 193);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">–25% penalty</text>
|
||||
<text x="505" y="836" text-anchor="middle" dominant-baseline="central" style="fill:rgb(240, 149, 149);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Score damped</text>
|
||||
</g>
|
||||
<!-- penalty merges back down to composite -->
|
||||
<line x1="505" y1="848" x2="505" y2="872" stroke="var(--color-border-secondary)" stroke-width="1" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="505" y1="872" x2="430" y2="872" stroke="var(--color-border-secondary)" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.3);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- Composite scoring -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="190" y="808" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(12, 68, 124);stroke:rgb(133, 183, 235);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="340" y="830" text-anchor="middle" dominant-baseline="central" style="fill:rgb(181, 212, 244);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Composite scoring</text>
|
||||
<text x="340" y="848" text-anchor="middle" dominant-baseline="central" style="fill:rgb(133, 183, 235);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Distance + profit − margin</text>
|
||||
</g>
|
||||
<line x1="340" y1="860" x2="340" y2="920" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- VRP solver -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="190" y="924" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(8, 80, 65);stroke:rgb(93, 202, 165);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="340" y="946" text-anchor="middle" dominant-baseline="central" style="fill:rgb(159, 225, 203);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">VRP solver</text>
|
||||
<text x="340" y="964" text-anchor="middle" dominant-baseline="central" style="fill:rgb(93, 202, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">OR-Tools combinatorial opt.</text>
|
||||
</g>
|
||||
<line x1="340" y1="976" x2="340" y2="1004" marker-end="url(#arrow)" style="fill:none;stroke:rgb(156, 154, 146);color:rgb(255, 255, 255);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
|
||||
<!-- Output dispatch -->
|
||||
<g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
|
||||
<rect x="190" y="1008" width="300" height="52" rx="8" stroke-width="0.5" style="fill:rgb(39, 80, 10);stroke:rgb(151, 196, 89);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="340" y="1030" text-anchor="middle" dominant-baseline="central" style="fill:rgb(192, 221, 151);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central">Output dispatch</text>
|
||||
<text x="340" y="1048" text-anchor="middle" dominant-baseline="central" style="fill:rgb(151, 196, 89);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:central">Final route assignment</text>
|
||||
</g>
|
||||
|
||||
<!-- ML feedback loop label -->
|
||||
<line x1="618" y1="624" x2="618" y2="1060" stroke="var(--color-border-tertiary)" stroke-width="0.8" stroke-dasharray="4 3" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:4px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<line x1="618" y1="624" x2="490" y2="624" stroke="var(--color-border-tertiary)" stroke-width="0.8" stroke-dasharray="4 3" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-dasharray:4px, 3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
||||
<text x="630" y="840" text-anchor="middle" transform="rotate(90 630 840)" style="fill:var(--color-text-tertiary);fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:12px;font-weight:400;text-anchor:middle;dominant-baseline:auto">ML feedback loop</text>
|
||||
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 658 KiB |
|
Before Width: | Height: | Size: 2.0 MiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="currentColor" width="30" height="30"><g transform="translate(1 1)" stroke-width="5" fill="none" fill-rule="evenodd"><circle stroke-opacity=".4" cx="24" cy="24" r="22.2"/><path d="M46.2 24c0-12.2-9.9-22.2-22.2-22.2"><animateTransform accumulate="none" additive="replace" attributeName="transform" calcMode="linear" dur="1s" fill="remove" from="0 24 24" repeatCount="indefinite" restart="always" to="360 24 24" type="rotate"/></path></g></svg>
|
||||
|
Before Width: | Height: | Size: 509 B |
|
Before Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 642 KiB |
|
Before Width: | Height: | Size: 828 KiB |
|
Before Width: | Height: | Size: 688 KiB |
|
Before Width: | Height: | Size: 7.2 MiB |
@@ -1,189 +0,0 @@
|
||||
/*! 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
|
||||
}
|
||||
}]);
|
||||
97
public/js/add-to-cart.min.js
vendored
@@ -1,97 +0,0 @@
|
||||
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
|
||||
});
|
||||
31
public/js/address.min.js
vendored
@@ -1,31 +0,0 @@
|
||||
((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);
|
||||
683
public/js/core.min.js
vendored
@@ -1,683 +0,0 @@
|
||||
/*! 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 ? "�" : 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()
|
||||
})
|
||||
}
|
||||
})
|
||||
});
|
||||
405
public/js/dialog.min.js
vendored
@@ -1,405 +0,0 @@
|
||||
/*!
|
||||
* Dialogs Manager v4.9.4
|
||||
* https://github.com/kobizz/dialogs-manager
|
||||
*
|
||||
* Copyright Kobi Zaltzberg
|
||||
* Released under the MIT license
|
||||
* https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt
|
||||
*/
|
||||
! function(t, e) {
|
||||
"use strict";
|
||||
var n = {
|
||||
widgetsTypes: {},
|
||||
createWidgetType: function(e, i, o) {
|
||||
o || (o = this.Widget);
|
||||
var s = function() {
|
||||
o.apply(this, arguments)
|
||||
},
|
||||
r = s.prototype = new o(e);
|
||||
return r.types = r.types.concat([e]), t.extend(r, i), r.constructor = s, s.extend = function(t, e) {
|
||||
return n.createWidgetType(t, e, s)
|
||||
}, s
|
||||
},
|
||||
addWidgetType: function(t, e, n) {
|
||||
return e && e.prototype instanceof this.Widget ? this.widgetsTypes[t] = e : this.widgetsTypes[t] = this.createWidgetType(t, e, n)
|
||||
},
|
||||
getWidgetType: function(t) {
|
||||
return this.widgetsTypes[t]
|
||||
}
|
||||
};
|
||||
n.Instance = function() {
|
||||
var e = this,
|
||||
i = {},
|
||||
o = {};
|
||||
e.openDialogs = [];
|
||||
var s = function(e) {
|
||||
t.extend(o, {
|
||||
classPrefix: "dialog",
|
||||
effects: {
|
||||
show: "fadeIn",
|
||||
hide: "fadeOut"
|
||||
}
|
||||
}, e)
|
||||
};
|
||||
this.createWidget = function(t, i) {
|
||||
var o = new(n.getWidgetType(t))(t);
|
||||
return i = i || {}, o.init(e, i), o
|
||||
}, this.getSettings = function(t) {
|
||||
return t ? o[t] : Object.create(o)
|
||||
}, this.maybeLoadAssets = async function() {
|
||||
if (!!window.elementorFrontend ? .utils ? .assetsLoader) try {
|
||||
await elementorFrontend.utils.assetsLoader.load("style", "dialog")
|
||||
} catch (t) {
|
||||
console.error("Failed to load assets:", t)
|
||||
}
|
||||
}, this.init = function(n) {
|
||||
return this.maybeLoadAssets(), s(n), i.body = t("body"), e
|
||||
}, e.init()
|
||||
}, n.Widget = function(e) {
|
||||
var i = this,
|
||||
o = {},
|
||||
s = {},
|
||||
r = {},
|
||||
a = 0,
|
||||
c = ["refreshPosition"],
|
||||
d = function(t, e) {
|
||||
var n = o.effects[t],
|
||||
i = r.widget;
|
||||
if ("function" == typeof n) n.apply(i, e);
|
||||
else {
|
||||
if (!i[n]) throw "Reference Error: The effect " + n + " not found";
|
||||
i[n].apply(i, e)
|
||||
}
|
||||
},
|
||||
u = function(e) {
|
||||
if (!f(e)) {
|
||||
if (o.hide.onClick) {
|
||||
if (t(e.target).closest(o.selectors.preventClose).length) return
|
||||
} else if (e.target !== this) return;
|
||||
i.hide()
|
||||
}
|
||||
},
|
||||
l = function(e) {
|
||||
f(e) || t(e.target).closest(r.widget).length || function(e) {
|
||||
return !!o.hide.ignore && !!t(e.target).closest(o.hide.ignore).length
|
||||
}(e) || i.hide()
|
||||
},
|
||||
g = function() {
|
||||
t.each(o, (function(t) {
|
||||
var e = t.match(/^on([A-Z].*)/);
|
||||
e && (e = e[1].charAt(0).toLowerCase() + e[1].slice(1), i.on(e, this))
|
||||
}))
|
||||
},
|
||||
f = function(t) {
|
||||
return "click" === t.type && 2 === t.button
|
||||
},
|
||||
h = function(t) {
|
||||
27 === t.which && i.hide()
|
||||
},
|
||||
p = function() {
|
||||
var t = [r.window];
|
||||
r.iframe && t.push(jQuery(r.iframe[0].contentWindow)), t.forEach((function(t) {
|
||||
o.hide.onEscKeyPress && t.off("keyup", h), o.hide.onOutsideClick && t[0].removeEventListener("click", l, !0), o.hide.onOutsideContextMenu && t[0].removeEventListener("contextmenu", l, !0), o.position.autoRefresh && t.off("resize", i.refreshPosition)
|
||||
})), (o.hide.onClick || o.hide.onBackgroundClick) && r.widget.off("click", u)
|
||||
};
|
||||
this.addElement = function(e, n, i) {
|
||||
var s = r[e] = t(n || "<div>"),
|
||||
a = function(t) {
|
||||
return t.replace(/([a-z])([A-Z])/g, (function() {
|
||||
return arguments[1] + "-" + arguments[2].toLowerCase()
|
||||
}))
|
||||
}(e);
|
||||
return i = i ? i + " " : "", i += o.classes.globalPrefix + "-" + a, i += " " + o.classes.prefix + "-" + a, s.addClass(i), s
|
||||
}, this.destroy = function() {
|
||||
const t = i.getElements("widget") ? .attr("id"),
|
||||
e = i.parent.openDialogs.lastIndexOf(t);
|
||||
return -1 !== e && i.parent.openDialogs.splice(e, 1), p(), r.widget.remove(), i.trigger("destroy"), i
|
||||
}, this.getElements = function(t) {
|
||||
return t ? r[t] : r
|
||||
}, this.getSettings = function(t) {
|
||||
var e = Object.create(o);
|
||||
return t ? e[t] : e
|
||||
}, this.hide = function() {
|
||||
if (!i.isVisible()) return;
|
||||
const t = i.getElements("widget") ? .attr("id"),
|
||||
e = i.parent.openDialogs;
|
||||
return e[e.length - 1] === t ? (e.pop(), clearTimeout(a), d("hide", arguments), p(), o.preventScroll && i.getElements("body").removeClass(o.classes.preventScroll), i.trigger("hide"), i) : void 0
|
||||
}, this.init = function(s, a) {
|
||||
if (!(s instanceof n.Instance)) throw "The " + i.widgetName + " must to be initialized from an instance of DialogsManager.Instance";
|
||||
var d;
|
||||
return i.parent = s, d = c.concat(i.getClosureMethods()), t.each(d, (function() {
|
||||
var t = i[this];
|
||||
i[this] = function() {
|
||||
t.apply(i, arguments)
|
||||
}
|
||||
})), i.trigger("init", a),
|
||||
function(n, s) {
|
||||
var r = t.extend(!0, {}, n.getSettings());
|
||||
o = {
|
||||
headerMessage: "",
|
||||
message: "",
|
||||
effects: r.effects,
|
||||
classes: {
|
||||
globalPrefix: r.classPrefix,
|
||||
prefix: r.classPrefix + "-" + e,
|
||||
preventScroll: r.classPrefix + "-prevent-scroll"
|
||||
},
|
||||
selectors: {
|
||||
preventClose: "." + r.classPrefix + "-prevent-close"
|
||||
},
|
||||
container: "body",
|
||||
preventScroll: !1,
|
||||
iframe: null,
|
||||
closeButton: !1,
|
||||
closeButtonOptions: {
|
||||
iconClass: r.classPrefix + "-close-button-icon",
|
||||
attributes: {
|
||||
role: "button",
|
||||
tabindex: 0,
|
||||
"aria-label": "Close",
|
||||
href: "#"
|
||||
},
|
||||
iconElement: "<i>"
|
||||
},
|
||||
position: {
|
||||
element: "widget",
|
||||
my: "center",
|
||||
at: "center",
|
||||
enable: !0,
|
||||
autoRefresh: !1
|
||||
},
|
||||
hide: {
|
||||
auto: !1,
|
||||
autoDelay: 5e3,
|
||||
onClick: !1,
|
||||
onOutsideClick: !0,
|
||||
onOutsideContextMenu: !1,
|
||||
onBackgroundClick: !0,
|
||||
onEscKeyPress: !0,
|
||||
ignore: ""
|
||||
}
|
||||
}, t.extend(!0, o, i.getDefaultSettings(), s), g()
|
||||
}(s, a),
|
||||
function() {
|
||||
if (i.addElement("widget"), i.addElement("header"), i.addElement("message"), i.addElement("window", window), i.addElement("body", document.body), i.addElement("container", o.container), o.iframe && i.addElement("iframe", o.iframe), o.closeButton) {
|
||||
o.closeButtonClass && (o.closeButtonOptions.iconClass = o.closeButtonClass);
|
||||
const e = t("<a>", o.closeButtonOptions.attributes),
|
||||
n = t(o.closeButtonOptions.iconElement).addClass(o.closeButtonOptions.iconClass);
|
||||
e.append(n), i.addElement("closeButton", e)
|
||||
}
|
||||
var e = i.getSettings("id");
|
||||
e && i.setID(e);
|
||||
var n = [];
|
||||
t.each(i.types, (function() {
|
||||
n.push(o.classes.globalPrefix + "-type-" + this)
|
||||
})), n.push(i.getSettings("className")), r.widget.addClass(n.join(" ")).attr({
|
||||
"aria-modal": !0,
|
||||
role: "document",
|
||||
tabindex: 0
|
||||
})
|
||||
}(), i.buildWidget(), i.attachEvents(), i.trigger("ready"), i
|
||||
}, this.isVisible = function() {
|
||||
return r.widget.is(":visible")
|
||||
}, this.on = function(e, n) {
|
||||
return "object" == typeof e ? (t.each(e, (function(t) {
|
||||
i.on(t, this)
|
||||
})), i) : (e.split(" ").forEach((function(t) {
|
||||
s[t] || (s[t] = []), s[t].push(n)
|
||||
})), i)
|
||||
}, this.off = function(t, e) {
|
||||
if (!s[t]) return i;
|
||||
if (!e) return delete s[t], i;
|
||||
var n = s[t].indexOf(e);
|
||||
return -1 !== n && s[t].splice(n, 1), i
|
||||
}, this.refreshPosition = function() {
|
||||
if (o.position.enable) {
|
||||
var e = t.extend({}, o.position);
|
||||
r[e.of] && (e.of = r[e.of]), e.of || (e.of = window), o.iframe && function(t) {
|
||||
if (t.my) {
|
||||
var e = /([+-]\d+)?$/,
|
||||
n = r.iframe.offset(),
|
||||
i = r.iframe[0].contentWindow,
|
||||
o = t.my.split(" "),
|
||||
s = [];
|
||||
1 === o.length && (/left|right/.test(o[0]) ? o.push("center") : o.unshift("center")), o.forEach((function(t, o) {
|
||||
var r = t.replace(e, (function(t) {
|
||||
return t = +t || 0, (t += o ? n.top - i.scrollY : n.left - i.scrollX) >= 0 && (t = "+" + t), t
|
||||
}));
|
||||
s.push(r)
|
||||
})), t.my = s.join(" ")
|
||||
}
|
||||
}(e), r[e.element].position(e)
|
||||
}
|
||||
}, this.setID = function(t) {
|
||||
return r.widget.attr("id", t), i
|
||||
}, this.setHeaderMessage = function(t) {
|
||||
return i.getElements("header").html(t), i
|
||||
}, this.setMessage = function(t) {
|
||||
return r.message.html(t), i
|
||||
}, this.setSettings = function(e, n) {
|
||||
return jQuery.isPlainObject(n) ? t.extend(!0, o[e], n) : o[e] = n, i
|
||||
}, this.show = function() {
|
||||
var t;
|
||||
clearTimeout(a), r.widget.appendTo(r.container).hide(), d("show", arguments), i.refreshPosition(), o.hide.auto && (a = setTimeout(i.hide, o.hide.autoDelay)), t = [r.window], r.iframe && t.push(jQuery(r.iframe[0].contentWindow)), t.forEach((function(t) {
|
||||
o.hide.onEscKeyPress && t.on("keyup", h), o.hide.onOutsideClick && t[0].addEventListener("click", l, !0), o.hide.onOutsideContextMenu && t[0].addEventListener("contextmenu", l, !0), o.position.autoRefresh && t.on("resize", i.refreshPosition)
|
||||
})), (o.hide.onClick || o.hide.onBackgroundClick) && r.widget.on("click", u), o.preventScroll && i.getElements("body").addClass(o.classes.preventScroll), i.trigger("show");
|
||||
const e = i.getElements("widget") ? .attr("id");
|
||||
return i.parent.openDialogs.push(e), i
|
||||
}, this.trigger = function(e, n) {
|
||||
var o = "on" + e[0].toUpperCase() + e.slice(1);
|
||||
i[o] && i[o](n);
|
||||
var r = s[e];
|
||||
if (r) return t.each(r, (function(t, e) {
|
||||
e.call(i, n)
|
||||
})), i
|
||||
}
|
||||
}, n.Widget.prototype.types = [], n.Widget.prototype.buildWidget = function() {
|
||||
var t = this.getElements(),
|
||||
e = this.getSettings();
|
||||
t.widget.append(t.header, t.message), this.setHeaderMessage(e.headerMessage), this.setMessage(e.message), this.getSettings("closeButton") && t.widget.prepend(t.closeButton)
|
||||
}, n.Widget.prototype.attachEvents = function() {
|
||||
var t = this;
|
||||
t.getSettings("closeButton") && t.getElements("closeButton").on("click", (function(e) {
|
||||
e.preventDefault(), t.hide()
|
||||
}))
|
||||
}, n.Widget.prototype.getDefaultSettings = function() {
|
||||
return {}
|
||||
}, n.Widget.prototype.getClosureMethods = function() {
|
||||
return []
|
||||
}, n.Widget.prototype.onHide = function() {}, n.Widget.prototype.onShow = function() {}, n.Widget.prototype.onInit = function() {}, n.Widget.prototype.onReady = function() {}, n.widgetsTypes.simple = n.Widget, n.addWidgetType("buttons", {
|
||||
activeKeyUp: function(t) {
|
||||
9 === t.which && t.preventDefault(), this.hotKeys[t.which] && this.hotKeys[t.which](this)
|
||||
},
|
||||
activeKeyDown: function(t) {
|
||||
if (this.focusedButton) {
|
||||
if (9 === t.which) {
|
||||
t.preventDefault();
|
||||
var e, n = this.focusedButton.index();
|
||||
t.shiftKey ? (e = n - 1) < 0 && (e = this.buttons.length - 1) : (e = n + 1) >= this.buttons.length && (e = 0), this.focusedButton = this.buttons[e].trigger("focus")
|
||||
}
|
||||
}
|
||||
},
|
||||
addButton: function(e) {
|
||||
var n = this,
|
||||
i = n.getSettings(),
|
||||
o = jQuery.extend(i.button, e),
|
||||
s = e.classes ? e.classes + " " : "";
|
||||
s += i.classes.globalPrefix + "-button";
|
||||
var r = n.addElement(e.name, t("<" + o.tag + ">").html(e.text), s);
|
||||
n.buttons.push(r);
|
||||
var a = function() {
|
||||
i.hide.onButtonClick && n.hide(), "function" == typeof e.callback && e.callback.call(this, n)
|
||||
};
|
||||
return r.on("click", a), e.hotKey && (this.hotKeys[e.hotKey] = a), this.getElements("buttonsWrapper").append(r), e.focus && (this.focusedButton = r), n
|
||||
},
|
||||
bindHotKeys: function() {
|
||||
this.getElements("window").on({
|
||||
keyup: this.activeKeyUp,
|
||||
keydown: this.activeKeyDown
|
||||
})
|
||||
},
|
||||
buildWidget: function() {
|
||||
n.Widget.prototype.buildWidget.apply(this, arguments);
|
||||
var t = this.addElement("buttonsWrapper");
|
||||
this.getElements("widget").append(t)
|
||||
},
|
||||
getClosureMethods: function() {
|
||||
return ["activeKeyUp", "activeKeyDown"]
|
||||
},
|
||||
getDefaultSettings: function() {
|
||||
return {
|
||||
hide: {
|
||||
onButtonClick: !0
|
||||
},
|
||||
button: {
|
||||
tag: "button"
|
||||
}
|
||||
}
|
||||
},
|
||||
onHide: function() {
|
||||
this.unbindHotKeys()
|
||||
},
|
||||
onInit: function() {
|
||||
this.buttons = [], this.hotKeys = {}, this.focusedButton = null
|
||||
},
|
||||
onShow: function() {
|
||||
this.bindHotKeys(), this.focusedButton || (this.focusedButton = this.buttons[0]), this.focusedButton && this.focusedButton.trigger("focus")
|
||||
},
|
||||
unbindHotKeys: function() {
|
||||
this.getElements("window").off({
|
||||
keyup: this.activeKeyUp,
|
||||
keydown: this.activeKeyDown
|
||||
})
|
||||
}
|
||||
}), n.addWidgetType("lightbox", n.getWidgetType("buttons").extend("lightbox", {
|
||||
getDefaultSettings: function() {
|
||||
var e = n.getWidgetType("buttons").prototype.getDefaultSettings.apply(this, arguments);
|
||||
return t.extend(!0, e, {
|
||||
contentWidth: "auto",
|
||||
contentHeight: "auto",
|
||||
position: {
|
||||
element: "widgetContent",
|
||||
of: "widget",
|
||||
autoRefresh: !0
|
||||
}
|
||||
})
|
||||
},
|
||||
buildWidget: function() {
|
||||
n.getWidgetType("buttons").prototype.buildWidget.apply(this, arguments);
|
||||
var t = this.addElement("widgetContent"),
|
||||
e = this.getElements();
|
||||
t.append(e.header, e.message, e.buttonsWrapper), e.widget.html(t), e.closeButton && t.prepend(e.closeButton)
|
||||
},
|
||||
onReady: function() {
|
||||
var t = this.getElements(),
|
||||
e = this.getSettings();
|
||||
"auto" !== e.contentWidth && t.message.width(e.contentWidth), "auto" !== e.contentHeight && t.message.height(e.contentHeight)
|
||||
}
|
||||
})), n.addWidgetType("confirm", n.getWidgetType("lightbox").extend("confirm", {
|
||||
onReady: function() {
|
||||
n.getWidgetType("lightbox").prototype.onReady.apply(this, arguments);
|
||||
var t = this.getSettings("strings"),
|
||||
e = "cancel" === this.getSettings("defaultOption");
|
||||
this.addButton({
|
||||
name: "cancel",
|
||||
text: t.cancel,
|
||||
callback: function(t) {
|
||||
t.trigger("cancel")
|
||||
},
|
||||
focus: e
|
||||
}), this.addButton({
|
||||
name: "ok",
|
||||
text: t.confirm,
|
||||
callback: function(t) {
|
||||
t.trigger("confirm")
|
||||
},
|
||||
focus: !e
|
||||
})
|
||||
},
|
||||
getDefaultSettings: function() {
|
||||
var t = n.getWidgetType("lightbox").prototype.getDefaultSettings.apply(this, arguments);
|
||||
return t.strings = {
|
||||
confirm: "OK",
|
||||
cancel: "Cancel"
|
||||
}, t.defaultOption = "cancel", t
|
||||
}
|
||||
})), n.addWidgetType("alert", n.getWidgetType("lightbox").extend("alert", {
|
||||
onReady: function() {
|
||||
n.getWidgetType("lightbox").prototype.onReady.apply(this, arguments);
|
||||
var t = this.getSettings("strings");
|
||||
this.addButton({
|
||||
name: "ok",
|
||||
text: t.confirm,
|
||||
callback: function(t) {
|
||||
t.trigger("confirm")
|
||||
}
|
||||
})
|
||||
},
|
||||
getDefaultSettings: function() {
|
||||
var t = n.getWidgetType("lightbox").prototype.getDefaultSettings.apply(this, arguments);
|
||||
return t.strings = {
|
||||
confirm: "OK"
|
||||
}, t
|
||||
}
|
||||
})), e.DialogsManager = n
|
||||
}("undefined" != typeof jQuery ? jQuery : "function" == typeof require && require("jquery"), "undefined" != typeof module && void 0 !== module.exports ? module.exports : window);
|
||||
@@ -1,194 +0,0 @@
|
||||
'use strict';
|
||||
function animate_heading($scope) {
|
||||
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')) {
|
||||
let el_offset = obj.offset().top
|
||||
, el_height = Math.round(obj.outerHeight())
|
||||
, el_ready = Math.round(el_offset + el_height + 200)
|
||||
, el_start = Math.round(el_offset + el_height + 400);
|
||||
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', function() {
|
||||
let st = Math.round(jQuery(window).scrollTop());
|
||||
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(el_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')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
2837
public/js/frontend-modules.min.js
vendored
1386
public/js/frontend.min.js
vendored
145
public/js/imagesloaded.min.js
vendored
@@ -1,145 +0,0 @@
|
||||
/*! 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
|
||||
}));
|
||||
1243
public/js/isotope.pkgd.min.js
vendored
297
public/js/jquery-migrate.min.js
vendored
@@ -1,297 +0,0 @@
|
||||
/*! 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
|
||||
});
|
||||
254
public/js/jquery.blockUI.min.js
vendored
@@ -1,254 +0,0 @@
|
||||
/*!
|
||||
* 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 || " ") + "</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 || " ") + "</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)
|
||||
}();
|
||||
54
public/js/jquery.cookie.min.js
vendored
@@ -1,54 +0,0 @@
|
||||
/*!
|
||||
* 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))
|
||||
}
|
||||
});
|
||||
178
public/js/jquery.marquee.min.js
vendored
@@ -1,178 +0,0 @@
|
||||
/**
|
||||
* 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);
|
||||
3193
public/js/jquery.min.js
vendored
624
public/js/jquery.validate.min.js
vendored
@@ -1,624 +0,0 @@
|
||||
/*! 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
|
||||
});
|
||||
72
public/js/js.cookie.min.js
vendored
@@ -1,72 +0,0 @@
|
||||
/*! 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: "/"
|
||||
})
|
||||
});
|
||||
457
public/js/lazyload.min.js
vendored
@@ -1,457 +0,0 @@
|
||||
! function(n, t) {
|
||||
"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (n = "undefined" != typeof globalThis ? globalThis : n || self).LazyLoad = t()
|
||||
}(this, (function() {
|
||||
"use strict";
|
||||
|
||||
function n() {
|
||||
return n = Object.assign || function(n) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var e = arguments[t];
|
||||
for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (n[i] = e[i])
|
||||
}
|
||||
return n
|
||||
}, n.apply(this, arguments)
|
||||
}
|
||||
var t = "undefined" != typeof window,
|
||||
e = t && !("onscroll" in window) || "undefined" != typeof navigator && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),
|
||||
i = t && "IntersectionObserver" in window,
|
||||
o = t && "classList" in document.createElement("p"),
|
||||
a = t && window.devicePixelRatio > 1,
|
||||
r = {
|
||||
elements_selector: ".lazy",
|
||||
container: e || t ? document : null,
|
||||
threshold: 300,
|
||||
thresholds: null,
|
||||
data_src: "src",
|
||||
data_srcset: "srcset",
|
||||
data_sizes: "sizes",
|
||||
data_bg: "bg",
|
||||
data_bg_hidpi: "bg-hidpi",
|
||||
data_bg_multi: "bg-multi",
|
||||
data_bg_multi_hidpi: "bg-multi-hidpi",
|
||||
data_bg_set: "bg-set",
|
||||
data_poster: "poster",
|
||||
class_applied: "applied",
|
||||
class_loading: "loading",
|
||||
class_loaded: "loaded",
|
||||
class_error: "error",
|
||||
class_entered: "entered",
|
||||
class_exited: "exited",
|
||||
unobserve_completed: !0,
|
||||
unobserve_entered: !1,
|
||||
cancel_on_exit: !0,
|
||||
callback_enter: null,
|
||||
callback_exit: null,
|
||||
callback_applied: null,
|
||||
callback_loading: null,
|
||||
callback_loaded: null,
|
||||
callback_error: null,
|
||||
callback_finish: null,
|
||||
callback_cancel: null,
|
||||
use_native: !1,
|
||||
restore_on_error: !1
|
||||
},
|
||||
c = function(t) {
|
||||
return n({}, r, t)
|
||||
},
|
||||
l = function(n, t) {
|
||||
var e, i = "LazyLoad::Initialized",
|
||||
o = new n(t);
|
||||
try {
|
||||
e = new CustomEvent(i, {
|
||||
detail: {
|
||||
instance: o
|
||||
}
|
||||
})
|
||||
} catch (n) {
|
||||
(e = document.createEvent("CustomEvent")).initCustomEvent(i, !1, !1, {
|
||||
instance: o
|
||||
})
|
||||
}
|
||||
window.dispatchEvent(e)
|
||||
},
|
||||
u = "src",
|
||||
s = "srcset",
|
||||
d = "sizes",
|
||||
f = "poster",
|
||||
_ = "llOriginalAttrs",
|
||||
g = "data",
|
||||
v = "loading",
|
||||
b = "loaded",
|
||||
m = "applied",
|
||||
p = "error",
|
||||
h = "native",
|
||||
E = "data-",
|
||||
I = "ll-status",
|
||||
y = function(n, t) {
|
||||
return n.getAttribute(E + t)
|
||||
},
|
||||
k = function(n) {
|
||||
return y(n, I)
|
||||
},
|
||||
w = function(n, t) {
|
||||
return function(n, t, e) {
|
||||
var i = "data-ll-status";
|
||||
null !== e ? n.setAttribute(i, e) : n.removeAttribute(i)
|
||||
}(n, 0, t)
|
||||
},
|
||||
A = function(n) {
|
||||
return w(n, null)
|
||||
},
|
||||
L = function(n) {
|
||||
return null === k(n)
|
||||
},
|
||||
O = function(n) {
|
||||
return k(n) === h
|
||||
},
|
||||
x = [v, b, m, p],
|
||||
C = function(n, t, e, i) {
|
||||
n && (void 0 === i ? void 0 === e ? n(t) : n(t, e) : n(t, e, i))
|
||||
},
|
||||
N = function(n, t) {
|
||||
o ? n.classList.add(t) : n.className += (n.className ? " " : "") + t
|
||||
},
|
||||
M = function(n, t) {
|
||||
o ? n.classList.remove(t) : n.className = n.className.replace(new RegExp("(^|\\s+)" + t + "(\\s+|$)"), " ").replace(/^\s+/, "").replace(/\s+$/, "")
|
||||
},
|
||||
z = function(n) {
|
||||
return n.llTempImage
|
||||
},
|
||||
T = function(n, t) {
|
||||
if (t) {
|
||||
var e = t._observer;
|
||||
e && e.unobserve(n)
|
||||
}
|
||||
},
|
||||
R = function(n, t) {
|
||||
n && (n.loadingCount += t)
|
||||
},
|
||||
G = function(n, t) {
|
||||
n && (n.toLoadCount = t)
|
||||
},
|
||||
j = function(n) {
|
||||
for (var t, e = [], i = 0; t = n.children[i]; i += 1) "SOURCE" === t.tagName && e.push(t);
|
||||
return e
|
||||
},
|
||||
D = function(n, t) {
|
||||
var e = n.parentNode;
|
||||
e && "PICTURE" === e.tagName && j(e).forEach(t)
|
||||
},
|
||||
H = function(n, t) {
|
||||
j(n).forEach(t)
|
||||
},
|
||||
V = [u],
|
||||
F = [u, f],
|
||||
B = [u, s, d],
|
||||
J = [g],
|
||||
P = function(n) {
|
||||
return !!n[_]
|
||||
},
|
||||
S = function(n) {
|
||||
return n[_]
|
||||
},
|
||||
U = function(n) {
|
||||
return delete n[_]
|
||||
},
|
||||
$ = function(n, t) {
|
||||
if (!P(n)) {
|
||||
var e = {};
|
||||
t.forEach((function(t) {
|
||||
e[t] = n.getAttribute(t)
|
||||
})), n[_] = e
|
||||
}
|
||||
},
|
||||
q = function(n, t) {
|
||||
if (P(n)) {
|
||||
var e = S(n);
|
||||
t.forEach((function(t) {
|
||||
! function(n, t, e) {
|
||||
e ? n.setAttribute(t, e) : n.removeAttribute(t)
|
||||
}(n, t, e[t])
|
||||
}))
|
||||
}
|
||||
},
|
||||
K = function(n, t, e) {
|
||||
N(n, t.class_applied), w(n, m), e && (t.unobserve_completed && T(n, t), C(t.callback_applied, n, e))
|
||||
},
|
||||
Q = function(n, t, e) {
|
||||
N(n, t.class_loading), w(n, v), e && (R(e, 1), C(t.callback_loading, n, e))
|
||||
},
|
||||
W = function(n, t, e) {
|
||||
e && n.setAttribute(t, e)
|
||||
},
|
||||
X = function(n, t) {
|
||||
W(n, d, y(n, t.data_sizes)), W(n, s, y(n, t.data_srcset)), W(n, u, y(n, t.data_src))
|
||||
},
|
||||
Y = {
|
||||
IMG: function(n, t) {
|
||||
D(n, (function(n) {
|
||||
$(n, B), X(n, t)
|
||||
})), $(n, B), X(n, t)
|
||||
},
|
||||
IFRAME: function(n, t) {
|
||||
$(n, V), W(n, u, y(n, t.data_src))
|
||||
},
|
||||
VIDEO: function(n, t) {
|
||||
H(n, (function(n) {
|
||||
$(n, V), W(n, u, y(n, t.data_src))
|
||||
})), $(n, F), W(n, f, y(n, t.data_poster)), W(n, u, y(n, t.data_src)), n.load()
|
||||
},
|
||||
OBJECT: function(n, t) {
|
||||
$(n, J), W(n, g, y(n, t.data_src))
|
||||
}
|
||||
},
|
||||
Z = ["IMG", "IFRAME", "VIDEO", "OBJECT"],
|
||||
nn = function(n, t) {
|
||||
!t || function(n) {
|
||||
return n.loadingCount > 0
|
||||
}(t) || function(n) {
|
||||
return n.toLoadCount > 0
|
||||
}(t) || C(n.callback_finish, t)
|
||||
},
|
||||
tn = function(n, t, e) {
|
||||
n.addEventListener(t, e), n.llEvLisnrs[t] = e
|
||||
},
|
||||
en = function(n, t, e) {
|
||||
n.removeEventListener(t, e)
|
||||
},
|
||||
on = function(n) {
|
||||
return !!n.llEvLisnrs
|
||||
},
|
||||
an = function(n) {
|
||||
if (on(n)) {
|
||||
var t = n.llEvLisnrs;
|
||||
for (var e in t) {
|
||||
var i = t[e];
|
||||
en(n, e, i)
|
||||
}
|
||||
delete n.llEvLisnrs
|
||||
}
|
||||
},
|
||||
rn = function(n, t, e) {
|
||||
! function(n) {
|
||||
delete n.llTempImage
|
||||
}(n), R(e, -1),
|
||||
function(n) {
|
||||
n && (n.toLoadCount -= 1)
|
||||
}(e), M(n, t.class_loading), t.unobserve_completed && T(n, e)
|
||||
},
|
||||
cn = function(n, t, e) {
|
||||
var i = z(n) || n;
|
||||
on(i) || function(n, t, e) {
|
||||
on(n) || (n.llEvLisnrs = {});
|
||||
var i = "VIDEO" === n.tagName ? "loadeddata" : "load";
|
||||
tn(n, i, t), tn(n, "error", e)
|
||||
}(i, (function(o) {
|
||||
! function(n, t, e, i) {
|
||||
var o = O(t);
|
||||
rn(t, e, i), N(t, e.class_loaded), w(t, b), C(e.callback_loaded, t, i), o || nn(e, i)
|
||||
}(0, n, t, e), an(i)
|
||||
}), (function(o) {
|
||||
! function(n, t, e, i) {
|
||||
var o = O(t);
|
||||
rn(t, e, i), N(t, e.class_error), w(t, p), C(e.callback_error, t, i), e.restore_on_error && q(t, B), o || nn(e, i)
|
||||
}(0, n, t, e), an(i)
|
||||
}))
|
||||
},
|
||||
ln = function(n, t, e) {
|
||||
! function(n) {
|
||||
return Z.indexOf(n.tagName) > -1
|
||||
}(n) ? function(n, t, e) {
|
||||
! function(n) {
|
||||
n.llTempImage = document.createElement("IMG")
|
||||
}(n), cn(n, t, e),
|
||||
function(n) {
|
||||
P(n) || (n[_] = {
|
||||
backgroundImage: n.style.backgroundImage
|
||||
})
|
||||
}(n),
|
||||
function(n, t, e) {
|
||||
var i = y(n, t.data_bg),
|
||||
o = y(n, t.data_bg_hidpi),
|
||||
r = a && o ? o : i;
|
||||
r && (n.style.backgroundImage = 'url("'.concat(r, '")'), z(n).setAttribute(u, r), Q(n, t, e))
|
||||
}(n, t, e),
|
||||
function(n, t, e) {
|
||||
var i = y(n, t.data_bg_multi),
|
||||
o = y(n, t.data_bg_multi_hidpi),
|
||||
r = a && o ? o : i;
|
||||
r && (n.style.backgroundImage = r, K(n, t, e))
|
||||
}(n, t, e),
|
||||
function(n, t, e) {
|
||||
var i = y(n, t.data_bg_set);
|
||||
if (i) {
|
||||
var o = i.split("|"),
|
||||
a = o.map((function(n) {
|
||||
return "image-set(".concat(n, ")")
|
||||
}));
|
||||
n.style.backgroundImage = a.join(), "" === n.style.backgroundImage && (a = o.map((function(n) {
|
||||
return "-webkit-image-set(".concat(n, ")")
|
||||
})), n.style.backgroundImage = a.join()), K(n, t, e)
|
||||
}
|
||||
}(n, t, e)
|
||||
}(n, t, e) : function(n, t, e) {
|
||||
cn(n, t, e),
|
||||
function(n, t, e) {
|
||||
var i = Y[n.tagName];
|
||||
i && (i(n, t), Q(n, t, e))
|
||||
}(n, t, e)
|
||||
}(n, t, e)
|
||||
},
|
||||
un = function(n) {
|
||||
n.removeAttribute(u), n.removeAttribute(s), n.removeAttribute(d)
|
||||
},
|
||||
sn = function(n) {
|
||||
D(n, (function(n) {
|
||||
q(n, B)
|
||||
})), q(n, B)
|
||||
},
|
||||
dn = {
|
||||
IMG: sn,
|
||||
IFRAME: function(n) {
|
||||
q(n, V)
|
||||
},
|
||||
VIDEO: function(n) {
|
||||
H(n, (function(n) {
|
||||
q(n, V)
|
||||
})), q(n, F), n.load()
|
||||
},
|
||||
OBJECT: function(n) {
|
||||
q(n, J)
|
||||
}
|
||||
},
|
||||
fn = function(n, t) {
|
||||
(function(n) {
|
||||
var t = dn[n.tagName];
|
||||
t ? t(n) : function(n) {
|
||||
if (P(n)) {
|
||||
var t = S(n);
|
||||
n.style.backgroundImage = t.backgroundImage
|
||||
}
|
||||
}(n)
|
||||
})(n),
|
||||
function(n, t) {
|
||||
L(n) || O(n) || (M(n, t.class_entered), M(n, t.class_exited), M(n, t.class_applied), M(n, t.class_loading), M(n, t.class_loaded), M(n, t.class_error))
|
||||
}(n, t), A(n), U(n)
|
||||
},
|
||||
_n = ["IMG", "IFRAME", "VIDEO"],
|
||||
gn = function(n) {
|
||||
return n.use_native && "loading" in HTMLImageElement.prototype
|
||||
},
|
||||
vn = function(n, t, e) {
|
||||
n.forEach((function(n) {
|
||||
return function(n) {
|
||||
return n.isIntersecting || n.intersectionRatio > 0
|
||||
}(n) ? function(n, t, e, i) {
|
||||
var o = function(n) {
|
||||
return x.indexOf(k(n)) >= 0
|
||||
}(n);
|
||||
w(n, "entered"), N(n, e.class_entered), M(n, e.class_exited),
|
||||
function(n, t, e) {
|
||||
t.unobserve_entered && T(n, e)
|
||||
}(n, e, i), C(e.callback_enter, n, t, i), o || ln(n, e, i)
|
||||
}(n.target, n, t, e) : function(n, t, e, i) {
|
||||
L(n) || (N(n, e.class_exited), function(n, t, e, i) {
|
||||
e.cancel_on_exit && function(n) {
|
||||
return k(n) === v
|
||||
}(n) && "IMG" === n.tagName && (an(n), function(n) {
|
||||
D(n, (function(n) {
|
||||
un(n)
|
||||
})), un(n)
|
||||
}(n), sn(n), M(n, e.class_loading), R(i, -1), A(n), C(e.callback_cancel, n, t, i))
|
||||
}(n, t, e, i), C(e.callback_exit, n, t, i))
|
||||
}(n.target, n, t, e)
|
||||
}))
|
||||
},
|
||||
bn = function(n) {
|
||||
return Array.prototype.slice.call(n)
|
||||
},
|
||||
mn = function(n) {
|
||||
return n.container.querySelectorAll(n.elements_selector)
|
||||
},
|
||||
pn = function(n) {
|
||||
return function(n) {
|
||||
return k(n) === p
|
||||
}(n)
|
||||
},
|
||||
hn = function(n, t) {
|
||||
return function(n) {
|
||||
return bn(n).filter(L)
|
||||
}(n || mn(t))
|
||||
},
|
||||
En = function(n, e) {
|
||||
var o = c(n);
|
||||
this._settings = o, this.loadingCount = 0,
|
||||
function(n, t) {
|
||||
i && !gn(n) && (t._observer = new IntersectionObserver((function(e) {
|
||||
vn(e, n, t)
|
||||
}), function(n) {
|
||||
return {
|
||||
root: n.container === document ? null : n.container,
|
||||
rootMargin: n.thresholds || n.threshold + "px"
|
||||
}
|
||||
}(n)))
|
||||
}(o, this),
|
||||
function(n, e) {
|
||||
t && (e._onlineHandler = function() {
|
||||
! function(n, t) {
|
||||
var e;
|
||||
(e = mn(n), bn(e).filter(pn)).forEach((function(t) {
|
||||
M(t, n.class_error), A(t)
|
||||
})), t.update()
|
||||
}(n, e)
|
||||
}, window.addEventListener("online", e._onlineHandler))
|
||||
}(o, this), this.update(e)
|
||||
};
|
||||
return En.prototype = {
|
||||
update: function(n) {
|
||||
var t, o, a = this._settings,
|
||||
r = hn(n, a);
|
||||
G(this, r.length), !e && i ? gn(a) ? function(n, t, e) {
|
||||
n.forEach((function(n) {
|
||||
-1 !== _n.indexOf(n.tagName) && function(n, t, e) {
|
||||
n.setAttribute("loading", "lazy"), cn(n, t, e),
|
||||
function(n, t) {
|
||||
var e = Y[n.tagName];
|
||||
e && e(n, t)
|
||||
}(n, t), w(n, h)
|
||||
}(n, t, e)
|
||||
})), G(e, 0)
|
||||
}(r, a, this) : (o = r, function(n) {
|
||||
n.disconnect()
|
||||
}(t = this._observer), function(n, t) {
|
||||
t.forEach((function(t) {
|
||||
n.observe(t)
|
||||
}))
|
||||
}(t, o)) : this.loadAll(r)
|
||||
},
|
||||
destroy: function() {
|
||||
this._observer && this._observer.disconnect(), t && window.removeEventListener("online", this._onlineHandler), mn(this._settings).forEach((function(n) {
|
||||
U(n)
|
||||
})), delete this._observer, delete this._settings, delete this._onlineHandler, delete this.loadingCount, delete this.toLoadCount
|
||||
},
|
||||
loadAll: function(n) {
|
||||
var t = this,
|
||||
e = this._settings;
|
||||
hn(n, e).forEach((function(n) {
|
||||
T(n, t), ln(n, e, t)
|
||||
}))
|
||||
},
|
||||
restoreAll: function() {
|
||||
var n = this._settings;
|
||||
mn(n).forEach((function(t) {
|
||||
fn(t, n)
|
||||
}))
|
||||
}
|
||||
}, En.load = function(n, t) {
|
||||
var e = c(t);
|
||||
ln(n, e)
|
||||
}, En.resetStatus = function(n) {
|
||||
A(n)
|
||||
}, t && function(n, t) {
|
||||
if (t)
|
||||
if (t.length)
|
||||
for (var e, i = 0; e = t[i]; i += 1) l(n, e);
|
||||
else l(n, t)
|
||||
}(En, window.lazyLoadOptions), En
|
||||
}));
|
||||
@@ -1,873 +0,0 @@
|
||||
/*! elementor - v3.32.0 - 05-10-2025 */
|
||||
"use strict";
|
||||
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([
|
||||
[216], {
|
||||
667: (e, t, i) => {
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.default = void 0, i(6281), i(5724), i(4846), i(4364);
|
||||
class IconsManager {
|
||||
static symbolsContainer;
|
||||
static iconsUsageList = [];
|
||||
constructor(e) {
|
||||
this.prefix = `${e}-`, this.createSvgSymbolsContainer()
|
||||
}
|
||||
createSvgElement(e, t) {
|
||||
let {
|
||||
path: i,
|
||||
width: n,
|
||||
height: s
|
||||
} = t;
|
||||
const o = this.prefix + e,
|
||||
l = "#" + this.prefix + e;
|
||||
if (!IconsManager.iconsUsageList.includes(o)) {
|
||||
if (!IconsManager.symbolsContainer.querySelector(l)) {
|
||||
const e = this.createSymbolElement({
|
||||
id: o,
|
||||
path: i,
|
||||
width: n,
|
||||
height: s
|
||||
});
|
||||
IconsManager.symbolsContainer.appendChild(e)
|
||||
}
|
||||
IconsManager.iconsUsageList.push(o)
|
||||
}
|
||||
return this.createSvgIconElement({
|
||||
iconName: o,
|
||||
iconSelector: l
|
||||
})
|
||||
}
|
||||
createSvgNode(e, t) {
|
||||
let {
|
||||
props: i = {},
|
||||
attrs: n = {}
|
||||
} = t;
|
||||
const s = document.createElementNS("http://www.w3.org/2000/svg", e);
|
||||
return Object.keys(i).map(e => s[e] = i[e]), Object.keys(n).map(e => s.setAttributeNS(null, e, n[e])), s
|
||||
}
|
||||
createSvgIconElement(e) {
|
||||
let {
|
||||
iconName: t,
|
||||
iconSelector: i
|
||||
} = e;
|
||||
return this.createSvgNode("svg", {
|
||||
props: {
|
||||
innerHTML: '<use xlink:href="' + i + '" />'
|
||||
},
|
||||
attrs: {
|
||||
class: "e-font-icon-svg e-" + t
|
||||
}
|
||||
})
|
||||
}
|
||||
createSvgSymbolsContainer() {
|
||||
if (!IconsManager.symbolsContainer) {
|
||||
const e = "e-font-icon-svg-symbols";
|
||||
IconsManager.symbolsContainer = document.getElementById(e), IconsManager.symbolsContainer || (IconsManager.symbolsContainer = this.createSvgNode("svg", {
|
||||
attrs: {
|
||||
style: "display: none;",
|
||||
class: e
|
||||
}
|
||||
}), document.body.appendChild(IconsManager.symbolsContainer))
|
||||
}
|
||||
}
|
||||
createSymbolElement(e) {
|
||||
let {
|
||||
id: t,
|
||||
path: i,
|
||||
width: n,
|
||||
height: s
|
||||
} = e;
|
||||
return this.createSvgNode("symbol", {
|
||||
props: {
|
||||
innerHTML: '<path d="' + i + '"></path>',
|
||||
id: t
|
||||
},
|
||||
attrs: {
|
||||
viewBox: "0 0 " + n + " " + s
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
t.default = IconsManager
|
||||
},
|
||||
3942: (e, t, i) => {
|
||||
var n = i(6784);
|
||||
i(5724), i(4846), i(7458), i(6211), i(9655);
|
||||
var s = n(i(7954)),
|
||||
o = i(9556);
|
||||
e.exports = elementorModules.ViewModule.extend({
|
||||
oldAnimation: null,
|
||||
swiper: null,
|
||||
player: null,
|
||||
isFontIconSvgExperiment: elementorFrontend.config.experimentalFeatures.e_font_icon_svg,
|
||||
getDefaultSettings: () => ({
|
||||
classes: {
|
||||
item: "elementor-lightbox-item",
|
||||
image: "elementor-lightbox-image",
|
||||
videoContainer: "elementor-video-container",
|
||||
videoWrapper: "elementor-video-wrapper",
|
||||
playButton: "elementor-custom-embed-play",
|
||||
playButtonIcon: "fa",
|
||||
playing: "elementor-playing",
|
||||
hidden: "elementor-hidden",
|
||||
invisible: "elementor-invisible",
|
||||
preventClose: "elementor-lightbox-prevent-close",
|
||||
slideshow: {
|
||||
container: "swiper",
|
||||
slidesWrapper: "swiper-wrapper",
|
||||
prevButton: "elementor-swiper-button elementor-swiper-button-prev",
|
||||
nextButton: "elementor-swiper-button elementor-swiper-button-next",
|
||||
prevButtonIcon: "eicon-chevron-left",
|
||||
nextButtonIcon: "eicon-chevron-right",
|
||||
slide: "swiper-slide",
|
||||
header: "elementor-slideshow__header",
|
||||
footer: "elementor-slideshow__footer",
|
||||
title: "elementor-slideshow__title",
|
||||
description: "elementor-slideshow__description",
|
||||
counter: "elementor-slideshow__counter",
|
||||
iconExpand: "eicon-frame-expand",
|
||||
iconShrink: "eicon-frame-minimize",
|
||||
iconZoomIn: "eicon-zoom-in-bold",
|
||||
iconZoomOut: "eicon-zoom-out-bold",
|
||||
iconShare: "eicon-share-arrow",
|
||||
shareMenu: "elementor-slideshow__share-menu",
|
||||
shareLinks: "elementor-slideshow__share-links",
|
||||
hideUiVisibility: "elementor-slideshow--ui-hidden",
|
||||
shareMode: "elementor-slideshow--share-mode",
|
||||
fullscreenMode: "elementor-slideshow--fullscreen-mode",
|
||||
zoomMode: "elementor-slideshow--zoom-mode"
|
||||
}
|
||||
},
|
||||
selectors: {
|
||||
image: ".elementor-lightbox-image",
|
||||
links: "a, [data-elementor-lightbox]",
|
||||
slideshow: {
|
||||
activeSlide: ".swiper-slide-active",
|
||||
prevSlide: ".swiper-slide-prev",
|
||||
nextSlide: ".swiper-slide-next"
|
||||
}
|
||||
},
|
||||
modalOptions: {
|
||||
id: "elementor-lightbox",
|
||||
entranceAnimation: "zoomIn",
|
||||
videoAspectRatio: 169,
|
||||
position: {
|
||||
enable: !1
|
||||
}
|
||||
}
|
||||
}),
|
||||
getModal() {
|
||||
return e.exports.modal || this.initModal(), e.exports.modal
|
||||
},
|
||||
initModal() {
|
||||
const t = {};
|
||||
this.isFontIconSvgExperiment ? t.iconElement = o.close.element : t.iconClass = "eicon-close";
|
||||
const i = e.exports.modal = elementorFrontend.getDialogsManager().createWidget("lightbox", {
|
||||
className: "elementor-lightbox",
|
||||
closeButton: !0,
|
||||
closeButtonOptions: { ...t,
|
||||
attributes: {
|
||||
role: "button",
|
||||
tabindex: 0,
|
||||
"aria-label": elementorFrontend.config.i18n.close + " (Esc)"
|
||||
}
|
||||
},
|
||||
selectors: {
|
||||
preventClose: "." + this.getSettings("classes.preventClose")
|
||||
},
|
||||
hide: {
|
||||
onClick: !0
|
||||
}
|
||||
});
|
||||
i.on("hide", function() {
|
||||
i.setMessage("")
|
||||
})
|
||||
},
|
||||
showModal(e) {
|
||||
if (e.url && !e.url.startsWith("http")) return;
|
||||
this.elements.$closeButton = this.getModal().getElements("closeButton"), this.$buttons = this.elements.$closeButton, this.focusedButton = null;
|
||||
const t = this,
|
||||
i = t.getDefaultSettings().modalOptions;
|
||||
t.id = e.id, t.setSettings("modalOptions", jQuery.extend(i, e.modalOptions));
|
||||
const n = t.getModal();
|
||||
switch (n.setID(t.getSettings("modalOptions.id")), n.onShow = function() {
|
||||
DialogsManager.getWidgetType("lightbox").prototype.onShow.apply(n, arguments), t.setEntranceAnimation()
|
||||
}, n.onHide = function() {
|
||||
DialogsManager.getWidgetType("lightbox").prototype.onHide.apply(n, arguments), n.getElements("message").removeClass("animated"), s.default.isFullscreen && t.deactivateFullscreen(), t.unbindHotKeys()
|
||||
}, e.type) {
|
||||
case "video":
|
||||
t.setVideoContent(e);
|
||||
break;
|
||||
case "image":
|
||||
{
|
||||
const i = [{
|
||||
image: e.url,
|
||||
index: 0,
|
||||
title: e.title,
|
||||
description: e.description,
|
||||
hash: e.hash
|
||||
}];e.slideshow = {
|
||||
slides: i,
|
||||
swiper: {
|
||||
loop: !1,
|
||||
pagination: !1
|
||||
}
|
||||
},
|
||||
t.setSlideshowContent(e.slideshow);
|
||||
break
|
||||
}
|
||||
case "slideshow":
|
||||
t.setSlideshowContent(e.slideshow);
|
||||
break;
|
||||
default:
|
||||
t.setHTMLContent(e.html)
|
||||
}
|
||||
n.show()
|
||||
},
|
||||
createLightbox(e) {
|
||||
let t = {};
|
||||
if (e.dataset.elementorLightbox && (t = JSON.parse(e.dataset.elementorLightbox)), t.type && "slideshow" !== t.type) return void this.showModal(t);
|
||||
if (!e.dataset.elementorLightboxSlideshow) {
|
||||
const t = "single-img";
|
||||
return void this.showModal({
|
||||
type: "image",
|
||||
id: t,
|
||||
url: e.href,
|
||||
hash: e.getAttribute("data-e-action-hash"),
|
||||
title: e.dataset.elementorLightboxTitle,
|
||||
description: e.dataset.elementorLightboxDescription,
|
||||
modalOptions: {
|
||||
id: "elementor-lightbox-slideshow-" + t
|
||||
}
|
||||
})
|
||||
}
|
||||
const i = e.dataset.elementorLightboxVideo || e.href;
|
||||
this.openSlideshow(e.dataset.elementorLightboxSlideshow, i)
|
||||
},
|
||||
setHTMLContent(e) {
|
||||
window.elementorCommon && elementorDevTools.deprecation.deprecated("elementorFrontend.utils.lightbox.setHTMLContent()", "3.1.4"), this.getModal().setMessage(e)
|
||||
},
|
||||
setVideoContent(e) {
|
||||
const t = jQuery;
|
||||
let i;
|
||||
if ("hosted" === e.videoType) {
|
||||
const n = t.extend({
|
||||
src: e.url,
|
||||
autoplay: ""
|
||||
}, e.videoParams);
|
||||
i = t("<video>", n)
|
||||
} else {
|
||||
let n;
|
||||
if (-1 !== e.url.indexOf("vimeo.com")) n = elementorFrontend.utils.vimeo;
|
||||
else {
|
||||
if (!e.url.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com|youtube-nocookie\.com)/)) return;
|
||||
n = elementorFrontend.utils.youtube
|
||||
}
|
||||
i = t("<iframe>", {
|
||||
allowfullscreen: 1
|
||||
}), "yes" === e.autoplay ? (i.attr("allow", "autoplay"), i.attr("src", n.getAutoplayURL(e.url))) : i.attr("src", e.url)
|
||||
}
|
||||
const n = this.getSettings("classes"),
|
||||
s = this.getRatioDictionry(this.getSettings("modalOptions.videoAspectRatio")),
|
||||
o = t("<div>", {
|
||||
class: `${n.videoContainer} ${n.preventClose}`
|
||||
}),
|
||||
l = t("<div>", {
|
||||
class: `${n.videoWrapper} elementor-video-${this.getRatioType(s)}`,
|
||||
style: "--video-aspect-ratio: " + s
|
||||
});
|
||||
l.append(i), o.append(l);
|
||||
const a = this.getModal();
|
||||
a.setMessage(o);
|
||||
const r = a.onHide;
|
||||
a.onHide = function() {
|
||||
r(), this.$buttons = jQuery(), this.focusedButton = null, a.getElements("message").removeClass("elementor-video-wrapper")
|
||||
}
|
||||
},
|
||||
getRatioDictionry: e => ({
|
||||
219: 2.33333,
|
||||
169: 1.77777,
|
||||
43: 1.33333,
|
||||
32: 1.5,
|
||||
11: 1,
|
||||
916: .5625
|
||||
}[e] || e),
|
||||
getRatioType(e) {
|
||||
let t = "";
|
||||
return t = 1 === e ? "square" : e < 1 ? "portrait" : "landscape", t
|
||||
},
|
||||
getShareLinks() {
|
||||
const {
|
||||
i18n: e
|
||||
} = elementorFrontend.config, t = {
|
||||
facebook: {
|
||||
label: e.shareOnFacebook,
|
||||
iconElement: o.facebook
|
||||
},
|
||||
twitter: {
|
||||
label: e.shareOnTwitter,
|
||||
iconElement: o.twitter
|
||||
},
|
||||
pinterest: {
|
||||
label: e.pinIt,
|
||||
iconElement: o.pinterest
|
||||
}
|
||||
}, i = jQuery, n = this.getSettings("classes"), s = this.getSettings("selectors"), l = i("<div>", {
|
||||
class: n.slideshow.shareLinks
|
||||
}), a = this.getSlide("active"), r = a.find(s.image), d = a.data("elementor-slideshow-video");
|
||||
let h;
|
||||
if (h = d || r.attr("src"), i.each(t, (e, t) => {
|
||||
const n = t.label,
|
||||
s = i("<a>", {
|
||||
href: this.createShareLink(e, h, a.attr("data-e-action-hash")),
|
||||
target: "_blank"
|
||||
}).text(n),
|
||||
o = this.isFontIconSvgExperiment ? i(t.iconElement.element) : i("<i>", {
|
||||
class: "eicon-" + e,
|
||||
"aria-hidden": "true"
|
||||
});
|
||||
s.prepend(o), l.append(s)
|
||||
}), !d) {
|
||||
const t = this.isFontIconSvgExperiment ? i(o.downloadBold.element) : i("<i>", {
|
||||
class: "eicon-download-bold"
|
||||
});
|
||||
t.attr("aria-label", e.download), l.append(i("<a>", {
|
||||
href: h,
|
||||
download: ""
|
||||
}).text(e.downloadImage).prepend(t))
|
||||
}
|
||||
return l
|
||||
},
|
||||
createShareLink(e, t) {
|
||||
let i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
|
||||
const n = {};
|
||||
return "pinterest" === e ? n.image = encodeURIComponent(t) : n.url = encodeURIComponent(location.href.replace(/#.*/, "") + i), ShareLink.getNetworkLink(e, n)
|
||||
},
|
||||
getSlideshowHeader() {
|
||||
const {
|
||||
i18n: e
|
||||
} = elementorFrontend.config, t = jQuery, i = "yes" === elementorFrontend.getKitSettings("lightbox_enable_counter"), n = "yes" === elementorFrontend.getKitSettings("lightbox_enable_fullscreen"), s = "yes" === elementorFrontend.getKitSettings("lightbox_enable_zoom"), l = "yes" === elementorFrontend.getKitSettings("lightbox_enable_share"), a = this.getSettings("classes"), r = a.slideshow, d = this.elements;
|
||||
if (i || n || s || l) {
|
||||
if (d.$header = t("<header>", {
|
||||
class: r.header + " " + a.preventClose
|
||||
}), l) {
|
||||
const i = this.isFontIconSvgExperiment ? o.shareArrow.element : "<i>";
|
||||
d.$iconShare = t(i, {
|
||||
class: r.iconShare,
|
||||
role: "button",
|
||||
tabindex: 0,
|
||||
"aria-label": e.share,
|
||||
"aria-expanded": !1
|
||||
}).append(t("<span>"));
|
||||
const n = t("<div>");
|
||||
n.on("click", e => {
|
||||
e.stopPropagation()
|
||||
}), d.$shareMenu = t("<div>", {
|
||||
class: r.shareMenu
|
||||
}).append(n), d.$iconShare.add(d.$shareMenu).on("click", this.toggleShareMenu), d.$header.append(d.$iconShare, d.$shareMenu), this.$buttons = this.$buttons.add(d.$iconShare)
|
||||
}
|
||||
if (s) {
|
||||
const i = this.isFontIconSvgExperiment ? o.zoomInBold.element : "<i>",
|
||||
n = [],
|
||||
s = {
|
||||
role: "switch",
|
||||
tabindex: 0,
|
||||
"aria-checked": !1,
|
||||
"aria-label": e.zoom
|
||||
},
|
||||
l = { ...s
|
||||
};
|
||||
this.isFontIconSvgExperiment || (l.class = r.iconZoomIn), d.$iconZoom = t(i).attr(l).on("click", this.toggleZoomMode), n.push(d.$iconZoom), this.isFontIconSvgExperiment && (d.$iconZoomOut = t(o.zoomOutBold.element).attr(s).addClass(a.hidden).on("click", this.toggleZoomMode), n.push(d.$iconZoomOut)), d.$header.append(n), this.$buttons = this.$buttons.add(n)
|
||||
}
|
||||
if (n) {
|
||||
const i = this.isFontIconSvgExperiment ? o.frameExpand.element : "<i>",
|
||||
n = [],
|
||||
s = {
|
||||
role: "switch",
|
||||
tabindex: 0,
|
||||
"aria-checked": !1,
|
||||
"aria-label": e.fullscreen
|
||||
},
|
||||
l = { ...s
|
||||
};
|
||||
this.isFontIconSvgExperiment || (l.class = r.iconExpand), d.$iconExpand = t(i).append(t("<span>"), t("<span>")).attr(l).on("click", this.toggleFullscreen), n.push(d.$iconExpand), this.isFontIconSvgExperiment && (d.$iconMinimize = t(o.frameMinimize.element).attr(s).addClass(a.hidden).on("click", this.toggleFullscreen), n.push(d.$iconMinimize)), d.$header.append(n), this.$buttons = this.$buttons.add(n)
|
||||
}
|
||||
return i && (d.$counter = t("<span>", {
|
||||
class: r.counter
|
||||
}), d.$header.append(d.$counter)), d.$header
|
||||
}
|
||||
},
|
||||
toggleFullscreen() {
|
||||
s.default.isFullscreen ? this.deactivateFullscreen() : s.default.isEnabled && this.activateFullscreen()
|
||||
},
|
||||
toggleZoomMode() {
|
||||
1 !== this.swiper.zoom.scale ? this.deactivateZoom() : this.activateZoom()
|
||||
},
|
||||
toggleShareMenu() {
|
||||
this.shareMode ? this.deactivateShareMode() : (this.elements.$shareMenu.html(this.getShareLinks()), this.activateShareMode())
|
||||
},
|
||||
activateShareMode() {
|
||||
const e = this.getSettings("classes");
|
||||
this.elements.$container.addClass(e.slideshow.shareMode), this.elements.$iconShare.attr("aria-expanded", !0), this.swiper.detachEvents(), this.$originalButtons = this.$buttons, this.$buttons = this.elements.$iconShare.add(this.elements.$shareMenu.find("a")), this.shareMode = !0
|
||||
},
|
||||
deactivateShareMode() {
|
||||
const e = this.getSettings("classes");
|
||||
this.elements.$container.removeClass(e.slideshow.shareMode), this.elements.$iconShare.attr("aria-expanded", !1), this.swiper.attachEvents(), this.$buttons = this.$originalButtons, this.shareMode = !1
|
||||
},
|
||||
activateFullscreen() {
|
||||
const e = this.getSettings("classes");
|
||||
s.default.request(this.elements.$container.parents(".dialog-widget")[0]), this.isFontIconSvgExperiment ? (this.elements.$iconExpand.addClass(e.hidden).attr("aria-checked", "false"), this.elements.$iconMinimize.removeClass(e.hidden).attr("aria-checked", "true")) : this.elements.$iconExpand.removeClass(e.slideshow.iconExpand).addClass(e.slideshow.iconShrink).attr("aria-checked", "true"), this.elements.$container.addClass(e.slideshow.fullscreenMode)
|
||||
},
|
||||
deactivateFullscreen() {
|
||||
const e = this.getSettings("classes");
|
||||
s.default.exit(), this.isFontIconSvgExperiment ? (this.elements.$iconExpand.removeClass(e.hidden).attr("aria-checked", "true"), this.elements.$iconMinimize.addClass(e.hidden).attr("aria-checked", "false")) : this.elements.$iconExpand.removeClass(e.slideshow.iconShrink).addClass(e.slideshow.iconExpand).attr("aria-checked", "false"), this.elements.$container.removeClass(e.slideshow.fullscreenMode)
|
||||
},
|
||||
activateZoom() {
|
||||
const e = this.swiper,
|
||||
t = this.elements,
|
||||
i = this.getSettings("classes");
|
||||
e.zoom.in(), e.allowSlideNext = !1, e.allowSlidePrev = !1, e.allowTouchMove = !1, t.$container.addClass(i.slideshow.zoomMode), this.isFontIconSvgExperiment ? (t.$iconZoom.addClass(i.hidden).attr("aria-checked", "false"), t.$iconZoomOut.removeClass(i.hidden).attr("aria-checked", "true")) : t.$iconZoom.removeClass(i.slideshow.iconZoomIn).addClass(i.slideshow.iconZoomOut)
|
||||
},
|
||||
deactivateZoom() {
|
||||
const e = this.swiper,
|
||||
t = this.elements,
|
||||
i = this.getSettings("classes");
|
||||
e.zoom.out(), e.allowSlideNext = !0, e.allowSlidePrev = !0, e.allowTouchMove = !0, t.$container.removeClass(i.slideshow.zoomMode), this.isFontIconSvgExperiment ? (t.$iconZoom.removeClass(i.hidden).attr("aria-checked", "true"), t.$iconZoomOut.addClass(i.hidden).attr("aria-checked", "false")) : t.$iconZoom.removeClass(i.slideshow.iconZoomOut).addClass(i.slideshow.iconZoomIn)
|
||||
},
|
||||
getSlideshowFooter() {
|
||||
const e = jQuery,
|
||||
t = this.getSettings("classes"),
|
||||
i = e("<footer>", {
|
||||
class: t.slideshow.footer + " " + t.preventClose
|
||||
}),
|
||||
n = e("<div>", {
|
||||
class: t.slideshow.title
|
||||
}),
|
||||
s = e("<div>", {
|
||||
class: t.slideshow.description
|
||||
});
|
||||
return i.append(n, s), i
|
||||
},
|
||||
setSlideshowContent(e) {
|
||||
const {
|
||||
i18n: t
|
||||
} = elementorFrontend.config, i = jQuery, n = 1 === e.slides.length, s = "" !== elementorFrontend.getKitSettings("lightbox_title_src"), l = "" !== elementorFrontend.getKitSettings("lightbox_description_src"), a = s || l, r = this.getSettings("classes"), d = r.slideshow, h = i("<div>", {
|
||||
class: d.container
|
||||
}), c = i("<div>", {
|
||||
class: d.slidesWrapper
|
||||
});
|
||||
let m, g;
|
||||
if (e.slides.forEach(e => {
|
||||
let n = d.slide + " " + r.item;
|
||||
e.video && (n += " " + r.video);
|
||||
const s = i("<div>", {
|
||||
class: n
|
||||
});
|
||||
if (e.video) {
|
||||
s.attr("data-elementor-slideshow-video", e.video);
|
||||
const n = this.isFontIconSvgExperiment ? o.loading.element : "<i>",
|
||||
l = i("<div>", {
|
||||
class: r.playButton
|
||||
}).html(i(n).attr("aria-label", t.playVideo).addClass(r.playButtonIcon));
|
||||
s.append(l)
|
||||
} else {
|
||||
const t = i("<div>", {
|
||||
class: "swiper-zoom-container"
|
||||
}),
|
||||
n = i('<div class="swiper-lazy-preloader"></div>'),
|
||||
o = {
|
||||
"data-src": e.image,
|
||||
class: r.image + " " + r.preventClose + " swiper-lazy"
|
||||
};
|
||||
e.title && (o["data-title"] = e.title, o.alt = e.title), e.description && (o["data-description"] = e.description, o.alt += " - " + e.description);
|
||||
const l = i("<img>", o);
|
||||
t.append([l, n]), s.append(t)
|
||||
}
|
||||
e.hash && s.attr("data-e-action-hash", e.hash), c.append(s)
|
||||
}), this.elements.$container = h, this.elements.$header = this.getSlideshowHeader(), h.prepend(this.elements.$header).append(c), !n) {
|
||||
const e = this.isFontIconSvgExperiment ? i(o.chevronLeft.element) : i("<i>", {
|
||||
class: d.prevButtonIcon,
|
||||
"aria-hidden": "true"
|
||||
}),
|
||||
n = this.isFontIconSvgExperiment ? i(o.chevronRight.element) : i("<i>", {
|
||||
class: d.nextButtonIcon,
|
||||
"aria-hidden": "true"
|
||||
}),
|
||||
s = i("<span>", {
|
||||
class: "screen-reader-text"
|
||||
}).html(t.previous),
|
||||
l = i("<span>", {
|
||||
class: "screen-reader-text"
|
||||
}).html(t.next);
|
||||
m = i("<div>", {
|
||||
class: d.prevButton + " " + r.preventClose
|
||||
}).append(e, s), g = i("<div>", {
|
||||
class: d.nextButton + " " + r.preventClose
|
||||
}).append(n, l), h.append(g, m), this.$buttons = this.$buttons.add(g).add(m)
|
||||
}
|
||||
a && (this.elements.$footer = this.getSlideshowFooter(), h.append(this.elements.$footer)), this.setSettings("hideUiTimeout", ""), h.on("click mousemove keypress", this.showLightboxUi);
|
||||
const p = this.getModal();
|
||||
p.setMessage(h);
|
||||
const u = p.onShow;
|
||||
p.onShow = async () => {
|
||||
u();
|
||||
const t = {
|
||||
pagination: {
|
||||
el: "." + d.counter,
|
||||
type: "fraction"
|
||||
},
|
||||
on: {
|
||||
slideChangeTransitionEnd: this.onSlideChange
|
||||
},
|
||||
lazy: {
|
||||
loadPrevNext: !0
|
||||
},
|
||||
zoom: !0,
|
||||
spaceBetween: 100,
|
||||
grabCursor: !0,
|
||||
runCallbacksOnInit: !1,
|
||||
loop: !0,
|
||||
keyboard: !0,
|
||||
handleElementorBreakpoints: !0
|
||||
};
|
||||
n || (t.navigation = {
|
||||
prevEl: m[0],
|
||||
nextEl: g[0]
|
||||
}), e.swiper && i.extend(t, e.swiper);
|
||||
const s = elementorFrontend.utils.swiper;
|
||||
this.swiper = await new s(h, t), h.data("swiper", this.swiper), this.playSlideVideo(), a && this.updateFooterText(), this.bindHotKeys(), this.makeButtonsAccessible()
|
||||
}
|
||||
},
|
||||
makeButtonsAccessible() {
|
||||
this.$buttons.attr("tabindex", 0).on("keypress", e => {
|
||||
13 !== e.which && 32 !== e.which || jQuery(e.currentTarget).trigger("click")
|
||||
})
|
||||
},
|
||||
showLightboxUi() {
|
||||
const e = this.getSettings("classes").slideshow;
|
||||
this.elements.$container.removeClass(e.hideUiVisibility), clearTimeout(this.getSettings("hideUiTimeout")), this.setSettings("hideUiTimeout", setTimeout(() => {
|
||||
this.shareMode || this.elements.$container.addClass(e.hideUiVisibility)
|
||||
}, 3500))
|
||||
},
|
||||
bindHotKeys() {
|
||||
this.getModal().getElements("window").on("keydown", this.activeKeyDown)
|
||||
},
|
||||
unbindHotKeys() {
|
||||
this.getModal().getElements("window").off("keydown", this.activeKeyDown)
|
||||
},
|
||||
activeKeyDown(e) {
|
||||
this.showLightboxUi();
|
||||
if (9 === e.which) {
|
||||
const t = this.$buttons;
|
||||
let i, n = !1,
|
||||
s = !1;
|
||||
t.each(e => {
|
||||
const o = t[e];
|
||||
if (jQuery(o).is(":focus")) return i = o, n = 0 === e, s = t.length - 1 === e, !1
|
||||
}), e.shiftKey ? n && (e.preventDefault(), t.last().trigger("focus")) : !s && i || (e.preventDefault(), t.first().trigger("focus"))
|
||||
}
|
||||
},
|
||||
getSlide(e) {
|
||||
return jQuery(this.swiper.slides).filter(this.getSettings("selectors.slideshow." + e + "Slide"))
|
||||
},
|
||||
updateFooterText() {
|
||||
if (!this.elements.$footer) return;
|
||||
const e = this.getSettings("classes"),
|
||||
t = this.getSlide("active").find(".elementor-lightbox-image"),
|
||||
i = t.data("title"),
|
||||
n = t.data("description"),
|
||||
s = this.elements.$footer.find("." + e.slideshow.title),
|
||||
o = this.elements.$footer.find("." + e.slideshow.description);
|
||||
s.text(i || ""), o.text(n || "")
|
||||
},
|
||||
playSlideVideo() {
|
||||
const e = this.getSlide("active"),
|
||||
t = e.data("elementor-slideshow-video");
|
||||
if (!t) return;
|
||||
const i = this.getSettings("classes"),
|
||||
n = this.getRatioDictionry(this.getSettings("modalOptions.videoAspectRatio")),
|
||||
s = jQuery("<div>", {
|
||||
class: i.videoContainer + " " + i.invisible
|
||||
}),
|
||||
o = jQuery("<div>", {
|
||||
class: `${i.videoWrapper} elementor-video-${this.getRatioType(n)}`,
|
||||
style: "--video-aspect-ratio: " + n
|
||||
}),
|
||||
l = e.children("." + i.playButton);
|
||||
let a, r;
|
||||
s.append(o), e.append(s), -1 !== t.indexOf("vimeo.com") ? (a = "vimeo", r = elementorFrontend.utils.vimeo) : t.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/) && (a = "youtube", r = elementorFrontend.utils.youtube);
|
||||
const d = r.getVideoIDFromURL(t);
|
||||
r.onApiReady(e => {
|
||||
"youtube" === a ? this.prepareYTVideo(e, d, s, o, l) : "vimeo" === a && this.prepareVimeoVideo(e, t, s, o, l)
|
||||
}), l.addClass(i.playing).removeClass(i.hidden)
|
||||
},
|
||||
prepareYTVideo(e, t, i, n, s) {
|
||||
const o = this.getSettings("classes"),
|
||||
l = jQuery("<div>");
|
||||
let a = e.PlayerState.PLAYING;
|
||||
n.append(l), window.chrome && (a = e.PlayerState.UNSTARTED), i.addClass("elementor-loading " + o.invisible), this.player = new e.Player(l[0], {
|
||||
videoId: t,
|
||||
events: {
|
||||
onReady: () => {
|
||||
s.addClass(o.hidden), i.removeClass(o.invisible), this.player.playVideo()
|
||||
},
|
||||
onStateChange: e => {
|
||||
e.data === a && i.removeClass("elementor-loading " + o.invisible)
|
||||
}
|
||||
},
|
||||
playerVars: {
|
||||
controls: 0,
|
||||
rel: 0
|
||||
}
|
||||
})
|
||||
},
|
||||
prepareVimeoVideo(e, t, i, n, s) {
|
||||
const o = this.getSettings("classes"),
|
||||
l = {
|
||||
url: t,
|
||||
autoplay: !0,
|
||||
transparent: !1,
|
||||
playsinline: !1,
|
||||
cc_load_policy: !1
|
||||
};
|
||||
this.player = new e.Player(n, l), this.player.ready().then(() => {
|
||||
s.addClass(o.hidden), i.removeClass(o.invisible)
|
||||
})
|
||||
},
|
||||
setEntranceAnimation(e) {
|
||||
e = e || elementorFrontend.getCurrentDeviceSetting(this.getSettings("modalOptions"), "entranceAnimation");
|
||||
const t = this.getModal().getElements("message");
|
||||
this.oldAnimation && t.removeClass(this.oldAnimation), this.oldAnimation = e, e && t.addClass("animated " + e)
|
||||
},
|
||||
openSlideshow(e, t) {
|
||||
const i = jQuery(this.getSettings("selectors.links")).filter((t, i) => {
|
||||
const n = jQuery(i);
|
||||
return e === i.dataset.elementorLightboxSlideshow && !n.parent(".swiper-slide-duplicate").length && !n.parents(".slick-cloned").length
|
||||
}),
|
||||
n = [];
|
||||
let s = 0;
|
||||
i.each(function() {
|
||||
const e = this.dataset.elementorLightboxVideo;
|
||||
let o = this.dataset.elementorLightboxIndex;
|
||||
void 0 === o && (o = i.index(this)), (t === this.href || e && t === e) && (s = o);
|
||||
const l = {
|
||||
image: this.href,
|
||||
index: o,
|
||||
title: this.dataset.elementorLightboxTitle,
|
||||
description: this.dataset.elementorLightboxDescription,
|
||||
hash: this.getAttribute("data-e-action-hash")
|
||||
};
|
||||
e && (l.video = e), n.push(l)
|
||||
}), n.sort((e, t) => e.index - t.index), this.showModal({
|
||||
type: "slideshow",
|
||||
id: e,
|
||||
modalOptions: {
|
||||
id: "elementor-lightbox-slideshow-" + e
|
||||
},
|
||||
slideshow: {
|
||||
slides: n,
|
||||
swiper: {
|
||||
initialSlide: +s
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
onSlideChange() {
|
||||
this.getSlide("prev").add(this.getSlide("next")).add(this.getSlide("active")).find("." + this.getSettings("classes.videoWrapper")).remove(), this.playSlideVideo(), this.updateFooterText()
|
||||
}
|
||||
})
|
||||
},
|
||||
7954: e => {
|
||||
! function() {
|
||||
var t = "undefined" != typeof window && void 0 !== window.document ? window.document : {},
|
||||
i = e.exports,
|
||||
n = function() {
|
||||
for (var e, i = [
|
||||
["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
|
||||
["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"],
|
||||
["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"],
|
||||
["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"],
|
||||
["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
|
||||
], n = 0, s = i.length, o = {}; n < s; n++)
|
||||
if ((e = i[n]) && e[1] in t) {
|
||||
var l = e.length;
|
||||
for (n = 0; n < l; n++) o[i[0][n]] = e[n];
|
||||
return o
|
||||
}
|
||||
return !1
|
||||
}(),
|
||||
s = {
|
||||
change: n.fullscreenchange,
|
||||
error: n.fullscreenerror
|
||||
},
|
||||
o = {
|
||||
request(e) {
|
||||
return new Promise(function(i, s) {
|
||||
var o = function() {
|
||||
this.off("change", o), i()
|
||||
}.bind(this);
|
||||
this.on("change", o), e = e || t.documentElement, Promise.resolve(e[n.requestFullscreen]()).catch(s)
|
||||
}.bind(this))
|
||||
},
|
||||
exit() {
|
||||
return new Promise(function(e, i) {
|
||||
if (this.isFullscreen) {
|
||||
var s = function() {
|
||||
this.off("change", s), e()
|
||||
}.bind(this);
|
||||
this.on("change", s), Promise.resolve(t[n.exitFullscreen]()).catch(i)
|
||||
} else e()
|
||||
}.bind(this))
|
||||
},
|
||||
toggle(e) {
|
||||
return this.isFullscreen ? this.exit() : this.request(e)
|
||||
},
|
||||
onchange(e) {
|
||||
this.on("change", e)
|
||||
},
|
||||
onerror(e) {
|
||||
this.on("error", e)
|
||||
},
|
||||
on(e, i) {
|
||||
var n = s[e];
|
||||
n && t.addEventListener(n, i, !1)
|
||||
},
|
||||
off(e, i) {
|
||||
var n = s[e];
|
||||
n && t.removeEventListener(n, i, !1)
|
||||
},
|
||||
raw: n
|
||||
};
|
||||
n ? (Object.defineProperties(o, {
|
||||
isFullscreen: {
|
||||
get: () => Boolean(t[n.fullscreenElement])
|
||||
},
|
||||
element: {
|
||||
enumerable: !0,
|
||||
get: () => t[n.fullscreenElement]
|
||||
},
|
||||
isEnabled: {
|
||||
enumerable: !0,
|
||||
get: () => Boolean(t[n.fullscreenEnabled])
|
||||
}
|
||||
}), i ? e.exports = o : window.screenfull = o) : i ? e.exports = {
|
||||
isEnabled: !1
|
||||
} : window.screenfull = {
|
||||
isEnabled: !1
|
||||
}
|
||||
}()
|
||||
},
|
||||
9556: (e, t, i) => {
|
||||
var n = i(6784);
|
||||
Object.defineProperty(t, "__esModule", {
|
||||
value: !0
|
||||
}), t.zoomOutBold = t.zoomInBold = t.twitter = t.shareArrow = t.pinterest = t.loading = t.frameMinimize = t.frameExpand = t.facebook = t.downloadBold = t.close = t.chevronRight = t.chevronLeft = void 0;
|
||||
const s = new(n(i(667)).default)("eicon");
|
||||
t.chevronLeft = {
|
||||
get element() {
|
||||
return s.createSvgElement("chevron-left", {
|
||||
path: "M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.chevronRight = {
|
||||
get element() {
|
||||
return s.createSvgElement("chevron-right", {
|
||||
path: "M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.close = {
|
||||
get element() {
|
||||
return s.createSvgElement("close", {
|
||||
path: "M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.downloadBold = {
|
||||
get element() {
|
||||
return s.createSvgElement("download-bold", {
|
||||
path: "M572 42H428C405 42 385 61 385 85V385H228C197 385 180 424 203 447L475 719C489 732 511 732 524 719L797 447C819 424 803 385 771 385H614V85C615 61 595 42 572 42ZM958 915V715C958 691 939 672 915 672H653L565 760C529 796 471 796 435 760L347 672H85C61 672 42 691 42 715V915C42 939 61 958 85 958H915C939 958 958 939 958 915ZM736 873C736 853 720 837 700 837 681 837 665 853 665 873 665 892 681 908 700 908 720 908 736 892 736 873ZM815 837C835 837 851 853 851 873 851 892 835 908 815 908 795 908 779 892 779 873 779 853 795 837 815 837Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.facebook = {
|
||||
get element() {
|
||||
return s.createSvgElement("facebook", {
|
||||
path: "M858 42H142C88 42 42 87 42 142V863C42 913 88 958 142 958H421V646H292V500H421V387C421 258 496 192 613 192 667 192 725 200 725 200V325H663C600 325 579 362 579 404V500H721L700 646H583V958H863C917 958 963 913 963 858V142C958 87 913 42 858 42L858 42Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.frameExpand = {
|
||||
get element() {
|
||||
return s.createSvgElement("frame-expand", {
|
||||
path: "M863 583C890 583 914 605 916 632L917 637V863L916 868C914 893 893 914 868 916L863 917H638L632 916C607 914 586 893 584 868L583 863 584 857C586 832 607 811 632 809L638 808H808V637L809 632C811 605 835 583 863 583ZM138 583C165 583 189 605 191 632L192 637V808H363C390 808 414 830 416 857L417 863C417 890 395 914 368 916L363 917H138C110 917 86 895 84 868L83 863V637C83 607 108 583 138 583ZM863 83C890 83 914 105 916 132L917 137V362C917 392 893 417 863 417 835 417 811 395 809 368L808 362V192H638C610 192 586 170 584 143L583 137C583 110 605 86 632 84L638 83H863ZM363 83L368 84C393 86 414 107 416 132L417 137 416 143C414 168 393 189 368 191L363 192H192V362L191 368C189 395 165 417 138 417S86 395 84 368L83 362V137L84 132C86 107 107 86 132 84L138 83H363Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.frameMinimize = {
|
||||
get element() {
|
||||
return s.createSvgElement("frame-minimize", {
|
||||
path: "M363 583C392 583 413 604 417 633L417 637V863C417 892 392 917 363 917 333 917 313 896 308 867L308 863V692H138C108 692 88 671 83 642L83 637C83 608 104 587 133 583L138 583H363ZM638 583C608 583 588 604 583 633L583 637V863C583 892 608 917 638 917 667 917 688 896 692 867L692 863V692H863C892 692 913 671 917 642L917 637C917 608 896 587 867 583L863 583H638ZM363 417C392 417 413 396 417 367L417 362V137C417 108 392 83 363 83 333 83 313 104 308 133L308 137V308H138C108 308 88 329 83 358L83 362C83 392 104 412 133 417L138 417H363ZM638 417C608 417 588 396 583 367L583 362V137C583 108 608 83 638 83 667 83 688 104 692 133L692 137V308H863C892 308 913 329 917 358L917 362C917 392 896 412 867 417L863 417H638Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.loading = {
|
||||
get element() {
|
||||
return s.createSvgElement("loading", {
|
||||
path: "M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.pinterest = {
|
||||
get element() {
|
||||
return s.createSvgElement("pinterest", {
|
||||
path: "M950 496C950 746 746 950 496 950 450 950 404 942 363 929 379 900 408 850 421 808 425 787 450 700 450 700 467 729 508 754 554 754 692 754 792 629 792 471 792 321 671 208 513 208 317 208 213 342 213 483 213 550 250 633 304 658 313 662 317 662 321 654 321 650 329 617 333 604 333 600 333 596 329 592 313 567 296 525 296 487 288 387 367 292 496 292 608 292 688 367 688 475 688 600 625 683 546 683 500 683 467 646 479 600 492 546 517 487 517 450 517 417 500 387 458 387 413 387 375 433 375 496 375 537 388 562 388 562S342 754 333 787C325 825 329 883 333 917 163 854 42 687 42 496 42 246 246 42 496 42S950 246 950 496Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.shareArrow = {
|
||||
get element() {
|
||||
return s.createSvgElement("share-arrow", {
|
||||
path: "M946 383L667 133C642 112 604 129 604 162V292C238 296 71 637 42 812 238 587 363 521 604 517V658C604 692 642 708 667 687L946 442C963 425 963 400 946 383Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.twitter = {
|
||||
get element() {
|
||||
return s.createSvgElement("twitter", {
|
||||
path: "M863 312C863 321 863 329 863 337 863 587 675 871 329 871 221 871 125 842 42 787 58 787 71 792 88 792 175 792 254 762 321 712 238 712 171 658 146 583 158 583 171 587 183 587 200 587 217 583 233 579 146 562 83 487 83 396V387C108 400 138 408 167 412 117 379 83 321 83 254 83 221 92 187 108 158 200 271 342 346 496 354 492 342 492 325 492 312 492 208 575 125 679 125 733 125 783 146 817 183 858 175 900 158 938 137 925 179 896 217 854 242 892 237 929 229 963 212 933 250 900 283 863 312Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.zoomInBold = {
|
||||
get element() {
|
||||
return s.createSvgElement("zoom-in-bold", {
|
||||
path: "M388 383V312C388 283 413 258 442 258 471 258 496 283 496 312V383H567C596 383 621 408 621 437S596 492 567 492H496V562C496 592 471 617 442 617 413 617 388 592 388 562V492H317C288 492 263 467 263 437S288 383 317 383H388ZM654 733C592 779 517 804 438 804 233 804 71 642 71 437S233 71 438 71 804 233 804 437C804 521 779 596 733 654L896 817C917 837 917 871 896 892 875 913 842 913 821 892L654 733ZM438 696C579 696 696 579 696 437S579 179 438 179 179 296 179 437 296 696 438 696Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}, t.zoomOutBold = {
|
||||
get element() {
|
||||
return s.createSvgElement("zoom-out-bold", {
|
||||
path: "M750 683L946 879C963 896 963 929 946 946 929 963 896 967 879 946L683 750C617 804 533 833 438 833 221 833 42 654 42 437S221 42 438 42 833 221 833 437C833 529 800 612 750 683ZM296 392H575C600 392 621 412 621 442 621 467 600 487 575 487H296C271 487 250 467 250 442 250 412 271 392 296 392ZM438 737C604 737 738 604 738 437S604 137 438 137 138 271 138 437 271 737 438 737Z",
|
||||
width: 1e3,
|
||||
height: 1e3
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]);
|
||||
138
public/js/mailcheck.min.js
vendored
@@ -1,138 +0,0 @@
|
||||
/*! 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);
|
||||
75
public/js/order-attribution.min.js
vendored
@@ -1,75 +0,0 @@
|
||||
! 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);
|
||||