Welcome to mirror list, hosted at ThFree Co, Russian Federation.

index.html « 11 « page - github.com/twbs/blog.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9382c9343e3eb9d4e4b11c6da8e47b9e5431a364 (plain)
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
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
<!doctype html>
<html lang="en" class="no-js">
  <head>
    <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://gmpg.org/xfn/11" rel="profile">
<link rel="canonical" href="https://blog.getbootstrap.com/">

<meta name="description" content="Official blog for the Bootstrap framework.">
<meta name="generator" content="Hugo 0.105.0">



<title>Bootstrap Blog · Official blog for the Bootstrap framework.</title>



<link href="/assets/css/style.css" rel="stylesheet">


<link rel="alternate" type="application/rss+xml" href="https://blog.getbootstrap.com/feed.xml" title="Bootstrap Blog">

<!-- Favicons -->
<link rel="apple-touch-icon" href="/assets/img/favicons/apple-touch-icon.png" sizes="180x180">
<link rel="icon" href="/assets/img/favicons/favicon-32x32.png" sizes="32x32" type="image/png">
<link rel="icon" href="/assets/img/favicons/favicon-16x16.png" sizes="16x16" type="image/png">
<link rel="manifest" href="/assets/img/favicons/manifest.json">
<link rel="mask-icon" href="/assets/img/favicons/safari-pinned-tab.svg" color="#712cf9">
<link rel="icon" href="/assets/img/favicons/favicon.ico">
<meta name="theme-color" content="#712cf9">

<meta name="author" content="Mark Otto">

<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="https://blog.getbootstrap.com/assets/img/bootstrap-social.png"/>

<meta name="twitter:title" content="Bootstrap Blog"/>
<meta name="twitter:description" content="Official blog for the Bootstrap framework."/>
<meta name="twitter:creator" content="@">

<!-- Facebook -->
<meta property="og:title" content="Bootstrap Blog" />
<meta property="og:description" content="Official blog for the Bootstrap framework." />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://blog.getbootstrap.com/" /><meta property="og:image" content="https://blog.getbootstrap.com/assets/img/bootstrap-social.png"/>

<meta property="og:image:width" content="2000">
<meta property="og:image:height" content="1000">

<script defer src="https://cdn.usefathom.com/script.js" data-site="ITUSEYJG"></script>
<script>
  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
  ga('create', 'UA-146052-12', 'getbootstrap.com');
  ga('set', 'anonymizeIp', true);
  ga('send', 'pageview');
</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>

<script>
  (function(html) {
    html.className = html.className.replace(/\bno-js\b/, '');
  })(document.documentElement);
</script>


  </head>
  <body>
    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  <symbol id="archive" viewBox="0 0 16 16">
    <path d="M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5V5a1 1 0 0 1-1-1V2zm2 3v7.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V5H2zm13-3H1v2h14V2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z"/>
  </symbol>
  <symbol id="file-earmark-richtext" viewBox="0 0 16 16">
    <path d="M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z"/>
    <path d="M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm1.639-3.708 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V8.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8s1.54-1.274 1.639-1.208zM6.25 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"/>
  </symbol>
  <symbol id="film" viewBox="0 0 16 16">
    <path d="M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0v6h8V1H4zm8 8H4v6h8V9zM1 1v2h2V1H1zm2 3H1v2h2V4zM1 7v2h2V7H1zm2 3H1v2h2v-2zm-2 3v2h2v-2H1zM15 1h-2v2h2V1zm-2 3v2h2V4h-2zm2 3h-2v2h2V7zm-2 3v2h2v-2h-2zm2 3h-2v2h2v-2z"/>
  </symbol>
  <symbol id="rss" viewBox="0 0 16 16">
    <path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/>
    <path d="M5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-3-8.5a1 1 0 0 1 1-1c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1-1-1zm0 4a1 1 0 0 1 1-1 6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1-1-1z"/>
  </symbol>
  <symbol id="three-dots" viewBox="0 0 16 16">
    <path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"/>
  </symbol>
