PageSourceSearch

https://botsociety.io/js/home.js?v=3

js botsociety.io collected 2026-10-02 08:16:50 UTC 57,757 bytes, 1,526 lines download raw bytes

1/*function onloadCSS( ss, callback ) {
2	var called;
3	function newcb(){
4    if( !called && callback ){
5      called = true;
6      callback.call( ss );
7    }
8  }
9	if( ss.addEventListener ){
10		ss.addEventListener( "load", newcb );
11	}
12	if( ss.attachEvent ){
13		ss.attachEvent( "onload", newcb );
14	}
15	// This code is for browsers that don’t support onload
16	// No support for onload (it'll bind but never fire):
17	//	* Android 4.3 (Samsung Galaxy S4, Browserstack)
18	//	* Android 4.2 Browser (Samsung Galaxy SIII Mini GT-I8200L)
19	//	* Android 2.3 (Pantech Burst P9070)
20
21	// Weak inference targets Android < 4.4
22 	//if( "isApplicationInstalled" in navigator && "onloadcssdefined" in ss ) {
23	//	ss.onloadcssdefined( newcb );
24	//}
25}*/
26
27function verticalAlign(obj, identifier) {
28  var h_to_align = $(identifier).height();
29  var h_obj = $(obj).height();
30  var f = h_to_align / 2 - h_obj / 2;
31  // console.log("h_to_align: "+h_to_align)
32  // console.log("h_obj: "+h_obj)
33  // console.log("f: "+f)
34  if (f > 0) {
35    $(obj).attr("style", "width:100%;margin-top:" + f + "px");
36  }
37}
38
39$(document).ready(function () {
40  if ($("body.home.webinars.webinar").length > 0) {
41    $(window).scrollTo(0);
42  }
43
44  $("#vimeo").on("show.bs.modal", function (event) {
45    $(".modal-content").css("height", $(window).height());
46    var w = $(window).width();
47    //console.log("Width: "+w);
48    w = w - 40;
49    if (w > 1200) {
50      w = 1200;
51    }
52    var options = {
53      url: "https://vimeo.com/320393587",
54      width: w,
55      autoplay: true,
56      byline: false,
57      title: false,
58    };
59
60    var videoPlayer = new Vimeo.Player("vimeoplayer", options);
61
62    videoPlayer.on("play", function () {
63      //console.log('Played the video');
64      var topBorder =
65        ($(window).height() - 30) / 2 - $("#vimeoplayer").height() / 2;
66      $("#vimeoplayer").css("margin-top", topBorder);
67    });
68    $("#vimeo").on("hide.bs.modal", function (event) {
69      videoPlayer.pause();
70    });
71    videoPlayer.on("ended", function (data) {
72      $("#vimeo").modal("toggle");
73    });
74  });
75
76  if ($(".alert.alert-primary").length > 0) {
77    $(".navbar").addClass("withbar");
78    if ($("body.home.pricing").length > 0) {
79      $("body.home.pricing").css("padding-top", "100px");
80    }
81    if ($("body.home.customer-stories").length > 0) {
82      $("body.home.customer-stories").css("padding-top", "100px");
83    }
84    if (
85      $(window).width() >= 768 &&
86      $(window).height() < 800 &&
87      $("body.home.enterprise").length > 0
88    ) {
89      $("body.home.enterprise").css("padding-top", "120px");
90    }
91  }
92  $(".alert.alert-primary button").click(function () {
93    $(".navbar").removeClass("withbar");
94    if ($("body.home.pricing").length > 0) {
95      $("body.home.pricing").css("padding-top", "60px");
96    }
97    if ($("body.home.customer-stories").length > 0) {
98      $("body.home.customer-stories").css("padding-top", "60px");
99    }
100    if (
101      $(window).width() < 1440 &&
102      $(window).width() > 768 &&
103      $("body.home.enterprise").length > 0
104    ) {
105      $("body.home.enterprise").css("padding-top", "inherit");
106    }
107  });
108
109  console.log("Hey 👋 https://botsociety.io/careers/fullstack");
110  if ($(".communitypicture").length > 0) {
111    $(".communitypicture").each(function (i, el) {
112      var bg = $(el).data("bg");
113      $(el).attr("style", "background-image:" + bg);
114    });
115  }
116
117  if ($("#loadcss").length > 0) {
118    var stylesheet = loadCSS(
119      $("#loadcss").val(),
120      document.getElementById("loadcss")
121    );
122  }
123  /*animations of the homepage */
124  var mainbotUp = true;
125  setTimeout(function () {
126    var illm = $(".illustration").attr("style");
127    setInterval(function () {
128      var t = "";
129      if (mainbotUp == true) {
130        //$(".inner-illustration.mainbot").attr("style","margin-top:55px;filter: brightness(113%);"+t);
131        $(".inner-illustration.mainbot").attr("style", "opacity:0.7;top:8px;");
132        $(".illustration").attr("style", "margin-top:8px;" + illm);
133        mainbotUp = false;
134      } else {
135        $(".inner-illustration.mainbot").attr(
136          "style",
137          "opacity:1;margin-top:0px;"
138        );
139        $(".illustration").attr("style", "margin-top:0px;" + illm);
140        //$(".inner-illustration.mainbot").attr("style","margin-top:70px;"+t);
141        mainbotUp = true;
142      }
143    }, 2000);
144  }, 2000);
145
146  var lastScrollTop = 0;
147  var zoom = 100;
148  var csssampleh = 40;
149  if ($("#home").length > 0) {
150    var target = $("#home").offset().top;
151    //var second_target = $("#first-elem").offset().top;
152    var channels_moved = false;
153    $(window).scroll(function (event) {
154      var st = $(this).scrollTop();
155      if (st > lastScrollTop) {
156        //zoom = zoom + 0.125;
157      } else {
158        //zoom = zoom - 0.125;
159      }
160      if (st > target) {
161        if (st > lastScrollTop) {
162          csssampleh = csssampleh - 3;
163        } else {
164          csssampleh = csssampleh + 3;
165        }
166        var s = $(".inner-illustration.otherbots").attr("style");
167        $(".inner-illustration.otherbots").attr(
168          "style",
169          s +
170            ";margin-top:" +
171            csssampleh.toString() +
172            "px;background-size:" +
173            zoom.toString() +
174            "%"
175        );
176      }
177      /*channel animation on the homepage */
178      // if (st > second_target && channels_moved === false) {
179      //   $("img.foreground").each(function(i, el) {
180      //     var nt = Math.floor(Math.random() * 100);
181      //     nt = (nt * 10)/2;
182      //     //console.log(nt);
183      //     setTimeout(function() {
184      //     console.warn("trigger animation");
185      //       var n = Math.floor(Math.random() * 10) + 2;
186      //       //console.log(n);
187      //       $(el).attr("style", "margin-top:"+n+"px");
188      //       setTimeout(function() {
189      //         $("img.foreground").attr("style", "margin-top:0px");
190      //       },2000+nt*1.3)
191      //     },1500+nt)
192      //   })
193      //   channels_moved = true;
194      // }
195
196      /*end of second animation channel */
197
198      lastScrollTop = st;
199    });
200  }
201  /*end animations of the homepage */
202
203  //loadCSS( '#{cdnurl}/complete'+version+'.css', document.getElementById("loadcss") );
204  /*
205  var OSName="Unknown OS";
206  var Browser;
207  if (navigator.appVersion.indexOf("Win")!=-1) { OSName="Windows" };
208  if (navigator.appVersion.indexOf("Mac")!=-1) { OSName="MacOS" };
209  if (navigator.appVersion.indexOf("X11")!=-1) { OSName="UNIX" };
210  if (navigator.appVersion.indexOf("Linux")!=-1) { OSName="Linux" };
211  if (navigator.appVersion.indexOf("Chrome")!=-1) { Browser="Chrome" };
212  if (navigator.appVersion.indexOf("MSIE")!=-1) { Browser="IE" };
213  if (OSName === "Windows") {
214    //$("body").addClass("windowsChrome");
215  }*/
216  $("img").each(function (k, image) {
217    if ($(image).attr("src") !== undefined) {
218      if ($(image).attr("src").indexOf("_sm") > -1) {
219        var s = $(image).attr("src").replace("_sm", "");
220        $(image).attr("src", s);
221      }
222      if ($(window).width() < 768) {
223        if ($(image).attr("src").indexOf("placeholder") > -1) {
224          var src = $(image).data("src");
225          $(image).attr("src", src);
226        }
227      }
228    }
229  });
230  if ($(window).width() > 768) {
231    $("video").each(function (k, image) {
232      if ($(image).attr("src") !== undefined) {
233        if ($(image).attr("src").indexOf("placeholder") > -1) {
234          var src = $(image).data("src");
235          $(image).attr("src", src);
236        }
237      }
238    });
239  }
240  /*
241  //http://stackoverflow.com/questions/1713771/how-to-detect-page-zoom-level-in-all-modern-browsers
242  var screenCssPixelRatio = (window.outerWidth - 8) / window.innerWidth;
243  if (screenCssPixelRatio >= .46 && screenCssPixelRatio <= .54) {
244    zoomLevel = "-4";
245  } else if (screenCssPixelRatio <= .64) {
246    zoomLevel = "-3";
247  } else if (screenCssPixelRatio <= .76) {
248    zoomLevel = "-2";
249  } else if (screenCssPixelRatio <= .92) {
250    zoomLevel = "-1";
251  } else if (screenCssPixelRatio <= 1.10) {
252    zoomLevel = "0";
253  } else if (screenCssPixelRatio <= 1.32) {
254    zoomLevel = "1";
255  } else if (screenCssPixelRatio <= 1.58) {
256    zoomLevel = "2";
257  } else if (screenCssPixelRatio <= 1.90) {
258    zoomLevel = "3";
259  } else if (screenCssPixelRatio <= 2.28) {
260    zoomLevel = "4";
261  } else if (screenCssPixelRatio <= 2.70) {
262    zoomLevel = "5";
263  } else {
264    zoomLevel = "unknown";
265  }
266  //$("body").css("zoom", zoomLevel);
267  */
268  $(".down-arrow").click(function () {
269    $(window).scrollTo("#second", { duration: 600, offset: -70 });
270    return false;
271  });
272
273  // CookieDisclaimer.init({
274  //   name: "CookieDisclaimer",
275  //   message:
276  //     'Our website uses cookies to monitor traffic on our website and ensure that we can provide our customers with the best online experience possible. Please read our <a href="/privacy-policy">cookie policy</a> to view more details on the cookies we use.',
277  //   template: "/cookie-disclaimer",
278  // });
279
280  if ($("span#bot_count").length > 0) {
281    console.log($("input#csrf").val());
282    $.post(
283      "/bot_count",
284      { _csrf: $("input#csrf").val() },
285      function (err, res, data) {
286        $("span#bot_count").text(data.responseJSON.number.toString());
287        $("span#bot_count").digits();
288      },
289      "json"
290    );
291  }
292
293  //$(".features").click(function() {
294  //  $(window).scrollTo(".second", {duration: 1200, offset: -100});
295  //})
296
297  $(".landing_page--arrow").click(function () {
298    $(window).scrollTo(".first", { duration: 1200, offset: 0 });
299  });
300
301  if ($(".container-fluid.first").length > 0) {
302    setTimeout(function () {
303      // adjustHome();
304    }, 50);
305    $(window).resize(function () {
306      // adjustHome();
307    });
308  }
309  if ($("body.signup").length > 0 || $("h1.pricing").length > 0) {
310    setTimeout(function () {
311      $(".navbar.navbar-default.navbar-fixed-top.homepage").addClass("shadow");
312    }, 200);
313  }
314
315  if ($(".container.white").length > 0) {
316    $(".container.white").css("min-height", $(window).height() - 183 + "px");
317  }
318
319  function adjustHome() {
320    $("iframe.youtube").attr("height", ($("iframe.youtube").width() / 16) * 9);
321    $("iframe.video").height($(window).height() - 80);
322    var h = $(window).height() - $(".navbar-fixed-top.homepage").height() - 127; // 2*$(".navbar-fixed-top.homepage").attr("padding-top");
323
324    if (
325      $(".youtube").length > 0 &&
326      $(window).width() > 768 &&
327      $("body.features").length == 0
328    ) {
329      $(".youtube").each(function () {
330        verticalAlign($(this), $(this).parent().parent().find(".col-md-4"));
331      });
332    }
333
334    if ($(".polaroid-wrapper").length > 0) {
335      var items = ["1", "2", "-1", "-2"];
336      $(".polaroid-wrapper").each(function () {
337        var item = items[Math.floor(Math.random() * items.length)];
338        $(this).attr("style", "transform:rotate(" + item + "deg);");
339      });
340    }
341
342    //$(".inner-illustration.otherbots").attr("style", "top:-"+(h+127).toString()+"px;")
343    if ($(window).height() > 800 && $(window).width() > 768) {
344      if (h > 1000) {
345        h = 900;
346      }
347      //console.log("h desktop ",h);
348      if ($(window).width() < 4500 && $(window).width() > 988) {
349        $(".container-fluid.first").css("height", h);
350        $(".illustration").css("height", h);
351      }
352      //$(".macbook").removeAttr("style");
353      $("#home").removeAttr("style");
354      $(".container-fluid.brands").removeAttr("style");
355    } else {
356      //console.warn("HEREEEE2")
357      if ($(window).height() < 800 && $(window).width() > 768) {
358        console.warn("tablet2");
359        //$(".inner-illustration.mainbot").attr("style","position:relative;top:-162px;")
360        //$(".container-fluid.brands").css("display", "none");
361        //$(".down-arrow").css("padding", "10px");
362        if ($(window).width() < 1448 && $(window).width() > 989) {
363          var h =
364            $(window).height() - $(".navbar-fixed-top.homepage").height() - 127;
365          if (h < 600) {
366            h = 600;
367          }
368          console.warn("tablet2");
369          $(".container-fluid.first").css("height", h);
370          $(".illustration").css("height", h);
371          //$(".macbook").removeAttr("style");
372          $("#home").removeAttr("style");
373          $(".container-fluid.brands").removeAttr("style");
374        }
375      }
376      if ($(window).height() > 770) {
377        h = h * 0.9;
378        if (h < 500) {
379          h = 700;
380        }
381        //$(".container-fluid.first").css("height", h);
382        //$(".illustration").css("height", h);
383        //$(".macbook").css("margin-top", "-50px")
384        //$("#home").removeAttr("style");
385      } else {
386        h = $(window).height();
387        if (h < 500) {
388          h = 700;
389        }
390        if (
391          $(window).width() < 1200 &&
392          $(window).width() > 790 &&
393          $(window).height() < 730
394        ) {
395          $(".container-fluid.first").css("height", h);
396        }
397        //$(".container-fluid.first").css("height", h);
398        //$(".illustration").css("height", h);
399        //$(".macbook").css("margin-top", "-5px")
400        //$("#home").css("padding", "40px 0px 80px 0px")
401      }
402    }
403    $("body").removeClass("loading");
404    //console.warn("init aos 3");
405    //window.AOS.refresh();
406  }
407  // onloadCSS( stylesheet, function() {
408  //   $("body").removeClass("loading");
409  // //  adjustHome();
410  // });
411
412  $(window).scroll(function () {
413    if ($(document).scrollTop() > 1) {
414      $(".navbar.navbar-default.navbar-fixed-top.homepage").addClass("shadow");
415      $(".landing_page--arrow").addClass("shadow");
416    } else {
417      if ($("input#bodyClass").val().indexOf("home enterprise") > -1) {
418        $(".navbar.navbar-default.navbar-fixed-top.homepage").removeClass(
419          "shadow"
420        );
421        $(".landing_page--arrow").removeClass("shadow");
422      }
423    }
424  });
425  // window.AOS.init({
426  //   duration: 600,
427  //   disable: 'mobile'
428  // });
429
430  // if ($(".events-wrapper").length > 0) {
431  //   //load the spreasheet
432  //   var eventUrl =  'https://docs.google.com/spreadsheets/d/1yGLA2DBSVdNWO4Aa5yxO3clnTFMCnK3DjwwI5Ftzuus/edit#gid=0';
433  //   var cb = function(err, options, r) {
434  //     console.log(r);
435  //     for (i in r.rows) {
436  //       var event = r.rows[i].cellsArray;
437  //       if (i != 0) {
438  //         $(".eventelement").append(
439  //           "<div class=''><div class='row'><div class='col-sm-8'><p class='name'>"+event[0]+"</p><p class='location'>"+event[1]+"</p><p class='date'>"+event[2]+"</p></div><div class='col-sm-4'><a class='btn btn-primary' href='"+event[3]+"'>
439RSVP on Meetup.com</a></div></div></div><hr>"
440  //         )
441  //       }
442  //     }
443  //   };
444  //   sheetrock({
445  //     url: eventUrl,
446  //     callback: cb
447  //   })
448  // }
449});
450$.fn.digits = function () {
451  return this.each(function () {
452    $(this).text(
453      $(this)
454        .text()
455        .replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,")
456    );
457  });
458};
459var mobileMenu = false;
460window.openMobileMenu = function () {
461  if (mobileMenu === false) {
462    $(".mobileMenuOpened").removeClass("closed");
463    $(".mobileMenuOpened").css("height", "auto");
464    $("a.mobileMenu i").text("close");
465    mobileMenu = true;
466  } else {
467    $(".mobileMenuOpened").addClass("closed");
468    $(".mobileMenuOpened").css("height", "0px");
469    $("a.mobileMenu i").text("menu");
470    mobileMenu = false;
471  }
472  return false;
473};
474
475/* animated modal */
476// var $jscomp = $jscomp || {};
477// ($jscomp.scope = {}),
478//   ($jscomp.findInternal = function(n, t, o) {
479//     n instanceof String && (n = String(n));
480//     for (var e = n.length, r = 0; r < e; r++) {
481//       var i = n[r];
482//       if (t.call(o, i, r, n)) return { i: r, v: i };
483//     }
484//     return { i: -1, v: void 0 };
485//   }),
486//   ($jscomp.ASSUME_ES5 = !1),
487//   ($jscomp.ASSUME_NO_NATIVE_MAP = !1),
488//   ($jscomp.ASSUME_NO_NATIVE_SET = !1),
489//   ($jscomp.defineProperty =
490//     $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties
491//       ? Object.defineProperty
492//       : function(n, t, o) {
493//           n != Array.prototype && n != Object.prototype && (n[t] = o.value);
494//         }),
495//   ($jscomp.getGlobal = function(n) {
496//     return "undefined" != typeof window && window === n
497//       ? n
498//       : "undefined" != typeof global && null != global
499//         ? global
500//         : n;
501//   }),
502//   ($jscomp.global = $jscomp.getGlobal(this)),
503//   ($jscomp.polyfill = function(n, t, o, e) {
504//     if (t) {
505//       for (o = $jscomp.global, n = n.split("."), e = 0; e < n.length - 1; e++) {
506//         var r = n[e];
507//         r in o || (o[r] = {}), (o = o[r]);
508//       }
509//       (n = n[n.length - 1]),
510//         (e = o[n]),
511//         (t = t(e)),
512//         t != e &&
513//           null != t &&
514//           $jscomp.defineProperty(o, n, {
515//             configurable: !0,
516//             writable: !0,
517//             value: t
518//           });
519//     }
520//   }),
521//   $jscomp.polyfill(
522//     "Array.prototype.find",
523//     function(n) {
524//       return (
525//         n ||
526//         function(n, t) {
527//           return $jscomp.findInternal(this, n, t).v;
528//         }
529//       );
530//     },
531//     "es6",
532//     "es3"
533//   ),
534//   (function(n) {
535//     function t(e) {
536//       if (o[e]) return o[e].exports;
537//       var r = (o[e] = { i: e, l: !1, exports: {} });
538//       return n[e].call(r.exports, r, r.exports, t), (r.l = !0), r.exports;
539//     }
540//     var o = {};
541//     (t.m = n),
542//       (t.c = o),
543//       (t.d = function(n, o, e) {
544//         t.o(n, o) ||
545//           Object.defineProperty(n, o, {
546//             configurable: !1,
547//             enumerable: !0,
548//             get: e
549//           });
550//       }),
551//       (t.n = function(n) {
552//         var o =
553//           n && n.__esModule
554//             ? function() {
555//                 return n.default;
556//               }
557//             : function() {
558//                 return n;
559//               };
560//         return t.d(o, "a", o), o;
561//       }),
562//       (t.o = function(n, t) {
563//         return Object.prototype.hasOwnProperty.call(n, t);
564//       }),
565//       (t.p = ""),
566//       t((t.s = 0));
567//   })([
568//     function(n, t, o) {
569//       (function(n) {
570//         var t = t || {};
571//         (t.scope = {}),
572//           (t.findInternal = function(n, t, o) {
573//             n instanceof String && (n = String(n));
574//             for (var e = n.length, r = 0; r < e; r++) {
575//               var i = n[r];
576//               if (t.call(o, i, r, n)) return { i: r, v: i };
577//             }
578//             return { i: -1, v: void 0 };
579//           }),
580//           (t.ASSUME_ES5 = !1),
581//           (t.ASSUME_NO_NATIVE_MAP = !1),
582//           (t.ASSUME_NO_NATIVE_SET = !1),
583//           (t.defineProperty =
584//             t.ASSUME_ES5 || "function" == typeof Object.defineProperties
585//               ? Object.defineProperty
586//               : function(n, t, o) {
587//                   n != Array.prototype &&
588//                     n != Object.prototype &&
589//                     (n[t] = o.value);
590//                 }),
591//           (t.getGlobal = function(t) {
592//             return "undefined" != typeof window && window === t
593//               ? t
594//               : void 0 !== n && null != n
595//                 ? n
596//                 : t;
597//           }),
598//           (t.global = t.getGlobal(this)),
599//           (t.polyfill = function(n, o, e, r) {
600//             if (o) {
601//               for (
602//                 e = t.global, n = n.split("."), r = 0;
603//                 r < n.length - 1;
604//                 r++
605//               ) {
606//                 var i = n[r];
607//                 i in e || (e[i] = {}), (e = e[i]);
608//               }
609//               (n = n[n.length - 1]),
610//                 (r = e[n]),
611//                 (o = o(r)),
612//                 o != r &&
613//                   null != o &&
614//                   t.defineProperty(e, n, {
615//                     configurable: !0,
616//                     writable: !0,
617//                     value: o
618//                   });
619//             }
620//           }),
621//           t.polyfill(
622//             "Array.prototype.find",
623//             function(n) {
624//               return (
625//                 n ||
626//                 function(n, o) {
627//                   return t.findInternal(this, n, o).v;
628//                 }
629//               );
630//             },
631//             "es6",
632//             "es3"
633//           ),
634//           (function(n) {
635//             function t(e) {
636//               if (o[e]) return o[e].exports;
637//               var r = (o[e] = { i: e, l: !1, exports: {} });
638//               return (
639//                 n[e].call(r.exports, r, r.exports, t), (r.l = !0), r.exports
640//               );
641//             }
642//             var o = {};
643//             (t.m = n),
644//               (t.c = o),
645//               (t.d = function(n, o, e) {
646//                 t.o(n, o) ||
647//                   Object.defineProperty(n, o, {
648//                     configurable: !1,
649//                     enumerable: !0,
650//                     get: e
651//                   });
652//               }),
653//               (t.n = function(n) {
654//                 var o =
655//                   n && n.__esModule
656//                     ? function() {
657//                         return n.default;
658//                       }
659//                     : function() {
660//                         return n;
661//                       };
662//                 return t.d(o, "a", o), o;
663//               }),
664//               (t.o = function(n, t) {
665//                 return Object.prototype.hasOwnProperty.call(n, t);
666//               }),
667//               (t.p = ""),
668//               t((t.s = 0));
669//           })([
670//             function(n, t, o) {
671//               (function(n) {
672//                 var t = t || {};
673//                 (t.scope = {}),
674//                   (t.findInternal = function(n, t, o) {
675//                     n instanceof String && (n = String(n));
676//                     for (var e = n.length, r = 0; r < e; r++) {
677//                       var i = n[r];
678//                       if (t.call(o, i, r, n)) return { i: r, v: i };
679//                     }
680//                     return { i: -1, v: void 0 };
681//                   }),
682//                   (t.ASSUME_ES5 = !1),
683//                   (t.ASSUME_NO_NATIVE_MAP = !1),
684//                   (t.ASSUME_NO_NATIVE_SET = !1),
685//                   (t.defineProperty =
686//                     t.ASSUME_ES5 || "function" == typeof Object.defineProperties
687//                       ? Object.defineProperty
688//                       : function(n, t, o) {
689//                           n != Array.prototype &&
690//                             n != Object.prototype &&
691//                             (n[t] = o.value);
692//                         }),
693//                   (t.getGlobal = function(t) {
694//                     return "undefined" != typeof window && window === t
695//                       ? t
696//                       : void 0 !== n && null != n
697//                         ? n
698//                         : t;
699//                   }),
700//                   (t.global = t.getGlobal(this)),
701//                   (t.polyfill = function(n, o, e, r) {
702//                     if (o) {
703//                       for (
704//                         e = t.global, n = n.split("."), r = 0;
705//                         r < n.length - 1;
706//                         r++
707//                       ) {
708//                         var i = n[r];
709//                         i in e || (e[i] = {}), (e = e[i]);
710//                       }
711//                       (n = n[n.length - 1]),
712//                         (r = e[n]),
713//                         (o = o(r)),
714//                         o != r &&
715//                           null != o &&
716//                           t.defineProperty(e, n, {
717//                             configurable: !0,
718//                             writable: !0,
719//                             value: o
720//                           });
721//                     }
722//                   }),
723//                   t.polyfill(
724//                     "Array.prototype.find",
725//                     function(n) {
726//                       return (
727//                         n ||
728//                         function(n, o) {
729//                           return t.findInternal(this, n, o).v;
730//                         }
731//                       );
732//                     },
733//                     "es6",
734//                     "es3"
735//                   ),
736//                   (function(n) {
737//                     function t(e) {
738//                       if (o[e]) return o[e].exports;
739//                       var r = (o[e] = { i: e, l: !1, exports: {} });
740//                       return (
741//                         n[e].call(r.exports, r, r.exports, t),
742//                         (r.l = !0),
743//                         r.exports
744//                       );
745//                     }
746//                     var o = {};
747//                     (t.m = n),
748//                       (t.c = o),
749//                       (t.d = function(n, o, e) {
750//                         t.o(n, o) ||
751//                           Object.defineProperty(n, o, {
752//                             configurable: !1,
753//                             enumerable: !0,
754//                             get: e
755//                           });
756//                       }),
757//                       (t.n = function(n) {
758//                         var o =
759//                           n && n.__esModule
760//                             ? function() {
761//                                 return n.default;
762//                               }
763//                             : function() {
764//                                 return n;
765//                               };
766//                         return t.d(o, "a", o), o;
767//                       }),
768//                       (t.o = function(n, t) {
769//                         return Object.prototype.hasOwnProperty.call(n, t);
770//                       }),
771//                       (t.p = ""),
772//                       t((t.s = 0));
773//                   })([
774//                     function(n, t, o) {
775//                       (function(n) {
776//                         var t = t || {};
777//                         (t.scope = {}),
778//                           (t.findInternal = function(n, t, o) {
779//                             n instanceof String && (n = String(n));
780//                             for (var e = n.length, r = 0; r < e; r++) {
781//                               var i = n[r];
782//                               if (t.call(o, i, r, n)) return { i: r, v: i };
783//                             }
784//                             return { i: -1, v: void 0 };
785//                           }),
786//                           (t.ASSUME_ES5 = !1),
787//                           (t.ASSUME_NO_NATIVE_MAP = !1),
788//                           (t.ASSUME_NO_NATIVE_SET = !1),
789//                           (t.defineProperty =
790//                             t.ASSUME_ES5 ||
791//                             "function" == typeof Object.defineProperties
792//                               ? Object.defineProperty
793//                               : function(n, t, o) {
794//                                   n != Array.prototype &&
795//                                     n != Object.prototype &&
796//                                     (n[t] = o.value);
797//                                 }),
798//                           (t.getGlobal = function(t) {
799//                             return "undefined" != typeof window && window === t
800//                               ? t
801//                               : void 0 !== n && null != n
802//                                 ? n
803//                                 : t;
804//                           }),
805//                           (t.global = t.getGlobal(this)),
806//                           (t.polyfill = function(n, o, e, r) {
807//                             if (o) {
808//                               for (
809//                                 e = t.global, n = n.split("."), r = 0;
810//                                 r < n.length - 1;
811//                                 r++
812//                               ) {
813//                                 var i = n[r];
814//                                 i in e || (e[i] = {}), (e = e[i]);
815//                               }
816//                               (n = n[n.length - 1]),
817//                                 (r = e[n]),
818//                                 (o = o(r)),
819//                                 o != r &&
820//                                   null != o &&
821//                                   t.defineProperty(e, n, {
822//                                     configurable: !0,
823//                                     writable: !0,
824//                                     value: o
825//                                   });
826//                             }
827//                           }),
828//                           t.polyfill(
829//                             "Array.prototype.find",
830//                             function(n) {
831//                               return (
832//                                 n ||
833//                                 function(n, o) {
834//                                   return t.findInternal(this, n, o).v;
835//                                 }
836//                               );
837//                             },
838//                             "es6",
839//                             "es3"
840//                           ),
841//                           (function(n) {
842//                             function t(e) {
843//                               if (o[e]) return o[e].exports;
844//                               var r = (o[e] = { i: e, l: !1, exports: {} });
845//                               return (
846//                                 n[e].call(r.exports, r, r.exports, t),
847//                                 (r.l = !0),
848//                                 r.exports
849//                               );
850//                             }
851//                             var o = {};
852//                             (t.m = n),
853//                               (t.c = o),
854//                               (t.d = function(n, o, e) {
855//                                 t.o(n, o) ||
856//                                   Object.defineProperty(n, o, {
857//                                     configurable: !1,
858//                                     enumerable: !0,
859//                                     get: e
860//                                   });
861//                               }),
862//                               (t.n = function(n) {
863//                                 var o =
864//                                   n && n.__esModule
865//                                     ? function() {
866//                                         return n.default;
867//                                       }
868//                                     : function() {
869//                                         return n;
870//                                       };
871//                                 return t.d(o, "a", o), o;
872//                               }),
873//                               (t.o = function(n, t) {
874//                                 return Object.prototype.hasOwnProperty.call(
875//                                   n,
876//                                   t
877//                                 );
878//                               }),
879//                               (t.p = ""),
880//                               t((t.s = 0));
881//                           })([
882//                             function(n, t) {
883//                               !(function(n) {
884//                                 n.fn.animatedModal = function(t) {
885//                                   function o() {
886//                                     l.css({ "z-index": i.zIndexOut }),
887//                                       i.afterClose();
888//                                   }
889//                                   function e() {
890//                                     i.afterOpen();
891//                                   }
892//                                   var r = n(this),
893//                                     i = n.extend(
894//                                       {
895//                                         modalTarget: "animatedModal",
896//                                         position: "fixed",
897//                                         width: "100%",
898//                                         height: "100%",
899//                                         top: "0px",
900//                                         left: "0px",
901//                                         zIndexIn: "9999",
902//                                         zIndexOut: "-9999",
903//                                         color: "#39BEB9",
904//                                         opacityIn: "1",
905//                                         opacityOut: "0",
906//                                         animatedIn: "zoomIn",
907//                                         animatedOut: "zoomOut",
908//                                         animationDuration: ".6s",
909//                                         overflow: "auto",
910//                                         beforeOpen: function() {},
911//                                         afterOpen: function() {},
912//                                         beforeClose: function() {},
913//                                         afterClose: function() {}
914//                                       },
915//                                       t
916//                                     );
917//                                   t = n(".close-" + i.modalTarget);
918//                                   var a = n(r).attr("href"),
919//                                     l = n("body").find("#" + i.modalTarget),
920//                                     f = "#" + l.attr("id");
921//                                   l.addClass("animated"),
922//                                     l.addClass(i.modalTarget + "-off"),
923//                                     l.css({
924//                                       position: i.position,
925//                                       width: i.width,
926//                                       height: i.height,
927//                                       top: i.top,
928//                                       left: i.left,
929//                                       "background-color": i.color,
930//                                       "overflow-y": i.overflow,
931//                                       "z-index": i.zIndexOut,
932//                                       opacity: i.opacityOut,
933//                                       "-webkit-animation-duration":
934//                                         i.animationDuration,
935//                                       "-moz-animation-duration":
936//                                         i.animationDuration,
937//                                       "-ms-animation-duration":
938//                                         i.animationDuration,
939//                                       "animation-duration": i.animationDuration
940//                                     }),
941//                                     r.click(function(t) {
942//                                       t.preventDefault(),
943//                                         n("body, html").css({
944//                                           overflow: "hidden"
945//                                         }),
946//                                         a == f &&
947//                                           (l.hasClass(i.modalTarget + "-off") &&
948//                                             (l.removeClass(i.animatedOut),
949//                                             l.removeClass(
950//                                               i.modalTarget + "-off"
951//                                             ),
952//                                             l.addClass(i.modalTarget + "-on")),
953//                                           l.hasClass(i.modalTarget + "-on") &&
954//                                             (i.beforeOpen(),
955//                                             l.css({
956//                                               opacity: i.opacityIn,
957//                                               "z-index": i.zIndexIn
958//                                             }),
959//                                             l.addClass(i.animatedIn),
960//                                             l.one(
961//                                               "webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",
962//                                               e
963//                                             )));
964//                                     }),
965//                                     t.click(function(t) {
966//                                       t.preventDefault(),
967//                                         n("body, html").css({
968//                                           overflow: "auto"
969//                                         }),
970//                                         i.beforeClose(),
971//                                         l.hasClass(i.modalTarget + "-on") &&
972//                                           (l.removeClass(i.modalTarget + "-on"),
973//                                           l.addClass(i.modalTarget + "-off")),
974//                                         l.hasClass(i.modalTarget + "-off") &&
975//                                           (l.removeClass(i.animatedIn),
976//                                           l.addClass(i.animatedOut),
977//                                           l.one(
978//                                             "webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",
979//                                             o
980//                                           ));
981//                                     });
982//                                 };
983//                               })(jQuery);
984//                             }
985//                           ]);
986//                       }.call(t, o(1)));
987//                     },
988//                     function(n, t) {
989//                       t = (function() {
990//                         return this;
991//                       })();
992//                       try {
993//                         t = t || Function("return this")() || (0, eval)("this");
994//                       } catch (n) {
995//                         "object" == typeof window && (t = window);
996//                       }
997//                       n.exports = t;
998//                     }
999//                   ]);
1000//               }.call(t, o(1)));
1001//             },
1002//             function(n, t) {
1003//               t = (function() {
1004//                 return this;
1005//               })();
1006//               try {
1007//                 t = t || Function("return this")() || (0, eval)("this");
1008//               } catch (n) {
1009//                 "object" == typeof window && (t = window);
1010//               }
1011//               n.exports = t;
1012//             }
1013//           ]);
1014//       }.call(t, o(1)));
1015//     },
1016//     function(n, t) {
1017//       t = (function() {
1018//         return this;
1019//       })();
1020//       try {
1021//         t = t || Function("return this")() || (0, eval)("this");
1022//       } catch (n) {
1023//         "object" == typeof window && (t = window);
1024//       }
1025//       n.exports = t;
1026//     }
1027//   ]);
1028
1029// jQuery(document).ready(function($) {
1030//   //set animation timing
1031//   var animationDelay = 2500,
1032//     //loading bar effect
1033//     barAnimationDelay = 3800,
1034//     barWaiting = barAnimationDelay - 3000, //3000 is the duration of the transition on the loading bar - set in the scss/css file
1035//     //letters effect
1036//     lettersDelay = 50,
1037//     //type effect
1038//     typeLettersDelay = 150,
1039//     selectionDuration = 500,
1040//     typeAnimationDelay = selectionDuration + 800,
1041//     //clip effect
1042//     revealDuration = 600,
1043//     revealAnimationDelay = 1500;
1044
1045//   initHeadline();
1046
1047//   function initHeadline() {
1048//     //insert <i> element for each letter of a changing word
1049//     singleLetters($(".cd-headline.letters").find("b"));
1050//     //initialise headline animation
1051//     animateHeadline($(".cd-headline"));
1052//   }
1053
1054//   function singleLetters($words) {
1055//     $words.each(function() {
1056//       var word = $(this),
1057//         letters = word.text().split(""),
1058//         selected = word.hasClass("is-visible");
1059//       for (i in letters) {
1060//         if (word.parents(".rotate-2").length > 0)
1061//           letters[i] = "<em>" + letters[i] + "</em>";
1062//         letters[i] = selected
1063//           ? '<i class="in">' + letters[i] + "</i>"
1064//           : "<i>" + letters[i] + "</i>";
1065//       }
1066//       var newLetters = letters.join("");
1067//       word.html(newLetters).css("opacity", 1);
1068//     });
1069//   }
1070
1071//   function animateHeadline($headlines) {
1072//     var duration = animationDelay;
1073//     $headlines.each(function() {
1074//       var headline = $(this);
1075
1076//       if (headline.hasClass("loading-bar")) {
1077//         duration = barAnimationDelay;
1078//         setTimeout(function() {
1079//           headline.find(".cd-words-wrapper").addClass("is-loading");
1080//         }, barWaiting);
1081//       } else if (headline.hasClass("clip")) {
1082//         //var spanWrapper = headline.find(".cd-words-wrapper"),
1083//           //newWidth = spanWrapper.width() + 10;
1084//         //spanWrapper.css("width", newWidth);
1085//       } else if (!headline.hasClass("type")) {
1086//         //assign to .cd-words-wrapper the width of its longest word
1087//         // var words = headline.find(".cd-words-wrapper b"),
1088//         //   width = 0;
1089//         // words.each(function() {
1090//         //   var wordWidth = $(this).width();
1091//         //   if (wordWidth > width) width = wordWidth;
1092//         // });
1093//         //headline.find(".cd-words-wrapper").css("width", width);
1094//       }
1095
1096//       //trigger animation
1097//       setTimeout(function() {
1098//         hideWord(headline.find(".is-visible").eq(0));
1099//       }, duration);
1100//     });
1101//   }
1102
1103//   function hideWord($word) {
1104//     var nextWord = takeNext($word);
1105
1106//     if ($word.parents(".cd-headline").hasClass("type")) {
1107//       var parentSpan = $word.parent(".cd-words-wrapper");
1108//       parentSpan.addClass("selected").removeClass("waiting");
1109//       setTimeout(function() {
1110//         parentSpan.removeClass("selected");
1111//         $word
1112//           .removeClass("is-visible")
1113//           .addClass("is-hidden")
1114//           .children("i")
1115//           .removeClass("in")
1116//           .addClass("out");
1117//       }, selectionDuration);
1118//       setTimeout(function() {
1119//         showWord(nextWord, typeLettersDelay);
1120//       }, typeAnimationDelay);
1121//     } else if ($word.parents(".cd-headline").hasClass("letters")) {
1122//       var bool =
1123//         $word.children("i").length >= nextWord.children("i").length
1124//           ? true
1125//           : false;
1126//       hideLetter($word.find("i").eq(0), $word, bool, lettersDelay);
1127//       showLetter(nextWord.find("i").eq(0), nextWord, bool, lettersDelay);
1128//     } else if ($word.parents(".cd-headline").hasClass("clip")) {
1129//       $word
1130//         .parents(".cd-words-wrapper")
1131//         .animate({ width: "2px" }, revealDuration, function() {
1132//           switchWord($word, nextWord);
1133//           showWord(nextWord);
1134//         });
1135//     } else if ($word.parents(".cd-headline").hasClass("loading-bar")) {
1136//       $word.parents(".cd-words-wrapper").removeClass("is-loading");
1137//       switchWord($word, nextWord);
1138//       setTimeout(function() {
1139//         hideWord(nextWord);
1140//       }, barAnimationDelay);
1141//       setTimeout(function() {
1142//         $word.parents(".cd-words-wrapper").addClass("is-loading");
1143//       }, barWaiting);
1144//     } else {
1145//       switchWord($word, nextWord);
1146//       setTimeout(function() {
1147//         hideWord(nextWord);
1148//       }, animationDelay);
1149//     }
1150//   }
1151
1152//   function showWord($word, $duration) {
1153//     if ($word.parents(".cd-headline").hasClass("type")) {
1154//       showLetter($word.find("i").eq(0), $word, false, $duration);
1155//       $word.addClass("is-visible").removeClass("is-hidden");
1156//     } else if ($word.parents(".cd-headline").hasClass("clip")) {
1157//       $word
1158//         .parents(".cd-words-wrapper")
1159//         .animate({ width: $word.width() + 10 }, revealDuration, function() {
1160//           setTimeout(function() {
1161//             hideWord($word);
1162//           }, revealAnimationDelay);
1163//         });
1164//     }
1165//   }
1166
1167//   function hideLetter($letter, $word, $bool, $duration) {
1168//     $letter.removeClass("in").addClass("out");
1169
1170//     if (!$letter.is(":last-child")) {
1171//       setTimeout(function() {
1172//         hideLetter($letter.next(), $word, $bool, $duration);
1173//       }, $duration);
1174//     } else if ($bool) {
1175//       setTimeout(function() {
1176//         hideWord(takeNext($word));
1177//       }, animationDelay);
1178//     }
1179
1180//     if ($letter.is(":last-child") && $("html").hasClass("no-csstransitions")) {
1181//       var nextWord = takeNext($word);
1182//       switchWord($word, nextWord);
1183//     }
1184//   }
1185
1186//   function showLetter($letter, $word, $bool, $duration) {
1187//     $letter.addClass("in").removeClass("out");
1188
1189//     if (!$letter.is(":last-child")) {
1190//       setTimeout(function() {
1191//         showLetter($letter.next(), $word, $bool, $duration);
1192//       }, $duration);
1193//     } else {
1194//       if ($word.parents(".cd-headline").hasClass("type")) {
1195//         setTimeout(function() {
1196//           $word.parents(".cd-words-wrapper").addClass("waiting");
1197//         }, 200);
1198//       }
1199//       if (!$bool) {
1200//         setTimeout(function() {
1201//           hideWord($word);
1202//         }, animationDelay);
1203//       }
1204//     }
1205//   }
1206
1207//   function takeNext($word) {
1208//     return !$word.is(":last-child")
1209//       ? $word.next()
1210//       : $word
1211//           .parent()
1212//           .children()
1213//           .eq(0);
1214//   }
1215
1216//   function takePrev($word) {
1217//     return !$word.is(":first-child")
1218//       ? $word.prev()
1219//       : $word
1220//           .parent()
1221//           .children()
1222//           .last();
1223//   }
1224
1225//   function switchWord($oldWord, $newWord) {
1226//     $oldWord.removeClass("is-visible").addClass("is-hidden");
1227//     $newWord.removeClass("is-hidden").addClass("is-visible");
1228//   }
1229// });
1230/** youtube api */
1231
1232// 3. This function creates an <iframe> (and YouTube player)
1233//    after the API code downloads.
1234// var player;
1235// function onYouTubeIframeAPIReady() {
1236//   player = new YT.Player("youtubePlayer", {
1237//     height: "100%",
1238//     width: "100%",
1239//     videoId: "OUM71Yni7-I",
1240//     events: {
1241//       onReady: onPlayerReady,
1242//       onStateChange: onPlayerStateChange
1243//     },
1244//     playerVars: {
1245//       rel: 0,
1246//       showinfo: 0
1247//     }
1248//   });
1249// }
1250
1251// // 4. The API will call this function when the video player is ready.
1252// var done = false;
1253// function onPlayerReady(event) {
1254//   // event.target.playVideo();
1255//   done = true;
1256// }
1257// function playVideo() {
1258//   player.playVideo();
1259// }
1260
1261// // 5. The API calls this function when the player's state changes.
1262// //    The function indicates that when playing a video (state=1),
1263// //    the player should play for six seconds and then stop.
1264// function onPlayerStateChange(event) {
1265//   if (event.data == YT.PlayerState.PLAYING && !done) {
1266//     setTimeout(stopVideo, 6000);
1267//     done = true;
1268//   }
1269// }
1270// function stopVideo() {
1271//   if (player) {
1272//     player.stopVideo();
1273//   }
1274// }
1275
1276// var modalOpen;
1277
1278// function animateModal() {
1279//   $("#watchVideo").animatedModal({
1280//     animatedIn: "slideInDown",
1281//     animatedOut: "fadeOutUp",
1282//     animationDuration: ".6s",
1283//     // Callbacks
1284//     beforeOpen: function() {
1285//       $("#watchVideo").off("click");
1286//     },
1287//     afterOpen: function() {
1288//       playVideo();
1289//     },
1290//     beforeClose: function() {
1291//       stopVideo();
1292//     },
1293//     afterClose: function() {
1294//       $("#watchVideo").on("click", animateModal());
1295//     }
1296//   });
1297// }
1298
1299// animateModal();
1300
1301// document.body.addEventListener(
1302//   "click",
1303//   function(e) {
1304//     if ($("#animatedModal").hasClass("animatedModal-on")) {
1305//       if (
1306//         e.target.id == "animatedModal" ||
1307//         $(e.target).parents("#animatedModal").length
1308//       ) {
1309//         console.log("Inside div");
1310//       } else {
1311//         $("#closebt-container.close-animatedModal").click();
1312//       }
1313//     }
1314//   },
1315//   true
1316// );
1317
1318// $("iframe#youtubeVideo.video").height($(window).height() - 80);
1319
1320// $(document).keydown(function(event) {
1321//   if (event.keyCode == 27) {
1322//     $("#closebt-container.close-animatedModal").click();
1323//   }
1324// });
1325
1326// var LoadVideo = function(player_id){
1327//   var Program = {
1328//       Init: function(){
1329//           this.NewPlayer();
1330//           this.EventHandler();
1331//       },
1332//       NewPlayer: function(){
1333//           player.$element = $('#' + player_id);
1334//       },
1335//       Play: function(){
1336//           console.log(player.IsReady);
1337//           if( player.getPlayerState() === 1 ) return;
1338//           player.playVideo();
1339//       },
1340//       Pause: function(){
1341//           if( player.getPlayerState() === 2 ) return;
1342//           player.pauseVideo();
1343//       },
1344//       ScrollControl: function(){
1345//           if( Utils.IsElementInViewport(player.$element[0]) ) this.Play();
1346//           else this.Pause();
1347//       },
1348//       EventHandler: function(){
1349//           var _this = this;
1350//           $(window).on('scroll', function(){
1351//               _this.ScrollControl();
1352//           });
1353//           $('.tab-link').on('click', function(){
1354//               var $target = $('#' + $(this).data().tab);
1355//               if( !!$('iframe', $target).length && $('iframe', $target).attr('id') == player.$element.attr('id') ){
1356//                   _this.Play();
1357//               }
1358//           });
1359//       }
1360//   };
1361//   var Utils = {
1362//       IsElementInViewport: function(el){
1363//           if (typeof jQuery === "function" && el instanceof jQuery) el = el[0];
1364//           var rect = el.getBoundingClientRect();
1365//           return (
1366//               rect.top >= 0 &&
1367//               rect.left >= 0 &&
1368//               rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
1369//               rect.right <= (window.innerWidth || document.documentElement.clientWidth)
1370//           );
1371//       }
1372//   };
1373//   Program.Init();
1374// };
1375
1376// var playerBot = document.getElementById("playerBot");
1377
1378// var isMobile = false; //initiate as false
1379// // device detection
1380// if (
1381//   /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(
1382//     navigator.userAgent
1383//   ) ||
1384//   /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
1384sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
1385//     navigator.userAgent.substr(0, 4)
1386//   )
1387// ) {
1388//   isMobile = true;
1389// }
1390
1391// $(window).scroll(function() {
1392//   if (!isMobile) {
1393//     //appiar();
1394//   }
1395// });
1396
1397// function appiar() {
1398//   $("#playerBot").each(function() {
1399//     if (playerBot) {
1400//       if (isScrolledIntoView($(this))) {
1401//         if (playerBot.paused) playerBot.play();
1402//       } else {
1403//         if (!playerBot.paused) playerBot.pause();
1404//       }
1405//     }
1406//   });
1407// }
1408
1409// function isScrolledIntoView(elem) {
1410//   var $elem = $(elem);
1411//   var $window = $(window);
1412
1413//   var docViewTop = $window.scrollTop();
1414//   var docViewBottom = docViewTop + $window[0].innerHeight;
1415
1416//   var elemTop = $elem.offset().top;
1417//   var elemBottom = elemTop + $elem.height();
1418
1419//   return elemBottom <= docViewBottom && elemTop >= docViewTop;
1420// }
1421
1422$(".switch .switch-plan").click(function () {
1423  $(".switch .switch-plan").removeClass("active");
1424  $(this).addClass("active");
1425
1426  $(".professional .pricing div").hide();
1427  const plan = $(this).data("plan");
1428  $(`.professional .pricing .${plan}`).show();
1429});
1430
1431function checkValidity() {
1432  var r = true;
1433  if (
1434    $("input#email").val().length == 0 ||
1435    $("input#email").val().indexOf("@") === -1
1436  ) {
1437    r = false;
1438    $("input#email").addClass("has-warning");
1439  } else {
1440    if (
1441      $("input#email").val().indexOf("gmail") > -1 ||
1442      $("input#email").val().indexOf("yahoo") > -1 ||
1443      $("input#email").val().indexOf("hotmail") > -1
1444    ) {
1445      r = false;
1446      $("input#email").addClass("has-warning");
1447      $("#workemail").removeClass("hidden");
1448    } else {
1449      $("input#email").removeClass("has-warning");
1450      $("#workemail").addClass("hidden");
1451    }
1452  }
1453  if ($("input#name").val().length == 0) {
1454    r = false;
1455    $("input#name").addClass("has-warning");
1456  } else {
1457    $("input#name").removeClass("has-warning");
1458  }
1459  // if ($("input#phone").val().length == 0) {
1460  //   r = false;
1461  //   $("input#phone").parent().parent().addClass("has-warning");
1462  // } else {
1463  //   $("input#phone").parent().parent().removeClass("has-warning");
1464  // }
1465  return r;
1466}
1467
1468window.pricingSubmit = function () {
1469  if (checkValidity() === true) {
1470    $("#entform").submit();
1471  }
1472};
1473
1474$(document).ready(function () {
1475  $("a.mobileMenu").click(function () {
1476    openMobileMenu();
1477  });
1478  $("#eduSumbit").on("submit", function (evt) {
1479    console.log("form submitted");
1480    var isSubmitted = false;
1481    if (!isSubmitted) {
1482      evt.preventDefault();
1483      console.log("form entered");
1484      var data = {};
1485
1486      data.full_name = $("#fullName").val();
1487      // data.first_name = document.getElementById('firstName').value;
1488      // data.first_name = document.getElementById('firstName').value;
1489      // data.last_name = document.getElementById('lasttName').value;
1490      data.email = $("#email").val();
1491      var ftypes = ["faculty_member", "student", "advisor", "staff_member"];
1492      data.ftype = ftypes[$("#facultytype").val()];
1493      data.institute = $("#institute").val();
1494      data._csrf = $("input#csrf").val();
1495      //data.form_response = '### full name /n' + data.full_name + '/n ### email /n' + data.email + '/n ### institute /n' + data.Institute;
1496      //data.g_type = 0;
1497      //data.s_type = 0;
1498
1499      $.ajax({
1500        type: "POST",
1501        url: "/eduthank",
1502        //data: JSON.stringify(data),
1503        data: data,
1504        //dataType: "json",
1505        success: function () {
1506          createMessage(
1507            "Great, you applied! We will contact you as soon as possible.",
1508            "#inputEdu"
1509          );
1510          disalbedForm("#eduSumbit");
1511          isSubmitted = true;
1512        },
1513        error: function (error) {
1514          createMessage(
1515            "Oops! Something went wrong. Please contact support.",
1516            "#inputEdu"
1517          );
1518        },
1519        complete: function () {},
1520      });
1521      return false;
1522    } else {
1523      return true;
1524    }
1525  });
1526});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.