Browse Source

add first - static - one-page home #3

Laszlo Lang 3 months ago
parent
commit
627b836e31
90 changed files with 1181 additions and 6 deletions
  1. 126
    2
      assets/css/app.scss
  2. BIN
      assets/font/google-sans/GoogleSans-Bold.ttf
  3. BIN
      assets/font/google-sans/GoogleSans-BoldItalic.ttf
  4. BIN
      assets/font/google-sans/GoogleSans-Italic.ttf
  5. BIN
      assets/font/google-sans/GoogleSans-Medium.ttf
  6. BIN
      assets/font/google-sans/GoogleSans-MediumItalic.ttf
  7. BIN
      assets/font/google-sans/GoogleSans-Regular.ttf
  8. 31
    0
      assets/js/app.js
  9. 453
    0
      assets/js/vendor/jquery.particleground.js
  10. 16
    0
      assets/js/vendor/jquery.particleground.min.js
  11. 9
    2
      package.json
  12. BIN
      public/android-chrome-192x192.png
  13. BIN
      public/android-chrome-512x512.png
  14. BIN
      public/apple-touch-icon.png
  15. 9
    0
      public/browserconfig.xml
  16. BIN
      public/favicon-16x16.png
  17. BIN
      public/favicon-32x32.png
  18. BIN
      public/favicon.ico
  19. 9
    0
      public/html_code.html
  20. BIN
      public/images/bear-2.png
  21. BIN
      public/images/bear-3@1000.png
  22. BIN
      public/images/gitea.png
  23. BIN
      public/images/techs/angular.png
  24. BIN
      public/images/techs/debian.png
  25. BIN
      public/images/techs/gitea.png
  26. 1
    0
      public/images/techs/mariadb.svg
  27. BIN
      public/images/techs/nextcloud.png
  28. BIN
      public/images/techs/onlyoffice.jpg
  29. BIN
      public/images/techs/postgresql.png
  30. 1
    0
      public/images/techs/symfony.svg
  31. BIN
      public/images/work/d-albamedical.jpg
  32. BIN
      public/images/work/d-andreabakos.jpg
  33. BIN
      public/images/work/d-atlaszbeton.jpg
  34. BIN
      public/images/work/d-bambino.jpg
  35. BIN
      public/images/work/d-bulihotel.jpg
  36. BIN
      public/images/work/d-buscopan.jpg
  37. BIN
      public/images/work/d-bynight.jpg
  38. BIN
      public/images/work/d-calltivation.jpg
  39. BIN
      public/images/work/d-cemetery-alsocsinger.jpg
  40. BIN
      public/images/work/d-choco.jpg
  41. BIN
      public/images/work/d-csaszar.jpg
  42. BIN
      public/images/work/d-cukinet.jpg
  43. BIN
      public/images/work/d-dayang.jpg
  44. BIN
      public/images/work/d-djblade.jpg
  45. BIN
      public/images/work/d-dunarama.jpg
  46. BIN
      public/images/work/d-fallball-eu.jpg
  47. BIN
      public/images/work/d-farbe.jpg
  48. BIN
      public/images/work/d-feliratok.jpg
  49. BIN
      public/images/work/d-greensmoke.jpg
  50. BIN
      public/images/work/d-gs-christmas.jpg
  51. BIN
      public/images/work/d-gs-valentine.jpg
  52. BIN
      public/images/work/d-hummel.jpg
  53. BIN
      public/images/work/d-iw-almaink-sportja.jpg
  54. BIN
      public/images/work/d-iw-cserfalvi.jpg
  55. BIN
      public/images/work/d-iw-hungaria.jpg
  56. BIN
      public/images/work/d-iw-pestiekszer.jpg
  57. BIN
      public/images/work/d-iw-vileda.jpg
  58. BIN
      public/images/work/d-iw-vp-handball-fans.jpg
  59. BIN
      public/images/work/d-iw-vp-handball.jpg
  60. BIN
      public/images/work/d-kopogtato.jpg
  61. BIN
      public/images/work/d-laszlolang.jpg
  62. BIN
      public/images/work/d-matruelle.jpg
  63. BIN
      public/images/work/d-pe-gt.jpg
  64. BIN
      public/images/work/d-pharmaton-kod.jpg
  65. BIN
      public/images/work/d-pharmaton-rejtely.jpg
  66. BIN
      public/images/work/d-pharmaton-vital.jpg
  67. BIN
      public/images/work/d-pt-bbsz-s2.jpg
  68. BIN
      public/images/work/d-pt-bbsz.jpg
  69. BIN
      public/images/work/d-pt-hostels.jpg
  70. BIN
      public/images/work/d-pt-hostelshungary.jpg
  71. BIN
      public/images/work/d-pt-kormanyhivatalok.jpg
  72. BIN
      public/images/work/d-pt-marko.jpg
  73. BIN
      public/images/work/d-pt-olcsoutazasok.jpg
  74. BIN
      public/images/work/d-pt-pann-tura.jpg
  75. BIN
      public/images/work/d-pt-tauplitzerhof.jpg
  76. BIN
      public/images/work/d-qecc.jpg
  77. BIN
      public/images/work/d-slokat.jpg
  78. BIN
      public/images/work/d-system7-cms.jpg
  79. BIN
      public/images/work/d-szilasi.jpg
  80. BIN
      public/images/work/d-vk-kupongyar.jpg
  81. BIN
      public/images/work/d-vk.jpg
  82. BIN
      public/images/work/d-vke-allati.jpg
  83. BIN
      public/images/work/d-vke.jpg
  84. BIN
      public/mstile-150x150.png
  85. 1
    0
      public/safari-pinned-tab.svg
  86. 19
    0
      public/site.webmanifest
  87. 10
    0
      templates/base.html.twig
  88. 452
    0
      templates/default/index.html.twig
  89. 2
    0
      webpack.config.js
  90. 42
    2
      yarn.lock

+ 126
- 2
assets/css/app.scss View File

@@ -1,7 +1,131 @@
1
-@-ms-viewport{
1
+@-ms-viewport {
2 2
   width: device-width;
3 3
 }
4 4
 
5
-* {
5
+@font-face {
6
+  font-family: "Google Sans";
7
+  src: url("../font/google-sans/GoogleSans-Bold.ttf");
8
+  font-weight: bold;
9
+  font-style: normal;
10
+}
11
+
12
+@font-face {
13
+  font-family: "Google Sans";
14
+  src: url("../font/google-sans/GoogleSans-BoldItalic.ttf");
15
+  font-weight: bold;
16
+  font-style: italic;
17
+}
18
+
19
+@font-face {
20
+  font-family: "Google Sans";
21
+  src: url("../font/google-sans/GoogleSans-Italic.ttf");
22
+  font-weight: normal;
23
+  font-style: italic;
24
+}
25
+
26
+@font-face {
27
+  font-family: "Google Sans";
28
+  src: url("../font/google-sans/GoogleSans-Regular.ttf");
29
+  font-weight: normal;
30
+  font-style: normal;
31
+}
32
+
33
+*,
34
+*:before,
35
+*:after {
36
+  margin: 0;
37
+  padding: 0;
38
+
6 39
   box-sizing: border-box;
7 40
 }
41
+
42
+a,
43
+a:hover {
44
+  text-decoration: none;
45
+}
46
+
47
+@import "~bootstrap/scss/bootstrap";
48
+@import "~froala-design-blocks/src/scss/froala_blocks";
49
+@import "~owl.carousel/dist/assets/owl.carousel.min.css";
50
+@import "~owl.carousel/dist/assets/owl.theme.default.min.css";
51
+
52
+$font-family-sans-serif: "Google Sans", sans-serif !default;
53
+$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
54
+$font-family-base: $font-family-sans-serif !default;
55
+$headings-font-family: $font-family-sans-serif !default;
56
+
57
+body,
58
+.fdb-block {
59
+  font-family: "Google Sans", sans-serif;
60
+}
61
+
62
+.onlyoffice {
63
+  border-radius: 50%;
64
+}
65
+
66
+.techs img {
67
+  filter: grayscale(100%);
68
+}
69
+
70
+.techs a {
71
+  display: inline-block;
72
+}
73
+
74
+#main-section {
75
+  background-color: #cccccc;
76
+  position: relative;
77
+  height: 1080px;
78
+  padding: 0;
79
+
80
+  overflow: inherit;
81
+}
82
+
83
+#main-section .pg-canvas {
84
+  position: absolute;
85
+}
86
+
87
+#main-section #references {
88
+  background: #333;
89
+  position: absolute;
90
+  width: 750px;
91
+  left: 50%;
92
+  bottom: -170px;
93
+  border: 25px solid #333;
94
+  margin-left: -375px;
95
+
96
+  z-index: 1;
97
+
98
+  border-radius: 15px;
99
+}
100
+
101
+.references i {
102
+  font-size: 72px;
103
+}
104
+
105
+#features {
106
+  padding-top: 200px !important;
107
+}
108
+
109
+.gitea {
110
+  background: url(/images/gitea.png) no-repeat top center;
111
+  background-size: cover;
112
+}
113
+
114
+.fdb-block.gitea h1,
115
+.fdb-block.gitea .text-h3 {
116
+  color: #fff;
117
+}
118
+
119
+#main-section .bear-small img {
120
+  display: none;
121
+}
122
+
123
+@media screen and (max-width: 1000px) {
124
+  #main-section .bear {
125
+    display: none;
126
+  }
127
+
128
+  #main-section .bear-small img {
129
+    display: block;
130
+  }
131
+}