</svg>

    <header class="navbar navbar-expand-lg navbar-dark bd-navbar sticky-top">
  <nav class="container-xxl bd-gutter flex-wrap flex-lg-nowrap" aria-label="Main navigation">
    <div class="d-lg-none" style="width: 2.25rem;"></div>

    <a class="navbar-brand p-0 me-0 me-lg-2" href="/" aria-label="Bootstrap">
      <svg xmlns="http://www.w3.org/2000/svg" width="40" height="32" class="d-block my-1" viewBox="0 0 118 94" role="img"><path fill-rule="evenodd" clip-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z" fill="currentColor"/></svg>
    </a>

    <button class="navbar-toggler d-flex d-lg-none order-3 p-2" type="button" data-bs-toggle="offcanvas" data-bs-target="#bdNavbar" aria-controls="bdNavbar" aria-expanded="false" aria-label="Toggle navigation">
      <svg class="bi" width="24" height="24" aria-hidden="true"><use xlink:href="#three-dots"></use></svg>
    </button>

    <div class="offcanvas-lg offcanvas-end flex-grow-1" id="bdNavbar" aria-labelledby="bdNavbarOffcanvasLabel">
      <div class="offcanvas-header px-4 pb-0">
        <h5 class="offcanvas-title text-white" id="bdNavbarOffcanvasLabel">Bootstrap</h5>
        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas" aria-label="Close" data-bs-target="#bdNavbar"></button>
      </div>

      <div class="offcanvas-body p-4 pt-0 p-lg-0">
        <hr class="d-lg-none text-white-50">
        <ul class="navbar-nav flex-row flex-wrap bd-navbar-nav">
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2" href="https://getbootstrap.com/docs/5.2/getting-started/introduction/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Docs');">Docs</a>
          </li>
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2" href="https://getbootstrap.com/docs/5.2/examples/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Examples');">Examples</a>
          </li>
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2" href="https://icons.getbootstrap.com/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Icons');" target="_blank" rel="noopener">Icons</a>
          </li>
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2" href="https://themes.getbootstrap.com/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target="_blank" rel="noopener">Themes</a>
          </li>
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2 active" href="https://blog.getbootstrap.com/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Blog');" rel="noopener">Blog</a>
          </li>
        </ul>

        <hr class="d-lg-none text-white-50">

        <ul class="navbar-nav flex-row flex-wrap ms-md-auto">
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2" href="https://github.com/twbs" target="_blank" rel="noopener">
              <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="navbar-nav-svg" viewBox="0 0 512 499.36" role="img"><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg>

              <small class="d-lg-none ms-2">GitHub</small>
            </a>
          </li>
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2" href="https://twitter.com/getbootstrap" target="_blank" rel="noopener">
              <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="navbar-nav-svg" viewBox="0 0 512 416.32" role="img"><path fill="currentColor" d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92"/></svg>

              <small class="d-lg-none ms-2">Twitter</small>
            </a>
          </li>
          <li class="nav-item col-6 col-lg-auto">
            <a class="nav-link py-2 px-0 px-lg-2" href="https://opencollective.com/bootstrap" target="_blank" rel="noopener">
              <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="navbar-nav-svg" fill="currentColor" fill-rule="evenodd" viewBox="0 0 40 41" role="img"><title>Open Collective</title><path fill-opacity=".4" d="M32.8 21c0 2.4-.8 4.9-2 6.9l5.1 5.1c2.5-3.4 4.1-7.6 4.1-12 0-4.6-1.6-8.8-4-12.2L30.7 14c1.2 2 2 4.3 2 7z"/><path d="M20 33.7a12.8 12.8 0 0 1 0-25.6c2.6 0 5 .7 7 2.1L32 5a20 20 0 1 0 .1 31.9l-5-5.2a13 13 0 0 1-7 2z"/></svg>

              <small class="d-lg-none ms-2">Open Collective</small>
            </a>
          </li>
        </ul>
      </div>
    </div>
  </nav>
</header>


    <div class="container-xxl px-4 px-xxl-2">
      <div class="d-lg-grid" id="content">
        <div class="sidebar">
          <div class="masthead py-5">
  <div class="mb-4 text-center text-lg-start">
    <a class="flex-shrink-0 mb-lg-3 link-dark text-decoration-none" href="/" aria-label="Bootstrap">
      <img src="/assets/brand/bootstrap-logo-shadow.png" width="200" height="165" alt="Bootstrap" class="bd-booticon d-block mx-auto mb-3 mx-lg-0">
    </a>
    <div class="ms-3 ms-lg-0">
      <h1 class="mb-1 mb-lg-2 f1 fw-600">The Bootstrap Blog</h1>
      <p class="col-sm-8 col-lg-12 mx-auto mb-0 mb-lg-4">
        News and announcements for all things <a href="https://getbootstrap.com/" title="Visit the Bootstrap docs">Bootstrap</a>,
        including new releases, <a href="https://themes.getbootstrap.com/" title="Browse the official Bootstrap themes">Bootstrap Themes</a>,
        and <a href="https://icons.getbootstrap.com/" title="Official open source Bootstrap Icons">Bootstrap Icons</a>.
      </p>
    </div>
  </div>

  <nav class="nav nav-pills justify-content-center flex-lg-column justify-content-lg-start gap-1 sidebar-nav">
    <a class="nav-link d-flex align-items-center active fw-600" href="/">
      <svg class="bi me-2 f5 bd-text-purple"><use xlink:href="#file-earmark-richtext"></use></svg>
      All posts
    </a>
    <a class="nav-link d-flex align-items-center text-dark" href="/archive/">
      <svg class="bi me-2 f5 text-primary"><use xlink:href="#archive"></use></svg>
      Archive
    </a>
    <a class="nav-link d-flex align-items-center text-dark" href="/videos/">
      <svg class="bi me-2 f5 text-info"><use xlink:href="#film"></use></svg>
      Videos
    </a>
    <a class="nav-link d-flex align-items-center text-dark" href="https://blog.getbootstrap.com/feed.xml">
      <svg class="bi me-2 f5 text-warning"><use xlink:href="#rss"></use></svg>
      Subscribe
    </a>
  </nav>

  <script async src="https://cdn.carbonads.com/carbon.js?serve=CKYIKKJJ&placement=bloggetbootstrapcom" id="_carbonads_js"></script>

