appscms-tools-theme 4.7.7 → 4.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/_data/about/en/about.json +16 -16
- data/_data/blog/nav.json +14 -14
- data/_data/blog/relatedblogs.json +2816 -2816
- data/_data/feature/en/batch-conversion.json +192 -192
- data/_data/feature/en/compress-pdf.json +223 -223
- data/_data/feature/en/devtools.json +321 -321
- data/_data/feature/en/face-detection.json +156 -156
- data/_data/feature/en/split-pdf.json +221 -221
- data/_data/feature/en/theframe.json +160 -160
- data/_data/footer/en/data.json +264 -264
- data/_data/header/en/data.json +672 -672
- data/_data/home/en/en.json +250 -250
- data/_data/home/en/posters.json +322 -322
- data/_data/home-1/en/en.json +236 -236
- data/_includes/alternates/alternates.html +88 -88
- data/_includes/appscms/customblog/contenttool-recent-posts.html +94 -94
- data/_includes/appscms/customblog/pageRelatedPosts.html +68 -68
- data/_includes/appscms/customblog/recentposts.html +67 -67
- data/_includes/appscms/customblog/relatedBlogs.html +82 -82
- data/_includes/appscms/customblog/relatedposts.html +193 -193
- data/_includes/appscms/extras/appscms-postbox.html +57 -57
- data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +85 -85
- data/_includes/appscms/head/bloghead.html +128 -128
- data/_includes/appscms/headings/contenttool-headings.html +33 -33
- data/_includes/appscms/headings/devtool-headings.html +38 -38
- data/_includes/appscms/home/contenttool-feature-boxes.html +19 -19
- data/_includes/appscms/home/devtool-feature-boxes.html +70 -70
- data/_includes/appscms/infographics/infographics.html +160 -160
- data/_includes/appscms/loaders/loader.html +4 -4
- data/_includes/appscms/navbars/devtool-navbar.html +50 -50
- data/_includes/appscms/navbars/devtool-toolbar.html +100 -100
- data/_includes/appscms/recent-posts/recent_posts.html +90 -90
- data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
- data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
- data/_includes/appscms/usp/usp.html +90 -90
- data/_includes/author_bio.html +41 -41
- data/_includes/authorpagehead/index.html +47 -47
- data/_includes/authors/authors.html +39 -39
- data/_includes/batch-conversion.html +141 -141
- data/_includes/bookmark.html +6 -6
- data/_includes/cssfile/links.html +54 -54
- data/_includes/custom-head.html +138 -138
- data/_includes/customCode.html +1 -1
- data/_includes/customScripts.html +1 -1
- data/_includes/customblog/pageRelatedPosts.html +87 -87
- data/_includes/customblog/recentposts.html +67 -67
- data/_includes/customblog/relatedBlogs.html +86 -86
- data/_includes/customblog/relatedposts.html +201 -201
- data/_includes/dropdown/langdropdown.html +32 -32
- data/_includes/feature.html +39 -39
- data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
- data/_includes/footer/index.html +537 -537
- data/_includes/google-analytics.html +32 -32
- data/_includes/head/index.html +627 -627
- data/_includes/header/blogHeader.html +34 -34
- data/_includes/header/index.html +152 -152
- data/_includes/infographics/infographics.html +244 -244
- data/_includes/internationalization-section.html +44 -0
- data/_includes/paginationBlogPage.html +70 -70
- data/_includes/postbox.html +65 -65
- data/_includes/script.html +493 -493
- data/_includes/section/count.html +32 -32
- data/_includes/section/recent_posts.html +94 -94
- data/_includes/section/related_categories_post.html +196 -196
- data/_includes/share/socialshare.html +21 -21
- data/_includes/userTracking.html +14 -14
- data/_layouts/aboutUs.html +175 -175
- data/_layouts/allAuthors.html +131 -131
- data/_layouts/appscms-about.html +163 -163
- data/_layouts/appscms-audio.html +33 -33
- data/_layouts/appscms-author.html +436 -436
- data/_layouts/appscms-authors.html +145 -145
- data/_layouts/appscms-batch.html +141 -141
- data/_layouts/appscms-calculator.html +93 -93
- data/_layouts/appscms-categories.html +26 -26
- data/_layouts/appscms-contact.html +132 -132
- data/_layouts/appscms-disclaimer.html +124 -124
- data/_layouts/appscms-download.html +289 -289
- data/_layouts/appscms-feature-result.html +96 -96
- data/_layouts/appscms-feature.html +22 -24
- data/_layouts/appscms-help.html +25 -25
- data/_layouts/appscms-imagekit.html +96 -96
- data/_layouts/appscms-post.html +243 -243
- data/_layouts/appscms-privacy-policy.html +781 -781
- data/_layouts/appscms-terms-and-conditions.html +646 -646
- data/_layouts/appscms-video.html +33 -33
- data/_layouts/audio.html +33 -33
- data/_layouts/author.html +409 -409
- data/_layouts/batch.html +177 -177
- data/_layouts/blog-1.html +116 -116
- data/_layouts/blog.html +131 -131
- data/_layouts/calculator.html +99 -99
- data/_layouts/contenttool-feature.html +45 -45
- data/_layouts/contenttool-home.html +53 -53
- data/_layouts/devtool-blog.html +132 -132
- data/_layouts/devtool-feature.html +54 -54
- data/_layouts/devtool-home.html +53 -53
- data/_layouts/devtools.html +57 -57
- data/_layouts/feature-1.html +285 -285
- data/_layouts/feature.html +351 -351
- data/_layouts/featureResultPage.html +82 -82
- data/_layouts/frame.html +222 -222
- data/_layouts/home-1.html +186 -186
- data/_layouts/home.html +375 -375
- data/_layouts/homeResultPage.html +32 -32
- data/_layouts/imagekit.html +308 -308
- data/_layouts/photo-effects-home.html +190 -190
- data/_layouts/post.html +233 -233
- data/assets/app.js +75 -75
- data/assets/css/appscms-blog.css +505 -505
- data/assets/css/appscms-contenttool.css +1384 -1384
- data/assets/css/appscms-home.css +5 -5
- data/assets/css/appscms-imagekit.css +855 -855
- data/assets/css/appscms-variables.css +19 -19
- data/assets/css/blog.css +510 -510
- data/assets/css/calculators.css +46 -46
- data/assets/css/common.css +944 -944
- data/assets/css/devtool-main.css +1350 -1350
- data/assets/css/devtools.css +105 -105
- data/assets/css/feature-1.css +293 -293
- data/assets/css/home-1.css +188 -188
- data/assets/css/imagekit copy.css +848 -848
- data/assets/css/imagekit.css +848 -848
- data/assets/css/tools.css +1846 -1846
- data/assets/images/close-button.svg +31 -31
- data/assets/images/digipaint.svg +6 -6
- data/assets/images/iconn.svg +12 -12
- data/assets/images/logo.svg +2 -2
- data/assets/images/manthink.svg +3552 -3552
- data/assets/images/search-icon.svg +2 -2
- data/assets/js/batch.js +219 -219
- data/assets/js/devtools.js +81 -81
- data/assets/js/sharePage.js +65 -65
- data/assets/js/usageTracking.js +143 -143
- data/assets/js/usageTrackingEvents.js +6 -6
- data/assets/js/webvitals.js +4 -4
- metadata +4 -3
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
<style>
|
|
2
|
-
.appscms-contenttool-container {
|
|
3
|
-
display: grid;
|
|
4
|
-
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
5
|
-
gap: 16px;
|
|
6
|
-
}
|
|
7
|
-
.appscms-contenttool-tool {
|
|
8
|
-
background-color: white;
|
|
9
|
-
padding: 21px;
|
|
10
|
-
border-radius: 13px;
|
|
11
|
-
transition: all 0.2s ease-in-out;
|
|
12
|
-
}
|
|
13
|
-
.appscms-contenttool-tool:hover {
|
|
14
|
-
transform: scale(1.03);
|
|
15
|
-
filter: saturate(1.3);
|
|
16
|
-
}
|
|
17
|
-
.contentool-tool-image-background {
|
|
18
|
-
background-color: rgba(255, 255, 255, 0.87);
|
|
19
|
-
width: 58px;
|
|
20
|
-
height: 58px;
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
justify-content: center;
|
|
24
|
-
border-radius: 12px;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
#contenttool-icon-img{
|
|
28
|
-
width: 45px;
|
|
29
|
-
}
|
|
30
|
-
.background img {
|
|
31
|
-
width: 100%;
|
|
32
|
-
height: auto;
|
|
33
|
-
border-radius: 10px;
|
|
34
|
-
}
|
|
35
|
-
.contenttool-tool-heading {
|
|
36
|
-
font-weight: 600;
|
|
37
|
-
font-size: 16px;
|
|
38
|
-
color: #0c0c0c !important;
|
|
39
|
-
margin-top: 10px;
|
|
40
|
-
}
|
|
41
|
-
.contenttool-tool-text{
|
|
42
|
-
font-weight: 500;
|
|
43
|
-
font-size: 13px;
|
|
44
|
-
color: rgb(29, 29, 29) !important;
|
|
45
|
-
margin-top: -5px;
|
|
46
|
-
}
|
|
47
|
-
#text-black{
|
|
48
|
-
color: rgb(39, 39, 39) !important;
|
|
49
|
-
font-weight: 450;
|
|
50
|
-
}
|
|
51
|
-
</style>
|
|
52
|
-
<div class="container" id="appscms-tools-section">
|
|
53
|
-
<div class="appscms-contenttool-container">
|
|
54
|
-
{% for item in pageData.features %}
|
|
55
|
-
<a href="{{item.url}}">
|
|
56
|
-
<div class="appscms-contenttool-tool" style="background: {{item.color}};">
|
|
57
|
-
<div class="contentool-tool-image-background">
|
|
58
|
-
<img id="contenttool-icon-img" crossorigin="anonymous" src="{{item.icon}}" alt="img" />
|
|
59
|
-
</div>
|
|
60
|
-
<div class="contenttool-card-info">
|
|
61
|
-
<p class="contenttool-tool-heading">{{item.name}}</p>
|
|
62
|
-
<p class="contenttool-tool-textk" id="text-black">{{item.description}}</p>
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
</a>
|
|
66
|
-
{% endfor %}
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
</div>
|
|
1
|
+
<style>
|
|
2
|
+
.appscms-contenttool-container {
|
|
3
|
+
display: grid;
|
|
4
|
+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
5
|
+
gap: 16px;
|
|
6
|
+
}
|
|
7
|
+
.appscms-contenttool-tool {
|
|
8
|
+
background-color: white;
|
|
9
|
+
padding: 21px;
|
|
10
|
+
border-radius: 13px;
|
|
11
|
+
transition: all 0.2s ease-in-out;
|
|
12
|
+
}
|
|
13
|
+
.appscms-contenttool-tool:hover {
|
|
14
|
+
transform: scale(1.03);
|
|
15
|
+
filter: saturate(1.3);
|
|
16
|
+
}
|
|
17
|
+
.contentool-tool-image-background {
|
|
18
|
+
background-color: rgba(255, 255, 255, 0.87);
|
|
19
|
+
width: 58px;
|
|
20
|
+
height: 58px;
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
border-radius: 12px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#contenttool-icon-img{
|
|
28
|
+
width: 45px;
|
|
29
|
+
}
|
|
30
|
+
.background img {
|
|
31
|
+
width: 100%;
|
|
32
|
+
height: auto;
|
|
33
|
+
border-radius: 10px;
|
|
34
|
+
}
|
|
35
|
+
.contenttool-tool-heading {
|
|
36
|
+
font-weight: 600;
|
|
37
|
+
font-size: 16px;
|
|
38
|
+
color: #0c0c0c !important;
|
|
39
|
+
margin-top: 10px;
|
|
40
|
+
}
|
|
41
|
+
.contenttool-tool-text{
|
|
42
|
+
font-weight: 500;
|
|
43
|
+
font-size: 13px;
|
|
44
|
+
color: rgb(29, 29, 29) !important;
|
|
45
|
+
margin-top: -5px;
|
|
46
|
+
}
|
|
47
|
+
#text-black{
|
|
48
|
+
color: rgb(39, 39, 39) !important;
|
|
49
|
+
font-weight: 450;
|
|
50
|
+
}
|
|
51
|
+
</style>
|
|
52
|
+
<div class="container" id="appscms-tools-section">
|
|
53
|
+
<div class="appscms-contenttool-container">
|
|
54
|
+
{% for item in pageData.features %}
|
|
55
|
+
<a href="{{item.url}}">
|
|
56
|
+
<div class="appscms-contenttool-tool" style="background: {{item.color}};">
|
|
57
|
+
<div class="contentool-tool-image-background">
|
|
58
|
+
<img id="contenttool-icon-img" crossorigin="anonymous" src="{{item.icon}}" alt="img" />
|
|
59
|
+
</div>
|
|
60
|
+
<div class="contenttool-card-info">
|
|
61
|
+
<p class="contenttool-tool-heading">{{item.name}}</p>
|
|
62
|
+
<p class="contenttool-tool-textk" id="text-black">{{item.description}}</p>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</a>
|
|
66
|
+
{% endfor %}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
71
|
|
|
@@ -1,160 +1,160 @@
|
|
|
1
|
-
<style>
|
|
2
|
-
.modal1 {
|
|
3
|
-
display: none;
|
|
4
|
-
position: fixed;
|
|
5
|
-
z-index: 1000;
|
|
6
|
-
left: 0;
|
|
7
|
-
top: 0;
|
|
8
|
-
width: 100%;
|
|
9
|
-
height: 100%;
|
|
10
|
-
overflow: auto;
|
|
11
|
-
background-color: rgba(59, 58, 58, 0.9);
|
|
12
|
-
}
|
|
13
|
-
.modal1-content1 {
|
|
14
|
-
margin: auto;
|
|
15
|
-
display: block;
|
|
16
|
-
width: 80%;
|
|
17
|
-
max-width: 800px;
|
|
18
|
-
margin-top: 20px;
|
|
19
|
-
}
|
|
20
|
-
.modal1-body img {
|
|
21
|
-
width: 100%;
|
|
22
|
-
height: auto;
|
|
23
|
-
}
|
|
24
|
-
.close1 {
|
|
25
|
-
position: absolute;
|
|
26
|
-
top: 10px;
|
|
27
|
-
right: 10px;
|
|
28
|
-
font-size: 24px;
|
|
29
|
-
color: #fff;
|
|
30
|
-
cursor: pointer;
|
|
31
|
-
}
|
|
32
|
-
.close1:hover {
|
|
33
|
-
color: #ccc;
|
|
34
|
-
}
|
|
35
|
-
</style>
|
|
36
|
-
<div class="inforgraphics_section">
|
|
37
|
-
<h3 class="text-center w-100 mb-5"><b>Other useful information</b></h3>
|
|
38
|
-
<div class="wrapper">
|
|
39
|
-
<i id="left" class="fas fa-angle-left"></i>
|
|
40
|
-
<div class="carousel">
|
|
41
|
-
<div class="carousel-inner">
|
|
42
|
-
{%- if pageData.infographics -%} {% for item in pageData.infographics %}
|
|
43
|
-
<div class="slide">
|
|
44
|
-
<img
|
|
45
|
-
loading="lazy"
|
|
46
|
-
src="{{ item.image }}"
|
|
47
|
-
alt="img"
|
|
48
|
-
draggable="false"
|
|
49
|
-
class="infographic-img"
|
|
50
|
-
onclick="openModal1('{{ item.image }}')"
|
|
51
|
-
/>
|
|
52
|
-
<p class="infographic-desc">{{ item.description | capitalize }}</p>
|
|
53
|
-
</div>
|
|
54
|
-
{% endfor %} {%- endif -%}
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
<i id="right" class="fas fa-angle-right"></i>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
<div id="imageModal1" class="modal1" onclick="closeModal1()">
|
|
61
|
-
<span class="close1" onclick="closeModal1()">×</span>
|
|
62
|
-
<div class="modal1-content1">
|
|
63
|
-
<div class="modal1-body">
|
|
64
|
-
<img id="modal1Image" src="" alt="Image" />
|
|
65
|
-
</div>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
<script>
|
|
69
|
-
function openModal1(imageSrc) {
|
|
70
|
-
var modal1 = document.getElementById("imageModal1");
|
|
71
|
-
var modal1Img = document.getElementById("modal1Image");
|
|
72
|
-
modal1.style.display = "block";
|
|
73
|
-
modal1Img.src = imageSrc;
|
|
74
|
-
}
|
|
75
|
-
function closeModal1() {
|
|
76
|
-
var modal1 = document.getElementById("imageModal1");
|
|
77
|
-
modal1.style.display = "none";
|
|
78
|
-
}
|
|
79
|
-
document.addEventListener("click", function (event) {
|
|
80
|
-
var modal1 = document.getElementById("imageModal1");
|
|
81
|
-
if (event.target === modal1) {
|
|
82
|
-
closeModal1();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
const carousel = document.querySelector(".carousel-inner"),
|
|
86
|
-
firstImg = carousel.querySelectorAll("img")[0],
|
|
87
|
-
arrowIcons = document.querySelectorAll(".wrapper i");
|
|
88
|
-
const numImages = carousel.querySelectorAll("img").length;
|
|
89
|
-
const isMobile = window.matchMedia("(max-width: 767px)").matches; // Check if screen width is less than or equal to 767px
|
|
90
|
-
if (numImages > 3) {
|
|
91
|
-
arrowIcons[1].style.display = "block";
|
|
92
|
-
} else {
|
|
93
|
-
arrowIcons[0].style.display = "none";
|
|
94
|
-
arrowIcons[1].style.display = "none";
|
|
95
|
-
}
|
|
96
|
-
let isDragStart = false,
|
|
97
|
-
isDragging = false,
|
|
98
|
-
prevPageX,
|
|
99
|
-
prevScrollLeft,
|
|
100
|
-
positionDiff;
|
|
101
|
-
const showHideIcons = () => {
|
|
102
|
-
let scrollWidth = carousel.scrollWidth - carousel.clientWidth; // getting max scrollable width
|
|
103
|
-
arrowIcons[0].style.display = carousel.scrollLeft == 0 ? "none" : "block";
|
|
104
|
-
arrowIcons[1].style.display =
|
|
105
|
-
carousel.scrollLeft == scrollWidth ? "none" : "block";
|
|
106
|
-
};
|
|
107
|
-
arrowIcons.forEach((icon) => {
|
|
108
|
-
icon.addEventListener("click", () => {
|
|
109
|
-
let firstImgWidth = firstImg.clientWidth + 40;
|
|
110
|
-
const scrollAmount = icon.id === "left" ? -firstImgWidth : firstImgWidth;
|
|
111
|
-
carousel.scrollBy({
|
|
112
|
-
left: scrollAmount,
|
|
113
|
-
behavior: "smooth",
|
|
114
|
-
});
|
|
115
|
-
setTimeout(() => showHideIcons(), 60); // calling showHideIcons after 60ms
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
// const autoSlide = () => {
|
|
119
|
-
// // if there is no image left to scroll then return from here
|
|
120
|
-
// if (carousel.scrollLeft - (carousel.scrollWidth - carousel.clientWidth) > -1 || carousel.scrollLeft <= 0) return;
|
|
121
|
-
// positionDiff = Math.abs(positionDiff); // making positionDiff value to positive
|
|
122
|
-
// let firstImgWidth = firstImg.clientWidth + 14;
|
|
123
|
-
// // getting difference value that needs to add or reduce from carousel left to take middle img center
|
|
124
|
-
// let valDifference = firstImgWidth - positionDiff;
|
|
125
|
-
// if (carousel.scrollLeft > prevScrollLeft) { // if user is scrolling to the right
|
|
126
|
-
// return carousel.scrollLeft += positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
|
|
127
|
-
// }
|
|
128
|
-
// // if user is scrolling to the left
|
|
129
|
-
// carousel.scrollLeft -= positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
|
|
130
|
-
// }
|
|
131
|
-
// const dragStart = (e) => {
|
|
132
|
-
// // updatating global variables value on mouse down event
|
|
133
|
-
// isDragStart = true;
|
|
134
|
-
// prevPageX = e.pageX || e.touches[0].pageX;
|
|
135
|
-
// prevScrollLeft = carousel.scrollLeft;
|
|
136
|
-
// }
|
|
137
|
-
// const dragging = (e) => {
|
|
138
|
-
// // scrolling images/carousel to left according to mouse pointer
|
|
139
|
-
// if (!isDragStart) return;
|
|
140
|
-
// e.preventDefault();
|
|
141
|
-
// isDragging = true;
|
|
142
|
-
// carousel.classList.add("dragging");
|
|
143
|
-
// positionDiff = (e.pageX || e.touches[0].pageX) - prevPageX;
|
|
144
|
-
// carousel.scrollLeft = prevScrollLeft - positionDiff;
|
|
145
|
-
// showHideIcons();
|
|
146
|
-
// }
|
|
147
|
-
// const dragStop = () => {
|
|
148
|
-
// isDragStart = false;
|
|
149
|
-
// carousel.classList.remove("dragging");
|
|
150
|
-
// if (!isDragging) return;
|
|
151
|
-
// isDragging = false;
|
|
152
|
-
// autoSlide();
|
|
153
|
-
// }
|
|
154
|
-
// carousel.addEventListener("mousedown", dragStart);
|
|
155
|
-
// carousel.addEventListener("touchstart", dragStart);
|
|
156
|
-
// document.addEventListener("mousemove", dragging);
|
|
157
|
-
// carousel.addEventListener("touchmove", dragging);
|
|
158
|
-
// document.addEventListener("mouseup", dragStop);
|
|
159
|
-
// carousel.addEventListener("touchend", dragStop);
|
|
160
|
-
</script>
|
|
1
|
+
<style>
|
|
2
|
+
.modal1 {
|
|
3
|
+
display: none;
|
|
4
|
+
position: fixed;
|
|
5
|
+
z-index: 1000;
|
|
6
|
+
left: 0;
|
|
7
|
+
top: 0;
|
|
8
|
+
width: 100%;
|
|
9
|
+
height: 100%;
|
|
10
|
+
overflow: auto;
|
|
11
|
+
background-color: rgba(59, 58, 58, 0.9);
|
|
12
|
+
}
|
|
13
|
+
.modal1-content1 {
|
|
14
|
+
margin: auto;
|
|
15
|
+
display: block;
|
|
16
|
+
width: 80%;
|
|
17
|
+
max-width: 800px;
|
|
18
|
+
margin-top: 20px;
|
|
19
|
+
}
|
|
20
|
+
.modal1-body img {
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: auto;
|
|
23
|
+
}
|
|
24
|
+
.close1 {
|
|
25
|
+
position: absolute;
|
|
26
|
+
top: 10px;
|
|
27
|
+
right: 10px;
|
|
28
|
+
font-size: 24px;
|
|
29
|
+
color: #fff;
|
|
30
|
+
cursor: pointer;
|
|
31
|
+
}
|
|
32
|
+
.close1:hover {
|
|
33
|
+
color: #ccc;
|
|
34
|
+
}
|
|
35
|
+
</style>
|
|
36
|
+
<div class="inforgraphics_section">
|
|
37
|
+
<h3 class="text-center w-100 mb-5"><b>Other useful information</b></h3>
|
|
38
|
+
<div class="wrapper">
|
|
39
|
+
<i id="left" class="fas fa-angle-left"></i>
|
|
40
|
+
<div class="carousel">
|
|
41
|
+
<div class="carousel-inner">
|
|
42
|
+
{%- if pageData.infographics -%} {% for item in pageData.infographics %}
|
|
43
|
+
<div class="slide">
|
|
44
|
+
<img
|
|
45
|
+
loading="lazy"
|
|
46
|
+
src="{{ item.image }}"
|
|
47
|
+
alt="img"
|
|
48
|
+
draggable="false"
|
|
49
|
+
class="infographic-img"
|
|
50
|
+
onclick="openModal1('{{ item.image }}')"
|
|
51
|
+
/>
|
|
52
|
+
<p class="infographic-desc">{{ item.description | capitalize }}</p>
|
|
53
|
+
</div>
|
|
54
|
+
{% endfor %} {%- endif -%}
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
<i id="right" class="fas fa-angle-right"></i>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<div id="imageModal1" class="modal1" onclick="closeModal1()">
|
|
61
|
+
<span class="close1" onclick="closeModal1()">×</span>
|
|
62
|
+
<div class="modal1-content1">
|
|
63
|
+
<div class="modal1-body">
|
|
64
|
+
<img id="modal1Image" src="" alt="Image" />
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
<script>
|
|
69
|
+
function openModal1(imageSrc) {
|
|
70
|
+
var modal1 = document.getElementById("imageModal1");
|
|
71
|
+
var modal1Img = document.getElementById("modal1Image");
|
|
72
|
+
modal1.style.display = "block";
|
|
73
|
+
modal1Img.src = imageSrc;
|
|
74
|
+
}
|
|
75
|
+
function closeModal1() {
|
|
76
|
+
var modal1 = document.getElementById("imageModal1");
|
|
77
|
+
modal1.style.display = "none";
|
|
78
|
+
}
|
|
79
|
+
document.addEventListener("click", function (event) {
|
|
80
|
+
var modal1 = document.getElementById("imageModal1");
|
|
81
|
+
if (event.target === modal1) {
|
|
82
|
+
closeModal1();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
const carousel = document.querySelector(".carousel-inner"),
|
|
86
|
+
firstImg = carousel.querySelectorAll("img")[0],
|
|
87
|
+
arrowIcons = document.querySelectorAll(".wrapper i");
|
|
88
|
+
const numImages = carousel.querySelectorAll("img").length;
|
|
89
|
+
const isMobile = window.matchMedia("(max-width: 767px)").matches; // Check if screen width is less than or equal to 767px
|
|
90
|
+
if (numImages > 3) {
|
|
91
|
+
arrowIcons[1].style.display = "block";
|
|
92
|
+
} else {
|
|
93
|
+
arrowIcons[0].style.display = "none";
|
|
94
|
+
arrowIcons[1].style.display = "none";
|
|
95
|
+
}
|
|
96
|
+
let isDragStart = false,
|
|
97
|
+
isDragging = false,
|
|
98
|
+
prevPageX,
|
|
99
|
+
prevScrollLeft,
|
|
100
|
+
positionDiff;
|
|
101
|
+
const showHideIcons = () => {
|
|
102
|
+
let scrollWidth = carousel.scrollWidth - carousel.clientWidth; // getting max scrollable width
|
|
103
|
+
arrowIcons[0].style.display = carousel.scrollLeft == 0 ? "none" : "block";
|
|
104
|
+
arrowIcons[1].style.display =
|
|
105
|
+
carousel.scrollLeft == scrollWidth ? "none" : "block";
|
|
106
|
+
};
|
|
107
|
+
arrowIcons.forEach((icon) => {
|
|
108
|
+
icon.addEventListener("click", () => {
|
|
109
|
+
let firstImgWidth = firstImg.clientWidth + 40;
|
|
110
|
+
const scrollAmount = icon.id === "left" ? -firstImgWidth : firstImgWidth;
|
|
111
|
+
carousel.scrollBy({
|
|
112
|
+
left: scrollAmount,
|
|
113
|
+
behavior: "smooth",
|
|
114
|
+
});
|
|
115
|
+
setTimeout(() => showHideIcons(), 60); // calling showHideIcons after 60ms
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
// const autoSlide = () => {
|
|
119
|
+
// // if there is no image left to scroll then return from here
|
|
120
|
+
// if (carousel.scrollLeft - (carousel.scrollWidth - carousel.clientWidth) > -1 || carousel.scrollLeft <= 0) return;
|
|
121
|
+
// positionDiff = Math.abs(positionDiff); // making positionDiff value to positive
|
|
122
|
+
// let firstImgWidth = firstImg.clientWidth + 14;
|
|
123
|
+
// // getting difference value that needs to add or reduce from carousel left to take middle img center
|
|
124
|
+
// let valDifference = firstImgWidth - positionDiff;
|
|
125
|
+
// if (carousel.scrollLeft > prevScrollLeft) { // if user is scrolling to the right
|
|
126
|
+
// return carousel.scrollLeft += positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
|
|
127
|
+
// }
|
|
128
|
+
// // if user is scrolling to the left
|
|
129
|
+
// carousel.scrollLeft -= positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
|
|
130
|
+
// }
|
|
131
|
+
// const dragStart = (e) => {
|
|
132
|
+
// // updatating global variables value on mouse down event
|
|
133
|
+
// isDragStart = true;
|
|
134
|
+
// prevPageX = e.pageX || e.touches[0].pageX;
|
|
135
|
+
// prevScrollLeft = carousel.scrollLeft;
|
|
136
|
+
// }
|
|
137
|
+
// const dragging = (e) => {
|
|
138
|
+
// // scrolling images/carousel to left according to mouse pointer
|
|
139
|
+
// if (!isDragStart) return;
|
|
140
|
+
// e.preventDefault();
|
|
141
|
+
// isDragging = true;
|
|
142
|
+
// carousel.classList.add("dragging");
|
|
143
|
+
// positionDiff = (e.pageX || e.touches[0].pageX) - prevPageX;
|
|
144
|
+
// carousel.scrollLeft = prevScrollLeft - positionDiff;
|
|
145
|
+
// showHideIcons();
|
|
146
|
+
// }
|
|
147
|
+
// const dragStop = () => {
|
|
148
|
+
// isDragStart = false;
|
|
149
|
+
// carousel.classList.remove("dragging");
|
|
150
|
+
// if (!isDragging) return;
|
|
151
|
+
// isDragging = false;
|
|
152
|
+
// autoSlide();
|
|
153
|
+
// }
|
|
154
|
+
// carousel.addEventListener("mousedown", dragStart);
|
|
155
|
+
// carousel.addEventListener("touchstart", dragStart);
|
|
156
|
+
// document.addEventListener("mousemove", dragging);
|
|
157
|
+
// carousel.addEventListener("touchmove", dragging);
|
|
158
|
+
// document.addEventListener("mouseup", dragStop);
|
|
159
|
+
// carousel.addEventListener("touchend", dragStop);
|
|
160
|
+
</script>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
<div class="appscms-loader">
|
|
3
|
-
<div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
|
|
4
|
-
</div>
|
|
1
|
+
|
|
2
|
+
<div class="appscms-loader">
|
|
3
|
+
<div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
|
|
4
|
+
</div>
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
<!-- nav bar code -->
|
|
2
|
-
|
|
3
|
-
{% assign lang = page.lang | default: "en" %} {% assign siteData = site.data.header[lang].data
|
|
4
|
-
%} {% assign featureData = page.fileName %} {% assign folder = page.folderName
|
|
5
|
-
%} {% assign Data= site.data[folder][lang][file] %}
|
|
6
|
-
<nav class="appscms-navbar">
|
|
7
|
-
<div class="row w-100 h-100">
|
|
8
|
-
<div class="col-11 mx-auto">
|
|
9
|
-
<div class="appscms-navbar-nav">
|
|
10
|
-
{%- if siteData.navbarBrandLogoSvg -%}
|
|
11
|
-
<a href="/"> {{siteData.navbarBrandLogoSvg}} </a>
|
|
12
|
-
{%- elsif siteData.navbarBrandText -%}
|
|
13
|
-
<span> {{siteData.navbarBrandText}}
|
|
14
|
-
{%- else -%}
|
|
15
|
-
{%- endif -%}
|
|
16
|
-
{%- if siteData.navItems -%}
|
|
17
|
-
<div class="appscms-navbar-nav-links">
|
|
18
|
-
{%- for item in siteData.navItems -%}
|
|
19
|
-
<a class="appscms-nav-link" style="color: rgb(244, 244, 244);" href="{{item.url}}">{{item.name}}</a>
|
|
20
|
-
{%- endfor -%}
|
|
21
|
-
</div>
|
|
22
|
-
{%- endif -%}
|
|
23
|
-
<div id="hamburger" data-open="false" class="hamburger">
|
|
24
|
-
<svg
|
|
25
|
-
style="font-size:25px"
|
|
26
|
-
stroke="currentColor"
|
|
27
|
-
fill="currentColor"
|
|
28
|
-
stroke-width="0"
|
|
29
|
-
viewBox="0 0 512 512"
|
|
30
|
-
aria-hidden="true"
|
|
31
|
-
focusable="false"
|
|
32
|
-
height="50px"
|
|
33
|
-
width="1em"
|
|
34
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
35
|
-
>
|
|
36
|
-
<path
|
|
37
|
-
fill="none"
|
|
38
|
-
stroke-linecap="round"
|
|
39
|
-
stroke-miterlimit="10"
|
|
40
|
-
stroke-width="48"
|
|
41
|
-
d="M88 152h336M88 256h336M88 360h336"
|
|
42
|
-
></path>
|
|
43
|
-
</svg>
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
</nav>
|
|
49
|
-
|
|
50
|
-
|
|
1
|
+
<!-- nav bar code -->
|
|
2
|
+
|
|
3
|
+
{% assign lang = page.lang | default: "en" %} {% assign siteData = site.data.header[lang].data
|
|
4
|
+
%} {% assign featureData = page.fileName %} {% assign folder = page.folderName
|
|
5
|
+
%} {% assign Data= site.data[folder][lang][file] %}
|
|
6
|
+
<nav class="appscms-navbar">
|
|
7
|
+
<div class="row w-100 h-100">
|
|
8
|
+
<div class="col-11 mx-auto">
|
|
9
|
+
<div class="appscms-navbar-nav">
|
|
10
|
+
{%- if siteData.navbarBrandLogoSvg -%}
|
|
11
|
+
<a href="/"> {{siteData.navbarBrandLogoSvg}} </a>
|
|
12
|
+
{%- elsif siteData.navbarBrandText -%}
|
|
13
|
+
<span> {{siteData.navbarBrandText}}
|
|
14
|
+
{%- else -%}
|
|
15
|
+
{%- endif -%}
|
|
16
|
+
{%- if siteData.navItems -%}
|
|
17
|
+
<div class="appscms-navbar-nav-links">
|
|
18
|
+
{%- for item in siteData.navItems -%}
|
|
19
|
+
<a class="appscms-nav-link" style="color: rgb(244, 244, 244);" href="{{item.url}}">{{item.name}}</a>
|
|
20
|
+
{%- endfor -%}
|
|
21
|
+
</div>
|
|
22
|
+
{%- endif -%}
|
|
23
|
+
<div id="hamburger" data-open="false" class="hamburger">
|
|
24
|
+
<svg
|
|
25
|
+
style="font-size:25px"
|
|
26
|
+
stroke="currentColor"
|
|
27
|
+
fill="currentColor"
|
|
28
|
+
stroke-width="0"
|
|
29
|
+
viewBox="0 0 512 512"
|
|
30
|
+
aria-hidden="true"
|
|
31
|
+
focusable="false"
|
|
32
|
+
height="50px"
|
|
33
|
+
width="1em"
|
|
34
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
35
|
+
>
|
|
36
|
+
<path
|
|
37
|
+
fill="none"
|
|
38
|
+
stroke-linecap="round"
|
|
39
|
+
stroke-miterlimit="10"
|
|
40
|
+
stroke-width="48"
|
|
41
|
+
d="M88 152h336M88 256h336M88 360h336"
|
|
42
|
+
></path>
|
|
43
|
+
</svg>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</nav>
|
|
49
|
+
|
|
50
|
+
|