BIN
assets/font/google-sans/GoogleSans-Bold.ttf View File


BIN
assets/font/google-sans/GoogleSans-BoldItalic.ttf View File


BIN
assets/font/google-sans/GoogleSans-Italic.ttf View File


BIN
assets/font/google-sans/GoogleSans-Medium.ttf View File


BIN
assets/font/google-sans/GoogleSans-MediumItalic.ttf View File


BIN
assets/font/google-sans/GoogleSans-Regular.ttf View File


+ 31
- 0
assets/js/app.js View File

@@ -0,0 +1,31 @@
1
+require('popper.js/dist/popper.min.js');
2
+require('bootstrap/dist/js/bootstrap.bundle.min');
3
+require('owl.carousel/dist/owl.carousel.min');
4
+require('../js/vendor/jquery.particleground');
5
+
6
+$(function () {
7
+    /**
8
+     * @link https://github.com/jnicol/particleground
9
+     */
10
+    particleground(document.getElementById('main-section'), {
11
+        dotColor: '#aaaaaa',
12
+        lineColor: '#bbbbbb',
13
+        parallaxMultiplier: 15,
14
+        lineWidth: 2,
15
+        density: 15000,
16
+    });
17
+
18
+    /**
19
+     * @link https://github.com/OwlCarousel2/OwlCarousel2
20
+     */
21
+    $('.owl-carousel').owlCarousel({
22
+        items: 1,
23
+        margin: 5,
24
+        loop: true,
25
+        lazyLoad: true,
26
+        lazyLoadEager: 2,
27
+        autoplay: true,
28
+        autoplayTimeout: 3000,
29
+        autoplayHoverPause: true,
30
+    });
31
+});

+ 453
- 0
assets/js/vendor/jquery.particleground.js View File

