my-cloud-devops-consulting 1.1.202506182354__tar.gz → 1.1.202506232354__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.202506182354/my_cloud_devops_consulting.egg-info → my-cloud-devops-consulting-1.1.202506232354}/PKG-INFO +1 -1
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354/my_cloud_devops_consulting.egg-info}/PKG-INFO +1 -1
- my-cloud-devops-consulting-1.1.202506232354/static/css/contact-form.css +174 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/css/main.css +4 -0
- my-cloud-devops-consulting-1.1.202506232354/static/css/services.css +33 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/base.html +86 -11
- my-cloud-devops-consulting-1.1.202506232354/templates/services.html +40 -0
- my-cloud-devops-consulting-1.1.202506232354/test/test.py +10 -0
- my-cloud-devops-consulting-1.1.202506182354/static/css/contact-form.css +0 -238
- my-cloud-devops-consulting-1.1.202506182354/static/css/services.css +0 -176
- my-cloud-devops-consulting-1.1.202506182354/templates/services.html +0 -39
- my-cloud-devops-consulting-1.1.202506182354/test/test.py +0 -3
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/MANIFEST.in +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/README.md +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/app.py +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/my_cloud_devops_consulting.egg-info/SOURCES.txt +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/setup.cfg +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/setup.py +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/css/about.css +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/css/assessment.css +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/css/index.css +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/css/login.css +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/css/register.css +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/images/image.jpg +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/images/whatspp.jpeg +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/js/index.js +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/js/login.js +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/js/main.js +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/js/register.js +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/static/js/services.js +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/about.html +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/assessment.html +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/contact-form.html +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/index.html +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/login.html +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/private-videos.html +0 -0
- {my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/templates/register.html +0 -0
@@ -0,0 +1,174 @@
|
|
1
|
+
/* --- CONTACT FORM: MODERN POLISH --- */
|
2
|
+
|
3
|
+
body {
|
4
|
+
background: linear-gradient(to bottom right, #f0f9ff, #e0f7fa);
|
5
|
+
font-family: "Segoe UI", Roboto, sans-serif;
|
6
|
+
color: #333;
|
7
|
+
margin: 0;
|
8
|
+
padding: 0;
|
9
|
+
line-height: 1.6;
|
10
|
+
}
|
11
|
+
|
12
|
+
/* Section Wrapper */
|
13
|
+
main {
|
14
|
+
padding: 60px 20px;
|
15
|
+
min-height: 100vh;
|
16
|
+
display: flex;
|
17
|
+
align-items: center;
|
18
|
+
justify-content: center;
|
19
|
+
}
|
20
|
+
|
21
|
+
/* Section Heading */
|
22
|
+
h2 {
|
23
|
+
text-align: center;
|
24
|
+
font-size: 2.3rem;
|
25
|
+
font-weight: 700;
|
26
|
+
color: #0077cc;
|
27
|
+
margin-bottom: 40px;
|
28
|
+
}
|
29
|
+
|
30
|
+
/* Form Container */
|
31
|
+
form {
|
32
|
+
width: 100%;
|
33
|
+
max-width: 750px;
|
34
|
+
padding: 40px 35px;
|
35
|
+
background: #ffffff;
|
36
|
+
border-radius: 20px;
|
37
|
+
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
|
38
|
+
animation: fadeInUp 0.8s ease;
|
39
|
+
}
|
40
|
+
|
41
|
+
/* Labels */
|
42
|
+
label {
|
43
|
+
font-weight: 600;
|
44
|
+
margin-bottom: 8px;
|
45
|
+
display: block;
|
46
|
+
color: #444;
|
47
|
+
font-size: 0.95rem;
|
48
|
+
}
|
49
|
+
|
50
|
+
/* Inputs and Selects */
|
51
|
+
input[type="text"],
|
52
|
+
input[type="email"],
|
53
|
+
input[type="tel"],
|
54
|
+
input[type="datetime-local"],
|
55
|
+
textarea,
|
56
|
+
select {
|
57
|
+
width: 100%;
|
58
|
+
padding: 14px 18px;
|
59
|
+
border: 1px solid #cfd8dc;
|
60
|
+
border-radius: 8px;
|
61
|
+
font-size: 1rem;
|
62
|
+
background-color: #f9fbfc;
|
63
|
+
transition: all 0.3s ease-in-out;
|
64
|
+
margin-bottom: 20px;
|
65
|
+
}
|
66
|
+
|
67
|
+
input:focus,
|
68
|
+
textarea:focus,
|
69
|
+
select:focus {
|
70
|
+
background-color: #ffffff;
|
71
|
+
border-color: #00bcd4;
|
72
|
+
box-shadow: 0 0 8px rgba(0, 188, 212, 0.25);
|
73
|
+
outline: none;
|
74
|
+
}
|
75
|
+
|
76
|
+
/* Textarea Style */
|
77
|
+
textarea {
|
78
|
+
resize: vertical;
|
79
|
+
min-height: 120px;
|
80
|
+
}
|
81
|
+
|
82
|
+
/* Submit Button */
|
83
|
+
input[type="submit"] {
|
84
|
+
background: linear-gradient(to right, #00c853, #00e676);
|
85
|
+
color: #fff;
|
86
|
+
font-size: 1.1rem;
|
87
|
+
font-weight: 600;
|
88
|
+
padding: 14px 32px;
|
89
|
+
border: none;
|
90
|
+
border-radius: 50px;
|
91
|
+
transition: all 0.3s ease;
|
92
|
+
box-shadow: 0 5px 18px rgba(0, 200, 83, 0.3);
|
93
|
+
cursor: pointer;
|
94
|
+
margin-top: 10px;
|
95
|
+
}
|
96
|
+
|
97
|
+
input[type="submit"]:hover {
|
98
|
+
background: #00b248;
|
99
|
+
transform: translateY(-2px);
|
100
|
+
}
|
101
|
+
|
102
|
+
input[type="submit"]:active {
|
103
|
+
background: #009624;
|
104
|
+
transform: scale(0.97);
|
105
|
+
}
|
106
|
+
|
107
|
+
/* File Input */
|
108
|
+
input[type="file"] {
|
109
|
+
background-color: #f4f7f9;
|
110
|
+
border: 1px dashed #b0bec5;
|
111
|
+
border-radius: 8px;
|
112
|
+
padding: 12px 14px;
|
113
|
+
font-size: 0.95rem;
|
114
|
+
cursor: pointer;
|
115
|
+
margin-bottom: 20px;
|
116
|
+
}
|
117
|
+
|
118
|
+
input[type="file"]::file-selector-button {
|
119
|
+
background: #00acc1;
|
120
|
+
color: #fff;
|
121
|
+
padding: 6px 16px;
|
122
|
+
border: none;
|
123
|
+
border-radius: 6px;
|
124
|
+
font-weight: 500;
|
125
|
+
cursor: pointer;
|
126
|
+
margin-right: 12px;
|
127
|
+
transition: background 0.3s ease;
|
128
|
+
}
|
129
|
+
|
130
|
+
input[type="file"]::file-selector-button:hover {
|
131
|
+
background: #0097a7;
|
132
|
+
}
|
133
|
+
|
134
|
+
/* Flash messages */
|
135
|
+
.alert {
|
136
|
+
font-size: 0.95rem;
|
137
|
+
padding: 14px 20px;
|
138
|
+
border-radius: 6px;
|
139
|
+
margin-bottom: 20px;
|
140
|
+
font-weight: 500;
|
141
|
+
}
|
142
|
+
|
143
|
+
.alert-success {
|
144
|
+
background-color: #e6f9ed;
|
145
|
+
color: #2e7d32;
|
146
|
+
}
|
147
|
+
|
148
|
+
.alert-error {
|
149
|
+
background-color: #fdecea;
|
150
|
+
color: #c62828;
|
151
|
+
}
|
152
|
+
|
153
|
+
/* Fade Animation */
|
154
|
+
@keyframes fadeInUp {
|
155
|
+
from {
|
156
|
+
opacity: 0;
|
157
|
+
transform: translateY(30px);
|
158
|
+
}
|
159
|
+
to {
|
160
|
+
opacity: 1;
|
161
|
+
transform: translateY(0);
|
162
|
+
}
|
163
|
+
}
|
164
|
+
|
165
|
+
/* Responsive Layout */
|
166
|
+
@media (max-width: 768px) {
|
167
|
+
form {
|
168
|
+
padding: 30px 20px;
|
169
|
+
}
|
170
|
+
|
171
|
+
input[type="submit"] {
|
172
|
+
width: 100%;
|
173
|
+
}
|
174
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
.service-card-grid {
|
2
|
+
display: grid;
|
3
|
+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
4
|
+
gap: 20px;
|
5
|
+
margin-top: 20px;
|
6
|
+
}
|
7
|
+
|
8
|
+
.service-card {
|
9
|
+
background: #ffffff;
|
10
|
+
padding: 20px;
|
11
|
+
border-radius: 12px;
|
12
|
+
border: 1px solid #dee2e6;
|
13
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06);
|
14
|
+
transition: all 0.3s ease-in-out;
|
15
|
+
font-size: 1.05rem;
|
16
|
+
display: flex;
|
17
|
+
align-items: center;
|
18
|
+
gap: 10px;
|
19
|
+
}
|
20
|
+
|
21
|
+
.service-card:hover {
|
22
|
+
transform: translateY(-5px);
|
23
|
+
background-color: #e6f7ff;
|
24
|
+
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
|
25
|
+
cursor: pointer;
|
26
|
+
}
|
27
|
+
|
28
|
+
@media (max-width: 768px) {
|
29
|
+
.service-card {
|
30
|
+
font-size: 1rem;
|
31
|
+
padding: 15px;
|
32
|
+
}
|
33
|
+
}
|
@@ -3,7 +3,18 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="UTF-8" />
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
6
|
-
<title>cloud & DevOps</title>
|
6
|
+
<title>cloud & DevOps Consulting</title>
|
7
|
+
|
8
|
+
<!-- ✅ Font Awesome -->
|
9
|
+
<link
|
10
|
+
rel="stylesheet"
|
11
|
+
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
|
12
|
+
integrity="sha512-papA0nJbcZrMeEWv3z3CTrRHRQ7Xq0Yf0n9NN07grIWq2VStfHh3ZlS0yo/EswdyRcdcf3aD/dOwDjdu1mGZDg=="
|
13
|
+
crossorigin="anonymous"
|
14
|
+
referrerpolicy="no-referrer"
|
15
|
+
/>
|
16
|
+
|
17
|
+
<!-- ✅ Core CSS -->
|
7
18
|
<link
|
8
19
|
rel="stylesheet"
|
9
20
|
href="{{ url_for('static', filename='css/main.css') }}"
|
@@ -12,6 +23,23 @@
|
|
12
23
|
rel="stylesheet"
|
13
24
|
href="{{ url_for('static', filename='css/index.css') }}"
|
14
25
|
/>
|
26
|
+
|
27
|
+
<!-- ✅ Load services.css only on /services route -->
|
28
|
+
{% if request.endpoint == 'services' %}
|
29
|
+
<link
|
30
|
+
rel="stylesheet"
|
31
|
+
href="{{ url_for('static', filename='css/services.css') }}"
|
32
|
+
/>
|
33
|
+
{% endif %}
|
34
|
+
|
35
|
+
<!-- ✅ Load contact-form.css only on /contact_form route -->
|
36
|
+
{% if request.endpoint == 'contact_form' %}
|
37
|
+
<link
|
38
|
+
rel="stylesheet"
|
39
|
+
href="{{ url_for('static', filename='css/contact-form.css') }}"
|
40
|
+
/>
|
41
|
+
{% endif %}
|
42
|
+
|
15
43
|
<style>
|
16
44
|
/* CSS for Moving Image */
|
17
45
|
.moving-image-container {
|
@@ -57,8 +85,9 @@
|
|
57
85
|
CDC Firm <small>Cloud DevOps Consulting Company llc.io </small>
|
58
86
|
</div>
|
59
87
|
</a>
|
60
|
-
|
61
|
-
|
88
|
+
|
89
|
+
<!--
|
90
|
+
<nav aria-label="Main Navigation">
|
62
91
|
<ul>
|
63
92
|
<li><a href="{{ url_for('home') }}">Home</a></li>
|
64
93
|
<li><a href="{{ url_for('about') }}">About</a></li>
|
@@ -75,16 +104,62 @@
|
|
75
104
|
<li><a href="{{ url_for('login') }}">Login</a></li>
|
76
105
|
{% endif %}
|
77
106
|
</ul>
|
107
|
+
</nav> -->
|
108
|
+
|
109
|
+
<nav aria-label="Main Navigation">
|
110
|
+
<ul>
|
111
|
+
<li>
|
112
|
+
<a href="{{ url_for('home') }}"
|
113
|
+
><i class="fas fa-home"></i> Home</a
|
114
|
+
>
|
115
|
+
</li>
|
116
|
+
<li>
|
117
|
+
<a href="{{ url_for('about') }}"
|
118
|
+
><i class="fas fa-info-circle"></i> About</a
|
119
|
+
>
|
120
|
+
</li>
|
121
|
+
<li>
|
122
|
+
<a href="{{ url_for('assessment') }}"
|
123
|
+
><i class="fas fa-tasks"></i> Assessment</a
|
124
|
+
>
|
125
|
+
</li>
|
126
|
+
<li>
|
127
|
+
<a href="{{ url_for('services') }}"
|
128
|
+
><i class="fas fa-cloud"></i> Services</a
|
129
|
+
>
|
130
|
+
</li>
|
131
|
+
<li>
|
132
|
+
<a href="{{ url_for('contact_form') }}"
|
133
|
+
><i class="fas fa-envelope"></i> Contact Form</a
|
134
|
+
>
|
135
|
+
</li>
|
136
|
+
|
137
|
+
{% if current_user.is_authenticated %}
|
138
|
+
<li>
|
139
|
+
<a href="{{ url_for('private_videos') }}"
|
140
|
+
><i class="fas fa-lock"></i> Videos</a
|
141
|
+
>
|
142
|
+
</li>
|
143
|
+
<li>
|
144
|
+
<a href="{{ url_for('logout') }}"
|
145
|
+
><i class="fas fa-sign-out-alt"></i> Logout</a
|
146
|
+
>
|
147
|
+
</li>
|
148
|
+
{% else %}
|
149
|
+
<li>
|
150
|
+
<a href="{{ url_for('register') }}"
|
151
|
+
><i class="fas fa-user-plus"></i> Register</a
|
152
|
+
>
|
153
|
+
</li>
|
154
|
+
<li>
|
155
|
+
<a href="{{ url_for('login') }}"
|
156
|
+
><i class="fas fa-sign-in-alt"></i> Login</a
|
157
|
+
>
|
158
|
+
</li>
|
159
|
+
{% endif %}
|
160
|
+
</ul>
|
78
161
|
</nav>
|
79
162
|
</div>
|
80
|
-
<div class="about-link-section">
|
81
|
-
<p>
|
82
|
-
Want to learn more about us?
|
83
|
-
<a href="https://clouddevopsconsulting.com/about" class="about-btn">
|
84
|
-
Read About CDC Firm →
|
85
|
-
</a>
|
86
|
-
</p>
|
87
|
-
</div>
|
88
163
|
</header>
|
89
164
|
|
90
165
|
{% block main %}{% endblock main %}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
{% extends "base.html" %} {% block main %}
|
2
|
+
<main class="container my-5">
|
3
|
+
<!-- Cloud Consulting Section -->
|
4
|
+
<section class="mb-5">
|
5
|
+
<h2 class="mb-3">Cloud Consulting</h2>
|
6
|
+
<p>
|
7
|
+
We offer cloud migration, strategy, and optimization tailored for your
|
8
|
+
business, enabling scalable and secure cloud solutions to drive
|
9
|
+
innovation.
|
10
|
+
</p>
|
11
|
+
|
12
|
+
<div class="service-card-grid">
|
13
|
+
<div class="service-card">🚀 Cloud Migration Planning & Execution</div>
|
14
|
+
<div class="service-card">🌐 Multi-Cloud Strategy & Architecture</div>
|
15
|
+
<div class="service-card">💰 Cost Optimization & Management</div>
|
16
|
+
<div class="service-card">🔒 Security & Compliance Audits</div>
|
17
|
+
</div>
|
18
|
+
</section>
|
19
|
+
|
20
|
+
<!-- DevOps Solutions Section -->
|
21
|
+
<section class="mb-5">
|
22
|
+
<h2 class="mb-3">DevOps Solutions</h2>
|
23
|
+
<p>
|
24
|
+
From CI/CD pipelines to automated infrastructure, our DevOps services
|
25
|
+
improve software delivery, reliability, and efficiency.
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<div class="service-card-grid">
|
29
|
+
<div class="service-card">⚙️ CI/CD Pipeline Setup & Automation</div>
|
30
|
+
<div class="service-card">
|
31
|
+
📦 Infrastructure as Code (IaC) Implementations
|
32
|
+
</div>
|
33
|
+
<div class="service-card">📊 Monitoring & Logging with Modern Tools</div>
|
34
|
+
<div class="service-card">
|
35
|
+
🛠 Configuration Management (Ansible, Chef, Puppet)
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</section>
|
39
|
+
</main>
|
40
|
+
{% endblock main %}
|
@@ -1,238 +0,0 @@
|
|
1
|
-
/* General Styling */
|
2
|
-
body {
|
3
|
-
background: linear-gradient(to right, #e3f2fd, #bbdefb);
|
4
|
-
font-family: "Roboto", Arial, sans-serif;
|
5
|
-
color: #333;
|
6
|
-
margin: 0;
|
7
|
-
padding: 0;
|
8
|
-
animation: backgroundMove 10s infinite alternate;
|
9
|
-
background-size: 200% 100%;
|
10
|
-
}
|
11
|
-
|
12
|
-
@keyframes backgroundMove {
|
13
|
-
0% {
|
14
|
-
background-position: 0% 50%;
|
15
|
-
}
|
16
|
-
100% {
|
17
|
-
background-position: 100% 50%;
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
/* Header Styling */
|
22
|
-
header {
|
23
|
-
background: #13ca4d;
|
24
|
-
color: #fff;
|
25
|
-
padding: 60px 20px;
|
26
|
-
text-align: center;
|
27
|
-
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
28
|
-
animation: fadeInDown 1.5s ease-in-out;
|
29
|
-
}
|
30
|
-
|
31
|
-
header h1 {
|
32
|
-
margin: 0;
|
33
|
-
font-size: 2.5em;
|
34
|
-
letter-spacing: 1px;
|
35
|
-
}
|
36
|
-
|
37
|
-
nav ul {
|
38
|
-
list-style: none;
|
39
|
-
padding: 0;
|
40
|
-
margin-top: 15px;
|
41
|
-
}
|
42
|
-
|
43
|
-
nav ul li {
|
44
|
-
display: inline-block;
|
45
|
-
margin: 0 12px;
|
46
|
-
}
|
47
|
-
|
48
|
-
nav ul li a {
|
49
|
-
color: #fff;
|
50
|
-
text-decoration: none;
|
51
|
-
padding: 10px 18px;
|
52
|
-
border-radius: 25px;
|
53
|
-
transition: all 0.3s ease;
|
54
|
-
background: rgba(255, 255, 255, 0.15);
|
55
|
-
}
|
56
|
-
|
57
|
-
nav ul li a:hover {
|
58
|
-
background: #fff;
|
59
|
-
color: #13ca4d;
|
60
|
-
transform: scale(1.05);
|
61
|
-
}
|
62
|
-
|
63
|
-
/* Main Form Area */
|
64
|
-
main {
|
65
|
-
padding: 40px 20px;
|
66
|
-
animation: fadeInUp 1.5s ease-in-out;
|
67
|
-
}
|
68
|
-
|
69
|
-
h2 {
|
70
|
-
text-align: center;
|
71
|
-
color: #1976d2;
|
72
|
-
margin-bottom: 30px;
|
73
|
-
font-size: 2rem;
|
74
|
-
}
|
75
|
-
|
76
|
-
form {
|
77
|
-
max-width: 700px;
|
78
|
-
margin: 0 auto;
|
79
|
-
padding: 35px;
|
80
|
-
background: #ffffffda;
|
81
|
-
border: 1px solid #e0e0e0;
|
82
|
-
border-radius: 10px;
|
83
|
-
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
|
84
|
-
animation: slideIn 1.5s ease-in-out;
|
85
|
-
}
|
86
|
-
|
87
|
-
/* Form Fields */
|
88
|
-
.form-group {
|
89
|
-
position: relative;
|
90
|
-
margin-bottom: 25px;
|
91
|
-
}
|
92
|
-
|
93
|
-
label {
|
94
|
-
display: block;
|
95
|
-
margin-bottom: 10px;
|
96
|
-
font-weight: 600;
|
97
|
-
font-size: 0.95rem;
|
98
|
-
}
|
99
|
-
|
100
|
-
input[type="text"],
|
101
|
-
input[type="email"],
|
102
|
-
input[type="tel"],
|
103
|
-
input[type="datetime-local"],
|
104
|
-
input[type="file"],
|
105
|
-
textarea,
|
106
|
-
select {
|
107
|
-
width: 100%;
|
108
|
-
padding: 14px 16px;
|
109
|
-
border: 1px solid #ccc;
|
110
|
-
border-radius: 6px;
|
111
|
-
font-size: 16px;
|
112
|
-
background-color: #fafafa;
|
113
|
-
transition: all 0.3s ease;
|
114
|
-
outline: none;
|
115
|
-
}
|
116
|
-
|
117
|
-
textarea {
|
118
|
-
resize: vertical;
|
119
|
-
min-height: 100px;
|
120
|
-
}
|
121
|
-
|
122
|
-
input:focus,
|
123
|
-
textarea:focus,
|
124
|
-
select:focus {
|
125
|
-
border-color: hsl(151, 79%, 46%);
|
126
|
-
box-shadow: 0 0 6px rgba(25, 118, 210, 0.3);
|
127
|
-
background-color: #fff;
|
128
|
-
}
|
129
|
-
|
130
|
-
/* Submit Button */
|
131
|
-
input[type="submit"] {
|
132
|
-
background: hsl(117, 79%, 46%);
|
133
|
-
color: white;
|
134
|
-
padding: 14px 24px;
|
135
|
-
border: none;
|
136
|
-
border-radius: 50px;
|
137
|
-
font-size: 17px;
|
138
|
-
font-weight: 500;
|
139
|
-
cursor: pointer;
|
140
|
-
transition: all 0.3s ease;
|
141
|
-
display: block;
|
142
|
-
margin: 0 auto;
|
143
|
-
}
|
144
|
-
|
145
|
-
input[type="submit"]:hover {
|
146
|
-
background: hsl(118, 79%, 36%);
|
147
|
-
transform: translateY(-2px) scale(1.02);
|
148
|
-
}
|
149
|
-
|
150
|
-
input[type="submit"]:active {
|
151
|
-
background: #80d27d;
|
152
|
-
transform: translateY(0);
|
153
|
-
}
|
154
|
-
|
155
|
-
/* Footer Styling */
|
156
|
-
footer {
|
157
|
-
text-align: center;
|
158
|
-
padding: 18px;
|
159
|
-
background: #18b74d;
|
160
|
-
color: #fff;
|
161
|
-
margin-top: 50px;
|
162
|
-
animation: fadeIn 2.5s ease-in-out;
|
163
|
-
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
|
164
|
-
}
|
165
|
-
|
166
|
-
footer a {
|
167
|
-
color: #ffe082;
|
168
|
-
text-decoration: none;
|
169
|
-
font-weight: 500;
|
170
|
-
}
|
171
|
-
|
172
|
-
footer a:hover {
|
173
|
-
color: #ffffff;
|
174
|
-
text-decoration: underline;
|
175
|
-
}
|
176
|
-
|
177
|
-
/* Animations */
|
178
|
-
@keyframes fadeIn {
|
179
|
-
from {
|
180
|
-
opacity: 0;
|
181
|
-
}
|
182
|
-
to {
|
183
|
-
opacity: 1;
|
184
|
-
}
|
185
|
-
}
|
186
|
-
|
187
|
-
@keyframes fadeInDown {
|
188
|
-
from {
|
189
|
-
opacity: 0;
|
190
|
-
transform: translateY(-30px);
|
191
|
-
}
|
192
|
-
to {
|
193
|
-
opacity: 1;
|
194
|
-
transform: translateY(0);
|
195
|
-
}
|
196
|
-
}
|
197
|
-
|
198
|
-
@keyframes fadeInUp {
|
199
|
-
from {
|
200
|
-
opacity: 0;
|
201
|
-
transform: translateY(30px);
|
202
|
-
}
|
203
|
-
to {
|
204
|
-
opacity: 1;
|
205
|
-
transform: translateY(0);
|
206
|
-
}
|
207
|
-
}
|
208
|
-
|
209
|
-
@keyframes slideIn {
|
210
|
-
from {
|
211
|
-
opacity: 0;
|
212
|
-
transform: translateX(-50px);
|
213
|
-
}
|
214
|
-
to {
|
215
|
-
opacity: 1;
|
216
|
-
transform: translateX(0);
|
217
|
-
}
|
218
|
-
}
|
219
|
-
|
220
|
-
/* Responsive Design */
|
221
|
-
@media (max-width: 768px) {
|
222
|
-
header h1 {
|
223
|
-
font-size: 1.8em;
|
224
|
-
}
|
225
|
-
|
226
|
-
nav ul li {
|
227
|
-
display: block;
|
228
|
-
margin: 8px 0;
|
229
|
-
}
|
230
|
-
|
231
|
-
form {
|
232
|
-
padding: 20px;
|
233
|
-
}
|
234
|
-
|
235
|
-
input[type="submit"] {
|
236
|
-
width: 100%;
|
237
|
-
}
|
238
|
-
}
|
@@ -1,176 +0,0 @@
|
|
1
|
-
General Styling for the Services Page body {
|
2
|
-
background: linear-gradient(
|
3
|
-
135deg,
|
4
|
-
#e6f7ff,
|
5
|
-
#ccf2ff
|
6
|
-
); /* Smooth gradient background */
|
7
|
-
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; /* Modern font */
|
8
|
-
color: #333;
|
9
|
-
margin: 0;
|
10
|
-
padding: 0;
|
11
|
-
animation: gradientBackground 10s infinite alternate; /* Background gradient animation */
|
12
|
-
line-height: 1.6;
|
13
|
-
}
|
14
|
-
|
15
|
-
/* Header Styling */
|
16
|
-
header {
|
17
|
-
background: #17a2b8; /* Blue-green color */
|
18
|
-
color: #fff;
|
19
|
-
padding: 20px;
|
20
|
-
text-align: center;
|
21
|
-
animation: slideInFromTop 1s ease-in-out;
|
22
|
-
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
23
|
-
}
|
24
|
-
|
25
|
-
header h1 {
|
26
|
-
margin: 0;
|
27
|
-
font-size: 2em;
|
28
|
-
}
|
29
|
-
|
30
|
-
nav ul {
|
31
|
-
list-style: none;
|
32
|
-
padding: 0;
|
33
|
-
margin: 15px 0;
|
34
|
-
text-align: center;
|
35
|
-
}
|
36
|
-
|
37
|
-
nav ul li {
|
38
|
-
display: inline-block;
|
39
|
-
margin-right: 20px;
|
40
|
-
}
|
41
|
-
|
42
|
-
nav ul li a {
|
43
|
-
color: #fff;
|
44
|
-
text-decoration: none;
|
45
|
-
padding: 8px 15px;
|
46
|
-
border-radius: 5px;
|
47
|
-
transition: background 0.3s ease, transform 0.3s ease;
|
48
|
-
}
|
49
|
-
|
50
|
-
nav ul li a:hover {
|
51
|
-
background: rgba(255, 255, 255, 0.2);
|
52
|
-
transform: scale(1.05);
|
53
|
-
}
|
54
|
-
|
55
|
-
/* Main Content Styling */
|
56
|
-
main {
|
57
|
-
padding: 20px;
|
58
|
-
max-width: 1200px;
|
59
|
-
margin: 0 auto;
|
60
|
-
animation: fadeIn 1.5s ease-in;
|
61
|
-
}
|
62
|
-
|
63
|
-
h2 {
|
64
|
-
color: #17a2b8;
|
65
|
-
margin-bottom: 10px;
|
66
|
-
font-size: 1.8em;
|
67
|
-
}
|
68
|
-
|
69
|
-
section {
|
70
|
-
margin-bottom: 30px;
|
71
|
-
padding: 20px;
|
72
|
-
background: #fff;
|
73
|
-
border: 1px solid #ddd;
|
74
|
-
border-radius: 8px;
|
75
|
-
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
|
76
|
-
animation: zoomIn 1s ease-in-out;
|
77
|
-
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
78
|
-
}
|
79
|
-
|
80
|
-
section:hover {
|
81
|
-
transform: translateY(-5px);
|
82
|
-
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
|
83
|
-
}
|
84
|
-
|
85
|
-
p {
|
86
|
-
margin: 10px 0;
|
87
|
-
}
|
88
|
-
|
89
|
-
ul {
|
90
|
-
padding-left: 20px;
|
91
|
-
}
|
92
|
-
|
93
|
-
li {
|
94
|
-
margin-bottom: 8px;
|
95
|
-
}
|
96
|
-
|
97
|
-
/* Button Styling */
|
98
|
-
button {
|
99
|
-
background: #17a2b8;
|
100
|
-
color: white;
|
101
|
-
border: none;
|
102
|
-
padding: 10px 20px;
|
103
|
-
border-radius: 5px;
|
104
|
-
cursor: pointer;
|
105
|
-
transition: background 0.3s ease, transform 0.3s ease;
|
106
|
-
margin-top: 10px;
|
107
|
-
}
|
108
|
-
|
109
|
-
button:hover {
|
110
|
-
background: #138496;
|
111
|
-
transform: translateY(-3px);
|
112
|
-
}
|
113
|
-
|
114
|
-
/* Footer Styling */
|
115
|
-
footer {
|
116
|
-
text-align: center;
|
117
|
-
padding: 20px;
|
118
|
-
background: #17a2b8;
|
119
|
-
color: #fff;
|
120
|
-
margin-top: 40px;
|
121
|
-
animation: fadeIn 2s ease-in;
|
122
|
-
box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.1);
|
123
|
-
}
|
124
|
-
|
125
|
-
/* Responsive Design */
|
126
|
-
@media (max-width: 768px) {
|
127
|
-
nav ul li {
|
128
|
-
display: block;
|
129
|
-
margin: 10px 0;
|
130
|
-
}
|
131
|
-
|
132
|
-
section {
|
133
|
-
padding: 15px;
|
134
|
-
}
|
135
|
-
}
|
136
|
-
|
137
|
-
/* Keyframe Animations */
|
138
|
-
@keyframes fadeIn {
|
139
|
-
from {
|
140
|
-
opacity: 0;
|
141
|
-
}
|
142
|
-
to {
|
143
|
-
opacity: 1;
|
144
|
-
}
|
145
|
-
}
|
146
|
-
|
147
|
-
@keyframes slideInFromTop {
|
148
|
-
from {
|
149
|
-
opacity: 0;
|
150
|
-
transform: translateY(-30px);
|
151
|
-
}
|
152
|
-
to {
|
153
|
-
opacity: 1;
|
154
|
-
transform: translateY(0);
|
155
|
-
}
|
156
|
-
}
|
157
|
-
|
158
|
-
@keyframes zoomIn {
|
159
|
-
from {
|
160
|
-
opacity: 0;
|
161
|
-
transform: scale(0.9);
|
162
|
-
}
|
163
|
-
to {
|
164
|
-
opacity: 1;
|
165
|
-
transform: scale(1);
|
166
|
-
}
|
167
|
-
}
|
168
|
-
|
169
|
-
@keyframes gradientBackground {
|
170
|
-
0% {
|
171
|
-
background: linear-gradient(135deg, #e6f7ff, #ccf2ff);
|
172
|
-
}
|
173
|
-
100% {
|
174
|
-
background: linear-gradient(135deg, #ccf2ff, #e6f7ff);
|
175
|
-
}
|
176
|
-
}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
{% extends "base.html" %}
|
2
|
-
|
3
|
-
{% block main %}
|
4
|
-
|
5
|
-
<main class="container my-5">
|
6
|
-
<!-- Services sections remain unchanged -->
|
7
|
-
<section class="mb-5">
|
8
|
-
<h2 class="mb-3">Cloud Consulting</h2>
|
9
|
-
<p>
|
10
|
-
We offer cloud migration, strategy, and optimization tailored for your
|
11
|
-
business, enabling scalable and secure cloud solutions to drive
|
12
|
-
innovation.
|
13
|
-
</p>
|
14
|
-
<ul class="list-group">
|
15
|
-
<li class="list-group-item">Cloud Migration Planning & Execution</li>
|
16
|
-
<li class="list-group-item">Multi-Cloud Strategy & Architecture</li>
|
17
|
-
<li class="list-group-item">Cost Optimization & Management</li>
|
18
|
-
<li class="list-group-item">Security & Compliance Audits</li>
|
19
|
-
</ul>
|
20
|
-
</section>
|
21
|
-
|
22
|
-
<section class="mb-5">
|
23
|
-
<h2 class="mb-3">DevOps Solutions</h2>
|
24
|
-
<p>
|
25
|
-
From CI/CD pipelines to automated infrastructure, our DevOps services
|
26
|
-
improve software delivery, reliability, and efficiency.
|
27
|
-
</p>
|
28
|
-
<ul class="list-group">
|
29
|
-
<li class="list-group-item">CI/CD Pipeline Setup & Automation</li>
|
30
|
-
<li class="list-group-item">Infrastructure as Code (IaC) Implementations</li>
|
31
|
-
<li class="list-group-item">Monitoring & Logging with Modern Tools</li>
|
32
|
-
<li class="list-group-item">Configuration Management (Ansible, Chef, Puppet)</li>
|
33
|
-
</ul>
|
34
|
-
</section>
|
35
|
-
|
36
|
-
<!-- Other sections remain unchanged -->
|
37
|
-
</main>
|
38
|
-
|
39
|
-
{% endblock main %}
|
File without changes
|
File without changes
|
{my-cloud-devops-consulting-1.1.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/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.202506182354 → my-cloud-devops-consulting-1.1.202506232354}/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
|