fronty-gem 0.1.0

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.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +39 -0
  6. data/Rakefile +2 -0
  7. data/app/controllers/concerns/dynamic_content.rb +160 -0
  8. data/app/controllers/designers_controller.rb +257 -0
  9. data/app/controllers/pages_controller.rb +23 -0
  10. data/app/views/designers/editor.html.erb +245 -0
  11. data/app/views/pages/404.html.erb +2 -0
  12. data/app/views/pages/welcome.html.erb +2 -0
  13. data/bin/console +14 -0
  14. data/bin/setup +8 -0
  15. data/config/initializers/assets.rb +2 -0
  16. data/config/routes.rb +20 -0
  17. data/fronty-gem.gemspec +37 -0
  18. data/lib/config/routes.rb +3 -0
  19. data/lib/fronty-gem.rb +5 -0
  20. data/lib/fronty-gem/version.rb +3 -0
  21. data/lib/tasks/fronty.rake +14 -0
  22. data/vendor/assets/demo/album/album.css +39 -0
  23. data/vendor/assets/demo/album/index.html +231 -0
  24. data/vendor/assets/demo/blog/blog.css +130 -0
  25. data/vendor/assets/demo/blog/index.html +230 -0
  26. data/vendor/assets/demo/carousel/carousel.css +91 -0
  27. data/vendor/assets/demo/carousel/index.html +186 -0
  28. data/vendor/assets/demo/narrow-jumbotron/index.html +82 -0
  29. data/vendor/assets/demo/narrow-jumbotron/narrow-jumbotron.css +80 -0
  30. data/vendor/assets/demo/offcanvas/index.html +158 -0
  31. data/vendor/assets/demo/offcanvas/offcanvas.css +79 -0
  32. data/vendor/assets/demo/offcanvas/offcanvas.js +7 -0
  33. data/vendor/assets/demo/pricing/index.html +141 -0
  34. data/vendor/assets/demo/pricing/pricing.css +25 -0
  35. data/vendor/assets/demo/product/index.html +177 -0
  36. data/vendor/assets/demo/product/product.css +79 -0
  37. data/vendor/assets/fonts/line-awesome.eot +0 -0
  38. data/vendor/assets/fonts/line-awesome.svg +2628 -0
  39. data/vendor/assets/fonts/line-awesome.ttf +0 -0
  40. data/vendor/assets/fonts/line-awesome.woff +0 -0
  41. data/vendor/assets/fonts/line-awesome.woff2 +0 -0
  42. data/vendor/assets/images/icons/alert.svg +66 -0
  43. data/vendor/assets/images/icons/arrow-down.svg +60 -0
  44. data/vendor/assets/images/icons/arrow-right.svg +60 -0
  45. data/vendor/assets/images/icons/badge.svg +81 -0
  46. data/vendor/assets/images/icons/breadcrumbs.svg +77 -0
  47. data/vendor/assets/images/icons/button.svg +78 -0
  48. data/vendor/assets/images/icons/button_group.svg +81 -0
  49. data/vendor/assets/images/icons/button_toolbar.svg +87 -0
  50. data/vendor/assets/images/icons/cart.svg +62 -0
  51. data/vendor/assets/images/icons/categories.svg +62 -0
  52. data/vendor/assets/images/icons/chart.svg +1 -0
  53. data/vendor/assets/images/icons/checkbox.svg +66 -0
  54. data/vendor/assets/images/icons/checkout.svg +62 -0
  55. data/vendor/assets/images/icons/chevron-down.svg +67 -0
  56. data/vendor/assets/images/icons/chevron-right.svg +67 -0
  57. data/vendor/assets/images/icons/components/cart.svg +16 -0
  58. data/vendor/assets/images/icons/components/checkbox.svg +1 -0
  59. data/vendor/assets/images/icons/components/contact-form.svg +13 -0
  60. data/vendor/assets/images/icons/components/map.svg +12 -0
  61. data/vendor/assets/images/icons/container.svg +66 -0
  62. data/vendor/assets/images/icons/facebook.svg +1 -0
  63. data/vendor/assets/images/icons/file.svg +1 -0
  64. data/vendor/assets/images/icons/filters.svg +62 -0
  65. data/vendor/assets/images/icons/folder.svg +1 -0
  66. data/vendor/assets/images/icons/form.svg +66 -0
  67. data/vendor/assets/images/icons/grid_row.svg +66 -0
  68. data/vendor/assets/images/icons/heading.svg +66 -0
  69. data/vendor/assets/images/icons/hr.svg +66 -0
  70. data/vendor/assets/images/icons/image.svg +62 -0
  71. data/vendor/assets/images/icons/instagram.svg +62 -0
  72. data/vendor/assets/images/icons/jumbotron.svg +66 -0
  73. data/vendor/assets/images/icons/label.svg +73 -0
  74. data/vendor/assets/images/icons/link.svg +1 -0
  75. data/vendor/assets/images/icons/list_group.svg +66 -0
  76. data/vendor/assets/images/icons/map.svg +62 -0
  77. data/vendor/assets/images/icons/maps.png +0 -0
  78. data/vendor/assets/images/icons/minus_round.svg +1 -0
  79. data/vendor/assets/images/icons/navbar.svg +66 -0
  80. data/vendor/assets/images/icons/pagination.svg +68 -0
  81. data/vendor/assets/images/icons/panel.svg +66 -0
  82. data/vendor/assets/images/icons/paragraph.svg +66 -0
  83. data/vendor/assets/images/icons/paypal.svg +1 -0
  84. data/vendor/assets/images/icons/play-button.svg +42 -0
  85. data/vendor/assets/images/icons/plus_round.svg +1 -0
  86. data/vendor/assets/images/icons/product.png +0 -0
  87. data/vendor/assets/images/icons/product.svg +62 -0
  88. data/vendor/assets/images/icons/product_gallery.svg +68 -0
  89. data/vendor/assets/images/icons/products.svg +62 -0
  90. data/vendor/assets/images/icons/progressbar.svg +67 -0
  91. data/vendor/assets/images/icons/radio.svg +66 -0
  92. data/vendor/assets/images/icons/search.svg +69 -0
  93. data/vendor/assets/images/icons/select_input.svg +67 -0
  94. data/vendor/assets/images/icons/slider.svg +62 -0
  95. data/vendor/assets/images/icons/table.svg +66 -0
  96. data/vendor/assets/images/icons/text_area.svg +66 -0
  97. data/vendor/assets/images/icons/text_input.svg +66 -0
  98. data/vendor/assets/images/icons/twitter.svg +55 -0
  99. data/vendor/assets/images/icons/user.svg +62 -0
  100. data/vendor/assets/images/icons/video.svg +45 -0
  101. data/vendor/assets/images/icons/well.svg +82 -0
  102. data/vendor/assets/images/svg/icon-a.svg +235 -0
  103. data/vendor/assets/images/svg/icon-b.svg +224 -0
  104. data/vendor/assets/images/svg/icon-c.svg +224 -0
  105. data/vendor/assets/images/svg/icon-d.svg +224 -0
  106. data/vendor/assets/images/svg/logo.svg +41 -0
  107. data/vendor/assets/images/thumbnails/XX__.png +0 -0
  108. data/vendor/assets/images/thumbnails/comparison.png +0 -0
  109. data/vendor/assets/images/thumbnails/details-with-title-complate.png +0 -0
  110. data/vendor/assets/images/thumbnails/details.png +0 -0
  111. data/vendor/assets/images/thumbnails/footer-with-links.png +0 -0
  112. data/vendor/assets/images/thumbnails/footer.png +0 -0
  113. data/vendor/assets/images/thumbnails/header.png +0 -0
  114. data/vendor/assets/images/thumbnails/jumbotron-with-title.png +0 -0
  115. data/vendor/assets/images/thumbnails/jumbotron.png +0 -0
  116. data/vendor/assets/images/thumbnails/linkbar.png +0 -0
  117. data/vendor/assets/images/thumbnails/liticle.png +0 -0
  118. data/vendor/assets/images/thumbnails/logobar.png +0 -0
  119. data/vendor/assets/images/thumbnails/page-title.png +0 -0
  120. data/vendor/assets/images/thumbnails/quiz-complate.png +0 -0
  121. data/vendor/assets/images/thumbnails/quiz-with-hero-complate.png +0 -0
  122. data/vendor/assets/images/thumbnails/result-complate.png +0 -0
  123. data/vendor/assets/images/thumbnails/review-section.png +0 -0
  124. data/vendor/assets/images/thumbnails/review-v2-complate.png +0 -0
  125. data/vendor/assets/images/thumbnails/review-v3-complate.png +0 -0
  126. data/vendor/assets/images/thumbnails/review_section_v4_complate.png +0 -0
  127. data/vendor/assets/images/thumbnails/split-hero-complate.png +0 -0
  128. data/vendor/assets/images/thumbnails/subtitle-with-button-complate.png +0 -0
  129. data/vendor/assets/images/thumbnails/subtitle-with-link.png +0 -0
  130. data/vendor/assets/images/thumbnails/unknown-complate.png +0 -0
  131. data/vendor/assets/images/thumbnails/unknown1-complate.png +0 -0
  132. data/vendor/assets/images/thumbnails/video-section-complate.png +0 -0
  133. data/vendor/assets/javascript/fronty-designer-init.js +491 -0
  134. data/vendor/assets/javascript/fronty-designer.js +16518 -0
  135. data/vendor/assets/stylesheets/fronty-designer.css +11255 -0
  136. metadata +235 -0