@@ -0,0 +1,453 @@
1
+/*!
2
+ * Particleground
3
+ *
4
+ * @author Jonathan Nicol - @mrjnicol
5
+ * @version 1.1.0
6
+ * @description Creates a canvas based particle system background
7
+ *
8
+ * Inspired by http://requestlab.fr/ and http://disruptivebydesign.com/
9
+ */
10
+
11
+;(function(window, document) {
12
+  "use strict";
13
+  var pluginName = 'particleground';
14
+
15
+  // http://youmightnotneedjquery.com/#deep_extend
16
+  function extend(out) {
17
+    out = out || {};
18
+    for (var i = 1; i < arguments.length; i++) {
19
+      var obj = arguments[i];
20
+      if (!obj) continue;
21
+      for (var key in obj) {
22
+        if (obj.hasOwnProperty(key)) {
23
+          if (typeof obj[key] === 'object')
24
+            deepExtend(out[key], obj[key]);
25
+          else
26
+            out[key] = obj[key];
27
+        }
28
+      }
29
+    }
30
+    return out;
31
+  };
32
+
33
+  var $ = window.jQuery;
34
+
35
+  function Plugin(element, options) {
36
+    var canvasSupport = !!document.createElement('canvas').getContext;
37
+    var canvas;
38
+    var ctx;
39
+    var particles = [];
40
+    var raf;
41
+    var mouseX = 0;
42
+    var mouseY = 0;
43
+    var winW;
44
+    var winH;
45
+    var desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i);
46
+    var orientationSupport = !!window.DeviceOrientationEvent;
47
+    var tiltX = 0;
48
+    var pointerX;
49
+    var pointerY;
50
+    var tiltY = 0;
51
+    var paused = false;
52
+
53
+    options = extend({}, window[pluginName].defaults, options);
54
+
55
+    /**
56
+     * Init
57
+     */
58
+    function init() {
59
+      if (!canvasSupport) { return; }
60
+
61
+      //Create canvas
62
+      canvas = document.createElement('canvas');
63
+      canvas.className = 'pg-canvas';
64
+      canvas.style.display = 'block';
65
+      element.insertBefore(canvas, element.firstChild);
66
+      ctx = canvas.getContext('2d');
67
+      styleCanvas();
68
+
69
+      // Create particles
70
+      var numParticles = Math.round((canvas.width * canvas.height) / options.density);
71
+      for (var i = 0; i < numParticles; i++) {
72
+        var p = new Particle();
73
+        p.setStackPos(i);
74
+        particles.push(p);
75
+      };
76
+
77
+      window.addEventListener('resize', function() {
78
+        resizeHandler();
79
+      }, false);
80
+
81
+      document.addEventListener('mousemove', function(e) {
82
+        mouseX = e.pageX;
83
+        mouseY = e.pageY;
84
+      }, false);
85
+
86
+      if (orientationSupport && !desktop) {
87
+        window.addEventListener('deviceorientation', function () {
88
+          // Contrain tilt range to [-30,30]
89
+          tiltY = Math.min(Math.max(-event.beta, -30), 30);
90
+          tiltX = Math.min(Math.max(-event.gamma, -30), 30);
91
+        }, true);
92
+      }
93
+
94
+      draw();
95
+      hook('onInit');
96
+    }
97
+
98
+    /**
99
+     * Style the canvas
100
+     */
101
+    function styleCanvas() {
102
+      canvas.width = element.offsetWidth;
103
+      canvas.height = element.offsetHeight;
104
+      ctx.fillStyle = options.dotColor;
105
+      ctx.strokeStyle = options.lineColor;
106
+      ctx.lineWidth = options.lineWidth;
107
+    }
108
+
109
+    /**
110
+     * Draw particles
111
+     */
112
+    function draw() {
113
+      if (!canvasSupport) { return; }
114
+
115
+      winW = window.innerWidth;
116
+      winH = window.innerHeight;
117
+
118
+      // Wipe canvas
119
+      ctx.clearRect(0, 0, canvas.width, canvas.height);
120
+
121
+      // Update particle positions
122
+      for (var i = 0; i < particles.length; i++) {
123
+        particles[i].updatePosition();
124
+      };
125
+      // Draw particles
126
+      for (var i = 0; i < particles.length; i++) {
127
+        particles[i].draw();
128
+      };
129
+
130
+      // Call this function next time screen is redrawn
131
+      if (!paused) {
132
+        raf = requestAnimationFrame(draw);
133
+      }
134
+    }
135
+
136
+    /**
137
+     * Add/remove particles.
138
+     */
139
+    function resizeHandler() {
140
+      // Resize the canvas
141
+      styleCanvas();
142
+
143
+      var elWidth = element.offsetWidth;
144
+      var elHeight = element.offsetHeight;
145
+
146
+      // Remove particles that are outside the canvas
147
+      for (var i = particles.length - 1; i >= 0; i--) {
148
+        if (particles[i].position.x > elWidth || particles[i].position.y > elHeight) {
149
+          particles.splice(i, 1);
150
+        }
151
+      };
152
+
153
+      // Adjust particle density
154
+      var numParticles = Math.round((canvas.width * canvas.height) / options.density);
155
+      if (numParticles > particles.length) {
156
+        while (numParticles > particles.length) {
157
+          var p = new Particle();
158
+          particles.push(p);
159
+        }
160
+      } else if (numParticles < particles.length) {
161
+        particles.splice(numParticles);
162
+      }
163
+
164
+      // Re-index particles
165
+      for (i = particles.length - 1; i >= 0; i--) {
166
+        particles[i].setStackPos(i);
167
+      };
168
+    }
169
+
170
+    /**
171
+     * Pause particle system
172
+     */
173
+    function pause() {
174
+      paused = true;
175
+    }
176
+
177
+    /**
178
+     * Start particle system
179
+     */
180
+    function start() {
181
+      paused = false;
182
+      draw();
183
+    }
184
+
185
+    /**
186
+     * Particle
187
+     */
188
+    function Particle() {
189
+      this.stackPos;
190
+      this.active = true;
191
+      this.layer = Math.ceil(Math.random() * 3);
192
+      this.parallaxOffsetX = 0;
193
+      this.parallaxOffsetY = 0;
194
+      // Initial particle position
195
+      this.position = {
196
+        x: Math.ceil(Math.random() * canvas.width),
197
+        y: Math.ceil(Math.random() * canvas.height)
198
+      }
199
+      // Random particle speed, within min and max values
200
+      this.speed = {}
201
+      switch (options.directionX) {
202
+        case 'left':
203
+          this.speed.x = +(-options.maxSpeedX + (Math.random() * options.maxSpeedX) - options.minSpeedX).toFixed(2);
204
+          break;
205
+        case 'right':
206
+          this.speed.x = +((Math.random() * options.maxSpeedX) + options.minSpeedX).toFixed(2);
207
+          break;
208
+        default:
209
+          this.speed.x = +((-options.maxSpeedX / 2) + (Math.random() * options.maxSpeedX)).toFixed(2);
210
+          this.speed.x += this.speed.x > 0 ? options.minSpeedX : -options.minSpeedX;
211
+          break;
212
+      }
213
+      switch (options.directionY) {
214
+        case 'up':
215
+          this.speed.y = +(-options.maxSpeedY + (Math.random() * options.maxSpeedY) - options.minSpeedY).toFixed(2);
216
+          break;
217
+        case 'down':
218
+          this.speed.y = +((Math.random() * options.maxSpeedY) + options.minSpeedY).toFixed(2);
219
+          break;
220
+        default:
221
+          this.speed.y = +((-options.maxSpeedY / 2) + (Math.random() * options.maxSpeedY)).toFixed(2);
222
+          this.speed.x += this.speed.y > 0 ? options.minSpeedY : -options.minSpeedY;
223
+          break;
224
+      }
225
+    }
226
+
227
+    /**
228
+     * Draw particle
229
+     */
230
+    Particle.prototype.draw = function() {
231
+      // Draw circle
232
+      ctx.beginPath();
233
+      ctx.arc(this.position.x + this.parallaxOffsetX, this.position.y + this.parallaxOffsetY, options.particleRadius / 2, 0, Math.PI * 2, true);
234
+      ctx.closePath();
235
+      ctx.fill();
236
+
237
+      // Draw lines
238
+      ctx.beginPath();
239
+      // Iterate over all particles which are higher in the stack than this one
240
+      for (var i = particles.length - 1; i > this.stackPos; i--) {
241
+        var p2 = particles[i];
242
+
243
+        // Pythagorus theorum to get distance between two points
244
+        var a = this.position.x - p2.position.x
245
+        var b = this.position.y - p2.position.y
246
+        var dist = Math.sqrt((a * a) + (b * b)).toFixed(2);
247
+
248
+        // If the two particles are in proximity, join them
249
+        if (dist < options.proximity) {
250
+          ctx.moveTo(this.position.x + this.parallaxOffsetX, this.position.y + this.parallaxOffsetY);
251
+          if (options.curvedLines) {
252
+            ctx.quadraticCurveTo(Math.max(p2.position.x, p2.position.x), Math.min(p2.position.y, p2.position.y), p2.position.x + p2.parallaxOffsetX, p2.position.y + p2.parallaxOffsetY);
253
+          } else {
254
+            ctx.lineTo(p2.position.x + p2.parallaxOffsetX, p2.position.y + p2.parallaxOffsetY);
255
+          }
256
+        }
257
+      }
258
+      ctx.stroke();
259
+      ctx.closePath();
260
+    }
261
+
262
+    /**
263
+     * update particle position
264
+     */
265
+    Particle.prototype.updatePosition = function() {
266
+      if (options.parallax) {
267
+        if (orientationSupport && !desktop) {
268
+          // Map tiltX range [-30,30] to range [0,winW]
269
+          var ratioX = (winW - 0) / (30 - -30);
270
+          pointerX = (tiltX - -30) * ratioX + 0;
271
+          // Map tiltY range [-30,30] to range [0,winH]
272
+          var ratioY = (winH - 0) / (30 - -30);
273
+          pointerY = (tiltY - -30) * ratioY + 0;
274
+        } else {
275
+          pointerX = mouseX;
276
+          pointerY = mouseY;
277
+        }
278
+        // Calculate parallax offsets
279
+        this.parallaxTargX = (pointerX - (winW / 2)) / (options.parallaxMultiplier * this.layer);
280
+        this.parallaxOffsetX += (this.parallaxTargX - this.parallaxOffsetX) / 10; // Easing equation
281
+        this.parallaxTargY = (pointerY - (winH / 2)) / (options.parallaxMultiplier * this.layer);
282
+        this.parallaxOffsetY += (this.parallaxTargY - this.parallaxOffsetY) / 10; // Easing equation
283
+      }
284
+
285
+      var elWidth = element.offsetWidth;
286
+      var elHeight = element.offsetHeight;
287
+
288
+      switch (options.directionX) {
289
+        case 'left':
290
+          if (this.position.x + this.speed.x + this.parallaxOffsetX < 0) {
291
+            this.position.x = elWidth - this.parallaxOffsetX;
292
+          }
293
+          break;
294
+        case 'right':
295
+          if (this.position.x + this.speed.x + this.parallaxOffsetX > elWidth) {
296
+            this.position.x = 0 - this.parallaxOffsetX;
297
+          }
298
+          break;
299
+        default:
300
+          // If particle has reached edge of canvas, reverse its direction
301
+          if (this.position.x + this.speed.x + this.parallaxOffsetX > elWidth || this.position.x + this.speed.x + this.parallaxOffsetX < 0) {
302
+            this.speed.x = -this.speed.x;
303
+          }
304
+          break;
305
+      }
306
+
307
+      switch (options.directionY) {
308
+        case 'up':
309
+          if (this.position.y + this.speed.y + this.parallaxOffsetY < 0) {
310
+            this.position.y = elHeight - this.parallaxOffsetY;
311
+          }
312
+          break;
313
+        case 'down':
314
+          if (this.position.y + this.speed.y + this.parallaxOffsetY > elHeight) {
315
+            this.position.y = 0 - this.parallaxOffsetY;
316
+          }
317
+          break;
318
+        default:
319
+          // If particle has reached edge of canvas, reverse its direction
320
+          if (this.position.y + this.speed.y + this.parallaxOffsetY > elHeight || this.position.y + this.speed.y + this.parallaxOffsetY < 0) {
321
+            this.speed.y = -this.speed.y;
322
+          }
323
+          break;
324
+      }
325
+
326
+      // Move particle
327
+      this.position.x += this.speed.x;
328
+      this.position.y += this.speed.y;
329
+    }
330
+
331
+    /**
332
+     * Setter: particle stacking position
333
+     */
334
+    Particle.prototype.setStackPos = function(i) {
335
+      this.stackPos = i;
336
+    }
337
+
338
+    function option (key, val) {
339
+      if (val) {
340
+        options[key] = val;
341
+      } else {
342
+        return options[key];
343
+      }
344
+    }
345
+
346
+    function destroy() {
347
+      console.log('destroy');
348
+      canvas.parentNode.removeChild(canvas);
349
+      hook('onDestroy');
350
+      if ($) {
351
+        $(element).removeData('plugin_' + pluginName);
352
+      }
353
+    }
354
+
355
+    function hook(hookName) {
356
+      if (options[hookName] !== undefined) {
357
+        options[hookName].call(element);
358
+      }
359
+    }
360
+
361
+    init();
362
+
363
+    return {
364
+      option: option,
365
+      destroy: destroy,
366
+      start: start,
367
+      pause: pause
368
+    };
369
+  }
370
+
371
+  window[pluginName] = function(elem, options) {
372
+    return new Plugin(elem, options);
373
+  };
374
+
375
+  window[pluginName].defaults = {
376
+    minSpeedX: 0.1,
377
+    maxSpeedX: 0.7,
378
+    minSpeedY: 0.1,
379
+    maxSpeedY: 0.7,
380
+    directionX: 'center', // 'center', 'left' or 'right'. 'center' = dots bounce off edges
381
+    directionY: 'center', // 'center', 'up' or 'down'. 'center' = dots bounce off edges
382
+    density: 10000, // How many particles will be generated: one particle every n pixels
383
+    dotColor: '#666666',
384
+    lineColor: '#666666',
385
+    particleRadius: 7, // Dot size
386
+    lineWidth: 1,
387
+    curvedLines: false,
388
+    proximity: 100, // How close two dots need to be before they join
389
+    parallax: true,
390
+    parallaxMultiplier: 5, // The lower the number, the more extreme the parallax effect
391
+    onInit: function() {},
392
+    onDestroy: function() {}
393
+  };
394
+
395
+  // nothing wrong with hooking into jQuery if it's there...
396
+  if ($) {
397
+    $.fn[pluginName] = function(options) {
398
+      if (typeof arguments[0] === 'string') {
399
+        var methodName = arguments[0];
400
+        var args = Array.prototype.slice.call(arguments, 1);
401
+        var returnVal;
402
+        this.each(function() {
403
+          if ($.data(this, 'plugin_' + pluginName) && typeof $.data(this, 'plugin_' + pluginName)[methodName] === 'function') {
404
+            returnVal = $.data(this, 'plugin_' + pluginName)[methodName].apply(this, args);
405
+          }
406
+        });
407
+        if (returnVal !== undefined){
408
+          return returnVal;
409
+        } else {
410
+          return this;
411
+        }
412
+      } else if (typeof options === "object" || !options) {
413
+        return this.each(function() {
414
+          if (!$.data(this, 'plugin_' + pluginName)) {
415
+            $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
416
+          }
417
+        });
418
+      }
419
+    };
420
+  }
421
+
422
+})(window, document);
423
+
424
+/**
425
+ * requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
426
+ * @see: http://paulirish.com/2011/requestanimationframe-for-smart-animating/
427
+ * @see: http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
428
+ * @license: MIT license
429
+ */
430
+(function() {
431
+    var lastTime = 0;
432
+    var vendors = ['ms', 'moz', 'webkit', 'o'];
433
+    for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
434
+      window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
435
+      window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame']
436
+                                 || window[vendors[x]+'CancelRequestAnimationFrame'];
437
+    }
438
+
439
+    if (!window.requestAnimationFrame)
440
+      window.requestAnimationFrame = function(callback, element) {
441
+        var currTime = new Date().getTime();
442
+        var timeToCall = Math.max(0, 16 - (currTime - lastTime));
443
+        var id = window.setTimeout(function() { callback(currTime + timeToCall); },
444
+          timeToCall);
445
+        lastTime = currTime + timeToCall;
446
+        return id;
447
+      };
448
+
449
+    if (!window.cancelAnimationFrame)
450
+      window.cancelAnimationFrame = function(id) {
451
+        clearTimeout(id);
452
+      };
453
+}());

+ 16
- 0
assets/js/vendor/jquery.particleground.min.js
File diff suppressed because it is too large
View File


+ 9
- 2
package.json View File

@@ -16,7 +16,14 @@
16 16
         "build": "encore production"
17 17
     },
18 18
     "dependencies": {
19
-        "@fortawesome/fontawesome-free": "^5.2.0"
19
+        "@fortawesome/fontawesome-free": "^5.2.0",
20
+        "bootstrap": "^4.1.3",
21
+        "froala-design-blocks": "^1.0.2",
22
+        "owl.carousel": "^2.3.4",
23
+        "popper.js": "^1.14.4"
20 24
     },