</div>

        </div>
        <div class="main">
          
<div class="posts-container mx-auto my-5">
  <div class="posts">
    <div class="post">
        <h1 class="post-title fw-600">
          <a href="/2018/12/21/bootstrap-4-2-1/" class="text-decoration-none">
            Bootstrap 4.2.1
          </a>
        </h1>

        <div class="d-flex align-items-center mb-4 text-muted author-info">
  <a class="d-flex align-items-center text-muted text-decoration-none" href="https://github.com/mdo" target="_blank" rel="noopener">
    <img class="mb-0 me-2 rounded-2" srcset="https://github.com/mdo.png?size=32, https://github.com/mdo.png?size=64 2x"
                           src="https://github.com/mdo.png?size=32"
                           alt="" width="32" height="32">
    <span>@mdo</span>
  </a>
  <span class="d-flex align-items-center ms-3" title="21 Dec 18 00:00 UTC">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="me-2" viewBox="0 0 16 16" role="img" fill="currentColor">
  <path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"/>
  <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/>
</svg>

    December 21, 2018
  </span>
</div>
<div class="ratio ratio-16x9">
  <iframe src="https://www.youtube-nocookie.com/embed/4N1iwQxiHrs?rel=0" title="YouTube Video" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" width="760" height="570" allowfullscreen></iframe>
</div>


        

        <p>Look out world, we&rsquo;re shipping Bootstrap v4.2.1 with a slew of new features, bug fixes, and docs updates. On the new features side, we have spinners, toasts, switches, and (finally!) touch support in the carousel. That&rsquo;s just the tip of the iceberg though.</p>
