my-cloud-devops-consulting 1.1.202507040120__tar.gz → 1.1.202507061218__tar.gz
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.
- {my-cloud-devops-consulting-1.1.202507040120/my_cloud_devops_consulting.egg-info → my-cloud-devops-consulting-1.1.202507061218}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218/my_cloud_devops_consulting.egg-info}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/index.css +18 -5
- my-cloud-devops-consulting-1.1.202507061218/static/js/main.js +179 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/js/typing.js +3 -3
- my-cloud-devops-consulting-1.1.202507040120/static/js/main.js +0 -91
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/MANIFEST.in +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/README.md +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/app.py +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/my_cloud_devops_consulting.egg-info/SOURCES.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/setup.cfg +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/setup.py +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/about.css +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/assessment.css +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/contact-form.css +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/login.css +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/main.css +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/register.css +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/css/services.css +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/images/image.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/images/whatspp.jpeg +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/js/counter.js +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/js/index.js +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/js/login.js +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/js/register.js +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/static/js/services.js +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/about.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/assessment.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/base.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/contact-form.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/index.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/login.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/private-videos.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/register.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/templates/services.html +0 -0
- {my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/test/test.py +0 -0
@@ -177,10 +177,15 @@ footer {
|
|
177
177
|
box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.1);
|
178
178
|
}
|
179
179
|
|
180
|
-
|
180
|
+
|
181
181
|
@media (max-width: 768px) {
|
182
|
-
|
182
|
+
/* 🔧 Fix navigation links hidden on mobile */
|
183
|
+
nav ul {
|
184
|
+
display: flex !important; /* ✅ Force nav to show */
|
183
185
|
flex-direction: column;
|
186
|
+
align-items: center;
|
187
|
+
gap: 10px;
|
188
|
+
margin-top: 10px;
|
184
189
|
}
|
185
190
|
|
186
191
|
.header-container {
|
@@ -188,12 +193,20 @@ footer {
|
|
188
193
|
align-items: center;
|
189
194
|
}
|
190
195
|
|
191
|
-
|
196
|
+
.logo {
|
197
|
+
margin-bottom: 15px;
|
198
|
+
}
|
199
|
+
|
200
|
+
/* ✅ Make service cards responsive */
|
201
|
+
.services-highlight .service-cards {
|
192
202
|
flex-direction: column;
|
203
|
+
align-items: center;
|
193
204
|
}
|
194
205
|
|
195
|
-
.
|
196
|
-
|
206
|
+
.services-highlight .card {
|
207
|
+
max-width: 90%;
|
208
|
+
width: 100%;
|
209
|
+
margin: 10px 0;
|
197
210
|
}
|
198
211
|
}
|
199
212
|
|
@@ -0,0 +1,179 @@
|
|
1
|
+
// document.addEventListener("DOMContentLoaded", () => {
|
2
|
+
// // Smooth scrolling for all internal links
|
3
|
+
// const smoothScrollLinks = document.querySelectorAll("a[href^='#']");
|
4
|
+
// smoothScrollLinks.forEach(link => {
|
5
|
+
// link.addEventListener("click", (event) => {
|
6
|
+
// event.preventDefault();
|
7
|
+
// const targetId = link.getAttribute("href").substring(1);
|
8
|
+
// const targetElement = document.getElementById(targetId);
|
9
|
+
// if (targetElement) {
|
10
|
+
// targetElement.scrollIntoView({ behavior: "smooth" });
|
11
|
+
// }
|
12
|
+
// });
|
13
|
+
// });
|
14
|
+
|
15
|
+
// // Back to top button functionality
|
16
|
+
// const backToTopButton = document.createElement("button");
|
17
|
+
// backToTopButton.innerText = "↑ Top";
|
18
|
+
// backToTopButton.className = "scroll-to-top";
|
19
|
+
// document.body.appendChild(backToTopButton);
|
20
|
+
|
21
|
+
// backToTopButton.style.display = "none";
|
22
|
+
// backToTopButton.addEventListener("click", () => {
|
23
|
+
// window.scrollTo({ top: 0, behavior: "smooth" });
|
24
|
+
// });
|
25
|
+
|
26
|
+
// window.addEventListener("scroll", () => {
|
27
|
+
// backToTopButton.style.display = window.pageYOffset > 300 ? "block" : "none";
|
28
|
+
// });
|
29
|
+
|
30
|
+
// // Modular function to reveal elements on scroll
|
31
|
+
// const revealOnScroll = () => {
|
32
|
+
// const sections = document.querySelectorAll("section");
|
33
|
+
// const viewportHeight = window.innerHeight;
|
34
|
+
// sections.forEach(section => {
|
35
|
+
// const sectionTop = section.getBoundingClientRect().top;
|
36
|
+
// if (sectionTop < viewportHeight - 100) {
|
37
|
+
// section.classList.add("visible");
|
38
|
+
// }
|
39
|
+
// });
|
40
|
+
// };
|
41
|
+
// window.addEventListener("scroll", revealOnScroll);
|
42
|
+
// revealOnScroll(); // ✅ <-- this line fixes the issue
|
43
|
+
|
44
|
+
// // Inject dynamic styles for section reveal effect
|
45
|
+
// const styleSheet = document.createElement("style");
|
46
|
+
// // styleSheet.type = "text/css"; // Deprecated, no longer needed
|
47
|
+
// styleSheet.innerText = `
|
48
|
+
// section {
|
49
|
+
// opacity: 0;
|
50
|
+
// transform: translateY(20px);
|
51
|
+
// transition: opacity 0.5s ease, transform 0.5s ease;
|
52
|
+
// }
|
53
|
+
// section.visible {
|
54
|
+
// opacity: 1;
|
55
|
+
// transform: translateY(0);
|
56
|
+
// }
|
57
|
+
// .scroll-to-top {
|
58
|
+
// position: fixed;
|
59
|
+
// bottom: 20px;
|
60
|
+
// right: 20px;
|
61
|
+
// padding: 10px 15px;
|
62
|
+
// background: #007bff;
|
63
|
+
// color: white;
|
64
|
+
// border: none;
|
65
|
+
// border-radius: 5px;
|
66
|
+
// display: none;
|
67
|
+
// cursor: pointer;
|
68
|
+
// }
|
69
|
+
// .scroll-to-top:hover {
|
70
|
+
// background: #0056b3;
|
71
|
+
// }
|
72
|
+
// `;
|
73
|
+
// document.head.appendChild(styleSheet);
|
74
|
+
// });
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
// document.addEventListener("DOMContentLoaded", () => {
|
79
|
+
// const testimonials = document.querySelectorAll(".testimonial");
|
80
|
+
// let index = 0;
|
81
|
+
|
82
|
+
// function rotateTestimonials() {
|
83
|
+
// testimonials[index].classList.remove("active");
|
84
|
+
// index = (index + 1) % testimonials.length;
|
85
|
+
// testimonials[index].classList.add("active");
|
86
|
+
// }
|
87
|
+
|
88
|
+
// if (testimonials.length > 1) {
|
89
|
+
// setInterval(rotateTestimonials, 2000);
|
90
|
+
// }
|
91
|
+
// });
|
92
|
+
|
93
|
+
document.addEventListener("DOMContentLoaded", () => {
|
94
|
+
// Smooth scrolling for all internal links
|
95
|
+
const smoothScrollLinks = document.querySelectorAll("a[href^='#']");
|
96
|
+
smoothScrollLinks.forEach(link => {
|
97
|
+
link.addEventListener("click", (event) => {
|
98
|
+
event.preventDefault();
|
99
|
+
const targetId = link.getAttribute("href").substring(1);
|
100
|
+
const targetElement = document.getElementById(targetId);
|
101
|
+
if (targetElement) {
|
102
|
+
targetElement.scrollIntoView({ behavior: "smooth" });
|
103
|
+
}
|
104
|
+
});
|
105
|
+
});
|
106
|
+
|
107
|
+
// Back to top button functionality
|
108
|
+
const backToTopButton = document.createElement("button");
|
109
|
+
backToTopButton.innerText = "↑ Top";
|
110
|
+
backToTopButton.className = "scroll-to-top";
|
111
|
+
document.body.appendChild(backToTopButton);
|
112
|
+
|
113
|
+
backToTopButton.style.display = "none";
|
114
|
+
backToTopButton.addEventListener("click", () => {
|
115
|
+
window.scrollTo({ top: 0, behavior: "smooth" });
|
116
|
+
});
|
117
|
+
|
118
|
+
window.addEventListener("scroll", () => {
|
119
|
+
backToTopButton.style.display = window.pageYOffset > 300 ? "block" : "none";
|
120
|
+
});
|
121
|
+
|
122
|
+
// Modular function to reveal elements on scroll
|
123
|
+
const revealOnScroll = () => {
|
124
|
+
const sections = document.querySelectorAll("section");
|
125
|
+
const viewportHeight = window.innerHeight;
|
126
|
+
sections.forEach(section => {
|
127
|
+
const sectionTop = section.getBoundingClientRect().top;
|
128
|
+
if (sectionTop < viewportHeight - 100) {
|
129
|
+
section.classList.add("visible");
|
130
|
+
}
|
131
|
+
});
|
132
|
+
};
|
133
|
+
window.addEventListener("scroll", revealOnScroll);
|
134
|
+
revealOnScroll(); // ✅ Reveal sections immediately on page load
|
135
|
+
|
136
|
+
// Inject dynamic styles for section reveal effect
|
137
|
+
const styleSheet = document.createElement("style");
|
138
|
+
styleSheet.innerText = `
|
139
|
+
section {
|
140
|
+
opacity: 0;
|
141
|
+
transform: translateY(20px);
|
142
|
+
transition: opacity 0.5s ease, transform 0.5s ease;
|
143
|
+
}
|
144
|
+
section.visible {
|
145
|
+
opacity: 1;
|
146
|
+
transform: translateY(0);
|
147
|
+
}
|
148
|
+
.scroll-to-top {
|
149
|
+
position: fixed;
|
150
|
+
bottom: 20px;
|
151
|
+
right: 20px;
|
152
|
+
padding: 10px 15px;
|
153
|
+
background: #007bff;
|
154
|
+
color: white;
|
155
|
+
border: none;
|
156
|
+
border-radius: 5px;
|
157
|
+
display: none;
|
158
|
+
cursor: pointer;
|
159
|
+
}
|
160
|
+
.scroll-to-top:hover {
|
161
|
+
background: #0056b3;
|
162
|
+
}
|
163
|
+
`;
|
164
|
+
document.head.appendChild(styleSheet);
|
165
|
+
|
166
|
+
// Testimonials auto-rotation
|
167
|
+
const testimonials = document.querySelectorAll(".testimonial");
|
168
|
+
let index = 0;
|
169
|
+
|
170
|
+
function rotateTestimonials() {
|
171
|
+
testimonials[index].classList.remove("active");
|
172
|
+
index = (index + 1) % testimonials.length;
|
173
|
+
testimonials[index].classList.add("active");
|
174
|
+
}
|
175
|
+
|
176
|
+
if (testimonials.length > 1) {
|
177
|
+
setInterval(rotateTestimonials, 2000);
|
178
|
+
}
|
179
|
+
});
|
@@ -1,8 +1,8 @@
|
|
1
1
|
document.addEventListener("DOMContentLoaded", () => {
|
2
2
|
const text = [
|
3
|
-
"Empowering Your Cloud Journey
|
4
|
-
"Automate. Scale. Secure.
|
5
|
-
"From Dev to Ops — Faster
|
3
|
+
"Empowering Your Cloud Journey ",
|
4
|
+
"Automate. Scale. Secure. ",
|
5
|
+
"From Dev to Ops — Faster ",
|
6
6
|
];
|
7
7
|
let i = 0;
|
8
8
|
let j = 0;
|
@@ -1,91 +0,0 @@
|
|
1
|
-
document.addEventListener("DOMContentLoaded", () => {
|
2
|
-
// Smooth scrolling for all internal links
|
3
|
-
const smoothScrollLinks = document.querySelectorAll("a[href^='#']");
|
4
|
-
smoothScrollLinks.forEach(link => {
|
5
|
-
link.addEventListener("click", (event) => {
|
6
|
-
event.preventDefault();
|
7
|
-
const targetId = link.getAttribute("href").substring(1);
|
8
|
-
const targetElement = document.getElementById(targetId);
|
9
|
-
if (targetElement) {
|
10
|
-
targetElement.scrollIntoView({ behavior: "smooth" });
|
11
|
-
}
|
12
|
-
});
|
13
|
-
});
|
14
|
-
|
15
|
-
// Back to top button functionality
|
16
|
-
const backToTopButton = document.createElement("button");
|
17
|
-
backToTopButton.innerText = "↑ Top";
|
18
|
-
backToTopButton.className = "scroll-to-top";
|
19
|
-
document.body.appendChild(backToTopButton);
|
20
|
-
|
21
|
-
backToTopButton.style.display = "none";
|
22
|
-
backToTopButton.addEventListener("click", () => {
|
23
|
-
window.scrollTo({ top: 0, behavior: "smooth" });
|
24
|
-
});
|
25
|
-
|
26
|
-
window.addEventListener("scroll", () => {
|
27
|
-
backToTopButton.style.display = window.pageYOffset > 300 ? "block" : "none";
|
28
|
-
});
|
29
|
-
|
30
|
-
// Modular function to reveal elements on scroll
|
31
|
-
const revealOnScroll = () => {
|
32
|
-
const sections = document.querySelectorAll("section");
|
33
|
-
const viewportHeight = window.innerHeight;
|
34
|
-
sections.forEach(section => {
|
35
|
-
const sectionTop = section.getBoundingClientRect().top;
|
36
|
-
if (sectionTop < viewportHeight - 100) {
|
37
|
-
section.classList.add("visible");
|
38
|
-
}
|
39
|
-
});
|
40
|
-
};
|
41
|
-
window.addEventListener("scroll", revealOnScroll);
|
42
|
-
|
43
|
-
// Inject dynamic styles for section reveal effect
|
44
|
-
const styleSheet = document.createElement("style");
|
45
|
-
// styleSheet.type = "text/css"; // Deprecated, no longer needed
|
46
|
-
styleSheet.innerText = `
|
47
|
-
section {
|
48
|
-
opacity: 0;
|
49
|
-
transform: translateY(20px);
|
50
|
-
transition: opacity 0.5s ease, transform 0.5s ease;
|
51
|
-
}
|
52
|
-
section.visible {
|
53
|
-
opacity: 1;
|
54
|
-
transform: translateY(0);
|
55
|
-
}
|
56
|
-
.scroll-to-top {
|
57
|
-
position: fixed;
|
58
|
-
bottom: 20px;
|
59
|
-
right: 20px;
|
60
|
-
padding: 10px 15px;
|
61
|
-
background: #007bff;
|
62
|
-
color: white;
|
63
|
-
border: none;
|
64
|
-
border-radius: 5px;
|
65
|
-
display: none;
|
66
|
-
cursor: pointer;
|
67
|
-
}
|
68
|
-
.scroll-to-top:hover {
|
69
|
-
background: #0056b3;
|
70
|
-
}
|
71
|
-
`;
|
72
|
-
document.head.appendChild(styleSheet);
|
73
|
-
});
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
document.addEventListener("DOMContentLoaded", () => {
|
78
|
-
const testimonials = document.querySelectorAll(".testimonial");
|
79
|
-
let index = 0;
|
80
|
-
|
81
|
-
function rotateTestimonials() {
|
82
|
-
testimonials[index].classList.remove("active");
|
83
|
-
index = (index + 1) % testimonials.length;
|
84
|
-
testimonials[index].classList.add("active");
|
85
|
-
}
|
86
|
-
|
87
|
-
if (testimonials.length > 1) {
|
88
|
-
setInterval(rotateTestimonials, 2000);
|
89
|
-
}
|
90
|
-
});
|
91
|
-
|
File without changes
|
File without changes
|
{my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/app.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{my-cloud-devops-consulting-1.1.202507040120 → my-cloud-devops-consulting-1.1.202507061218}/setup.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|