21
-    "browserslist": [ "last 7 versions", "ios >= 7" ]
25
+    "browserslist": [
26
+        "last 7 versions",
27
+        "ios >= 7"
28
+    ]
22 29
 }

BIN
public/android-chrome-192x192.png View File


BIN
public/android-chrome-512x512.png View File


BIN
public/apple-touch-icon.png View File


+ 9
- 0
public/browserconfig.xml View File

@@ -0,0 +1,9 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<browserconfig>
3
+    <msapplication>
4
+        <tile>
5
+            <square150x150logo src="/mstile-150x150.png"/>
6
+            <TileColor>#2d89ef</TileColor>
7
+        </tile>
8
+    </msapplication>
9
+</browserconfig>

BIN
public/favicon-16x16.png View File


BIN
public/favicon-32x32.png View File


BIN
public/favicon.ico View File


+ 9
- 0
public/html_code.html View File

@@ -0,0 +1,9 @@
1
+<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
2
+<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
3
+<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
4
+<link rel="manifest" href="/site.webmanifest">
5
+<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#4993a8">
6
+<meta name="apple-mobile-web-app-title" content="SplendidBear">
7
+<meta name="application-name" content="SplendidBear">
8
+<meta name="msapplication-TileColor" content="#2d89ef">
9
+<meta name="theme-color" content="#ffffff">

BIN
public/images/bear-2.png View File


BIN
public/images/bear-3@1000.png View File


BIN
public/images/gitea.png View File


BIN
public/images/techs/angular.png View File


BIN
public/images/techs/debian.png View File


BIN
public/images/techs/gitea.png View File


+ 1
- 0
public/images/techs/mariadb.svg View File

@@ -0,0 +1 @@
1
+<svg width="2500" height="1660" viewBox="0 0 256 170" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><path d="M250.392.004c-3.95.127-2.701 1.265-11.236 3.365-8.619 2.121-19.147 1.47-28.428 5.363-27.706 11.62-33.265 51.333-58.452 65.559-18.827 10.634-37.822 11.482-54.899 16.834-11.223 3.519-23.5 10.736-33.668 19.499-7.892 6.803-8.098 12.786-16.345 21.32-8.82 9.127-35.057.154-46.948 14.124 3.83 3.873 5.51 4.958 13.058 3.953-1.562 2.962-10.775 5.458-8.972 9.816 1.898 4.585 24.17 7.693 44.417-4.53 9.429-5.693 16.94-13.899 31.624-15.857 19.003-2.533 40.895 1.624 62.894 4.797-3.262 9.726-9.811 16.194-15.057 23.94-1.625 1.75 3.263 1.946 8.839.889 10.03-2.48 17.258-4.478 24.828-8.884 9.3-5.414 10.71-19.293 22.12-22.297 6.357 9.772 23.649 12.08 34.378 4.264-9.415-2.665-12.017-22.705-8.839-31.535 3.01-8.36 5.985-21.73 9.017-32.78 3.255-11.866 4.455-26.823 8.394-32.868 5.927-9.094 12.475-12.217 18.16-17.345 5.686-5.129 10.89-10.12 10.719-21.855-.055-3.78-2.01-5.886-5.604-5.772z" fill="#002B64"/><path d="M8.594 159c14.418 2.066 23.186 0 34.764-5.02 9.852-4.273 19.366-13.081 31-16.815 17.085-5.482 35.821.007 54.085 1.102 4.448.267 8.867.27 13.229-.205 6.803-4.182 6.663-19.823 13.285-21.256-.195 21.945-9.192 35.094-18.601 47.826 19.83-3.502 31.697-14.972 39.712-30.291 2.432-4.645 4.508-9.642 6.344-14.88 2.839 2.179 1.23 8.808 2.657 12.4 13.659-7.609 21.48-24.973 26.66-42.535 5.992-20.325 8.445-40.906 12.31-46.92 3.772-5.87 9.642-9.488 15-13.246 6.09-4.273 11.52-8.726 12.458-16.867-6.421-.594-7.906-2.08-8.856-5.316-3.215 1.812-6.171 2.2-9.511 2.3-2.898.088-6.082-.041-9.971.358-32.16 3.303-36.247 38.75-56.86 58.844a48.347 48.347 0 0 1-4.835 4.104c-7.22 5.38-16.076 9.224-24.22 12.337-13.183 5.037-25.716 5.395-38.084 9.743-9.08 3.191-18.306 7.82-25.763 12.924a76.37 76.37 0 0 0-5.238 3.903c-4.376 3.58-7.249 7.553-10.027 11.64-2.866 4.21-5.633 8.543-9.851 12.682-6.834 6.71-32.37 1.957-41.36 8.18-1.002.692-1.798 1.523-2.34 2.521 4.906 2.229 8.182.861 13.825 1.485.74 5.355-11.642 8.537-9.812 11.003zM203.435 120.426c.384 6.143 3.95 18.33 7.098 21.293-6.166 1.5-16.787-.978-19.512-5.327 1.4-6.28 8.686-12.02 12.414-15.966z" fill="#FFF"/><path d="M212.468 22.935c4.552 3.952 14.105.78 12.398-7.084-7.074-.586-11.172 1.815-12.398 7.084zM244.207 13.744c-1.21 2.54-3.529 5.815-3.529 12.28-.01 1.11-.843 1.871-.857.16.063-6.32 1.735-9.051 3.512-12.641.826-1.471 1.323-.864.874.201z" fill="#002B64"/><path d="M242.988 12.788c-1.429 2.423-4.868 6.844-5.437 13.285-.105 1.104-1.003 1.788-.867.081.62-6.288 3.369-10.224 5.455-13.645.947-1.391 1.392-.743.849.279zM241.876 11.52c-1.627 2.294-6.922 7.603-8.029 13.975-.199 1.09-1.151 1.698-.871.008 1.146-6.215 5.71-11.1 8.076-14.331 1.06-1.31 1.448-.625.824.348zM240.884 10.106c-1.933 2.042-8.245 8.812-10.235 14.964-.352 1.051-1.38 1.52-.864-.114 2.007-5.992 7.535-12.447 10.332-15.312 1.235-1.147 1.522-.415.767.462z" fill="#002B64"/></svg>

BIN
public/images/techs/nextcloud.png View File


BIN
public/images/techs/onlyoffice.jpg View File


BIN
public/images/techs/postgresql.png View File


+ 1
- 0
public/images/techs/symfony.svg View File

@@ -0,0 +1 @@
1
+<svg width="2490" height="2500" viewBox="0 0 256 257" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><circle fill="#1A171B" cx="128" cy="128.827" r="128"/><path d="M183.706 48.124c-12.986.453-24.32 7.61-32.757 17.51-9.342 10.855-15.557 23.73-20.035 36.872-8.01-6.565-14.19-15.064-27.041-18.77-9.933-2.852-20.366-1.674-29.96 5.474-4.545 3.395-7.676 8.527-9.165 13.351-3.855 12.537 4.053 23.694 7.645 27.7l7.853 8.416c1.619 1.65 5.518 5.955 3.612 12.127-2.06 6.71-10.15 11.055-18.448 8.495-3.706-1.13-9.03-3.891-7.838-7.779.493-1.59 1.631-2.78 2.241-4.155.56-1.181.827-2.067.997-2.587 1.516-4.95-.555-11.39-5.857-13.025-4.946-1.516-10.007-.315-11.969 6.054-2.225 7.235 1.237 20.366 19.783 26.084 21.729 6.676 40.11-5.155 42.717-20.586 1.642-9.665-2.722-16.845-10.717-26.08l-6.514-7.204c-3.946-3.942-5.301-10.661-1.217-15.825 3.446-4.356 8.354-6.215 16.392-4.029 11.733 3.186 16.963 11.327 25.69 17.893-3.603 11.819-5.958 23.682-8.09 34.32l-1.299 7.931c-6.238 32.721-11 50.688-23.375 61.003-2.493 1.773-6.057 4.427-11.429 4.612-2.816.087-3.726-1.85-3.765-2.694-.067-1.977 1.599-2.883 2.706-3.773 1.654-.902 4.155-2.398 3.985-7.191-.18-5.664-4.872-10.575-11.654-10.35-5.08.173-12.823 4.954-12.532 13.705.303 9.039 8.728 15.813 21.43 15.384 6.79-.233 21.952-2.997 36.895-20.76 17.392-20.362 22.256-43.705 25.915-60.79l4.084-22.556c2.269.272 4.695.453 7.334.516 21.661.457 32.496-10.763 32.657-18.924.107-4.939-3.241-9.799-7.928-9.689-3.355.095-7.57 2.328-8.582 6.968-.988 4.552 6.893 8.66.733 12.65-4.376 2.832-12.221 4.828-23.269 3.206l2.009-11.103c4.1-21.055 9.157-46.954 28.341-47.584 1.398-.071 6.514.063 6.633 3.446.035 1.13-.245 1.418-1.568 4.005-1.347 2.017-1.855 3.734-1.792 5.707.185 5.376 4.273 8.909 10.185 8.696 7.916-.256 10.193-7.963 10.063-11.921-.32-9.3-10.122-15.175-23.1-14.75z" fill="#FFF"/></svg>

BIN
public/images/work/d-albamedical.jpg View File


BIN
public/images/work/d-andreabakos.jpg View File


BIN
public/images/work/d-atlaszbeton.jpg View File


BIN
public/images/work/d-bambino.jpg View File