<p><strong>Heads up!</strong> v4.2.0 was incorrectly published to npm, so we&rsquo;ve had to immediately turnaround a v4.2.1 release. <code>npm i bootstrap@latest</code> should now return <code>4.2.1</code>. Apologies for the inconvenience!</p>
<p>We&rsquo;ve crammed months of work into v4.2.1 with over 400 commits since our last v4.1.3 release. As mentioned in our v3.4.0 release last week, we&rsquo;re working to decouple our releases from my direct involvement to improve the shipping cadence. Expect more improvements there in 2019.</p>
<p>Keep reading for highlights and some insight into how we&rsquo;re getting to v4.3 quickly, and then into v5 (woo!).</p>
<h2 id="whats-new">What&rsquo;s new</h2>
<p>Here are the highlights of what&rsquo;s new and updated in v4.2.1.</p>
<p><img src="/assets/img/2018/12/toasts.png" class="d-block img-fluid mb-2 rounded border" alt="Bootstrap toasts" loading="lazy" width="1564" height="520">
</p>
<ul>
<li><strong>New:</strong> Added a new <a href="https://getbootstrap.com/docs/4.2/components/spinners/">spinner loading component</a>.</li>
<li><strong>New:</strong> Added new <a href="https://getbootstrap.com/docs/4.2/components/toasts/">toast component</a> for displaying notifications.</li>
<li><strong>New:</strong> Added a new <a href="https://getbootstrap.com/docs/4.2/components/forms/#switches">iOS style switch</a> (a modifier class to our custom checkboxes).</li>
<li><strong>New:</strong> Added touch support in our carousel component.</li>
<li><strong>New:</strong> Added <code>.font-weight-lighter</code> and <code>.font-weight-bolder</code> utilities.</li>
<li><strong>New:</strong> Added <code>.text-decoration-none</code> utility class.</li>
<li><strong>New:</strong> Added <code>.modal-xl</code> modifier class for our modals.</li>
<li><strong>New:</strong> Added new negative margin utility classes (e.g., <code>.mb-n3</code>). These rad new classes not only allow you more control over your general spacing needs, but also allow you to create responsive grid gutters at each breakpoint.</li>
<li><strong>New:</strong> Validated form fields now have feedback icons on <code>:invalid</code> and <code>:valid</code> fields. Disable them with the <code>$enable-validation-icons</code> boolean Sass variable (defaults to <code>true</code>).</li>
<li><strong>New:</strong> Added a new <a href="https://getbootstrap.com/docs/versions/">versions page</a> to our docs.</li>
<li><strong>New:</strong> Tooltips/Popovers work with Shadow DOM.</li>
<li><strong>Updated:</strong> Redesigned the custom checkboxes and radios for more obvious states.</li>
<li><strong>Updated:</strong> <code>bootstrap-grid.css</code> now includes our <code>margin</code> and <code>padding</code> utilities for full control of our grid system.</li>
<li><strong>Updated:</strong> Changed auto columns (e.g., <code>.col-auto</code>) from <code>max-width: none</code> to <code>max-width: 100%</code> to prevent content from causing a column to overflow the parent.</li>
<li><strong>Updated:</strong> Improved rendering of custom selects, ranges, file input, and more.</li>
</ul>
<p>Checkout the full <a href="https://github.com/twbs/bootstrap/issues/26952">v4.2.0 ship list</a> and <a href="https://github.com/twbs/bootstrap/projects/6">GitHub project</a> for the full details. Up next is <a href="https://github.com/twbs/bootstrap/projects/16">v4.3</a> with some bugfixes, a few new modifier classes and variables, and some new utilities.</p>
<p><a href="https://getbootstrap.com/docs/4.2/">Head to the v4.2 docs</a> to see the latest in action. The full release has been published to npm and will soon appear on the Bootstrap CDN and Rubygems.</p>
<h2 id="whats-next">What&rsquo;s next</h2>
<p>We have <a href="https://github.com/twbs/bootstrap/projects/16">v4.3</a> already planned, so that&rsquo;s our immediate focus. However, while we&rsquo;re developing that in the <code>v4-dev</code> branch, we&rsquo;ll be getting our plans in order for a v5 release.</p>
<p>Bootstrap 5 will not feature drastic changes to the codebase. While I tweeted about the earnestness to move to PostCSS years ago, we&rsquo;ll still be on Sass for v5. Instead, we&rsquo;ll focus our efforts on removing cruft, improving existing components, and dropping old browsers and our jQuery dependency. There are also some updates to our v4.x components we cannot make without causing breaking changes, so v5 feels like it&rsquo;s coming at the right time for us.</p>
<p>Stay tuned for a preview of the plans for v5 in the new year. We&rsquo;ll share via an issue, ask for feedback, and then settle in to development mode.</p>
<p>Happy holidays, and happy new year to everyone! Thanks for continuing to make Bootstrap an amazing project and community.</p>

      </div><div class="post">
        <h1 class="post-title fw-600">
          <a href="/2018/12/13/bootstrap-3-4-0/" class="text-decoration-none">
            Bootstrap 3.4.0
          </a>
        </h1>

        <div class="d-flex align-items-center mb-4 text-muted author-info">
  <a class="d-flex align-items-center text-muted text-decoration-none" href="https://github.com/mdo" target="_blank" rel="noopener">
    <img class="mb-0 me-2 rounded-2" srcset="https://github.com/mdo.png?size=32, https://github.com/mdo.png?size=64 2x"
                           src="https://github.com/mdo.png?size=32"
                           alt="" width="32" height="32" loading="lazy">
    <span>@mdo</span>
  </a>
  <span class="d-flex align-items-center ms-3" title="13 Dec 18 00:00 UTC">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="me-2" viewBox="0 0 16 16" role="img" fill="currentColor">
  <path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"/>
  <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/>
</svg>

    December 13, 2018
  </span>
</div>
<div class="ratio ratio-16x9">
  <iframe class="lazy" data-src="https://www.youtube-nocookie.com/embed/8WEtxJ4-sh4?rel=0" title="YouTube Video" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" width="760" height="570" allowfullscreen></iframe>
</div>


        

        <p>That&rsquo;s not a typo—today we&rsquo;re shipping Bootstrap 3.4.0, a long overdue update to address some quality of life issues, XSS fixes, and build tooling updates to make it easier for us, and you, to develop.</p>