@@ -0,0 +1,79 @@
1
+ html,
2
+ body {
3
+ overflow-x: hidden; /* Prevent scroll on narrow devices */
4
+ }
5
+
6
+ body {
7
+ padding-top: 56px;
8
+ }
9
+
10
+ @media (max-width: 991.98px) {
11
+ .offcanvas-collapse {
12
+ position: fixed;
13
+ top: 56px; /* Height of navbar */
14
+ bottom: 0;
15
+ left: 100%;
16
+ width: 100%;
17
+ padding-right: 1rem;
18
+ padding-left: 1rem;
19
+ overflow-y: auto;
20
+ visibility: hidden;
21
+ background-color: #343a40;
22
+ transition-timing-function: ease-in-out;
23
+ transition-duration: .3s;
24
+ transition-property: left, visibility;
25
+ }
26
+ .offcanvas-collapse.open {
27
+ left: 0;
28
+ visibility: visible;
29
+ }
30
+ }
31
+
32
+ .nav-scroller {
33
+ position: relative;
34
+ z-index: 2;
35
+ height: 2.75rem;
36
+ overflow-y: hidden;
37
+ }
38
+
39
+ .nav-scroller .nav {
40
+ display: -ms-flexbox;
41
+ display: flex;
42
+ -ms-flex-wrap: nowrap;
43
+ flex-wrap: nowrap;
44
+ padding-bottom: 1rem;
45
+ margin-top: -1px;
46
+ overflow-x: auto;
47
+ color: rgba(255, 255, 255, .75);
48
+ text-align: center;
49
+ white-space: nowrap;
50
+ -webkit-overflow-scrolling: touch;
51
+ }
52
+
53
+ .nav-underline .nav-link {
54
+ padding-top: .75rem;
55
+ padding-bottom: .75rem;
56
+ font-size: .875rem;
57
+ color: #6c757d;
58
+ }
59
+
60
+ .nav-underline .nav-link:hover {
61
+ color: #007bff;
62
+ }
63
+
64
+ .nav-underline .active {
65
+ font-weight: 500;
66
+ color: #343a40;
67
+ }
68
+
69
+ .text-white-50 { color: rgba(255, 255, 255, .5); }
70
+
71
+ .bg-purple { background-color: #6f42c1; }
72
+
73
+ .border-bottom { border-bottom: 1px solid #e5e5e5; }
74
+
75
+ .box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }
76
+
77
+ .lh-100 { line-height: 1; }
78
+ .lh-125 { line-height: 1.25; }
79
+ .lh-150 { line-height: 1.5; }
@@ -0,0 +1,7 @@
1
+ $(function () {
2
+ 'use strict'
3
+
4
+ $('[data-toggle="offcanvas"]').on('click', function () {
5
+ $('.offcanvas-collapse').toggleClass('open')
6
+ })
7
+ })
@@ -0,0 +1,141 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
+ <meta name="description" content="">
7
+ <meta name="author" content="">
8
+ <link rel="icon" href="../../../../favicon.ico">
9
+
10
+ <title>Pricing example for Bootstrap</title>
11
+
12
+ <!-- Bootstrap core CSS -->
13
+ <link href="../../css/editor.css" rel="stylesheet">
14
+
15
+ <!-- Custom styles for this template -->
16
+ <link href="pricing.css" rel="stylesheet">
17
+ </head>
18
+
19
+ <body>
20
+
21
+ <div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom box-shadow">
22
+ <h5 class="my-0 mr-md-auto font-weight-normal">Company name</h5>
23
+ <nav class="my-2 my-md-0 mr-md-3">
24
+ <a class="p-2 text-dark" href="#">Features</a>
25
+ <a class="p-2 text-dark" href="#">Enterprise</a>
26
+ <a class="p-2 text-dark" href="#">Support</a>
27
+ <a class="p-2 text-dark" href="#">Pricing</a>
28
+ </nav>
29
+ <a class="btn btn-outline-primary" href="#">Sign up</a>
30
+ </div>
31
+
32
+ <div class="pricing-header px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
33
+ <h1 class="display-4">Pricing</h1>
34
+ <p class="lead">Quickly build an effective pricing table for your potential customers with this Bootstrap example. It's built with default Bootstrap components and utilities with little customization.</p>
35
+ </div>
36
+
37
+ <div class="container">
38
+ <div class="card-deck mb-3 text-center">
39
+ <div class="card mb-4 box-shadow">
40
+ <div class="card-header">
41
+ <h4 class="my-0 font-weight-normal">Free</h4>
42
+ </div>
43
+ <div class="card-body">
44
+ <h1 class="card-title pricing-card-title">$0 <small class="text-muted">/ mo</small></h1>
45
+ <ul class="list-unstyled mt-3 mb-4">
46
+ <li>10 users included</li>
47
+ <li>2 GB of storage</li>
48
+ <li>Email support</li>
49
+ <li>Help center access</li>
50
+ </ul>
51
+ <button type="button" class="btn btn-lg btn-block btn-outline-primary">Sign up for free</button>
52
+ </div>
53
+ </div>
54
+ <div class="card mb-4 box-shadow">
55
+ <div class="card-header">
56
+ <h4 class="my-0 font-weight-normal">Pro</h4>
57
+ </div>
58
+ <div class="card-body">
59
+ <h1 class="card-title pricing-card-title">$15 <small class="text-muted">/ mo</small></h1>
60
+ <ul class="list-unstyled mt-3 mb-4">
61
+ <li>20 users included</li>
62
+ <li>10 GB of storage</li>
63
+ <li>Priority email support</li>
64
+ <li>Help center access</li>
65
+ </ul>
66
+ <button type="button" class="btn btn-lg btn-block btn-primary">Get started</button>
67
+ </div>
68
+ </div>
69
+ <div class="card mb-4 box-shadow">
70
+ <div class="card-header">
71
+ <h4 class="my-0 font-weight-normal">Enterprise</h4>
72
+ </div>
73
+ <div class="card-body">
74
+ <h1 class="card-title pricing-card-title">$29 <small class="text-muted">/ mo</small></h1>
75
+ <ul class="list-unstyled mt-3 mb-4">
76
+ <li>30 users included</li>
77
+ <li>15 GB of storage</li>
78
+ <li>Phone and email support</li>
79
+ <li>Help center access</li>
80
+ </ul>
81
+ <button type="button" class="btn btn-lg btn-block btn-primary">Contact us</button>
82
+ </div>
83
+ </div>
84
+ </div>
85
+
86
+ <footer class="pt-4 my-md-5 pt-md-5 border-top">
87
+ <div class="row">
88
+ <div class="col-12 col-md">
89
+ <img class="mb-2" src="https://getbootstrap.com/assets/brand/bootstrap-solid.svg" alt="" width="24" height="24">
90
+ <small class="d-block mb-3 text-muted">&copy; 2017-2018</small>
91
+ </div>
92
+ <div class="col-6 col-md">
93
+ <h5>Features</h5>
94
+ <ul class="list-unstyled text-small">
95
+ <li><a class="text-muted" href="#">Cool stuff</a></li>
96
+ <li><a class="text-muted" href="#">Random feature</a></li>
97
+ <li><a class="text-muted" href="#">Team feature</a></li>
98
+ <li><a class="text-muted" href="#">Stuff for developers</a></li>
99
+ <li><a class="text-muted" href="#">Another one</a></li>
100
+ <li><a class="text-muted" href="#">Last time</a></li>
101
+ </ul>
102
+ </div>
103
+ <div class="col-6 col-md">
104
+ <h5>Resources</h5>
105
+ <ul class="list-unstyled text-small">
106
+ <li><a class="text-muted" href="#">Resource</a></li>
107
+ <li><a class="text-muted" href="#">Resource name</a></li>
108
+ <li><a class="text-muted" href="#">Another resource</a></li>
109
+ <li><a class="text-muted" href="#">Final resource</a></li>
110
+ </ul>
111
+ </div>
112
+ <div class="col-6 col-md">
113
+ <h5>About</h5>
114
+ <ul class="list-unstyled text-small">
115
+ <li><a class="text-muted" href="#">Team</a></li>
116
+ <li><a class="text-muted" href="#">Locations</a></li>
117
+ <li><a class="text-muted" href="#">Privacy</a></li>
118
+ <li><a class="text-muted" href="#">Terms</a></li>
119
+ </ul>
120
+ </div>
121
+ </div>
122
+ </footer>
123
+ </div>
124
+
125
+
126
+ <!-- Bootstrap core JavaScript
127
+ ================================================== -->
128
+ <!-- Placed at the end of the document so the pages load faster -->
129
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
130
+ <script src="../../js/vendor/popper.min.js"></script>
131
+ <script src="../../js/bootstrap.min.js"></script>
132
+ <script src="https://cdn.jsdelivr.net/npm/holderjs@2.9.4/holder.js"></script>
133
+ <script>
134
+ Holder.addTheme('thumb', {
135
+ bg: '#55595c',
136
+ fg: '#eceeef',
137
+ text: 'Thumbnail'
138
+ });
139
+ </script>
140
+ </body>
141
+ </html>
@@ -0,0 +1,25 @@
1
+ html {
2
+ font-size: 14px;
3
+ }
4
+ @media (min-width: 768px) {
5
+ html {
6
+ font-size: 16px;
7
+ }
8
+ }
9
+
10
+ .container {
11
+ max-width: 960px;
12
+ }
13
+
14
+ .pricing-header {
15
+ max-width: 700px;
16
+ }
17
+
18
+ .card-deck .card {
19
+ min-width: 220px;
20
+ }
21
+
22
+ .border-top { border-top: 1px solid #e5e5e5; }
23
+ .border-bottom { border-bottom: 1px solid #e5e5e5; }
24
+
25
+ .box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }
@@ -0,0 +1,177 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
+ <meta name="description" content="">
7
+ <meta name="author" content="">
8
+ <link rel="icon" href="../../../../favicon.ico">
9
+
10
+ <title>Product example for Bootstrap</title>
11
+
12
+ <!-- Bootstrap core CSS -->
13
+ <link href="../../css/editor.css" rel="stylesheet">
14
+
15
+ <!-- Custom styles for this template -->
16
+ <link href="product.css" rel="stylesheet">
17
+ </head>
18
+
19
+ <body>
20
+
21
+ <nav class="site-header sticky-top py-1">
22
+ <div class="container d-flex flex-column flex-md-row justify-content-between">
23
+ <a class="py-2" href="#">
24
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="d-block mx-auto"><circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line></svg>
25
+ </a>
26
+ <a class="py-2 d-none d-md-inline-block" href="#">Tour</a>
27
+ <a class="py-2 d-none d-md-inline-block" href="#">Product</a>
28
+ <a class="py-2 d-none d-md-inline-block" href="#">Features</a>
29
+ <a class="py-2 d-none d-md-inline-block" href="#">Enterprise</a>
30
+ <a class="py-2 d-none d-md-inline-block" href="#">Support</a>
31
+ <a class="py-2 d-none d-md-inline-block" href="#">Pricing</a>
32
+ <a class="py-2 d-none d-md-inline-block" href="#">Cart</a>
33
+ </div>
34
+ </nav>
35
+
36
+ <div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center bg-light">
37
+ <div class="col-md-5 p-lg-5 mx-auto my-5">
38
+ <h1 class="display-4 font-weight-normal">Punny headline</h1>
39
+ <p class="lead font-weight-normal">And an even wittier subheading to boot. Jumpstart your marketing efforts with this example based on Apple's marketing pages.</p>
40
+ <a class="btn btn-outline-secondary" href="#">Coming soon</a>
41
+ </div>
42
+ <div class="product-device box-shadow d-none d-md-block"></div>
43
+ <div class="product-device product-device-2 box-shadow d-none d-md-block"></div>
44
+ </div>
45
+
46
+ <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
47
+ <div class="bg-dark mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center text-white overflow-hidden">
48
+ <div class="my-3 py-3">
49
+ <h2 class="display-5">Another headline</h2>
50
+ <p class="lead">And an even wittier subheading.</p>
51
+ </div>
52
+ <div class="bg-light box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
53
+ </div>
54
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
55
+ <div class="my-3 p-3">
56
+ <h2 class="display-5">Another headline</h2>
57
+ <p class="lead">And an even wittier subheading.</p>
58
+ </div>
59
+ <div class="bg-dark box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
60
+ </div>
61
+ </div>
62
+
63
+ <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
64
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
65
+ <div class="my-3 p-3">
66
+ <h2 class="display-5">Another headline</h2>
67
+ <p class="lead">And an even wittier subheading.</p>
68
+ </div>
69
+ <div class="bg-dark box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
70
+ </div>
71
+ <div class="bg-primary mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center text-white overflow-hidden">
72
+ <div class="my-3 py-3">
73
+ <h2 class="display-5">Another headline</h2>
74
+ <p class="lead">And an even wittier subheading.</p>
75
+ </div>
76
+ <div class="bg-light box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
77
+ </div>
78
+ </div>
79
+
80
+ <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
81
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
82
+ <div class="my-3 p-3">
83
+ <h2 class="display-5">Another headline</h2>
84
+ <p class="lead">And an even wittier subheading.</p>
85
+ </div>
86
+ <div class="bg-white box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
87
+ </div>
88
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
89
+ <div class="my-3 py-3">
90
+ <h2 class="display-5">Another headline</h2>
91
+ <p class="lead">And an even wittier subheading.</p>
92
+ </div>
93
+ <div class="bg-white box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
94
+ </div>
95
+ </div>
96
+
97
+ <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
98
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
99
+ <div class="my-3 p-3">
100
+ <h2 class="display-5">Another headline</h2>
101
+ <p class="lead">And an even wittier subheading.</p>
102
+ </div>
103
+ <div class="bg-white box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
104
+ </div>
105
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
106
+ <div class="my-3 py-3">
107
+ <h2 class="display-5">Another headline</h2>
108
+ <p class="lead">And an even wittier subheading.</p>
109
+ </div>
110
+ <div class="bg-white box-shadow mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
111
+ </div>
112
+ </div>
113
+
114
+ <footer class="container py-5">
115
+ <div class="row">
116
+ <div class="col-12 col-md">
117
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="d-block mb-2"><circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line></svg>
118
+ <small class="d-block mb-3 text-muted">&copy; 2017-2018</small>
119
+ </div>
120
+ <div class="col-6 col-md">
121
+ <h5>Features</h5>
122
+ <ul class="list-unstyled text-small">
123
+ <li><a class="text-muted" href="#">Cool stuff</a></li>
124
+ <li><a class="text-muted" href="#">Random feature</a></li>
125
+ <li><a class="text-muted" href="#">Team feature</a></li>
126
+ <li><a class="text-muted" href="#">Stuff for developers</a></li>
127
+ <li><a class="text-muted" href="#">Another one</a></li>
128
+ <li><a class="text-muted" href="#">Last time</a></li>
129
+ </ul>
130
+ </div>
131
+ <div class="col-6 col-md">
132
+ <h5>Resources</h5>
133
+ <ul class="list-unstyled text-small">
134
+ <li><a class="text-muted" href="#">Resource</a></li>
135
+ <li><a class="text-muted" href="#">Resource name</a></li>
136
+ <li><a class="text-muted" href="#">Another resource</a></li>
137
+ <li><a class="text-muted" href="#">Final resource</a></li>
138
+ </ul>
139
+ </div>
140
+ <div class="col-6 col-md">
141
+ <h5>Resources</h5>
142
+ <ul class="list-unstyled text-small">
143
+ <li><a class="text-muted" href="#">Business</a></li>
144
+ <li><a class="text-muted" href="#">Education</a></li>
145
+ <li><a class="text-muted" href="#">Government</a></li>
146
+ <li><a class="text-muted" href="#">Gaming</a></li>
147
+ </ul>
148
+ </div>
149
+ <div class="col-6 col-md">
150
+ <h5>About</h5>
151
+ <ul class="list-unstyled text-small">
152
+ <li><a class="text-muted" href="#">Team</a></li>
153
+ <li><a class="text-muted" href="#">Locations</a></li>
154
+ <li><a class="text-muted" href="#">Privacy</a></li>
155
+ <li><a class="text-muted" href="#">Terms</a></li>
156
+ </ul>
157
+ </div>
158
+ </div>
159
+ </footer>
160
+
161
+
162
+ <!-- Bootstrap core JavaScript
163
+ ================================================== -->
164
+ <!-- Placed at the end of the document so the pages load faster -->
165
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
166
+ <script src="../../js/vendor/popper.min.js"></script>
167
+ <script src="../../js/bootstrap.min.js"></script>
168
+ <script src="https://cdn.jsdelivr.net/npm/holderjs@2.9.4/holder.js"></script>
169
+ <script>
170
+ Holder.addTheme('thumb', {
171
+ bg: '#55595c',
172
+ fg: '#eceeef',
173
+ text: 'Thumbnail'
174
+ });
175
+ </script>
176
+ </body>
177
+ </html>
@@ -0,0 +1,79 @@
1
+ .container {
2
+ max-width: 960px;
3
+ }
4
+
5
+ /*
6
+ * Custom translucent site header
7
+ */
8
+
9
+ .site-header {
10
+ background-color: rgba(0, 0, 0, .85);
11
+ -webkit-backdrop-filter: saturate(180%) blur(20px);
12
+ backdrop-filter: saturate(180%) blur(20px);
13
+ }
14
+ .site-header a {
15
+ color: #999;
16
+ transition: ease-in-out color .15s;
17
+ }
18
+ .site-header a:hover {
19
+ color: #fff;
20
+ text-decoration: none;
21
+ }
22
+
23
+ /*
24
+ * Dummy devices (replace them with your own or something else entirely!)
25
+ */
26
+
27
+ .product-device {
28
+ position: absolute;
29
+ right: 10%;
30
+ bottom: -30%;
31
+ width: 300px;
32
+ height: 540px;
33
+ background-color: #333;
34
+ border-radius: 21px;
35
+ -webkit-transform: rotate(30deg);
36
+ transform: rotate(30deg);
37
+ }
38
+
39
+ .product-device::before {
40
+ position: absolute;
41
+ top: 10%;
42
+ right: 10px;
43
+ bottom: 10%;
44
+ left: 10px;
45
+ content: "";
46
+ background-color: rgba(255, 255, 255, .1);
47
+ border-radius: 5px;
48
+ }
49
+
50
+ .product-device-2 {
51
+ top: -25%;
52
+ right: auto;
53
+ bottom: 0;
54
+ left: 5%;
55
+ background-color: #e5e5e5;
56
+ }
57
+
58
+
59
+ /*
60
+ * Extra utilities
61
+ */
62
+
63
+ .border-top { border-top: 1px solid #e5e5e5; }
64
+ .border-bottom { border-bottom: 1px solid #e5e5e5; }
65
+
66
+ .box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }
67
+
68
+ .flex-equal > * {
69
+ -ms-flex: 1;
70
+ flex: 1;
71
+ }
72
+ @media (min-width: 768px) {
73
+ .flex-md-equal > * {
74
+ -ms-flex: 1;
75
+ flex: 1;
76
+ }
77
+ }
78
+
79
+ .overflow-hidden { overflow: hidden; }