BIN
public/images/work/d-bulihotel.jpg View File


BIN
public/images/work/d-buscopan.jpg View File


BIN
public/images/work/d-bynight.jpg View File


BIN
public/images/work/d-calltivation.jpg View File


BIN
public/images/work/d-cemetery-alsocsinger.jpg View File


BIN
public/images/work/d-choco.jpg View File


BIN
public/images/work/d-csaszar.jpg View File


BIN
public/images/work/d-cukinet.jpg View File


BIN
public/images/work/d-dayang.jpg View File


BIN
public/images/work/d-djblade.jpg View File


BIN
public/images/work/d-dunarama.jpg View File


BIN
public/images/work/d-fallball-eu.jpg View File


BIN
public/images/work/d-farbe.jpg View File


BIN
public/images/work/d-feliratok.jpg View File


BIN
public/images/work/d-greensmoke.jpg View File


BIN
public/images/work/d-gs-christmas.jpg View File


BIN
public/images/work/d-gs-valentine.jpg View File


BIN
public/images/work/d-hummel.jpg View File


BIN
public/images/work/d-iw-almaink-sportja.jpg View File


BIN
public/images/work/d-iw-cserfalvi.jpg View File


BIN
public/images/work/d-iw-hungaria.jpg View File


BIN
public/images/work/d-iw-pestiekszer.jpg View File


BIN
public/images/work/d-iw-vileda.jpg View File


BIN
public/images/work/d-iw-vp-handball-fans.jpg View File


BIN
public/images/work/d-iw-vp-handball.jpg View File


BIN
public/images/work/d-kopogtato.jpg View File


BIN
public/images/work/d-laszlolang.jpg View File


BIN
public/images/work/d-matruelle.jpg View File


BIN
public/images/work/d-pe-gt.jpg View File


BIN
public/images/work/d-pharmaton-kod.jpg View File


BIN
public/images/work/d-pharmaton-rejtely.jpg View File


BIN
public/images/work/d-pharmaton-vital.jpg View File


BIN
public/images/work/d-pt-bbsz-s2.jpg View File


BIN
public/images/work/d-pt-bbsz.jpg View File


BIN
public/images/work/d-pt-hostels.jpg View File


BIN
public/images/work/d-pt-hostelshungary.jpg View File


BIN
public/images/work/d-pt-kormanyhivatalok.jpg View File


BIN
public/images/work/d-pt-marko.jpg View File


BIN
public/images/work/d-pt-olcsoutazasok.jpg View File


BIN
public/images/work/d-pt-pann-tura.jpg View File


BIN
public/images/work/d-pt-tauplitzerhof.jpg View File


BIN
public/images/work/d-qecc.jpg View File


BIN
public/images/work/d-slokat.jpg View File


BIN
public/images/work/d-system7-cms.jpg View File


BIN
public/images/work/d-szilasi.jpg View File


BIN
public/images/work/d-vk-kupongyar.jpg View File


BIN
public/images/work/d-vk.jpg View File


BIN
public/images/work/d-vke-allati.jpg View File


BIN
public/images/work/d-vke.jpg View File


BIN
public/mstile-150x150.png View File


+ 1
- 0
public/safari-pinned-tab.svg View File

@@ -0,0 +1 @@
1
+<svg version="1" xmlns="http://www.w3.org/2000/svg" width="2349.333" height="2349.333" viewBox="0 0 1762.000000 1762.000000"><path d="M1303 434.8c-8.2 2.8-11.1 4.5-20.7 12.5-4.9 4.1-11 8.8-13.6 10.6-7.3 5-23.9 12.6-36.1 16.6-13.6 4.4-23.7 6.1-44.6 7.5-24 1.6-33.5 2.7-52.7 6.6-20.4 4-26.8 4.2-39.3 1-21.7-5.7-56.1-7.1-77.3-3.2-29.9 5.5-59.4 21.2-90.1 48-9.8 8.5-27 17.9-44.2 24.2-18.2 6.6-66.5 15-79.9 13.9-24.1-2-49.3-6.6-111.7-20.5-56.3-12.6-72.5-16.1-93.8-20.4-59.2-11.8-89.4-15.6-123-15.7-23.9 0-33.4 1.4-47.9 6.7-39.7 14.8-68 33.6-107.6 71.3-9.9 9.5-21.8 20.2-26.4 23.9-4.7 3.7-11.9 9.7-16.1 13.4-17.4 15-43.6 46.3-71.8 85.7l-11 15.4 5.6 3.4c12.5 7.5 18.3 16.1 19 28.3.5 8.7-.9 16.4-4.2 23.5l-2.3 5 3.3 28.5c3.2 27.9 5.1 42.4 13.4 101.5 4.7 33.2 6.9 55.6 7 70 0 5.5-1.3 21.7-3 36-1.6 14.3-3.6 34.3-4.5 44.5-5.3 62.3-10.2 95.8-15.5 108.1-3.8 8.5-5.4 19.1-4.5 29.4 1.7 20.9 6.8 46.7 12.1 61.8 3.1 8.7 11 23.3 16.5 30.6 2.2 2.9 3.9 5.4 3.7 5.6-.2.2-7.3 1.3-15.8 2.5-31.4 4.4-86.3 14.3-94.5 17-3.8 1.2 57.6.6 193-2 55-1.1 127.7-2.4 161.5-3 33.8-.6 97.1-1.7 140.5-2.5 43.5-.8 102.9-1.9 132-2.5 29.2-.5 80.2-1.4 113.5-2 33.3-.6 94-1.7 135-2.5s102.2-1.9 136-2.5c33.8-.6 96.8-1.7 140-2.5s101.7-1.9 130-2.5c28.3-.5 69.3-1.2 91-1.5 50-.7 74.1-1.5 71.5-2.6-1.1-.4-9.9-1.2-19.5-1.8-9.6-.6-32.1-2.2-50-3.5-29.5-2.3-93.5-6.9-113.5-8.1-4.4-.3-24.9-1.6-45.5-3-20.6-1.3-43.3-2.7-50.5-3-7.1-.3-14.4-.8-16.1-1.1l-3.2-.4-1.7-11.3c-2-12.7-6.1-28-9.8-35.9-3.4-7.4-10.6-16.6-16.4-20.9-2.6-2-11.3-7.6-19.3-12.3-8.3-4.9-16.1-10.4-18.2-12.7-18-19.7-30.3-54.7-34.8-98.9-1.6-15.8-1.3-51.6.5-67.7 2.7-23.6 4.9-32.3 11.4-45.8 9.7-19.9 17.8-44.4 22.7-68.9 1.5-7.4 2.5-9.8 6-14.5 14.5-19.3 43-49 61.9-64.4 18.9-15.5 33.4-24.2 45.2-27.2 4.9-1.2 45.4-4.9 105.8-9.5 25-1.9 72.6-6.9 91-9.5 23.4-3.3 40.5-6.9 53.5-11.1l10.5-3.4 4.3-6.7c5.7-8.9 23.9-45.7 29.8-60.3 8.5-21.2 13.5-37 14.1-45 .5-7.1.4-7.7-2.1-10.7-5.5-6.5-18.7-13.6-50.6-27.2-33.3-14.2-43-19.1-43-21.5-.1-3.9-4.8-15.5-8.3-20.3-4.1-5.6-15-16.4-22.2-22.1-12.3-9.7-30-20.8-86.8-54.2-18.7-11-19.6-11.7-20.7-15.5-4.5-15.2-19.4-31.2-37.5-40.3-3.3-1.6-10.5-4.4-16-6.2-8.9-2.9-11.5-3.3-24-3.6-11.6-.4-14.9-.1-19.5 1.4zm-449.7 644.5c.4 1.2 1.4 7.8 2.3 14.7 2.3 17.5 1.4 46.6-2 68.5-2.7 17.5-8.4 43.4-11.1 50.5-.9 2.5-2.3 6.7-3.1 9.5-2.7 9 .1 22.2 7.7 36.3 2.1 4.1 3.9 7.5 3.9 7.6 0 .2-9.8.6-21.7 1-12 .4-46.5 1.6-76.8 2.7-71.9 2.5-63.8 2.8-66.1-2.3-4.6-10.3-16.9-18.2-40.6-26.2-18.8-6.4-19.6-6.8-20.3-11.8-1.6-10.9 5.2-29.8 24.4-68.2l12.6-25.1 7.5-.3c60.5-2 127.5-22.4 171.5-52.2 5.5-3.7 10.3-6.8 10.6-6.9.4 0 .9.9 1.2 2.2zm-377.4 125.2c1.7 7.1 4.6 19.1 6.5 26.5 4.3 16.3 4.6 24.2 1.2 34.5l-2.3 7-.8-3.5c-1.3-6-6.4-17.9-10-23.6-4.5-6.9-26.5-29.6-37-38.1-4.4-3.5-10.6-7.9-13.7-9.6-3.2-1.8-5.7-3.5-5.5-3.8.1-.4 4.9-4.1 10.7-8.4 5.9-4.4 17.1-14.5 25.5-23l14.9-15.1 3.8 22.1c2 12.1 5.1 27.8 6.7 35zm555.1-16.9c2.2 3.9 4.7 9.1 5.5 11.4l1.5 4.2-2.8-1.7c-6.2-4-9.1-6.7-12.1-11.2-3.9-5.8-7.1-16-7.1-22.2l.1-4.6 5.5 8.5c3 4.7 7.3 11.7 9.4 15.6z"/></svg>

+ 19
- 0
public/site.webmanifest View File