<p>While we&rsquo;d planned for ages to do a fresh v3.x update, we lost steam as energy was focused on all the work in v4. Early this year, <a href="https://github.com/twbs/bootstrap/issues/25679">one issue in particular</a> gained a ton of momentum from the community and the core team decided to do a huge push to pull together a solid release. I regret the time it took to pull this release together, especially given the security fixes, but with the improvements under the hood, v3 has never been easier to develop and maintain. Thanks for your continued support along the way!</p>
<p>Keep reading for what&rsquo;s changed and a look ahead at what&rsquo;s coming in v4.2.0.</p>
<h2 id="whats-new">What&rsquo;s new</h2>
<p>While we haven&rsquo;t publicly worked on v3.x in years, we&rsquo;ve heard from all of you during that time that we needed to do a new release to address</p>
<ul>
<li><strong>New:</strong> Added a <code>.row-no-gutters</code> class.</li>
<li><strong>New:</strong> Added docs searching via Algolia.</li>
<li><strong>Fixed:</strong> Resolved an XSS issue in Alert, Carousel, Collapse, Dropdown, Modal, and Tab components. See <a href="https://snyk.io/vuln/npm:bootstrap:20160627">https://snyk.io/vuln/npm:bootstrap:20160627</a> for details.</li>
<li><strong>Fixed:</strong> Added padding to <code>.navbar-fixed-*</code> on modal open</li>
<li><strong>Fixed:</strong> Removed the double border on <code>&lt;abbr&gt;</code> elements.</li>
<li>Removed Gist creation in web-based Customizer since anonymous gists were disabled long ago by GitHub.</li>
<li>Removed drag and drop support from Customizer since it didn&rsquo;t work anymore.</li>
</ul>
<p>Our documentation and tooling saw massive updates as well to make it easier to work on v3.x, for ourselves and for you.</p>
<ul>
<li>Added a dropdown to the docs nav for newer and previous versions.</li>
<li>Update the docs to use a new <code>baseurl</code>, <code>/docs/3.4/</code>, to version the v3.x documentation like we do with v4.</li>
<li>Reorganized the v3 docs CSS to use Less.</li>
<li>Switched to BrowserStack for tests.</li>
<li>Updated links to always use https and fix broken URLs.</li>
<li>Replaced ZeroClipboard with clipboard.js</li>
</ul>
<p><a href="https://getbootstrap.com/docs/3.4/">Head to the Bootstrap 3.4 docs</a> to see the latest in action. <a href="https://github.com/twbs/bootstrap/pull/27288">Check out the v3.4.0 pull request</a> for even more context on what&rsquo;s changed.</p>
<h2 id="upgrading">Upgrading</h2>
<p>Upgrade your Bootstrap 3 projects to v3.4.0 with <code>npm i bootstrap@previous</code> or <code>npm i bootstrap@3.4.0</code>. This release won&rsquo;t be available via Bower to start given the package manager was deprecated and has largely been unused by us in v4 for well over a year. Stay tuned for CDN and Rubygem updates.</p>
<h2 id="open-collective">Open Collective</h2>
<p>Also new with our v3.4 is the creation of an <a href="https://opencollective.com/bootstrap">Open Collective page</a> to help support the maintainers contributing to Bootstrap. The team has been very excited about this as a way to be transparent about maintainer costs (both time and money), as well as recognition of efforts.</p>
<h2 id="v42-and-beyond">v4.2 and beyond</h2>
<p>We&rsquo;ve been working on a <a href="https://github.com/twbs/bootstrap/projects/6?fullscreen=true">huge v4.2 update</a> for several months now. Our attention has largely been on advancing the project and simplifying it&rsquo;s dependencies, namely by removing our jQuery dependency. That work has sparked a keen interest in a moderately scoped v5 release, so we&rsquo;ve been taking our sweet time with v4.2 to sneak in as many new features as we can.</p>
<p>After we ship v4.2, we&rsquo;ll plan for point releases to address any bugs and improvements as y&rsquo;all start to use the new version. From there, we&rsquo;ll start to share more plans on v5 to remove jQuery, drop support for older browsers, and clear up some cruft. This won&rsquo;t be a sweeping rewrite, but rather an iterative improvement on v4. Stay tuned!</p>

      </div><div class="post">
        <h1 class="post-title fw-600">
          <a href="/2018/07/24/bootstrap-4-1-3/" class="text-decoration-none">
            Bootstrap 4.1.3
          </a>
        </h1>

        <div class="d-flex align-items-center mb-4 text-muted author-info">
  <a class="d-flex align-items-center text-muted text-decoration-none" href="https://github.com/mdo" target="_blank" rel="noopener">
    <img class="mb-0 me-2 rounded-2" srcset="https://github.com/mdo.png?size=32, https://github.com/mdo.png?size=64 2x"
                           src="https://github.com/mdo.png?size=32"
                           alt="" width="32" height="32" loading="lazy">
    <span>@mdo</span>
  </a>
  <span class="d-flex align-items-center ms-3" title="24 Jul 18 00:00 UTC">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="me-2" viewBox="0 0 16 16" role="img" fill="currentColor">
  <path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"/>
  <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/>
</svg>

    July 24, 2018
  </span>
