generated from irm1005-itec1005-fall-2023/template-assignment-04
-
Notifications
You must be signed in to change notification settings - Fork 0
/
style.css
490 lines (419 loc) · 13.8 KB
/
style.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
body {
margin: 0;
font-family: Arial, sans-serif;
background-color: white;
}
/* Style for the header to ensure full width and positioning */
header {
width: 100%;
height: 280px; /* Adjust based on your logo's height, set smaller than before if necessary */
position: relative; /* Required for absolute positioning of child elements */
background-color: #0f102c; /* Optional: background color for the header */
padding-top: 20px;
}
/* Style to position and size the logo in the top left corner */
.logo {
position: absolute; /* Absolute position within the header */
top: 0;
left: 0;
width: 230px; /* Set the width of the logo */
height: 200px; /* Set the height of the logo */
margin-top: 40px;
margin-left: 10px;
}
.logo img {
width: 100%; /* Ensures the image fills the .logo div completely */
height: auto; /* Maintains the aspect ratio of the image */
}
/* Style for the contact information bar */
.contact-info {
background-color: #404041; /* Change the color to match your design */
color: white; /* Adjust text color as needed */
text-align: right; /* Align text to the right */
padding: 5px 10px; /* Add some padding */
font-size: 1.2em; /* Smaller font size for the contact info */
margin-top: -19px;
}
/* Style for the contact information items */
.contact-info span {
margin-right: 60px; /* Adds space to the right of each span, adjust as needed */
}
/* Optional: If you want the last item not to have the extra margin, you can use :last-child selector */
.contact-info span:last-child {
margin-right: 15px; /* Removes the margin from the last span element */
}
/* Navigation Styles */
.navigation {
display: flex; /* Use flex to align items */
justify-content: center; /* Center items in the header */
align-items: center; /* Align items vertically */
margin-top: 50px; /* Adjust the margin to position the navigation */
margin-left: 250px;
}
.nav-items {
list-style-type: none;
padding: 0;
margin: 0;
display: flex; /* Use flex to keep items in a row */
flex-wrap: wrap; /* Allow wrapping for 2x2 grid */
justify-content: center; /* Center the items */
align-content: center; /* Center wrapped items vertically */
gap: 20px; /* Adjust spacing between the boxes */
}
.nav-items li {
background-color: #4faeff; /* Light grey background, change as needed */
border-radius: 5px; /* Rounded corners for boxes */
flex: 0 0 calc(50% - 10px); /* Adjust size to fit two boxes per row accounting for gap */
}
.nav-items a {
display: block; /* Make the link fill the entire list item */
padding: 16px 10px; /* Padding inside the boxes */
text-decoration: none;
color: white; /* Text color for links, change as needed */
font-weight: bold; /* Makes the text bold */
transition: background-color 0.3s; /* Smooth background color transition on hover */
justify-content: center; /* Center the items */
text-align: center;
font-size: 1.3rem;
}
.nav-items a:hover {
background-color: #4a64df; /* Color on hover, change as needed */
}
/* Specific style for the 'Get a Quote!' box */
.quote-box {
padding: 0;
margin: 5px; /* Ensure some space around the quote box */
margin-left: 0px;
margin-bottom: 100px;
}
.quote-box a {
background-color: #4faeff; /* Bright color for the quote box */
color: #fff;
padding: 16px 24px; /* Padding inside the box */
border-radius: 5px; /* Rounded corners for the box */
text-decoration: none;
font-weight: bold; /* Optional: makes the text bold */
transition: background-color 0.3s; /* Smooth background color transition on hover */
font-size: 1.3rem;
}
.quote-box a:hover {
background-color: #4a64df; /* Darker color on hover */
}
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap; /* Allows content to wrap when there's not enough space */
}
.subtitle h2 {
color: #FFFFFF;
font-size: 2rem; /* Choose an appropriate font-size */
font-weight: 400; /* Lighter font-weight can look modern and clean */
margin: 0 auto; /* Centers the subtitle */
padding: 10px; /* Provides padding around the text */
margin-left: -50px;
}
@media screen and (max-width: 768px) {
/* Overriding header, navigation, and subtitle styles for mobile devices */
header {
height: auto; /* Allows the header to expand to fit content */
padding-bottom: 20px; /* Adds some space at the bottom of the header */
}
.logo {
position: relative; /* Resets to default positioning */
width: 100%; /* Full width of the header */
height: auto; /* Maintain aspect ratio */
margin-top: 0;
margin-left: 0;
display: flex; /* Use flex to center the logo image */
justify-content: center; /* Centers the logo horizontally */
}
.logo img {
max-width: 230px; /* Limits the logo size and maintains aspect ratio */
height: auto;
}
.contact-info {
display: flex; /* Use flex layout for contact information */
justify-content: space-between; /* Distributes space evenly around items */
padding: 0 10px; /* Adds padding on the sides */
font-size: 1em; /* Adjusts font size for mobile */
margin-top: 0;
}
/* Reset navigation menu to a single row layout */
.navigation {
display: block; /* Changes flex container to block container */
text-align: center; /* Center align the navigation items */
margin-top: 20px; /* Adds some space between the logo and navigation */
margin-left: 0;
}
.nav-items {
display: inline-block; /* Aligns the navigation items in a row */
padding: 0;
margin: 0;
gap: 0;
}
.nav-items li {
display: inline-block; /* List items displayed in-line */
background-color: transparent; /* Removes background color */
}
.nav-items a {
padding: 8px 12px; /* Reduces padding for space constraints */
font-size: 1rem; /* Reduces font size to prevent wrapping */
}
/* Adjust subtitle and 'Get a Quote' box for mobile layout */
.header-right {
position: relative; /* Resets to default positioning */
flex-direction: column; /* Stack elements vertically */
justify-content: flex-start; /* Aligns content to the start */
align-items: center; /* Center items horizontally */
text-align: center; /* Center align the text */
margin: 20px 0; /* Adds margin to the top and bottom */
}
.subtitle h2 {
font-size: 1.4rem; /* Adjusts font size for mobile */
line-height: 1.2; /* Adjusts line height for better readability */
padding: 0; /* Resets padding */
margin: 0; /* Resets margin */
}
.quote-box {
width: 100%; /* Full width of the header */
margin: 10px 0; /* Adds margin above and below */
}
.quote-box a {
display: block; /* Block display to fill the width */
margin: 0 auto; /* Centers the 'Get a Quote' button */
padding: 10px 0; /* Adds padding inside the button */
}
}
.header-right {
display: flex;
align-items: center;
justify-content: flex-end; /* Align to the right */
}
.subtitle {
margin-right: 20px; /* Adjust the spacing between the subtitle and the quote box */
color: black;
font-size: 1.5rem;
font-weight: 300;
/* You may not need text-align: center; anymore, so you can remove it if you like */
max-width: 60%; /* Or adjust as needed */
margin-left: -200px;
}
.Services h2 {
text-align: center; /* Center the text */
font-size: 2.2rem; /* Adjust size as needed */
margin: 20px 0; /* Add some space above and below the header */
animation: fadeInUp 1s ease-out; /* Apply the animation */
}
@keyframes fadeInUp {
from {
transform: translateY(20px); /* Start position off-screen */
opacity: 0; /* Start fully transparent */
}
to {
transform: translateY(0); /* End at natural position */
opacity: 1; /* End fully opaque */
}
}
.service-box {
width: 300px; /* Adjust the width as needed */
margin: 20px; /* Adds some space around the box, adjust as needed */
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
background: #FFFFFF;
border-radius: 8px;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow 0.3s ease, transform 0.2s ease;
flex: 0 0 23%; /* Sets the boxes to take up 23% of the container width */
height: auto; /* Height is automatic to fit the content */
margin-left: 20px;
}
.service-image {
width: 100%; /* Image container spans the full width */
height: 50%; /* Adjust height to the desired ratio */
overflow: hidden;
}
.service-image img {
max-width: 100%; /* Ensures the image scales down if necessary */
max-height: 100%; /* Limits the height of the image */
object-fit: cover;
}
.service-content {
padding: 15px;
text-align: center;
flex-grow: 1; /* Ensures the content can grow to fill the space */
}
.service-content h3 {
font-size: 1.7rem;
margin-top: 20px;
}
.service-content p {
font-size: 1.2rem;
margin-top: 10px;
}
.services-container {
display: flex;
justify-content: center; /* Spaces out the boxes evenly */
align-items: flex-start; /* Aligns boxes to the top */
flex-wrap: nowrap; /* Prevents wrapping, forcing all boxes into one row */
max-width: 100%; /* Ensures the container spans the full width of its parent */
margin: auto;
gap: 0px; /* This is optional if you want space between the boxes */
padding: 20px 0; /* Vertical padding only */
overflow-x: auto; /* Allows horizontal scrolling if boxes overflow the screen width */
margin-left: 20px;
}
.service-box:hover {
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* A more prominent shadow on hover */
transform: scale(1.03); /* Slightly scale up the box */
background-color: #4a64df;
}
/* Responsive adjustments */
@media screen and (max-width: 768px) {
.services-container {
flex-direction: column;
padding: 10px;
}
.service-box {
flex: 0 0 90%; /* Each service box takes up 90% of the container's width */
margin: 10px auto; /* Centers the boxes in the container */
}
/* Adjust the header-right styles for mobile */
.header-right {
flex-direction: column;
align-items: center;
}
.subtitle h2 {
font-size: 1.2rem; /* Adjust font size for smaller screens */
text-align: center; /* Center-align the subtitle */
margin: 0; /* Remove any negative margins */
}
}
.service-link {
text-decoration: none; /* Removes the underline from links */
color: inherit; /* Inherits the text color from the parent */
display: block; /* Ensures the link fills the entire service box */
height: 100%;
}
.booking-box {
display: flex;
flex-direction: column;
align-items: center; /* This centers the content horizontally in a flex container */
justify-content: center; /* This centers the content vertically in a flex container */
text-align: center; /* This centers the text inside each block */
background-color: #f9f9f9;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
padding: 30px;
margin: 40px auto;
max-width: 800px;
}
.booking-box h2 {
color: #333; /* Dark color for headings */
margin-bottom: 20px; /* Space after the heading */
}
.booking-box p {
color: #666; /* Lighter color for paragraphs */
line-height: 1.6; /* Space between lines of text */
margin-bottom: 15px; /* Space after each paragraph */
}
.quote-email-box {
background-color: #0f102c; /* A white background color to distinguish this area */
padding: 20px; /* Spacing inside the nested box */
border: 1px solid #ddd; /* Border to define the nested box */
border-radius: 4px; /* Slightly rounded corners for the nested box */
margin-top: 30px; /* Space above the nested box */
color: white;
}
.quote-email-box ul {
list-style-type: none; /* Remove the default list styling */
padding: 0; /* Remove the default padding */
margin: 20px 0; /* Vertical margin for space around the list */
}
.quote-email-box ul li {
margin-bottom: 10px; /* Space between list items */
color: white;
}
.quote-email-box ul li:before {
content: "•"; /* Custom bullet point */
color: #333; /* Color of the bullet point */
font-weight: bold; /* Make the bullet point bold */
display: inline-block; /* Needed for custom bullet points */
width: 1em; /* Space before the bullet point */
margin-left: 0px; /* Adjust horizontal position of the bullet point */
}
.quote-email-box p:last-of-type {
margin-top: 30px; /* Space before the final paragraph */
}
.booking-box p, .h2p, .quote-email-box p{
/* Applying text centering to all text within the booking box */
text-align: center;
}
/* Additional styles for responsive behavior */
@media (max-width: 768px) {
.booking-box {
margin: 20px; /* Smaller margin on smaller screens */
padding: 20px; /* Smaller padding on smaller screens */
}
}
.about {
background-color: white; /* A white background color to distinguish this area */
padding: 20px; /* Spacing inside the nested box */
border: 1px solid #ddd; /* Border to define the nested box */
border-radius: 4px; /* Slightly rounded corners for the nested box */
margin-top: 30px; /* Space above the nested box */
color: black;
}
.about, .h2p {
/* Applying text centering to all text within the booking box */
text-align: center;
}
footer {
width: 100%;
background-color: #0f102c;
color: white;
padding: 20px 0;
font-size: 0.9em;
text-align: center;
}
.footer-content {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 50px;
}
.footer-logo img {
width: 100px; /* Adjust the size of the logo as per your requirement */
}
.footer-nav ul {
list-style: none;
padding: 0;
display: flex;
gap: 15px;
}
.footer-nav a {
color: white;
text-decoration: none;
transition: color 0.3s;
}
.footer-nav a:hover {
color: #4a64df;
}
.footer-contact span {
display: block; /* Stacks the contact info vertically */
margin: 5px 0;
}
@media (max-width: 768px) {
.footer-content {
flex-direction: column;
text-align: center;
}
.footer-nav ul {
flex-direction: column;
gap: 5px;
}
.footer-contact {
margin-top: 10px;
}
}