@@ -0,0 +1,19 @@
1
+{
2
+    "name": "SplendidBear",
3
+    "short_name": "SplendidBear",
4
+    "icons": [
5
+        {
6
+            "src": "/android-chrome-192x192.png",
7
+            "sizes": "192x192",
8
+            "type": "image/png"
9
+        },
10
+        {
11
+            "src": "/android-chrome-512x512.png",
12
+            "sizes": "512x512",
13
+            "type": "image/png"
14
+        }
15
+    ],
16
+    "theme_color": "#ffffff",
17
+    "background_color": "#ffffff",
18
+    "display": "standalone"
19
+}

+ 10
- 0
templates/base.html.twig View File

@@ -6,6 +6,16 @@
6 6
         <meta name="author" content="https://www.laszlolang.com"/>
7 7
         <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 8
         <meta name="description" content="It is our choices that define us."/>
9
+        <link rel="apple-touch-icon" sizes="180x180" href="{{ asset('apple-touch-icon.png') }}">
10
+        <link rel="icon" type="image/png" sizes="32x32" href="{{ asset('favicon-32x32.png') }}">
11
+        <link rel="icon" type="image/png" sizes="16x16" href="{{ asset('favicon-16x16.png') }}">
12
+        {#<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />#}
13
+        <link rel="manifest" href="{{ asset('site.webmanifest') }}">
14
+        <link rel="mask-icon" href="{{ asset('safari-pinned-tab.svg') }}" color="#4993a8">
15
+        <meta name="apple-mobile-web-app-title" content="SplendidBear">
16
+        <meta name="application-name" content="SplendidBear">
17
+        <meta name="msapplication-TileColor" content="#2d89ef">
18
+        <meta name="theme-color" content="#ffffff">
9 19
         <title>{% block title %}Welcome!{% endblock %}</title>
10 20
         {% block stylesheets %}{% endblock %}
11 21
     </head>

+ 452
- 0
templates/default/index.html.twig View File

@@ -3,10 +3,462 @@
3 3
 {% block title %}SplendidBear Websites{% endblock %}
4 4
 
5 5
 {% block body %}
6
+    <section id="main-section"
7
+             class="fdb-block fdb-viewport"
8
+             data-block-type="call_to_action" data-id="1" draggable="true">
9
+        <div class="container align-items-center justify-content-center d-flex">
10
+            <div class="row align-items-center text-left">
11
+                <div class="col-6 bear">
12
+                    <img src="{{ asset('images/bear-2.png') }}" alt="SplendidBear logo" border="0">
13
+                </div>
14
+                <div class="col-12 col-sm-12 col-lg-6 bear-small">
15
+                    <img src="{{ asset('images/system7-Bear@250.png') }}" alt="SplendidBear logo" border="0"
16
+                         width="100">
17
+                    <h1>We make websites</h1>
18
+                    <div class="text-h3">
19
+                        We design and create websites. We help You from the design of graphics to deploy
20
+                        to your production server.
21
+                        <br>
22
+                        <br>
23
+                        This site is under construction yet. :)
24
+                    </div>
25
+                    <div class="mt-5">
26
+                        <a href="#references" class="btn btn-shadow">References</a>
27
+                        <a href="#contact" class="btn btn-white btn-shadow ml-4">Contact</a>
28
+                    </div>
29
+                </div>
30
+            </div>
31
+        </div>
32
+        <section id="references">
33
+            <div class="owl-carousel owl-theme">
34
+                <div>
35
+                    <img src="{{ asset('images/work/d-albamedical.jpg') }}" alt="" border="0">
36
+                </div>
37
+                <div>
38
+                    <img src="{{ asset('images/work/d-andreabakos.jpg') }}" alt="" border="0">
39
+                </div>
40
+                <div>
41
+                    <img src="{{ asset('images/work/d-atlaszbeton.jpg') }}" alt="" border="0">
42
+                </div>
43
+                <div>
44
+                    <img src="{{ asset('images/work/d-bambino.jpg') }}" alt="" border="0">
45
+                </div>
46
+                <div>
47
+                    <img src="{{ asset('images/work/d-bulihotel.jpg') }}" alt="" border="0">
48
+                </div>
49
+                <div>
50
+                    <img src="{{ asset('images/work/d-buscopan.jpg') }}" alt="" border="0">
51
+                </div>
52
+                <div>
53
+                    <img src="{{ asset('images/work/d-bynight.jpg') }}" alt="" border="0">
54
+                </div>
55
+                <div>
56
+                    <img src="{{ asset('images/work/d-calltivation.jpg') }}" alt="" border="0">
57
+                </div>
58
+                <div>
59
+                    <img src="{{ asset('images/work/d-cemetery-alsocsinger.jpg') }}" alt="" border="0">
60
+                </div>
61
+                <div>
62
+                    <img src="{{ asset('images/work/d-choco.jpg') }}" alt="" border="0">
63
+                </div>
64
+                <div>
65
+                    <img src="{{ asset('images/work/d-csaszar.jpg') }}" alt="" border="0">
66
+                </div>
67
+                <div>
68
+                    <img src="{{ asset('images/work/d-cukinet.jpg') }}" alt="" border="0">
69
+                </div>
70
+                <div>
71
+                    <img src="{{ asset('images/work/d-dayang.jpg') }}" alt="" border="0">
72
+                </div>
73
+                <div>
74
+                    <img src="{{ asset('images/work/d-djblade.jpg') }}" alt="" border="0">
75
+                </div>
76
+                <div>
77
+                    <img src="{{ asset('images/work/d-dunarama.jpg') }}" alt="" border="0">
78
+                </div>
79
+                <div>
80
+                    <img src="{{ asset('images/work/d-fallball-eu.jpg') }}" alt="" border="0">
81
+                </div>
82
+                <div>
83
+                    <img src="{{ asset('images/work/d-farbe.jpg') }}" alt="" border="0">
84
+                </div>
85
+                <div>
86
+                    <img src="{{ asset('images/work/d-feliratok.jpg') }}" alt="" border="0">
87
+                </div>
88
+                <div>
89
+                    <img src="{{ asset('images/work/d-greensmoke.jpg') }}" alt="" border="0">
90
+                </div>
91
+                <div>
92
+                    <img src="{{ asset('images/work/d-gs-christmas.jpg') }}" alt="" border="0">
93
+                </div>
94
+                <div>
95
+                    <img src="{{ asset('images/work/d-gs-valentine.jpg') }}" alt="" border="0">
96
+                </div>
97
+                <div>
98
+                    <img src="{{ asset('images/work/d-hummel.jpg') }}" alt="" border="0">
99
+                </div>
100
+                <div>
101
+                    <img src="{{ asset('images/work/d-iw-almaink-sportja.jpg') }}" alt="" border="0">
102
+                </div>
103
+                <div>
104
+                    <img src="{{ asset('images/work/d-iw-cserfalvi.jpg') }}" alt="" border="0">
105
+                </div>
106
+                <div>
107
+                    <img src="{{ asset('images/work/d-iw-hungaria.jpg') }}" alt="" border="0">
108
+                </div>
109
+                <div>
110
+                    <img src="{{ asset('images/work/d-iw-pestiekszer.jpg') }}" alt="" border="0">
111
+                </div>
112
+                <div>
113
+                    <img src="{{ asset('images/work/d-iw-vileda.jpg') }}" alt="" border="0">
114
+                </div>
115
+                <div>
116
+                    <img src="{{ asset('images/work/d-iw-vp-handball.jpg') }}" alt="" border="0">
117
+                </div>
118
+                <div>
119
+                    <img src="{{ asset('images/work/d-iw-vp-handball-fans.jpg') }}" alt="" border="0">
120
+                </div>
121
+                <div>
122
+                    <img src="{{ asset('images/work/d-kopogtato.jpg') }}" alt="" border="0">
123
+                </div>
124
+                <div>
125
+                    <img src="{{ asset('images/work/d-laszlolang.jpg') }}" alt="" border="0">
126
+                </div>
127
+                <div>
128
+                    <img src="{{ asset('images/work/d-matruelle.jpg') }}" alt="" border="0">
129
+                </div>
130
+                <div>
131
+                    <img src="{{ asset('images/work/d-pharmaton-kod.jpg') }}" alt="" border="0">
132
+                </div>
133
+                <div>
134
+                    <img src="{{ asset('images/work/d-pharmaton-rejtely.jpg') }}" alt="" border="0">
135
+                </div>
136
+                <div>
137
+                    <img src="{{ asset('images/work/d-pharmaton-vital.jpg') }}" alt="" border="0">
138
+                </div>
139
+                <div>
140
+                    <img src="{{ asset('images/work/d-pt-bbsz.jpg') }}" alt="" border="0">
141
+                </div>
142
+                <div>
143
+                    <img src="{{ asset('images/work/d-pt-bbsz-s2.jpg') }}" alt="" border="0">
144
+                </div>
145
+                <div>
146
+                    <img src="{{ asset('images/work/d-pt-hostels.jpg') }}" alt="" border="0">
147
+                </div>
148
+                <div>
149
+                    <img src="{{ asset('images/work/d-pt-hostelshungary.jpg') }}" alt="" border="0">
150
+                </div>
151
+                <div>
152
+                    <img src="{{ asset('images/work/d-pt-kormanyhivatalok.jpg') }}" alt="" border="0">
153
+                </div>
154
+                <div>
155
+                    <img src="{{ asset('images/work/d-pt-marko.jpg') }}" alt="" border="0">
156
+                </div>
157
+                <div>
158
+                    <img src="{{ asset('images/work/d-pt-olcsoutazasok.jpg') }}" alt="" border="0">
159
+                </div>
160
+                <div>
161
+                    <img src="{{ asset('images/work/d-pt-pann-tura.jpg') }}" alt="" border="0">
162
+                </div>
163
+                <div>
164
+                    <img src="{{ asset('images/work/d-pt-tauplitzerhof.jpg') }}" alt="" border="0">
165
+                </div>
166
+                <div>
167
+                    <img src="{{ asset('images/work/d-qecc.jpg') }}" alt="" border="0">
168
+                </div>
169
+                <div>
170
+                    <img src="{{ asset('images/work/d-slokat.jpg') }}" alt="" border="0">
171
+                </div>
172
+                <div>
173
+                    <img src="{{ asset('images/work/d-system7-cms.jpg') }}" alt="" border="0">
174
+                </div>
175
+                <div>
176
+                    <img src="{{ asset('images/work/d-szilasi.jpg') }}" alt="" border="0">
177
+                </div>
178
+                <div>
179
+                    <img src="{{ asset('images/work/d-vk.jpg') }}" alt="" border="0">
180
+                </div>
181
+                <div>
182
+                    <img src="{{ asset('images/work/d-vk-kupongyar.jpg') }}" alt="" border="0">
183
+                </div>
184
+                <div>
185
+                    <img src="{{ asset('images/work/d-vke.jpg') }}" alt="" border="0">
186
+                </div>
187
+                <div>
188
+                    <img src="{{ asset('images/work/d-vke-allati.jpg') }}" alt="" border="0">
189
+                </div>
6 190
 