</div>
<div class="ratio ratio-16x9">
  <iframe class="lazy" data-src="https://www.youtube-nocookie.com/embed/LqB9lhHqmsE?rel=0" title="YouTube Video" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" width="760" height="570" allowfullscreen></iframe>
</div>


        

        <p>Hot on the heels of v4.1.2, we&rsquo;re shipping another patch release to address an issue with our browserslist config, fix some CSS bugs, make JavaScript plugins UMD ready, and improve form control rendering. Up next will be v4.2, our second minor release where we add some new features.</p>
<p>But first, here are the highlights for v4.1.3. Pay attention to the change to <code>.form-control</code>s which adds a new fixed <code>height</code>.</p>
<ul>
<li><strong>Fixed:</strong> Moved the browserslist config from our <code>package.json</code> to a separate file to avoid unintended inherited browser settings across npm projects.</li>
<li><strong>Fixed:</strong> Removed the <code>:not(:root)</code> selector from our <code>svg</code> Reboot styles, resolving an issue that caused all inline SVGs ignore <code>vertical-align</code> styles via single class due to higher specificity.</li>
<li><strong>Fixed:</strong> Buttons in custom file inputs are once again clickable when focused.</li>
<li><strong>Improved:</strong> Bootstrap&rsquo;s plugins can now be imported separately in any contexts because they are now UMD ready.</li>
<li><strong>Improved:</strong> <code>.form-control</code>s now have a fixed <code>height</code> to compensate for differences in computed height across different <code>type</code>s. This also fixes some IE alignment issues.</li>
<li><strong>Improved:</strong> Added <code>Noto Color Emoji</code> to our system font stack for better rendering in Linux OSes.</li>
</ul>
<p>Checkout the full <a href="https://github.com/twbs/bootstrap/issues/26867">v4.1.3 ship list</a> and <a href="https://github.com/twbs/bootstrap/projects/15">GitHub project</a> for the full details. Up next is <a href="https://github.com/twbs/bootstrap/projects/6">v4.2</a>, so stay tuned for some awesome new features like toasts, dismissible badges, negative margins (responsive grid gutters!), spinners, and more!</p>
<p><a href="https://getbootstrap.com/docs/4.1/">Head to the v4.1.x docs</a> to see the latest in action. The full release has been published to npm and will soon appear on the Bootstrap CDN and Rubygems.</p>

      </div><div class="post">
        <h1 class="post-title fw-600">
          <a href="/2018/07/12/bootstrap-4-1-2/" class="text-decoration-none">
            Bootstrap 4.1.2
          </a>
        </h1>

        <div class="d-flex align-items-center mb-4 text-muted author-info">
  <a class="d-flex align-items-center text-muted text-decoration-none" href="https://github.com/mdo" target="_blank" rel="noopener">
    <img class="mb-0 me-2 rounded-2" srcset="https://github.com/mdo.png?size=32, https://github.com/mdo.png?size=64 2x"
                           src="https://github.com/mdo.png?size=32"
                           alt="" width="32" height="32" loading="lazy">
    <span>@mdo</span>
  </a>
  <span class="d-flex align-items-center ms-3" title="12 Jul 18 00:00 UTC">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="me-2" viewBox="0 0 16 16" role="img" fill="currentColor">
  <path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"/>
  <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/>
</svg>

    July 12, 2018
  </span>
</div>
<div class="ratio ratio-16x9">
  <iframe class="lazy" data-src="https://www.youtube-nocookie.com/embed/CK6jKL2qWxo?rel=0" title="YouTube Video" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" width="760" height="570" allowfullscreen></iframe>
</div>


        

        <p>We&rsquo;ve been busy these last couple months since launching v4.1.1, but we&rsquo;re back with another bug fix and some sweeping changes to how we build and publish our docs after the issues stemming from our v4.1.x launches.</p>
<p>When we launched v4.1, we ran into unexpected issues with having to rearrange asset paths after deploying, resulting in broken image URLs, a busted service worker, and more. Since then, we&rsquo;re ironed out most of the kinks and introduced a new docs directory structure inside the repo. Nothing should change for anyone using our docs, but those contributing to the project and developing locally may need to rebase their changes or update their branches accordingly.</p>
<p>Beyond the file structure changes, here are the highlights for v4.1.2:</p>
<ul>
<li>Fixed an XSS vulnerability in tooltip, collapse, and scrollspy plugins</li>
<li>Improved how we query elements in our JavaScript plugins</li>
<li>Inline SVGs now have the same vertical alignment as images</li>
<li>Fixed issues with double transitions on carousels</li>
<li>Added Edge and IE10-11 fallbacks to our floating labels example</li>
<li>Various improvements to form controls, including disabled states on file inputs and unified focus styles for selects</li>
<li>Miscellaneous build tool improvements and documentation fixes</li>
</ul>
<p>Checkout the full <a href="https://github.com/twbs/bootstrap/issues/26423">v4.1.2 ship list</a> and <a href="https://github.com/twbs/bootstrap/projects/14">GitHub project</a> for the full details. Up next will either be <a href="https://github.com/twbs/bootstrap/projects/15">v4.1.3</a> or <a href="https://github.com/twbs/bootstrap/projects/6">v4.2</a> depending on how smoothly this release goes and how well we can keep up with reviewing and merging pull requests.</p>
<p>Head to the v4.1.x docs to see the latest in action. The full release has been published to npm and will soon appear on the Bootstrap CDN and Rubygems.</p>

      </div><div class="post">
        <h1 class="post-title fw-600">
          <a href="/2018/04/30/bootstrap-4-1-1/" class="text-decoration-none">
            Bootstrap 4.1.1
          </a>
        </h1>

        <div class="d-flex align-items-center mb-4 text-muted author-info">
  <a class="d-flex align-items-center text-muted text-decoration-none" href="https://github.com/mdo" target="_blank" rel="noopener">
    <img class="mb-0 me-2 rounded-2" srcset="https://github.com/mdo.png?size=32, https://github.com/mdo.png?size=64 2x"
                           src="https://github.com/mdo.png?size=32"
                           alt="" width="32" height="32" loading="lazy">
    <span>@mdo</span>
  </a>
  <span class="d-flex align-items-center ms-3" title="30 Apr 18 00:00 UTC">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="me-2" viewBox="0 0 16 16" role="img" fill="currentColor">
  <path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"/>
  <path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/>
</svg>

    April 30, 2018
  </span>
</div>
<div class="ratio ratio-16x9">
  <iframe class="lazy" data-src="https://www.youtube-nocookie.com/embed/9jNt7ZGCW-o?rel=0" title="YouTube Video" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" width="760" height="570" allowfullscreen></iframe>
</div>


        

        <p>We&rsquo;re a few weeks out from v4.1 and we have our first patch release of Bootstrap 4! It&rsquo;s a straightforward set of bug fixes and build tool quality of life updates.</p>
<p>Here&rsquo;s a quick rundown of some of the changes:</p>
<ul>
<li>Added validation styles for file inputs</li>
<li>Improved printing of dark tables</li>
<li>Suppressed that <code>text-hide</code> deprecation notice by default</li>
<li>Fixed an issue where Collapse wasn&rsquo;t working in Internet Explorer</li>
<li>Cleaned up some JS globals and improve coverage</li>
<li>Bumped dependencies, namely Jekyll</li>
<li>Fixed docs issue with incorrect name for our monospace font utility</li>
</ul>
<p>Checkout the full <a href="https://github.com/twbs/bootstrap/issues/25971">v4.1.1 ship list</a> and <a href="https://github.com/twbs/bootstrap/projects/13">GitHub project</a> for the full details. Up next will be <a href="https://github.com/twbs/bootstrap/projects/14">v4.1.2</a>, another patch release to address the next set of CSS and JS bugs you&rsquo;ve help share with us since v4 launched.</p>

      </div>
  </div>

  <div class="pagination"><a class="pagination-item older" href="/page/12/">Older</a>
    <a class="pagination-item newer" href="/page/10/">Newer</a>
  </div>