191
+            </div>
192
+        </section>
193
+    </section>
194
+    <section class="fdb-block pt-5" data-block-type="features" data-id="1" draggable="true" id="features">
195
+        <div class="container">
196
+            <div class="row text-left mt-5 references">
197
+                <div class="col-12 col-md-4 mt-5">
198
+                    <div class="row">
199
+                        <div class="col-3">
200
+                            <div class="img-fluid">
201
+                                <i class="fas fa-user-circle"></i>
202
+                            </div>
203
+                        </div>
204
+                        <div class="col-9">
205
+                            <h3><strong>Portfolio</strong></h3>
206
+                            <p>Far far away, behind the word mountains, far from the countries</p>
207
+                        </div>
208
+                    </div>
209
+                </div>
210
+                <div class="col-12 col-md-4 pt-4 pt-md-0 mt-5">
211
+                    <div class="row">
212
+                        <div class="col-3">
213
+                            <div class="img-fluid">
214
+                                <i class="fas fa-shopping-basket"></i>
215
+                            </div>
216
+                        </div>
217
+                        <div class="col-9">
218
+                            <h3><strong>Webshop</strong></h3>
219
+                            <p>Separated they live in Bookmarksgrove right at the coast</p>
220
+                        </div>
221
+                    </div>
222
+                </div>
223
+                <div class="col-12 col-md-4 pt-4 pt-md-0 mt-5">
224
+                    <div class="row">
225
+                        <div class="col-3">
226
+                            <div class="img-fluid">
227
+                                <i class="fas fa-mobile-alt"></i>
228
+                            </div>
229
+                        </div>
230
+                        <div class="col-9">
231
+                            <h3><strong>Mobile API</strong></h3>
232
+                            <p>A small river named Duden flows by their place and supplies it</p>
233
+                        </div>
234
+                    </div>
235
+                </div>
236
+                <div class="col-12 col-md-4 mt-5">
237
+                    <div class="row">
238
+                        <div class="col-3">
239
+                            <div class="img-fluid">
240
+                                <i class="fas fa-database"></i>
241
+                            </div>
242
+                        </div>
243
+                        <div class="col-9">
244
+                            <h3><strong>Administration databases</strong></h3>
245
+                            <p>Far far away, behind the word mountains, far from the countries</p>
246
+                        </div>
247
+                    </div>
248
+                </div>
249
+                <div class="col-12 col-md-4 pt-4 pt-md-0 mt-5">
250
+                    <div class="row">
251
+                        <div class="col-3">
252
+                            <div class="img-fluid">
253
+                                <i class="fas fa-server"></i>
254
+                            </div>
255
+                        </div>
256
+                        <div class="col-9">
257
+                            <h3><strong>Hosting</strong></h3>
258
+                            <p>Separated they live in Bookmarksgrove right at the coast</p>
259
+                        </div>
260
+                    </div>
261
+                </div>
262
+                <div class="col-12 col-md-4 pt-4 pt-md-0 mt-5">
263
+                    <div class="row">
264
+                        <div class="col-3">
265
+                            <div class="img-fluid">
266
+                                <i class="fas fa-images"></i>
267
+                            </div>
268
+                        </div>
269
+                        <div class="col-9">
270
+                            <h3><strong>Graphics design</strong></h3>
271
+                            <p>A small river named Duden flows by their place and supplies it</p>
272
+                        </div>
273
+                    </div>
274
+                </div>
275
+            </div>
276
+        </div>
277
+    </section>
278
+    <section class="fdb-block fdb-image-bg gitea"
279
+             data-block-type="contents" data-id="1" draggable="true">
280
+        <div class="container">
281
+            <div class="row text-left">
282
+                <div class="col-12 col-md-8 col-lg-6 ml-sm-auto">
283
+                    <div class="fdb-box fdb-touch bg-dark">
284
+                        <div class="row justify-content-center">
285
+                            <div class="col-12 col-xl-10 text-center">
286
+                                <h1>Follow Your project</h1>
287
+                                <div class="text-h3">
288
+                                    You would never ask "How is the project going?" - There are no lost informations
289
+                                    about the tasks or issues. <br>
290
+                                    We have a self-hosted Gitea system. It is similar to the Github.
291
+                                </div>
292
+                                <div class="text-h3 mt-4">
293
+                                    <a href="https://gitea.splendidbear.org/SplendidBear/SplendidBearWebsites"
294
+                                       target="_blank"
295
+                                       class="btn btn-round">
296
+                                        Check demo project out
297
+                                    </a>
298
+                                </div>
299
+                            </div>
300
+                        </div>
301
+                    </div>
302
+                </div>
303
+            </div>
304
+        </div>
305
+    </section>
306
+    <section class="fdb-block fp-active bg-gray techs" data-block-type="call_to_action" data-id="2" draggable="true">
307
+        <div class="container">
308
+            <div class="row justify-content-center">
309
+                <div class="col-12 col-md-8 col-lg-6 text-center">
310
+                    <h1>Used technologies</h1>
311
+                    <p class="text-h3">
312
+                        We are using the technologies above as a professional
313
+                    </p>
314
+                </div>
315
+            </div>
316
+            <div class="row pt-5 pb-3">
317
+                <div class="col-12 text-center">
318
+                    <a href="https://www.debian.org/"
319
+                       target="_blank"
320
+                       class="ml-3 mr-3 mb-2 mt-2">
321
+                        <img alt="image" height="75"
322
+                             src="{{ asset('images/techs/debian.png') }}">
323
+                    </a>
324
+                    <a href="https://gitea.io/en-us/"
325
+                       target="_blank">
326
+                        <img alt="image" height="75" class="ml-3 mr-3 mb-2 mt-2"
327
+                             src="{{ asset('images/techs/gitea.png') }}">
328
+                    </a>
329
+                    <a href="https://nextcloud.com/"
330
+                       target="_blank">
331
+                        <img alt="image" height="75" class="ml-3 mr-3 mb-2 mt-2 "
332
+                             src="{{ asset('images/techs/nextcloud.png') }}">
333
+                    </a>
334
+                    <a href="https://www.onlyoffice.com/"
335
+                       target="_blank">
336
+                        <img alt="image" height="75" class="ml-3 mr-3 mb-2 mt-2 onlyoffice"
337
+                             src="{{ asset('images/techs/onlyoffice.jpg') }}">
338
+                    </a>
339
+                    <a href="https://symfony.com/"
340
+                       target="_blank">
341
+                        <img alt="image" height="75" class="ml-3 mr-3 mb-2 mt-2"
342
+                             src="{{ asset('images/techs/symfony.svg') }}">
343
+                    </a>
344
+                    <a href="https://angular.io/"
345
+                       target="_blank">
346
+                        <img alt="image" height="75" class="ml-3 mr-3 mb-2 mt-2"
347
+                             src="{{ asset('images/techs/angular.png') }}">
348
+                    </a>
349
+                    <a href="https://mariadb.org/"
350
+                       target="_blank">
351
+                        <img alt="image" height="75" class="ml-3 mr-3 mb-2 mt-2"
352
+                             src="{{ asset('images/techs/mariadb.svg') }}">
353
+                    </a>
354
+                    <a href="https://www.postgresql.org/"
355
+                       target="_blank">
356
+                        <img alt="image" height="75" class="ml-3 mr-3 mb-2 mt-2"
357
+                             src="{{ asset('images/techs/postgresql.png') }}">
358
+                    </a>
359
+                </div>
360
+            </div>
361
+        </div>
362
+    </section>
363
+    <section class="fdb-block pt-0" data-block-type="contacts" data-id="2" draggable="true">
364
+        <div class="container-fluid p-0 pb-md-5">
365
+            <iframe class="map"
366
+                    src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2695.675408317462!2d19.05534971640721!3d47.49623637917766!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x4741dc422f0bfc5b%3A0x2339fb29098213f3!2sBudapest%2C+K%C3%A1roly+krt.!5e0!3m2!1sen!2shu!4v1534690854914"
367
+                    width="100%" height="300" frameborder="0" style="border:0" allowfullscreen=""></iframe>
368
+        </div>
369
+        <div class="container">
370
+            <div class="row mt-5">
371
+                <div class="col-12 col-md-6 col-lg-5">
372
+                    <h2>Contact Us</h2>
373
+                    <p class="text-h3">
374
+                        If you need a website, a webshop, a portfolio, an online CV, you just want to change your
375
+                        homepage's design or anything else on this subject, tell us!
376
+                    </p>
377
+
378
+                    <p class="text-h3">
379
+                        I can help you or I can give advice. Later, if you trust me, I will make your site.
380
+                    </p>
381
+                </div>
382
+                <div class="col-12 col-md-6 ml-auto pt-5 pt-md-0">
383
+                    <div class="text-h3 mb-2">
384
+                        <strong>Emails</strong>
385
+                        <ul class="list-group">
386
+                            <li class="list-group-item">
387
+                                <a href="mailto:langlasz@gmail.com">langlasz@gmail.com</a>
388
+                            </li>
389
+                            <li class="list-group-item">
390
+                                <a href="mailto:laszlo.lang@outlook.com">laszlo.lang@outlook.com</a>
391
+                            </li>
392
+                        </ul>
393
+                    </div>
394
+                    <div class="text-h3 mb-2">
395
+                        <strong>Phone</strong>
396
+                        <ul class="list-group">
397
+                            <li class="list-group-item">
398
+                                <a href="tel:+36702811490">+36 (70) 281 1490</a>
399
+                            </li>
400
+                        </ul>
401
+                    </div>
402
+                    <div class="text-h3 mb-2">
403
+                        <strong>Websites</strong>
404
+                        <ul class="list-group">
405
+                            <li class="list-group-item">
406
+                                <a href="https://www.splendidbear.org" target="_blank">www.splendidbear.org</a>
407
+                            </li>
408
+                            <li class="list-group-item">
409
+                                <a href="https://www.laszlolang.com" target="_blank">www.laszlolang.com</a>
410
+                            </li>
411
+                        </ul>
412
+                    </div>
413
+                </div>
414
+            </div>
415
+        </div>
416
+    </section>
417
+    <footer class="fdb-block footer-large bg-dark" data-block-type="footers" data-id="1" id="contact">
418
+        <div class="container">
419
+            <div class="row text-center">
420
+                <div class="col">
421
+                    <img src="{{ asset('images/bear-3@1000.png') }}" alt="SplendidBear" border="0" width="150">
422
+                    <h3>SplendidBear Websites</h3>
423
+                </div>
424
+            </div>
425
+            <div class="row mt-4">
426
+                <div class="col text-center">
427
+                    <p class="text-h3">
428
+                        <a href="https://www.linkedin.com/in/laszlosandorlang/"
429
+                           target="_blank">
430
+                            <i class="fab fa-linkedin" aria-hidden="true"></i>
431
+                        </a>
432
+                        &nbsp; &nbsp;
433
+                        <a href="https://twitter.com/system7_"
434
+                           target="_blank">
435
+                            <i class="fab fa-twitter" aria-hidden="true"></i>
436
+                        </a>
437
+                        &nbsp; &nbsp;
438
+                        <a href="https://www.laszlolang.com"
439
+                           target="_blank">
440
+                            <i class="far fa-window-restore" aria-hidden="true"></i>
441
+                        </a>
442
+                        &nbsp; &nbsp;
443
+                        <a href="https://stackoverflow.com/users/3111514/system7"
444
+                           target="_blank">
445
+                            <i class="fab fa-stack-overflow" aria-hidden="true"></i>
446
+                        </a>
447
+                        &nbsp; &nbsp;
448
+                        <a href="https://github.com/7system7"
449
+                           target="_blank">
450
+                            <i class="fab fa-github" aria-hidden="true"></i>
451
+                        </a>
452
+                    </p>
453
+                </div>
454
+            </div>
455
+        </div>
456
+    </footer>
7 457
 {% endblock %}