</div>
        </div>
      </div>
    </div>

    <footer class="bd-footer py-4 py-md-5 mt-5 bg-light">
  <div class="container py-4 py-md-5 px-4 px-md-3">
    <div class="row">
      <div class="col-lg-3 mb-3">
        <a class="d-inline-flex align-items-center mb-2 link-dark text-decoration-none" href="/" aria-label="Bootstrap">
          <svg xmlns="http://www.w3.org/2000/svg" width="40" height="32" class="d-block me-2" viewBox="0 0 118 94" role="img"><path fill-rule="evenodd" clip-rule="evenodd" d="M24.509 0c-6.733 0-11.715 5.893-11.492 12.284.214 6.14-.064 14.092-2.066 20.577C8.943 39.365 5.547 43.485 0 44.014v5.972c5.547.529 8.943 4.649 10.951 11.153 2.002 6.485 2.28 14.437 2.066 20.577C12.794 88.106 17.776 94 24.51 94H93.5c6.733 0 11.714-5.893 11.491-12.284-.214-6.14.064-14.092 2.066-20.577 2.009-6.504 5.396-10.624 10.943-11.153v-5.972c-5.547-.529-8.934-4.649-10.943-11.153-2.002-6.484-2.28-14.437-2.066-20.577C105.214 5.894 100.233 0 93.5 0H24.508zM80 57.863C80 66.663 73.436 72 62.543 72H44a2 2 0 01-2-2V24a2 2 0 012-2h18.437c9.083 0 15.044 4.92 15.044 12.474 0 5.302-4.01 10.049-9.119 10.88v.277C75.317 46.394 80 51.21 80 57.863zM60.521 28.34H49.948v14.934h8.905c6.884 0 10.68-2.772 10.68-7.727 0-4.643-3.264-7.207-9.012-7.207zM49.948 49.2v16.458H60.91c7.167 0 10.964-2.876 10.964-8.281 0-5.406-3.903-8.178-11.425-8.178H49.948z" fill="currentColor"/></svg>
          <span class="fs-5">Bootstrap</span>
        </a>
        <ul class="list-unstyled small text-muted">
          <li class="mb-2">Designed and built with all the love in the world by the <a href="https://getbootstrap.com/docs/5.2/about/team/">Bootstrap team</a> with the help of <a href="https://github.com/twbs/blog/graphs/contributors">our contributors</a>.</li>
        </ul>
      </div>
      <div class="col-6 col-lg-2 offset-lg-1 mb-3">
        <h5>Links</h5>
        <ul class="list-unstyled">
          <li class="mb-2"><a href="https://getbootstrap.com/">Home</a></li>
          <li class="mb-2"><a href="https://getbootstrap.com/docs/5.2/">Docs</a></li>
          <li class="mb-2"><a href="https://getbootstrap.com/docs/5.2/examples/">Examples</a></li>
          <li class="mb-2"><a href="https://icons.getbootstrap.com/">Icons</a></li>
          <li class="mb-2"><a href="https://themes.getbootstrap.com/">Themes</a></li>
          <li class="mb-2"><a href="https://blog.getbootstrap.com/">Blog</a></li>
          <li class="mb-2"><a href="">Swag Store</a></li>
        </ul>
      </div>
      <div class="col-6 col-lg-2 mb-3">
        <h5>Guides</h5>
        <ul class="list-unstyled">
          <li class="mb-2"><a href="https://getbootstrap.com/docs/5.2/getting-started/">Getting started</a></li>
          <li class="mb-2"><a href="https://getbootstrap.com/docs/5.2/examples/starter-template/">Starter template</a></li>
          <li class="mb-2"><a href="https://getbootstrap.com/docs/5.2/getting-started/webpack/">Webpack</a></li>
          <li class="mb-2"><a href="https://getbootstrap.com/docs/5.2/getting-started/parcel/">Parcel</a></li>
          <li class="mb-2"><a href="https://getbootstrap.com/docs/5.2/getting-started/vite/">Vite</a></li>
        </ul>
      </div>
      <div class="col-6 col-lg-2 mb-3">
        <h5>Projects</h5>
        <ul class="list-unstyled">
          <li class="mb-2"><a href="https://github.com/twbs/bootstrap">Bootstrap 5</a></li>
          <li class="mb-2"><a href="https://github.com/twbs/bootstrap/tree/v4-dev">Bootstrap 4</a></li>
          <li class="mb-2"><a href="https://github.com/twbs/icons">Icons</a></li>
          <li class="mb-2"><a href="https://github.com/twbs/rfs">RFS</a></li>
          <li class="mb-2"><a href="https://github.com/twbs/bootstrap-npm-starter">npm starter</a></li>
        </ul>
      </div>
      <div class="col-6 col-lg-2 mb-3">
        <h5>Community</h5>
        <ul class="list-unstyled">
          <li class="mb-2"><a href="https://github.com/twbs/bootstrap/issues">Issues</a></li>
          <li class="mb-2"><a href="https://github.com/twbs/bootstrap/discussions">Discussions</a></li>
          <li class="mb-2"><a href="https://github.com/sponsors/twbs">Corporate sponsors</a></li>
          <li class="mb-2"><a href="https://opencollective.com/bootstrap">Open Collective</a></li>
          <li class="mb-2"><a href="https://stackoverflow.com/questions/tagged/bootstrap-5">Stack Overflow</a></li>
        </ul>
      </div>
    </div>
  </div>
</footer>


    <script async src="/js/bootstrap.min.js"></script>

<script>
  (function(w, d) {
    var b = d.getElementsByTagName('body')[0];
    var s = d.createElement('script');
    var io = 'IntersectionObserver' in w && 'IntersectionObserverEntry' in w &&
               'intersectionRatio' in w.IntersectionObserverEntry.prototype &&
               'isIntersecting' in w.IntersectionObserverEntry.prototype;
    var v = io ? '17.x' : '8.x';
    s.async = true;
    s.src = '/assets/js/vendor/lazyload.' + v + '.iife.min.js';
    w.lazyLoadOptions = {
      elements_selector: '.lazy',
      threshold: 150
    };
    b.appendChild(s);
  }(window, document));
</script>

  </body>
</html>