8 458
 
9 459
 {% block stylesheets %}
460
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css"
461
+          integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
10 462
     <link rel="stylesheet" media="screen" href="{{ asset('build/style.css') }}">
11 463
 {% endblock %}
12 464
 

+ 2
- 0
webpack.config.js View File

@@ -58,4 +58,6 @@ Encore
58 58
 //.enableTypeScriptLoader()
59 59
 ;
60 60
 
61
+// module.noParse = "/node_modules\\/json-schema\\/lib\\/validate\\.js/";
62
+
61 63
 module.exports = Encore.getWebpackConfig();

+ 42
- 2
yarn.lock View File

@@ -867,6 +867,10 @@ boolbase@~1.0.0:
867 867
   version "1.0.0"
868 868
   resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
869 869
 
870
+bootstrap@^4.0.0-beta.2, bootstrap@^4.1.3:
871
+  version "4.1.3"
872
+  resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.1.3.tgz#0eb371af2c8448e8c210411d0cb824a6409a12be"
873
+
870 874
 brace-expansion@^1.1.7:
871 875
   version "1.1.11"
872 876
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -2175,6 +2179,15 @@ friendly-errors-webpack-plugin@^1.6.1:
2175 2179
     error-stack-parser "^2.0.0"
2176 2180
     string-width "^2.0.0"
2177 2181
 
2182
+froala-design-blocks@^1.0.2:
2183
+  version "1.0.2"
2184
+  resolved "https://registry.yarnpkg.com/froala-design-blocks/-/froala-design-blocks-1.0.2.tgz#11afa90abe00df99b250941d1e2cd1fb1a7b635d"
2185
+  dependencies:
2186
+    bootstrap "^4.0.0-beta.2"
2187
+    jquery "^3.0.0"
2188
+    popper.js "^1.11.0"
2189
+    vinyl-paths "^2.1.0"
2190
+
2178 2191
 fs-extra@^2.0.0:
2179 2192
   version "2.1.2"
2180 2193
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
@@ -2873,6 +2886,10 @@ isstream@~0.1.2:
2873 2886
   version "0.1.2"
2874 2887
   resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
2875 2888
 
2889
+jquery@>=1.8.3, jquery@^3.0.0:
2890
+  version "3.3.1"
2891
+  resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
2892
+
2876 2893
 js-base64@^2.1.8, js-base64@^2.1.9:
2877 2894
   version "2.4.8"
2878 2895
   resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.8.tgz#57a9b130888f956834aa40c5b165ba59c758f033"
@@ -3710,6 +3727,12 @@ osenv@0, osenv@^0.1.4:
3710 3727
     os-homedir "^1.0.0"
3711 3728
     os-tmpdir "^1.0.0"
3712 3729
 
3730
+owl.carousel@^2.3.4:
3731
+  version "2.3.4"
3732
+  resolved "https://registry.yarnpkg.com/owl.carousel/-/owl.carousel-2.3.4.tgz#6c53dc8d24304b790e4f27a1dc4a655e973ccdc9"
3733
+  dependencies:
3734
+    jquery ">=1.8.3"
3735
+
3713 3736
 p-finally@^1.0.0:
3714 3737
   version "1.0.0"
3715 3738
   resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
@@ -3870,6 +3893,10 @@ pkg-up@^1.0.0:
3870 3893
   dependencies:
3871 3894
     find-up "^1.0.0"
3872 3895
 
3896
+popper.js@^1.11.0, popper.js@^1.14.4:
3897
+  version "1.14.4"
3898
+  resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.4.tgz#8eec1d8ff02a5a3a152dd43414a15c7b79fd69b6"
3899
+
3873 3900
 portfinder@^1.0.9:
3874 3901
   version "1.0.16"
3875 3902
   resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.16.tgz#a6a68be9c352bc66c1a4c17a261f661f3facaf52"
@@ -4332,7 +4359,7 @@ readable-stream@1.0:
4332 4359
     isarray "0.0.1"
4333 4360
     string_decoder "~0.10.x"
4334 4361
 
4335
-readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6:
4362
+readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6:
4336 4363
   version "2.3.6"
4337 4364
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
4338 4365
   dependencies:
@@ -5124,6 +5151,13 @@ tar@^4:
5124 5151
     safe-buffer "^5.1.2"
5125 5152
     yallist "^3.0.2"
5126 5153
 
5154
+through2@^2.0.0:
5155
+  version "2.0.3"
5156
+  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
5157
+  dependencies:
5158
+    readable-stream "^2.1.5"
5159
+    xtend "~4.0.1"
5160
+
5127 5161
 thunky@^1.0.2:
5128 5162
   version "1.0.2"
5129 5163
   resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz#a862e018e3fb1ea2ec3fce5d55605cf57f247371"
@@ -5352,6 +5386,12 @@ verror@1.10.0:
5352 5386
     core-util-is "1.0.2"
5353 5387
     extsprintf "^1.2.0"
5354 5388
 
5389
+vinyl-paths@^2.1.0:
5390
+  version "2.1.0"
5391
+  resolved "https://registry.yarnpkg.com/vinyl-paths/-/vinyl-paths-2.1.0.tgz#00820437cba38262cef8802d840f93e3392ee44b"
5392
+  dependencies:
5393
+    through2 "^2.0.0"
5394
+
5355 5395
 vm-browserify@0.0.4:
5356 5396
   version "0.0.4"
5357 5397
   resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
@@ -5516,7 +5556,7 @@ wrappy@1:
5516 5556
   version "1.0.2"
5517 5557
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
5518 5558
 
5519
-xtend@^4.0.0:
5559
+xtend@^4.0.0, xtend@~4.0.1:
5520 5560
   version "4.0.1"
5521 5561
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
5522 5562